Skip to content

Commit 5772701

Browse files
committed
And more agenda fixes.
- Legacy-Id: 19678
1 parent a114ad9 commit 5772701

8 files changed

Lines changed: 757 additions & 737 deletions

File tree

ietf/static/js/doc-search.js

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
$(document)
2+
.ready(function () {
3+
// search form
4+
var form = $("#search_form");
5+
6+
function anyAdvancedActive() {
7+
var advanced = false;
8+
var by = form.find("input[name=by]:checked");
9+
10+
if (by.length > 0) {
11+
by.closest(".search_field")
12+
.find("input,select")
13+
.not("input[name=by]")
14+
.each(function () {
15+
if (String.prototype.trim(this.value)) {
16+
advanced = true;
17+
}
18+
});
19+
}
20+
21+
var additional_doctypes = form.find("input.advdoctype:checked");
22+
if (additional_doctypes.length > 0) {
23+
advanced = true;
24+
}
25+
return advanced;
26+
}
27+
28+
function toggleSubmit() {
29+
var nameSearch = $("#id_name")
30+
.val()
31+
.trim();
32+
form.find("button[type=submit]")
33+
.get(0)
34+
.disabled = !nameSearch && !anyAdvancedActive();
35+
}
36+
37+
function updateAdvanced() {
38+
form.find("input[name=by]:checked")
39+
.closest(".search_field")
40+
.find("input,select")
41+
.not("input[name=by]")
42+
.each(function () {
43+
this.disabled = false;
44+
this.focus();
45+
});
46+
47+
form.find("input[name=by]")
48+
.not(":checked")
49+
.closest(".search_field")
50+
.find("input,select")
51+
.not("input[name=by]")
52+
.each(function () {
53+
this.disabled = true;
54+
});
55+
56+
toggleSubmit();
57+
}
58+
59+
if (form.length > 0) {
60+
form.find(".search_field input[name=by]")
61+
.closest(".search_field")
62+
.find("label,input")
63+
.on("click", updateAdvanced);
64+
65+
form.find(".search_field input,select")
66+
.on("change click keyup", toggleSubmit);
67+
68+
form.find(".toggle_advanced")
69+
.on("click", function () {
70+
var advanced = $(this)
71+
.next();
72+
advanced.find('.search_field input[type="radio"]')
73+
.attr("checked", false);
74+
updateAdvanced();
75+
});
76+
77+
updateAdvanced();
78+
}
79+
80+
$(".review-wish-add-remove-doc.ajax, .track-untrack-doc")
81+
.on("click", function (e) {
82+
e.preventDefault();
83+
var trigger = $(this);
84+
$.ajax({
85+
url: trigger.attr("href"),
86+
type: "POST",
87+
cache: false,
88+
dataType: "json",
89+
success: function (response) {
90+
if (response.success) {
91+
trigger.parent()
92+
.find(".tooltip")
93+
.remove();
94+
trigger.attr("hidden", true);
95+
96+
var target_unhide = null;
97+
if (trigger.hasClass("review-wish-add-remove-doc")) {
98+
target_unhide = ".review-wish-add-remove-doc";
99+
} else if (trigger.hasClass("track-untrack-doc")) {
100+
target_unhide = ".track-untrack-doc";
101+
}
102+
trigger.parent()
103+
.find(target_unhide)
104+
.not(trigger)
105+
.removeAttr("hidden");
106+
}
107+
}
108+
});
109+
});
110+
});

ietf/static/js/ietf.js

Lines changed: 2 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ import "bootstrap/js/dist/tab";
1414
// import "bootstrap/js/dist/toast";
1515
import "bootstrap/js/dist/tooltip";
1616

17-
import jquery from "jquery"
17+
import jquery from "jquery";
1818

1919
window.$ = window.jQuery = jquery;
2020
if (!process.env.BUILD_DEPLOY) {
2121
// get warnings for using deprecated jquery features
22-
require("jquery-migrate")
22+
require("jquery-migrate");
2323
}
2424

2525
import Cookies from "js-cookie";
@@ -104,116 +104,4 @@ $(document)
104104
$("ul.nav li.dropdown, ul.nav li.dropend")
105105
.on("mouseenter mouseleave", dropdown_hover);
106106
}
107-
});
108-
109-
// This used to be in doc-search.js; consolidate all JS in one file.
110-
$(document)
111-
.ready(function () {
112-
// search form
113-
var form = $("#search_form");
114-
115-
function anyAdvancedActive() {
116-
var advanced = false;
117-
var by = form.find("input[name=by]:checked");
118-
119-
if (by.length > 0) {
120-
by.closest(".search_field")
121-
.find("input,select")
122-
.not("input[name=by]")
123-
.each(function () {
124-
if (String.prototype.trim(this.value)) {
125-
advanced = true;
126-
}
127-
});
128-
}
129-
130-
var additional_doctypes = form.find("input.advdoctype:checked");
131-
if (additional_doctypes.length > 0) {
132-
advanced = true;
133-
}
134-
return advanced;
135-
}
136-
137-
function toggleSubmit() {
138-
var nameSearch = $("#id_name")
139-
.val()
140-
.trim();
141-
form.find("button[type=submit]")
142-
.get(0)
143-
.disabled = !nameSearch && !anyAdvancedActive();
144-
}
145-
146-
function updateAdvanced() {
147-
form.find("input[name=by]:checked")
148-
.closest(".search_field")
149-
.find("input,select")
150-
.not("input[name=by]")
151-
.each(function () {
152-
this.disabled = false;
153-
this.focus();
154-
});
155-
156-
form.find("input[name=by]")
157-
.not(":checked")
158-
.closest(".search_field")
159-
.find("input,select")
160-
.not("input[name=by]")
161-
.each(function () {
162-
this.disabled = true;
163-
});
164-
165-
toggleSubmit();
166-
}
167-
168-
if (form.length > 0) {
169-
form.find(".search_field input[name=by]")
170-
.closest(".search_field")
171-
.find("label,input")
172-
.on("click", updateAdvanced);
173-
174-
form.find(".search_field input,select")
175-
.on("change click keyup", toggleSubmit);
176-
177-
form.find(".toggle_advanced")
178-
.on("click", function () {
179-
var advanced = $(this)
180-
.next();
181-
advanced.find('.search_field input[type="radio"]')
182-
.attr("checked", false);
183-
updateAdvanced();
184-
});
185-
186-
updateAdvanced();
187-
}
188-
189-
$(".review-wish-add-remove-doc.ajax, .track-untrack-doc")
190-
.on("click", function (e) {
191-
e.preventDefault();
192-
var trigger = $(this);
193-
$.ajax({
194-
url: trigger.attr("href"),
195-
type: "POST",
196-
cache: false,
197-
dataType: "json",
198-
success: function (response) {
199-
if (response.success) {
200-
trigger.parent()
201-
.find(".tooltip")
202-
.remove();
203-
trigger.attr("hidden", true);
204-
205-
var target_unhide = null;
206-
if (trigger.hasClass("review-wish-add-remove-doc")) {
207-
target_unhide = ".review-wish-add-remove-doc";
208-
} else if (trigger.hasClass("track-untrack-doc")) {
209-
target_unhide = ".track-untrack-doc";
210-
}
211-
trigger.parent()
212-
.find(target_unhide)
213-
.not(trigger)
214-
.removeAttr("hidden");
215-
}
216-
}
217-
});
218-
});
219107
});

0 commit comments

Comments
 (0)