//>>built define("dojo/_base/declare dojo/_base/array dojo/_base/event dojo/_base/lang dojo/_base/html dojo/_base/window dojo/_base/connect dojo/_base/sniff dojo/query dojo/keys dojo/string ../_Plugin ../../EnhancedGrid ../../cells/dijit".split(" "),function(h,k,n,m,f,p,d,t,u,q,v,w,x){var l=m.getObject("dojox.grid.cells"),l=h("dojox.grid.cells.RowSelector",l._Widget,{inputType:"",map:null,disabledMap:null,isRowSelector:!0,_connects:null,_subscribes:null,checkedText:"\x26#10003;",unCheckedText:"O",constructor:function(){this.map= {};this.disabledMap={};this.disabledCount=0;this._connects=[];this._subscribes=[];this.inA11YMode=f.hasClass(p.body(),"dijit_a11y");this.baseClass="dojoxGridRowSelector dijitReset dijitInline dijit"+this.inputType;this.checkedClass=" dijit"+this.inputType+"Checked";this.disabledClass=" dijit"+this.inputType+"Disabled";this.checkedDisabledClass=" dijit"+this.inputType+"CheckedDisabled";this.statusTextClass=" dojoxGridRowSelectorStatusText";this._connects.push(d.connect(this.grid,"dokeyup",this,"_dokeyup")); this._connects.push(d.connect(this.grid.selection,"onSelected",this,"_onSelected"));this._connects.push(d.connect(this.grid.selection,"onDeselected",this,"_onDeselected"));this._connects.push(d.connect(this.grid.scroller,"invalidatePageNode",this,"_pageDestroyed"));this._connects.push(d.connect(this.grid,"onCellClick",this,"_onClick"));this._connects.push(d.connect(this.grid,"updateRow",this,"_onUpdateRow"))},formatter:function(a,b,c){a=c.baseClass;var e=!!c.getValue(b),d=!!c.disabledMap[b];e?(a+= c.checkedClass,d&&(a+=c.checkedDisabledClass)):d&&(a+=c.disabledClass);return["\x3cdiv tabindex \x3d -1 ","id \x3d '"+c.grid.id+"_rowSelector_"+b+"' ","name \x3d '"+c.grid.id+"_rowSelector' class \x3d '"+a+"' ","role \x3d "+c.inputType.toLowerCase()+" aria-checked \x3d '"+e+"' aria-disabled \x3d '"+d+"' aria-label \x3d '"+v.substitute(c.grid._nls["indirectSelection"+c.inputType],[b+1])+"'\x3e","\x3cspan class \x3d '"+c.statusTextClass+"'\x3e"+(e?c.checkedText:c.unCheckedText)+"\x3c/span\x3e","\x3c/div\x3e"].join("")}, setValue:function(a,b){},getValue:function(a){return this.grid.selection.isSelected(a)},toggleRow:function(a,b){this._nativeSelect(a,b)},setDisabled:function(a,b){0>a||this._toggleDisabledStyle(a,b)},disabled:function(a){return!!this.disabledMap[a]},_onClick:function(a){a.cell===this&&this._selectRow(a)},_dokeyup:function(a){a.cellIndex==this.index&&0<=a.rowIndex&&a.keyCode==q.SPACE&&this._selectRow(a)},focus:function(a){(a=this.map[a])&&a.focus()},_focusEndingCell:function(a,b){b=this.grid.getCell(b); this.grid.focus.setFocusCell(b,a)},_nativeSelect:function(a,b){this.grid.selection[b?"select":"deselect"](a)},_onSelected:function(a){this._toggleCheckedStyle(a,!0)},_onDeselected:function(a){this._toggleCheckedStyle(a,!1)},_onUpdateRow:function(a){delete this.map[a]},_toggleCheckedStyle:function(a,b){var c=this._getSelector(a);c&&(f.toggleClass(c,this.checkedClass,b),this.disabledMap[a]&&f.toggleClass(c,this.checkedDisabledClass,b),c.setAttribute("aria-checked",b),this.inA11YMode&&(c.firstChild.innerHTML= b?this.checkedText:this.unCheckedText))},_toggleDisabledStyle:function(a,b){var c=this._getSelector(a);c&&(f.toggleClass(c,this.disabledClass,b),this.getValue(a)&&f.toggleClass(c,this.checkedDisabledClass,b),c.setAttribute("aria-disabled",b));this.disabledMap[a]=b;0<=a&&(this.disabledCount+=b?1:-1)},_getSelector:function(a){var b=this.map[a];if(!b){var c=this.view.rowNodes[a];c&&(b=u(".dojoxGridRowSelector",c)[0])&&(this.map[a]=b)}return b},_pageDestroyed:function(a){var b=this.grid.scroller.rowsPerPage; a*=b;for(b=a+b-1;a<=b;a++)this.map[a]&&(f.destroy(this.map[a]),delete this.map[a])},destroy:function(){for(var a in this.map)f.destroy(this.map[a]),delete this.map[a];for(a in this.disabledMap)delete this.disabledMap[a];k.forEach(this._connects,d.disconnect);k.forEach(this._subscribes,d.unsubscribe);delete this._connects;delete this._subscribes}}),y=h("dojox.grid.cells.SingleRowSelector",l,{inputType:"Radio",_selectRow:function(a){var b=a.rowIndex;this.disabledMap[b]||(this._focusEndingCell(b,a.cellIndex), this._nativeSelect(b,!this.grid.selection.selected[b]))}}),r=h("dojox.grid.cells.MultipleRowSelector",l,{inputType:"CheckBox",swipeStartRowIndex:-1,swipeMinRowIndex:-1,swipeMaxRowIndex:-1,toSelect:!1,lastClickRowIdx:-1,unCheckedText:"\x26#9633;",constructor:function(){this._connects.push(d.connect(p.doc,"onmouseup",this,"_domouseup"));this._connects.push(d.connect(this.grid,"onRowMouseOver",this,"_onRowMouseOver"));this._connects.push(d.connect(this.grid.focus,"move",this,"_swipeByKey"));this._connects.push(d.connect(this.grid, "onCellMouseDown",this,"_onMouseDown"));this.headerSelector&&(this._connects.push(d.connect(this.grid.views,"render",this,"_addHeaderSelector")),this._connects.push(d.connect(this.grid,"_onFetchComplete",this,"_addHeaderSelector")),this._connects.push(d.connect(this.grid,"onSelectionChanged",this,"_onSelectionChanged")),this._connects.push(d.connect(this.grid,"onKeyDown",this,function(a){-1==a.rowIndex&&a.cellIndex==this.index&&a.keyCode==q.SPACE&&this._toggletHeader()})))},toggleAllSelection:function(a){var b= this.grid,c=b.selection;a?c.selectRange(0,b.rowCount-1):c.deselectAll()},_onMouseDown:function(a){a.cell==this&&(this._startSelection(a.rowIndex),n.stop(a))},_onRowMouseOver:function(a){this._updateSelection(a,0)},_domouseup:function(a){t("ie")&&this.view.content.decorateEvent(a);0<=a.cellIndex&&this.inSwipeSelection()&&!this.grid.edit.isEditRow(a.rowIndex)&&this._focusEndingCell(a.rowIndex,a.cellIndex);this._finishSelect()},_dokeyup:function(a){this.inherited(arguments);a.shiftKey||this._finishSelect()}, _startSelection:function(a){this.swipeStartRowIndex=this.swipeMinRowIndex=this.swipeMaxRowIndex=a;this.toSelect=!this.getValue(a)},_updateSelection:function(a,b){if(this.inSwipeSelection()){var c=0!==b,e=a.rowIndex,d=e-this.swipeStartRowIndex+b;0d&&this.swipeMinRowIndex>e+b&&(this.swipeMinRowIndex=e+b);a=0e||(e>=a&&e<=b?this._nativeSelect(e,this.toSelect):c||this._nativeSelect(e,!this.toSelect))}},_swipeByKey:function(a,b,c){!c||0===a||!c.shiftKey||c.cellIndex!=this.index||0>this.grid.focus.rowIndex||(b=c.rowIndex,0>this.swipeStartRowIndex&&(this.swipeStartRowIndex=b,0