Mercurial > p > roundup > code
annotate templates/classic/html/help_controls.js @ 3135:64970263194c maint-0.7
merge from HEAD
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Sat, 12 Feb 2005 01:08:53 +0000 |
| parents | 72399c7c9bcc |
| children |
| rev | line source |
|---|---|
|
1663
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
1 // initial values for either Nosy, Superseder, Topic and Waiting On, |
|
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
2 // depending on which has called |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 original_field = window.opener.document.itemSynopsis[field].value; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 function trim(value) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 var temp = value; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 var obj = /^(\s*)([\W\w]*)(\b\s*$)/; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 var obj = / /g; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 while (temp.match(obj)) { temp = temp.replace(obj, " "); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 return temp; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
15 function determineList() { |
|
3044
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
16 // generate a comma-separated list of the checked items |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
17 var list = new String(''); |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
18 |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
19 // either a checkbox object or an array of checkboxes |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
20 var check = document.frm_help.check; |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
21 |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
22 if ((check.length == undefined) && (check.checked != undefined)) { |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
23 // only one checkbox on page |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
24 if (check.checked) { |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
25 list = check.value; |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
26 } |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
27 } else { |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
28 // array of checkboxes |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
29 for (box=0; box < check.length; box++) { |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
30 if (check[box].checked) { |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
31 if (list.length == 0) { |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
32 separator = ''; |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
33 } |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
34 else { |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
35 separator = ','; |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
36 } |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
37 // we used to use an Array and push / join, but IE5.0 sux |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
38 list = list + separator + check[box].value; |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
39 } |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
40 } |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
41 } |
|
72399c7c9bcc
merge from HEAD
Richard Jones <richard@users.sourceforge.net>
parents:
2272
diff
changeset
|
42 return list; |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
43 } |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
44 |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 function updateList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 // write back to opener window |
|
1764
cd50fbc275a1
Fix JavaScript error when help was asked while no keyword was defined.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents:
1663
diff
changeset
|
47 if (document.frm_help.check==undefined) { return; } |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
48 window.opener.document.itemSynopsis[field].value = determineList(); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 function updatePreview() { |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
52 // update the preview box |
|
1764
cd50fbc275a1
Fix JavaScript error when help was asked while no keyword was defined.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents:
1663
diff
changeset
|
53 if (document.frm_help.check==undefined) { return; } |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
54 writePreview(determineList()); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 function clearList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 // uncheck all checkboxes |
|
1764
cd50fbc275a1
Fix JavaScript error when help was asked while no keyword was defined.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents:
1663
diff
changeset
|
59 if (document.frm_help.check==undefined) { return; } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
60 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
61 document.frm_help.check[box].checked = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
62 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
63 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
64 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
65 function reviseList(vals) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
66 // update the checkboxes based on the preview field |
|
1764
cd50fbc275a1
Fix JavaScript error when help was asked while no keyword was defined.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents:
1663
diff
changeset
|
67 if (document.frm_help.check==undefined) { return; } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 var to_check; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 var list = vals.split(","); |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
70 if (document.frm_help.check.length==undefined) { |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
71 check = document.frm_help.check; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
72 to_check = false; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
73 for (val in list) { |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
74 if (check.value==trim(list[val])) { |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
75 to_check = true; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
76 break; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
77 } |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
78 } |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
79 check.checked = to_check; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
80 } else { |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
81 for (box=0; box < document.frm_help.check.length; box++) { |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
82 check = document.frm_help.check[box]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 to_check = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 for (val in list) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 if (check.value==trim(list[val])) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 to_check = true; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
87 break; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
89 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 check.checked = to_check; |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
91 } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 function resetList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 // reset preview and check boxes to initial values |
|
1764
cd50fbc275a1
Fix JavaScript error when help was asked while no keyword was defined.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents:
1663
diff
changeset
|
97 if (document.frm_help.check==undefined) { return; } |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
98 writePreview(original_field); |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
99 reviseList(original_field); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
101 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
102 function writePreview(val) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 // writes a value to the text_preview |
|
1663
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
104 document.frm_help.text_preview.value = val; |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
107 function focusField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
108 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
109 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
110 if (obj && obj.focus) {obj.focus();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
111 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
112 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
113 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
114 function selectField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
115 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
116 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
117 if (obj && obj.focus){obj.focus();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
118 if (obj && obj.select){obj.select();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
119 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
120 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
121 |
