Index: trunk/kernel/admin_templates/incs/grid.js =================================================================== diff -u -r4596 -r5005 --- trunk/kernel/admin_templates/incs/grid.js (.../grid.js) (revision 4596) +++ trunk/kernel/admin_templates/incs/grid.js (.../grid.js) (revision 5005) @@ -194,6 +194,7 @@ } Grid.prototype.ClearSelection = function( force, called_from ) { +// alert('selection clear. force: '+force+'; called_from: '+called_from); if (typeof(force) == 'undefined') force = false; if (this.CountSelected() == 0 && !force) return; for (var i in this.Items) { @@ -255,19 +256,19 @@ this.DblClick(); } -Grid.prototype.SetDependantToolbarButtons = function( buttons, mode ) -{ - if (typeof(mode) == 'undefined') mode = 1; //direct (use 0 for invert mode) - for (var i in buttons) { - this.DependantButtons.push(new Array(buttons[i], mode)); +Grid.prototype.SetDependantToolbarButtons = function($buttons, $direct, $mode) { + if (!isset($direct)) $direct = true; // direct (use false for invert mode) + if (!isset($mode)) $mode = 1; // enable/disable (use 2 for show/hide mode) + for (var i in $buttons) { + this.DependantButtons.push(new Array($buttons[i], $direct, $mode)); } //this.DependantButtons = buttons; this.CheckDependencies(); } Grid.prototype.CheckDependencies = function() { - var enabling = (this.CountSelected() > 0) + var enabling = (this.CountSelected() > 0); for (var i in this.DependantButtons) { if (this.DependantButtons[i][0].match("portal:(.*)")) { button_name = RegExp.$1; @@ -282,12 +283,12 @@ } } else { - if (enabling == this.DependantButtons[i][1]) { - this.ToolBar.EnableButton(this.DependantButtons[i][0]); + if (this.DependantButtons[i][2] == 1) { + this.ToolBar.SetEnabled(this.DependantButtons[i][0], enabling == this.DependantButtons[i][1]); } else { - this.ToolBar.DisableButton(this.DependantButtons[i][0]); - } + this.ToolBar.SetVisible(this.DependantButtons[i][0], enabling == this.DependantButtons[i][1]); + } } } //if (enabling) this.ClearAlternativeGridsSelection();