Mercurial > p > roundup > code
view 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 |
line wrap: on
line source
// initial values for either Nosy, Superseder, Topic and Waiting On, // depending on which has called original_field = window.opener.document.itemSynopsis[field].value; // pop() and push() methods for pre5.5 IE browsers function bName() { // test for IE if (navigator.appName == "Microsoft Internet Explorer") return 1; return 0; } function bVer() { // return version number (e.g., 4.03) msieIndex = navigator.appVersion.indexOf("MSIE") + 5; return(parseFloat(navigator.appVersion.substr(msieIndex,3))); } function pop() { // make a pop method for old IE browsers var lastElement = this[this.length - 1]; this.length--; return lastElement; } function push() { // make a pop method for old IE browsers var sub = this.length; for (var i = 0; i < push.arguments.length; ++i) { this[sub] = push.arguments[i]; sub++; } } // add the pop() and push() method to Array prototype for old IE browser if (bName() == 1 && bVer() >= 5.5); else { Array.prototype.pop = pop; Array.prototype.push = push; } function trim(value) { var temp = value; var obj = /^(\s*)([\W\w]*)(\b\s*$)/; if (obj.test(temp)) { temp = temp.replace(obj, '$2'); } var obj = / /g; while (temp.match(obj)) { temp = temp.replace(obj, " "); } return temp; } function updateList() { // write back to opener window var list = new Array(); for (box=0; box < document.frm_help.check.length; box++) { if (document.frm_help.check[box].checked) { list.push(document.frm_help.check[box].value); } } window.opener.document.itemSynopsis[field].value = list.join(","); } function updatePreview() { // add new checkbox selections to preview var list = new Array(); for (box=0; box < document.frm_help.check.length; box++) { if (document.frm_help.check[box].checked) { list.push(document.frm_help.check[box].value); } } listString = new String(list.join(',')); writePreview(listString); } function clearList() { // uncheck all checkboxes for (box=0; box < document.frm_help.check.length; box++) { document.frm_help.check[box].checked = false; } } function reviseList(vals) { // update the checkboxes based on the preview field var to_check; var list = vals.split(","); for (box=0; box < document.frm_help.check.length; box++) { check = document.frm_help.check[box]; to_check = false; for (val in list) { if (check.value==trim(list[val])) { to_check = true; break; } } check.checked = to_check; } } function resetList() { // reset preview and check boxes to initial values var to_check; var list = original_field.split(','); writePreview(list); for (box=0; box < document.frm_help.check.length; box++) { check = document.frm_help.check[box]; to_check = false; for (val in list) { if (check.value==trim(list[val])) { to_check = true; break; } } check.checked = to_check; } } function writePreview(val) { // writes a value to the text_preview document.frm_help.text_preview.value = val; } function focusField(name) { for(i=0; i < document.forms.length; ++i) { var obj = document.forms[i].elements[name]; if (obj && obj.focus) {obj.focus();} } } function selectField(name) { for(i=0; i < document.forms.length; ++i) { var obj = document.forms[i].elements[name]; if (obj && obj.focus){obj.focus();} if (obj && obj.select){obj.select();} } }
