summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--js/flag.js75
-rw-r--r--template/en/default/flag/list.html.tmpl56
2 files changed, 77 insertions, 54 deletions
diff --git a/js/flag.js b/js/flag.js
new file mode 100644
index 000000000..a0ea34910
--- /dev/null
+++ b/js/flag.js
@@ -0,0 +1,75 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is the Bugzilla Bug Tracking System.
+ *
+ * The Initial Developer of the Original Code is Netscape Communications
+ * Corporation.
+ * Portions created by the Initial Developer are Copyright (C) 2009
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ * Myk Melez <myk@mozilla.org>
+ * Frédéric Buclin <LpSolit@gmail.com>
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+// Enables or disables a requestee field depending on whether or not
+// the user is requesting the corresponding flag.
+function toggleRequesteeField(flagField, no_focus)
+{
+ // Convert the ID of the flag field into the ID of its corresponding
+ // requestee field and then use the ID to get the field.
+ var id = flagField.name.replace(/flag(_type)?-(\d+)/, "requestee$1-$2");
+ var requesteeField = document.getElementById(id);
+ if (!requesteeField) return;
+
+ // Enable or disable the requestee field based on the value
+ // of the flag field.
+ if (flagField.value == "?") {
+ requesteeField.disabled = false;
+ if (!no_focus) requesteeField.focus();
+ } else
+ requesteeField.disabled = true;
+}
+
+// Disables requestee fields when the window is loaded since they shouldn't
+// be enabled until the user requests that flag type.
+function disableRequesteeFields()
+{
+ var inputElements = document.getElementsByTagName("input");
+ var selectElements = document.getElementsByTagName("select");
+ //You cannot update Node lists, so you must create an array to combine the NodeLists
+ var allElements = [];
+ for( var i=0; i < inputElements.length; i++ ) {
+ allElements[allElements.length] = inputElements.item(i);
+ }
+ for( var i=0; i < selectElements.length; i++ ) { //Combine inputs with selects
+ allElements[allElements.length] = selectElements.item(i);
+ }
+ var inputElement, id, flagField;
+ for ( var i=0 ; i<allElements.length ; i++ )
+ {
+ inputElement = allElements[i];
+ if (inputElement.name.search(/^requestee(_type)?-(\d+)$/) != -1)
+ {
+ // Convert the ID of the requestee field into the ID of its corresponding
+ // flag field and then use the ID to get the field.
+ id = inputElement.name.replace(/requestee(_type)?-(\d+)/, "flag$1-$2");
+ flagField = document.getElementById(id);
+ if (flagField && flagField.value != "?")
+ inputElement.disabled = true;
+ }
+ }
+}
+YAHOO.util.Event.addListener(window, "load", disableRequesteeFields);
diff --git a/template/en/default/flag/list.html.tmpl b/template/en/default/flag/list.html.tmpl
index 5c810480f..adf12565c 100644
--- a/template/en/default/flag/list.html.tmpl
+++ b/template/en/default/flag/list.html.tmpl
@@ -18,60 +18,6 @@
# Contributor(s): Myk Melez <myk@mozilla.org>
#%]
-<script type="text/javascript">
-<!--
- // Enables or disables a requestee field depending on whether or not
- // the user is requesting the corresponding flag.
- function toggleRequesteeField(flagField, no_focus)
- {
- // Convert the ID of the flag field into the ID of its corresponding
- // requestee field and then use the ID to get the field.
- var id = flagField.name.replace(/flag(_type)?-(\d+)/, "requestee$1-$2");
- var requesteeField = document.getElementById(id);
- if (!requesteeField) return;
-
- // Enable or disable the requestee field based on the value
- // of the flag field.
- if (flagField.value == "?") {
- requesteeField.disabled = false;
- if (!no_focus) requesteeField.focus();
- } else
- requesteeField.disabled = true;
- }
-
- // Disables requestee fields when the window is loaded since they shouldn't
- // be enabled until the user requests that flag type.
- function disableRequesteeFields()
- {
- var inputElements = document.getElementsByTagName("input");
- var selectElements = document.getElementsByTagName("select");
- //You cannot update Node lists, so you must create an array to combine the NodeLists
- var allElements = [];
- for( var i=0; i < inputElements.length; i++ ) {
- allElements[allElements.length] = inputElements.item(i);
- }
- for( var i=0; i < selectElements.length; i++ ) { //Combine inputs with selects
- allElements[allElements.length] = selectElements.item(i);
- }
- var inputElement, id, flagField;
- for ( var i=0 ; i<allElements.length ; i++ )
- {
- inputElement = allElements[i];
- if (inputElement.name.search(/^requestee(_type)?-(\d+)$/) != -1)
- {
- // Convert the ID of the requestee field into the ID of its corresponding
- // flag field and then use the ID to get the field.
- id = inputElement.name.replace(/requestee(_type)?-(\d+)/, "flag$1-$2");
- flagField = document.getElementById(id);
- if (flagField && flagField.value != "?")
- inputElement.disabled = true;
- }
- }
- }
- YAHOO.util.Event.addListener(window, "load", disableRequesteeFields);
-// -->
-</script>
-
[% IF user.id %]
[%# We list flags by looping twice over the flag types relevant for the bug.
@@ -84,6 +30,8 @@
[% DEFAULT flag_table_id = "flags" %]
+<script type="text/javascript" src="js/flag.js"></script>
+
<table id="[% flag_table_id FILTER html %]">
[% UNLESS flag_no_header %]
<tr>