Mercurial > p > roundup > code
view templates/classic/html/help_controls.js @ 2077:3e0961d6d44d
Added the "actor" property.
Metakit backend not done (still not confident I know how it's supposed
to work ;)
Currently it will come up as NULL in the RDBMS backends for older items.
The *dbm backends will look up the journal. I hope to remedy the former
before 0.7's release.
Fixed a bunch of migration issues in the rdbms backends while I was at it
(index changes for key prop changes) and simplified the class table update
code for RDBMSes that have "alter table" in their command set (ie. not
sqlite) ... migration from "version 1" to "version 2" still hasn't
actually been tested yet though.
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 15 Mar 2004 05:50:20 +0000 |
| parents | 75fe2131b6d9 |
| children | 37bf760544f3 |
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 if they're not there if (!Array.prototype.pop) { Array.prototype.pop = pop; } if (!Array.prototype.push) { 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 determineList() { // generate a comma-separated list of the checked items if (document.frm_help.check==undefined) { return; } var list = new Array(); if (document.frm_help.check.length==undefined) { if (document.frm_help.check.checked) { list.push(document.frm_help.check.value); } } else { 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); } } } return new String(list.join(',')); } function updateList() { // write back to opener window if (document.frm_help.check==undefined) { return; } window.opener.document.itemSynopsis[field].value = determineList(); } function updatePreview() { // update the preview box if (document.frm_help.check==undefined) { return; } writePreview(determineList()); } function clearList() { // uncheck all checkboxes if (document.frm_help.check==undefined) { return; } 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 if (document.frm_help.check==undefined) { return; } var to_check; var list = vals.split(","); if (document.frm_help.check.length==undefined) { check = document.frm_help.check; to_check = false; for (val in list) { if (check.value==trim(list[val])) { to_check = true; break; } } check.checked = to_check; } else { 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 if (document.frm_help.check==undefined) { return; } writePreview(original_field); reviseList(original_field); } 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();} } }
