59 lines
1.7 KiB
JavaScript
59 lines
1.7 KiB
JavaScript
//>>built
|
|
define("dojox/grid/_RowSelector", [
|
|
"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"> </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.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);
|
|
}
|
|
}
|
|
});
|
|
}); |