Mercurial > p > roundup > code
annotate templates/classic/html/help_controls.js @ 1739:c3f0b552a55a
batch the (list) listings at 500 entries per page [SF#759906]
Unfortunately, the doovy javascript falls over when the next/prev links are
used, so I've added some simple checking to remove that stuff when we're paging
through the results (the simple test fails if you page back to the first
page, but it'll do for now)
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Tue, 12 Aug 2003 02:10:12 +0000 |
| parents | 09f0a54829eb |
| children | cd50fbc275a1 |
| 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 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 // pop() and push() methods for pre5.5 IE browsers |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 function bName() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 // test for IE |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 if (navigator.appName == "Microsoft Internet Explorer") |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 return 1; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 return 0; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 } |
|
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 function bVer() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 // return version number (e.g., 4.03) |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 msieIndex = navigator.appVersion.indexOf("MSIE") + 5; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 return(parseFloat(navigator.appVersion.substr(msieIndex,3))); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 function pop() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 // make a pop method for old IE browsers |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 var lastElement = this[this.length - 1]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 this.length--; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 return lastElement; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 function push() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 // make a pop method for old IE browsers |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 var sub = this.length; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 for (var i = 0; i < push.arguments.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 this[sub] = push.arguments[i]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 sub++; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 } |
|
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 // add the pop() and push() method to Array prototype for old IE browser |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 if (bName() == 1 && bVer() >= 5.5); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 else { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 Array.prototype.pop = pop; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 Array.prototype.push = push; |
|
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 trim(value) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 var temp = value; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 var obj = /^(\s*)([\W\w]*)(\b\s*$)/; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 var obj = / /g; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 while (temp.match(obj)) { temp = temp.replace(obj, " "); } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 return temp; |
|
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 function updateList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 // write back to opener window |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 var list = new Array(); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
58 if (document.frm_help.check[box].checked) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
59 list.push(document.frm_help.check[box].value); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
60 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
61 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
62 window.opener.document.itemSynopsis[field].value = list.join(","); |
|
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 updatePreview() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
66 // add new checkbox selections to preview |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
67 var list = new Array(); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
68 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
69 if (document.frm_help.check[box].checked) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 list.push(document.frm_help.check[box].value); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
71 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
72 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
73 listString = new String(list.join(',')); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
74 writePreview(listString); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
75 } |
|
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 function clearList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
78 // uncheck all checkboxes |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
79 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
80 document.frm_help.check[box].checked = false; |
|
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 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 function reviseList(vals) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
85 // update the checkboxes based on the preview field |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
86 var to_check; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
87 var list = vals.split(","); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
88 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
89 check = document.frm_help.check[box]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
90 to_check = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
91 for (val in list) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
92 if (check.value==trim(list[val])) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
93 to_check = true; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
94 break; |
|
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 check.checked = to_check; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 } |
|
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 function resetList() { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
102 // reset preview and check boxes to initial values |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 var to_check; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 var list = original_field.split(','); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 writePreview(list); |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 for (box=0; box < document.frm_help.check.length; box++) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
107 check = document.frm_help.check[box]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
108 to_check = false; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
109 for (val in list) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
110 if (check.value==trim(list[val])) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
111 to_check = true; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
112 break; |
|
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 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
115 check.checked = to_check; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
116 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
117 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
118 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
119 function writePreview(val) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
120 // writes a value to the text_preview |
|
1663
09f0a54829eb
Fixed spelling of "supersede";
Jean Jordaan <neaj@users.sourceforge.net>
parents:
1608
diff
changeset
|
121 document.frm_help.text_preview.value = val; |
|
1608
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
122 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
123 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
124 function focusField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
125 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
126 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
127 if (obj && obj.focus) {obj.focus();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
128 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
129 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
130 |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
131 function selectField(name) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
132 for(i=0; i < document.forms.length; ++i) { |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
133 var obj = document.forms[i].elements[name]; |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
134 if (obj && obj.focus){obj.focus();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
135 if (obj && obj.select){obj.select();} |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
136 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
137 } |
|
49dd1bf17d66
new improved help controls
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
138 |
