annotate templates/minimal/html/help_controls.js @ 3882:46ef2a6fd79d

config option to limit nosy attachments based on size reworking of patch [SF#772323] from Philipp Gortan It tries to avoid reading the file contents just to get the file size but that was too hard for metakit backends. They don't inherit from blobfiles.FileStorage which makes it more challenging. Really that backend should be reworked to inherit from FileStorage. I'm not sure I like the default being sys.maxint. Maybe have 0 == unlimited? But what if someone really wanted to set it to 0 to mean "don't attach anything"?
author Justus Pendleton <jpend@users.sourceforge.net>
date Mon, 03 Sep 2007 17:14:09 +0000
parents 8c7b522dc934
children 91008ec8f9a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3292
8c7b522dc934 added date selection popup windows (thanks Marcus Priesch)
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 // initial values for either Nosy, Superseder, Topic and Waiting On,
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

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