Mercurial > p > roundup > code
annotate templates/minimal/html/help_controls.js @ 3909:e89bcb28f683
indexargs_url force ids to int
ids appear as hyperdb.String instances, which confused indexargs_url when they
appear in the filterspec. They need to be treated as treated as integers when
generating URLs.
It feels sort of hacky to check for 'id' like this but I'm at a loss for what
else to do in this case. Suggestions are welcome :)
Maybe we should look into using some other hyperdb class to represent ids?
this fixes [SF#783492]
Some trailing whitespace also got trimmed.
| author | Justus Pendleton <jpend@users.sourceforge.net> |
|---|---|
| date | Tue, 18 Sep 2007 16:59:42 +0000 |
| parents | 91008ec8f9a0 |
| children |
| rev | line source |
|---|---|
|
3904
91008ec8f9a0
retire "topic" usage
Justus Pendleton <jpend@users.sourceforge.net>
parents:
3292
diff
changeset
|
1 // initial values for either Nosy, Superseder, Keyword and Waiting On, |
|
3292
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 // depending on which has called |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 original_field = form[field].value; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 // Some browsers (ok, IE) don't define the "undefined" variable. |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 undefined = document.geez_IE_is_really_friggin_annoying; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 function trim(value) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 var temp = value; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 var obj = /^(\s*)([\W\w]*)(\b\s*$)/; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 var obj = / /g; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 while (temp.match(obj)) { temp = temp.replace(obj, " "); } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 return temp; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 function determineList() { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 // generate a comma-separated list of the checked items |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 var list = new String(''); |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 for (box=0; box < document.frm_help.check.length; box++) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 if (document.frm_help.check[box].checked) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 if (list.length == 0) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 separator = ''; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 else { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 separator = ','; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 // we used to use an Array and push / join, but IE5.0 sux |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 list = list + separator + document.frm_help.check[box].value; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 return list; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 function updateList() { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 // write back to opener window |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 if (document.frm_help.check==undefined) { return; } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 form[field].value = determineList(); |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 function updatePreview() { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 // update the preview box |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 if (document.frm_help.check==undefined) { return; } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 writePreview(determineList()); |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 function clearList() { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 // uncheck all checkboxes |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 if (document.frm_help.check==undefined) { return; } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 for (box=0; box < document.frm_help.check.length; box++) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 document.frm_help.check[box].checked = false; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 function reviseList(vals) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 // update the checkboxes based on the preview field |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 if (document.frm_help.check==undefined) { return; } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 var to_check; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 var list = vals.split(","); |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
60 if (document.frm_help.check.length==undefined) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
61 check = document.frm_help.check; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
62 to_check = false; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
63 for (val in list) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
64 if (check.value==trim(list[val])) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 to_check = true; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
66 break; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
67 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 check.checked = to_check; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 } else { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 for (box=0; box < document.frm_help.check.length; box++) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 check = document.frm_help.check[box]; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 to_check = false; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 for (val in list) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 if (check.value==trim(list[val])) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 to_check = true; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 break; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 check.checked = to_check; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
82 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 function resetList() { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 // reset preview and check boxes to initial values |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
87 if (document.frm_help.check==undefined) { return; } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 writePreview(original_field); |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
89 reviseList(original_field); |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 function writePreview(val) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 // writes a value to the text_preview |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 document.frm_help.text_preview.value = val; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 function focusField(name) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 for(i=0; i < document.forms.length; ++i) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 var obj = document.forms[i].elements[name]; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 if (obj && obj.focus) {obj.focus();} |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
101 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
102 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 function selectField(name) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 for(i=0; i < document.forms.length; ++i) { |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 var obj = document.forms[i].elements[name]; |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
107 if (obj && obj.focus){obj.focus();} |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
108 if (obj && obj.select){obj.select();} |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
109 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
110 } |
|
8c7b522dc934
added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
111 |
