Index: trunk/core/admin_templates/js/grid.js =================================================================== diff -u -N -r7635 -r7855 --- trunk/core/admin_templates/js/grid.js (.../grid.js) (revision 7635) +++ trunk/core/admin_templates/js/grid.js (.../grid.js) (revision 7855) @@ -114,6 +114,16 @@ this.GridItem.DblClick(ev); } } + + if ( this.Grid.MouseOverClass ) { + addEvent(this.HTMLelement, 'mouseover', function(ev) { this.GridItem.MouseOver(ev)}, true); // true for traditional event model + addEvent(this.HTMLelement, 'mouseout', function(ev) { this.GridItem.MouseOut(ev)}, true); + if ( this.LeftElement ) { + addEvent(this.LeftElement, 'mouseover', function(ev) { this.GridItem.MouseOver(ev)}, true); + addEvent(this.LeftElement, 'mouseout', function(ev) { this.GridItem.MouseOut(ev)}, true); + } + } + } GridItem.prototype.DisableClicking = function () @@ -232,6 +242,21 @@ this.Grid.Edit(); } +GridItem.prototype.MouseOver = function (ev) +{ + this.HTMLelement.className = this.Grid.MouseOverClass; + if ( this.LeftElement ) { + this.LeftElement.className = this.Grid.MouseOverClass; + } +} +GridItem.prototype.MouseOut = function (ev) +{ + this.HTMLelement.className = this.selected ? this.class_on : this.class_off; + if ( this.LeftElement ) { + this.LeftElement.className = this.selected ? this.class_on : this.class_off; + } +} + GridItem.prototype.Toggle = function () { if (this.selected) this.UnSelect() @@ -263,6 +288,7 @@ this.AlternativeGrids = new Array(); this.DependantButtons = new Array(); this.RadioMode = false; + this.MouseOverClass = false; // K3-style sticky selection, selection an item does not unselect currently selected // even w/o Ctrl key pressed