Mercurial > p > roundup > code
annotate templates/classic/html/help_controls.js @ 2467:76ead526113d
client instances may be used as translation engines.
any backend translator may be passed as constructor
argument or via setTranslator() method. by default,
templating.translationService is used.
use this engine to translate client messages.
| author | Alexander Smishlajev <a1s@users.sourceforge.net> |
|---|---|
| date | Tue, 15 Jun 2004 09:19:49 +0000 |
| parents | 9cdc49488fe6 |
| children | 10a49678ebf2 |
| 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 |
|
2361
9cdc49488fe6
define the "undefined" var manually
Richard Jones <richard@users.sourceforge.net>
parents:
2273
diff
changeset
|
3 original_field = window.opener.document.itemSynopsis[field].value; |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
2361
9cdc49488fe6
define the "undefined" var manually
Richard Jones <richard@users.sourceforge.net>
parents:
2273
diff
changeset
|
5 // Some browsers (ok, IE) don't define the "undefined" variable. |
|
9cdc49488fe6
define the "undefined" var manually
Richard Jones <richard@users.sourceforge.net>
parents:
2273
diff
changeset
|
6 undefined = document.geez_IE_is_really_friggin_annoying; |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 function trim(value) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 var temp = value; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 var obj = /^(\s*)([\W\w]*)(\b\s*$)/; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 var obj = / /g; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 while (temp.match(obj)) { temp = temp.replace(obj, " "); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 return temp; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
17 function determineList() { |
|
2273
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
18 // generate a comma-separated list of the checked items |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
19 var list = new String(''); |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
20 for (box=0; box < document.frm_help.check.length; box++) { |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
21 if (document.frm_help.check[box].checked) { |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
22 if (list.length == 0) { |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
23 separator = ''; |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
24 } |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
25 else { |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
26 separator = ','; |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
27 } |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
28 // we used to use an Array and push / join, but IE5.0 sux |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
29 list = list + separator + document.frm_help.check[box].value; |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
30 } |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
31 } |
|
c77483d2cda4
merge from maint-0-7
Richard Jones <richard@users.sourceforge.net>
parents:
1971
diff
changeset
|
32 return list; |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
33 } |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
34 |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 function updateList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 // 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
|
37 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
|
38 window.opener.document.itemSynopsis[field].value = determineList(); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 function updatePreview() { |
|
1899
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
42 // 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
|
43 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
|
44 writePreview(determineList()); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 function clearList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 // 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
|
49 if (document.frm_help.check==undefined) { return; } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 document.frm_help.check[box].checked = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 function reviseList(vals) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 // 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
|
57 if (document.frm_help.check==undefined) { return; } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 var to_check; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 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
|
60 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
|
61 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
|
62 to_check = false; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
63 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
|
64 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
|
65 to_check = true; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
66 break; |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
67 } |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
68 } |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
69 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
|
70 } else { |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
71 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
|
72 check = document.frm_help.check[box]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 to_check = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 for (val in list) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 if (check.value==trim(list[val])) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
76 to_check = true; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
77 break; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 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
|
81 } |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
82 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
83 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 function resetList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 // 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
|
87 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
|
88 writePreview(original_field); |
|
d6c039c5b52b
fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents:
1764
diff
changeset
|
89 reviseList(original_field); |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 function writePreview(val) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 // writes a value to the text_preview |
|
1663
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
94 document.frm_help.text_preview.value = val; |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 function focusField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 if (obj && obj.focus) {obj.focus();} |
|
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 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 function selectField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
107 if (obj && obj.focus){obj.focus();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
108 if (obj && obj.select){obj.select();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
109 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
110 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
111 |
