]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1508201 - move inline js on the buglist out to a separate file
authorDylan William Hardison <dylan@hardison.net>
Tue, 20 Nov 2018 23:20:03 +0000 (18:20 -0500)
committerGitHub <noreply@github.com>
Tue, 20 Nov 2018 23:20:03 +0000 (18:20 -0500)
js/buglist.js [new file with mode: 0644]
template/en/default/list/edit-multiple.html.tmpl
template/en/default/list/list.html.tmpl

diff --git a/js/buglist.js b/js/buglist.js
new file mode 100644 (file)
index 0000000..2e63775
--- /dev/null
@@ -0,0 +1,23 @@
+function SetCheckboxes(value) {
+  let elements = document.querySelectorAll("input[type='checkbox'][name^='id_']");
+  for (let item of elements) {
+    item.checked = value;
+  }
+}
+
+document.addEventListener("DOMContentLoaded", () => {
+  let check_all = document.getElementById("check_all");
+  let uncheck_all = document.getElementById("uncheck_all");
+  if (check_all) {
+    check_all.addEventListener("click", event => {
+      SetCheckboxes(true);
+      event.preventDefault();
+    });
+  }
+  if (uncheck_all) {
+    uncheck_all.addEventListener("click", event => {
+      SetCheckboxes(false);
+      event.preventDefault();
+    });
+  }
+});
index 1128a5e8ece6d968d2d64ed676b7c368b9f79fa6..8224a3040fdf29ddb0076cdb3ae638bde8f12787 100644 (file)
 [% dontchange = "--do_not_change--" %]
 <input type="hidden" name="dontchange" value="[% dontchange FILTER html %]">
 <input type="hidden" name="token" value="[% token FILTER html %]">
-
-<script [% script_nonce FILTER none %]>
-  function SetCheckboxes(value) {
-      var elements = document.forms.changeform.getElementsByTagName('input'),
-          numelements = elements.length,
-          item, i;
-      for (i = 0; i < numelements; i++) {
-          item = elements[i];
-          if (item.type === 'checkbox' && item.name.match(/^id_/)) {
-            item.checked = value;
-          }
-      }
-  }
-  document.write(' <input type="button" name="uncheck_all" value="Uncheck All" onclick="SetCheckboxes(false);">');
-  document.write(' <input type="button" name="check_all" value="Check All" onclick="SetCheckboxes(true);">');
-</script>
-
+<input type="button" id="uncheck_all" name="uncheck_all" value="Uncheck All">
+<input type="button" id="check_all" name="check_all" value="Check All">
 <hr>
 
 <p style="font-size:smaller">
index e8fc9083aa6ac80f5c5d89416eaaa77d6974a543..13ebacf0f3110ad546bdc03d266964b21ebf564e 100644 (file)
@@ -50,7 +50,7 @@
   generate_api_token = dotweak
   style = style
   atomlink = basepath _ "buglist.cgi?$urlquerypart&title=$url_filtered_title&ctype=atom"
-  javascript_urls = [ "js/util.js", "js/field.js" ]
+  javascript_urls = [ "js/util.js", "js/field.js", "js/buglist.js" ]
   style_urls = [ "skins/standard/buglist.css" ]
   doc_section = "query.html#list"
 %]