UNPKG

dojox

Version:

Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.

58 lines (57 loc) 1.75 kB
define([ "dojo/_base/declare", "./_View" ], function(declare, _View){ return declare('dojox.grid._RowSelector', _View, { // summary: // Custom grid view. If used in a grid structure, provides a small selectable region for grid rows. defaultWidth: "2em", noscroll: true, padBorderWidth: 2, buildRendering: function(){ this.inherited('buildRendering', arguments); this.scrollboxNode.style.overflow = "hidden"; this.headerNode.style.visibility = "hidden"; }, getWidth: function(){ return this.viewWidth || this.defaultWidth; }, buildRowContent: function(inRowIndex, inRowNode){ var w = this.contentWidth || 0; inRowNode.innerHTML = '<table class="dojoxGridRowbarTable" style="width:' + w + 'px;height:1px;" border="0" cellspacing="0" cellpadding="0" role="presentation"><tr><td class="dojoxGridRowbarInner">&nbsp;</td></tr></table>'; }, renderHeader: function(){ }, updateRow: function(){ }, resize: function(){ this.adaptHeight(); }, adaptWidth: function(){ // Only calculate this here - rather than every call to buildRowContent if(!("contentWidth" in this) && this.contentNode && this.contentNode.offsetWidth > 0){ this.contentWidth = this.contentNode.offsetWidth - this.padBorderWidth; } }, // styling doStyleRowNode: function(inRowIndex, inRowNode){ var n = [ "dojoxGridRowbar dojoxGridNonNormalizedCell" ]; if(this.grid.rows.isOver(inRowIndex)){ n.push("dojoxGridRowbarOver"); } if(this.grid.selection.isSelected(inRowIndex)){ n.push("dojoxGridRowbarSelected"); } inRowNode.className = n.join(" "); }, // event handlers domouseover: function(e){ this.grid.onMouseOverRow(e); }, domouseout: function(e){ if(!this.isIntraRowEvent(e)){ this.grid.onMouseOutRow(e); } } }); });