133 lines
4.3 KiB
JavaScript
133 lines
4.3 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
* defined by the Mozilla Public License, v. 2.0.
|
|
*/
|
|
|
|
function initChangeColumns() {
|
|
window.onunload = unload;
|
|
var av_select = document.getElementById("available_columns");
|
|
var sel_select = document.getElementById("selected_columns");
|
|
YAHOO.util.Dom.removeClass(
|
|
['avail_header', av_select, 'select_button',
|
|
'deselect_button', 'up_button', 'down_button'], 'bz_default_hidden');
|
|
switch_options(sel_select, av_select, false);
|
|
sel_select.selectedIndex = -1;
|
|
updateView();
|
|
}
|
|
|
|
function switch_options(from_box, to_box, selected) {
|
|
for (var i = 0; i<from_box.options.length; i++) {
|
|
var opt = from_box.options[i];
|
|
if (opt.selected == selected) {
|
|
var newopt = new Option(opt.text, opt.value, opt.defaultselected, opt.selected);
|
|
to_box.options[to_box.options.length] = newopt;
|
|
from_box.options[i] = null;
|
|
i = i - 1;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
function move_select() {
|
|
var av_select = document.getElementById("available_columns");
|
|
var sel_select = document.getElementById("selected_columns");
|
|
switch_options(av_select, sel_select, true);
|
|
updateView();
|
|
}
|
|
|
|
function move_deselect() {
|
|
var av_select = document.getElementById("available_columns");
|
|
var sel_select = document.getElementById("selected_columns");
|
|
switch_options(sel_select, av_select, true);
|
|
updateView();
|
|
}
|
|
|
|
function move_up() {
|
|
var sel_select = document.getElementById("selected_columns");
|
|
var last = sel_select.options[0];
|
|
var dummy = new Option("", "", false, false);
|
|
for (var i = 1; i<sel_select.options.length; i++) {
|
|
var opt = sel_select.options[i];
|
|
if (opt.selected) {
|
|
sel_select.options[i] = dummy;
|
|
sel_select.options[i-1] = opt;
|
|
sel_select.options[i] = last;
|
|
}
|
|
else{
|
|
last = opt;
|
|
}
|
|
}
|
|
updateView();
|
|
}
|
|
|
|
function move_down() {
|
|
var sel_select = document.getElementById("selected_columns");
|
|
var last = sel_select.options[sel_select.options.length-1];
|
|
var dummy = new Option("", "", false, false);
|
|
for (var i = sel_select.options.length-2; i >= 0; i--) {
|
|
var opt = sel_select.options[i];
|
|
if (opt.selected) {
|
|
sel_select.options[i] = dummy;
|
|
sel_select.options[i + 1] = opt;
|
|
sel_select.options[i] = last;
|
|
}
|
|
else{
|
|
last = opt;
|
|
}
|
|
}
|
|
updateView();
|
|
}
|
|
|
|
function updateView() {
|
|
var select_button = document.getElementById("select_button");
|
|
var deselect_button = document.getElementById("deselect_button");
|
|
var up_button = document.getElementById("up_button");
|
|
var down_button = document.getElementById("down_button");
|
|
select_button.disabled = true;
|
|
deselect_button.disabled = true;
|
|
up_button.disabled = true;
|
|
down_button.disabled = true;
|
|
var av_select = document.getElementById("available_columns");
|
|
var sel_select = document.getElementById("selected_columns");
|
|
for (var i = 0; i < av_select.options.length; i++) {
|
|
if (av_select.options[i].selected) {
|
|
select_button.disabled = false;
|
|
break;
|
|
}
|
|
}
|
|
for (var i = 0; i < sel_select.options.length; i++) {
|
|
if (sel_select.options[i].selected) {
|
|
deselect_button.disabled = false;
|
|
up_button.disabled = false;
|
|
down_button.disabled = false;
|
|
break;
|
|
}
|
|
}
|
|
if (sel_select.options.length > 0) {
|
|
if (sel_select.options[0].selected) {
|
|
up_button.disabled = true;
|
|
}
|
|
if (sel_select.options[sel_select.options.length - 1].selected) {
|
|
down_button.disabled = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
function change_submit() {
|
|
var sel_select = document.getElementById("selected_columns");
|
|
for (var i = 0; i < sel_select.options.length; i++) {
|
|
sel_select.options[i].selected = true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function unload() {
|
|
var sel_select = document.getElementById("selected_columns");
|
|
for (var i = 0; i < sel_select.options.length; i++) {
|
|
sel_select.options[i].selected = true;
|
|
}
|
|
}
|