diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-01 11:39:34 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-10-01 11:39:34 +0000 |
commit | 514cdacc87e68526488aaf376ec58c3edfb60492 (patch) | |
tree | 2c0240d5c11fd775817bc99446c1c6ac4ef56a90 /public | |
parent | 96b4ac12cbc9a89a6e29d50764ed668102c3c93a (diff) | |
download | redmine-514cdacc87e68526488aaf376ec58c3edfb60492.tar.gz redmine-514cdacc87e68526488aaf376ec58c3edfb60492.zip |
Custom query columns: checkboxes replaced by two selects that let the user specify columns order.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@784 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'public')
-rw-r--r-- | public/javascripts/select_list_move.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/public/javascripts/select_list_move.js b/public/javascripts/select_list_move.js new file mode 100644 index 000000000..1ced88232 --- /dev/null +++ b/public/javascripts/select_list_move.js @@ -0,0 +1,55 @@ +var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);
+
+function addOption(theSel, theText, theValue)
+{
+ var newOpt = new Option(theText, theValue);
+ var selLength = theSel.length;
+ theSel.options[selLength] = newOpt;
+}
+
+function deleteOption(theSel, theIndex)
+{
+ var selLength = theSel.length;
+ if(selLength>0)
+ {
+ theSel.options[theIndex] = null;
+ }
+}
+
+function moveOptions(theSelFrom, theSelTo)
+{
+
+ var selLength = theSelFrom.length;
+ var selectedText = new Array();
+ var selectedValues = new Array();
+ var selectedCount = 0;
+
+ var i;
+
+ for(i=selLength-1; i>=0; i--)
+ {
+ if(theSelFrom.options[i].selected)
+ {
+ selectedText[selectedCount] = theSelFrom.options[i].text;
+ selectedValues[selectedCount] = theSelFrom.options[i].value;
+ deleteOption(theSelFrom, i);
+ selectedCount++;
+ }
+ }
+
+ for(i=selectedCount-1; i>=0; i--)
+ {
+ addOption(theSelTo, selectedText[i], selectedValues[i]);
+ }
+
+ if(NS4) history.go(0);
+}
+
+function selectAllOptions(id)
+{
+ var select = $(id);
+ for (var i=0; i<select.options.length; i++) {
+ select.options[i].selected = true;
+ }
+}
+
|