//>>built define("dojo/_base/declare dojo/_base/lang dojo/dom-construct dojo/dom-class dojo/on dojo/has ./List ./util/misc dojo/_base/sniff".split(" "),function(l,q,m,r,x,y,z,t){function p(b,a){a&&a.nodeType&&b.appendChild(a)}l=l(z,{columns:null,hasNeutralSort:!1,cellNavigation:!0,tabableHeader:!0,showHeader:!0,column:function(b){return"object"!==typeof b?this.columns[b]:this.cell(b).column},listType:"grid",cell:function(b,a){if(b.column&&b.element)return b;b.target&&b.target.nodeType&&(b=b.target);var c;if(b.nodeType){do{if(this._rowIdToObject[b.id])break; var d=b.columnId;if(d){a=d;c=b;break}b=b.parentNode}while(b&&b!==this.domNode)}if(!c&&"undefined"!==typeof a){var e=this.row(b);if(d=e&&e.element)for(var d=d.getElementsByTagName("td"),f=0;fy("ie")?m.create("tbody",null,f):f,l,v,p,w,q,u,h,n,k,r;c=c||this.subRows;v= 0;for(p=c.length;va.offsetWidth&&(a.style.width= c+"px")},destroy:function(){this._destroyColumns();this._sortListener&&this._sortListener.remove();this.inherited(arguments)},_setSort:function(){this.inherited(arguments);this.updateSortArrow(this.sort)},_findSortArrowParent:function(b){var a=this.columns,c;for(c in a){var d=a[c];if(d.field===b)return d.headerNode}},updateSortArrow:function(b,a){this._lastSortedArrow&&(r.remove(this._lastSortedArrow.parentNode,"dgrid-sort-up dgrid-sort-down"),m.destroy(this._lastSortedArrow),delete this._lastSortedArrow); a&&(this.sort=b);b[0]&&(a=b[0].property,b=b[0].descending,a=this._sortNode||this._findSortArrowParent(a),delete this._sortNode,a&&(a=a.contents||a,this._lastSortedArrow=m.create("div",{className:"dgrid-sort-arrow ui-icon",innerHTML:"\x26nbsp;",role:"presentation"},a,"first"),r.add(a,"dgrid-sort-"+(b?"down":"up")),this.resize()))},styleColumn:function(b,a){return this.addCssRule("#"+t.escapeCssIdentifier(this.domNode.id)+" .dgrid-column-"+t.escapeCssIdentifier(b,"-"),a)},_configColumns:function(b, a){var c=[],d=a instanceof Array;t.each(a,function(e,f){"string"===typeof e&&(a[f]=e={label:e});d||e.field||(e.field=f);f=e.id=e.id||(isNaN(f)?f:b+f);this._configColumn&&(this._configColumn(e,a,b),f=e.id);d&&(this.columns[f]=e);e.grid=this;c.push(e)},this);return d?a:c},_destroyColumns:function(){this.cleanup()},configStructure:function(){var b=this.subRows,a=this._columns=this.columns;this.columns=!a||a instanceof Array?{}:a;if(b)for(a=0;a