annotate templates/classic/html/help_controls.js @ 2575:cc7885c427b0 maint-0.7

merge from HEAD
author Richard Jones <richard@users.sourceforge.net>
date Wed, 14 Jul 2004 04:19:00 +0000
parents 37bf760544f3
children 9cdc49488fe6 72399c7c9bcc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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() {
2272
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
16 // generate a comma-separated list of the checked items
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
17 var list = new String('');
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
18 for (box=0; box < document.frm_help.check.length; box++) {
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
19 if (document.frm_help.check[box].checked) {
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
20 if (list.length == 0) {
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
21 separator = '';
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
22 }
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
23 else {
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
24 separator = ',';
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
25 }
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
26 // we used to use an Array and push / join, but IE5.0 sux
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
27 list = list + separator + document.frm_help.check[box].value;
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
28 }
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
29 }
37bf760544f3 make popup Javascript IE 5.0 friendly (thanks Marlon van den Berg)
Richard Jones <richard@users.sourceforge.net>
parents: 1971
diff changeset
30 return list;
1899
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
31 }
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
32
1608
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 function updateList() {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 // 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
35 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
36 window.opener.document.itemSynopsis[field].value = determineList();
1608
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
37 }
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 function updatePreview() {
1899
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
40 // 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
41 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
42 writePreview(determineList());
1608
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 }
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 function clearList() {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
46 // 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
47 if (document.frm_help.check==undefined) { return; }
1608
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 for (box=0; box < document.frm_help.check.length; box++) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 document.frm_help.check[box].checked = false;
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 }
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 function reviseList(vals) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 // 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
55 if (document.frm_help.check==undefined) { return; }
1608
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 var to_check;
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
57 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
58 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
59 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
60 to_check = false;
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
61 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
62 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
63 to_check = true;
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
64 break;
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
65 }
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
66 }
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
67 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
68 } else {
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
69 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
70 check = document.frm_help.check[box];
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71 to_check = false;
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72 for (val in list) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
73 if (check.value==trim(list[val])) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 to_check = true;
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 break;
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
76 }
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 }
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78 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
79 }
1608
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 }
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
81 }
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 function resetList() {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
84 // 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
85 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
86 writePreview(original_field);
d6c039c5b52b fixed javascript for help window for only one checkbox case
Richard Jones <richard@users.sourceforge.net>
parents: 1764
diff changeset
87 reviseList(original_field);
1608
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 function writePreview(val) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 // writes a value to the text_preview
1663
09f0a54829eb Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents: 1608
diff changeset
92 document.frm_help.text_preview.value = val;
1608
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 focusField(name) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96 for(i=0; i < document.forms.length; ++i) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 var obj = document.forms[i].elements[name];
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
98 if (obj && obj.focus) {obj.focus();}
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
99 }
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 selectField(name) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 for(i=0; i < document.forms.length; ++i) {
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104 var obj = document.forms[i].elements[name];
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
105 if (obj && obj.focus){obj.focus();}
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
106 if (obj && obj.select){obj.select();}
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
107 }
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
108 }
49dd1bf17d66 new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
109

Roundup Issue Tracker: http://roundup-tracker.org/