www-thermferm/jqwidgets/jqxdatatable.js

Sun, 07 Jul 2019 14:31:10 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sun, 07 Jul 2019 14:31:10 +0200
branch
stable
changeset 603
fcff55324b84
parent 511
2d1d43c3a2c2
child 617
b216f9d4b917
permissions
-rw-r--r--

Merged fix from default

117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 /*
511
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
2 jQWidgets v4.5.2 (2017-May)
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
3 Copyright (c) 2011-2017 jQWidgets.
117
7119ea8a5225 Initial setup of wqwidgets
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 License: http://jqwidgets.com/license/
511
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
5 */
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
6 !function(a){function b(b,c){return this.owner=b,this.datafield=null,this.displayfield=null,this.text="",this.sortable=!0,this.editable=!0,this.hidden=!1,this.hideable=!0,this.groupable=!0,this.renderer=null,this.cellsRenderer=null,this.columntype=null,this.cellsFormat="",this.align="left",this.cellsalign="left",this.width="auto",this.minwidth=25,this.maxwidth="auto",this.pinned=!1,this.visibleindex=-1,this.filterable=!0,this.filter=null,this.resizable=!0,this.draggable=!0,this.initeditor=null,this.createeditor=null,this.destroyeditor=null,this.geteditorvalue=null,this.autoCellHeight=!0,this.validation=null,this.classname="",this.cellclassname="",this.aggregates=null,this.aggregatesRenderer=null,this.rendered=null,this.exportable=!0,this.nullable=!0,this.columngroup=null,this.columntype="textbox",this.getcolumnproperties=function(){return{nullable:this.nullable,sortable:this.sortable,hidden:this.hidden,groupable:this.groupable,width:this.width,align:this.align,editable:this.editable,minwidth:this.minwidth,maxwidth:this.maxwidth,resizable:this.resizable,datafield:this.datafield,text:this.text,exportable:this.exportable,cellsalign:this.cellsalign,pinned:this.pinned,cellsFormat:this.cellsFormat,columntype:this.columntype,classname:this.classname,cellclassname:this.cellclassname,menu:this.menu}},this.setproperty=function(a,b){if(this[a]){var c=this[a];this[a]=b,this.owner._columnPropertyChanged(this,a,b,c)}else if(this[a.toLowerCase()]){var c=this[a.toLowerCase()];this[a.toLowerCase()]=b,this.owner._columnPropertyChanged(this,a.toLowerCase(),b,c)}},this._initfields=function(c){if(null!=c){var d=this;if(a.jqx.hasProperty(c,"dataField")&&(this.datafield=a.jqx.get(c,"dataField")),a.jqx.hasProperty(c,"displayField")?this.displayfield=a.jqx.get(c,"displayField"):this.displayfield=this.datafield,a.jqx.hasProperty(c,"columnType")&&(this.columntype=a.jqx.get(c,"columnType")),a.jqx.hasProperty(c,"validation")&&(this.validation=a.jqx.get(c,"validation")),a.jqx.hasProperty(c,"autoCellHeight")&&(this.autoCellHeight=a.jqx.get(c,"autoCellHeight")),a.jqx.hasProperty(c,"text")?this.text=a.jqx.get(c,"text"):this.text=this.displayfield,a.jqx.hasProperty(c,"sortable")&&(this.sortable=a.jqx.get(c,"sortable")),a.jqx.hasProperty(c,"hidden")&&(this.hidden=a.jqx.get(c,"hidden")),a.jqx.hasProperty(c,"groupable")&&(this.groupable=a.jqx.get(c,"groupable")),a.jqx.hasProperty(c,"renderer")&&(this.renderer=a.jqx.get(c,"renderer")),a.jqx.hasProperty(c,"align")&&(this.align=a.jqx.get(c,"align")),a.jqx.hasProperty(c,"cellsAlign")&&(this.cellsalign=a.jqx.get(c,"cellsAlign")),a.jqx.hasProperty(c,"cellsFormat")&&(this.cellsFormat=a.jqx.get(c,"cellsFormat")),a.jqx.hasProperty(c,"width")&&(this.width=a.jqx.get(c,"width")),a.jqx.hasProperty(c,"minWidth")&&(this.minwidth=a.jqx.get(c,"minWidth")),a.jqx.hasProperty(c,"maxWidth")&&(this.maxwidth=a.jqx.get(c,"maxWidth")),a.jqx.hasProperty(c,"cellsRenderer")&&(this.cellsRenderer=a.jqx.get(c,"cellsRenderer")),a.jqx.hasProperty(c,"columnType")&&(this.columntype=a.jqx.get(c,"columnType")),a.jqx.hasProperty(c,"pinned")&&(this.pinned=a.jqx.get(c,"pinned")),a.jqx.hasProperty(c,"filterable")&&(this.filterable=a.jqx.get(c,"filterable")),a.jqx.hasProperty(c,"filter")&&(this.filter=a.jqx.get(c,"filter")),a.jqx.hasProperty(c,"resizable")&&(this.resizable=a.jqx.get(c,"resizable")),a.jqx.hasProperty(c,"draggable")&&(this.draggable=a.jqx.get(c,"draggable")),a.jqx.hasProperty(c,"editable")&&(this.editable=a.jqx.get(c,"editable")),a.jqx.hasProperty(c,"initEditor")&&(this.initeditor=a.jqx.get(c,"initEditor")),a.jqx.hasProperty(c,"createEditor")&&(this.createeditor=a.jqx.get(c,"createEditor")),a.jqx.hasProperty(c,"destroyEditor")&&(this.destroyeditor=a.jqx.get(c,"destroyEditor")),a.jqx.hasProperty(c,"getEditorValue")&&(this.geteditorvalue=a.jqx.get(c,"getEditorValue")),a.jqx.hasProperty(c,"className")&&(this.classname=a.jqx.get(c,"className")),a.jqx.hasProperty(c,"cellClassName")&&(this.cellclassname=a.jqx.get(c,"cellClassName")),a.jqx.hasProperty(c,"aggregates")&&(this.aggregates=a.jqx.get(c,"aggregates")),a.jqx.hasProperty(c,"aggregatesRenderer")&&(this.aggregatesRenderer=a.jqx.get(c,"aggregatesRenderer")),a.jqx.hasProperty(c,"rendered")&&(this.rendered=a.jqx.get(c,"rendered")),a.jqx.hasProperty(c,"exportable")&&(this.exportable=a.jqx.get(c,"exportable")),a.jqx.hasProperty(c,"nullable")&&(this.nullable=a.jqx.get(c,"nullable")),a.jqx.hasProperty(c,"columnGroup")&&(this.columngroup=a.jqx.get(c,"columnGroup")),!c instanceof String&&"string"!=typeof c)for(var e in c)if(!d.hasOwnProperty(e)&&!d.hasOwnProperty(e.toLowerCase()))throw b.host.remove(),new Error("jqxDataTable: Invalid property name - "+e+".")}},this._initfields(c),this}a.jqx.jqxWidget("jqxDataTable","",{}),a.extend(a.jqx._jqxDataTable.prototype,{defineInstance:function(){var b={altRows:!1,aggregatesHeight:34,autoShowLoadElement:!0,autoRowHeight:!0,columnsHeight:30,columns:[],columnGroups:null,columnsResize:!1,columnsReorder:!1,dataview:null,disabled:!1,editable:!1,editSettings:{saveOnPageChange:!0,saveOnBlur:!0,saveOnSelectionChange:!0,cancelOnEsc:!0,saveOnEnter:!0,editSingleCell:!1,editOnDoubleClick:!0,editOnF2:!0},enableHover:!0,enableBrowserSelection:!1,filterHeight:30,filterable:!1,filterMode:"default",groupsRenderer:null,groups:new Array,headerZIndex:359,height:null,handleKeyboardNavigation:null,indentWidth:25,initRowDetails:!1,loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed.",localization:null,pagerHeight:28,pageSize:10,pageSizeOptions:["5","10","20"],pageable:!1,pagerPosition:"bottom",pagerMode:"default",pageSizeMode:"default",pagerButtonsCount:5,pagerRenderer:null,ready:null,rendertoolbar:null,rowDetails:!1,renderStatusBar:null,rendered:null,rendering:null,rtl:!1,sortable:!1,showtoolbar:!1,showstatusbar:!1,statusBarHeight:34,serverProcessing:!1,selectionMode:"multiplerows",scrollBarSize:a.jqx.utilities.scrollBarSize,touchScrollBarSize:a.jqx.utilities.touchScrollBarSize,showAggregates:!1,showHeader:!0,maxHeight:999999,maxWidth:999999,autoBind:!0,beginEdit:null,endEdit:null,autokoupdates:!0,columnsVirtualization:!1,exportSettings:{columnsHeader:!0,hiddenColumns:!1,serverURL:null,characterSet:null,collapsedRecords:!1,recordsInView:!0,fileName:"jqxDataTable"},source:{beforeprocessing:null,beforesend:null,loaderror:null,localdata:null,data:null,datatype:"array",datafields:[],url:"",root:"",record:"",id:"",totalrecords:0,recordstartindex:0,recordendindex:0,loadallrecords:!0,sortcolumn:null,sortdirection:null,sort:null,filter:null,sortcomparer:null},toolbarHeight:34,tableZIndex:369,_updating:!1,touchmode:"auto",width:null,that:this,incrementalSearch:!0,events:["bindingComplete","sort","filter","pageChanged","pageSizeChanged","rowClick","rowDoubleClick","cellValueChanged","rowBeginEdit","rowEndEdit","rowSelect","rowUnselect","rowCheck","rowUncheck","columnResized","columnReordered","rowExpand","rowCollapse","cellBeginEdit","cellEndEdit"]};return this===a.jqx._jqxDataTable.prototype?b:(a.extend(!0,this,b),this.that=this,b)},createInstance:function(b){var c=this;if(15!=a.jqx.utilities.scrollBarSize&&(c.scrollBarSize=a.jqx.utilities.scrollBarSize),"table"==c.element.nodeName.toLowerCase()||a(c.element).children("table").length>0){var d=c.host.find("tbody tr"),e=c.host.find("th"),f=new Array;0===e.length&&(e=d[0],d.splice(0,1)),c.localizestrings&&(c.localizestrings(),null!=c.localization&&c.localizestrings(c.localization,!1));for(var g=[],h=0;h<d.length;h++){for(var i=d[h],j={},k=0;k<e.length;k++){var l=a.trim(a(e[k]).text());if(0===h){var m={name:l};if(c.columns[k]&&c.columns[k].cellsFormat){var n=c.columns[k].cellsFormat.toLowerCase();n.indexOf("p")==-1&&n.indexOf("c")==-1&&n.indexOf("n")==-1&&n.indexOf("f")==-1||(m.type="number"),n.indexOf("d")==-1&&n.indexOf("m")==-1&&n.indexOf("y")==-1&&n.indexOf("h")==-1&&n.indexOf("m")==-1&&n.indexOf("s")==-1&&n.indexOf("t")==-1||(m.type="date")}f.push(m)}var o=a(i).find("td:eq("+k+")"),p=f[k].type;if(p){var q=c.getvaluebytype(a.trim(o.text()),f[k]);j[l]=q}else j[l]=a.trim(o.text())}g[g.length]=j}c.host.wrap("<div></div>");var r=c.host.parent(),s=c.host.data();s.jqxDataTable.host=r,s.jqxDataTable.element=r[0],c.host.parent()[0].id=c.element.id;try{c.host.parent()[0].style=c.element.style}catch(a){}c.element=r[0],c.host=r,c.host.data(s);var t={dataFields:f,localdata:g,datatype:"array"},u=new a.jqx.dataAdapter(t);c.source=u}c.source&&!c.source.dataBind&&(c.source=new a.jqx.dataAdapter(c.source));var v=c.source._source.datafields;v&&v.length>0&&(c._camelCase=void 0!==c.source._source.dataFields,c.selectionMode=c.selectionMode.toLowerCase()),null==c.host.attr("tabindex")&&c.host.attr("tabindex","0"),c.host.attr("role","grid"),c.host.attr("align","left"),c.host.addClass(c.toTP("jqx-grid")),c.host.addClass(c.toTP("jqx-reset")),c.host.addClass(c.toTP("jqx-rc-all")),c.host.addClass(c.toTP("jqx-widget")),c.host.addClass(c.toTP("jqx-widget-content")),c._testmodules()||(c.render(!0),a.jqx.utilities.resize(c.host,function(){var b=a(window).width(),d=a(window).height(),e=c.host.width(),f=c.host.height();c._lastHostWidth==e&&c._lastHostHeight==f||c._updatesize(c._lastHostWidth!=e,c._lastHostHeight!=f),c._lastWidth=b,c._lastHeight=d,c._lastHostWidth=e,c._lastHostHeight=f}))},getvaluebytype:function(b,c){var d=b;if(null==b)return b;if(","==this.gridlocalization.decimalseparator&&b.indexOf(this.gridlocalization.decimalseparator)>=0&&(b=b.replace(this.gridlocalization.decimalseparator,".")),b.indexOf(this.gridlocalization.currencysymbol)>=0&&(b=b.replace(this.gridlocalization.currencysymbol,"")),b.indexOf(this.gridlocalization.percentagesymbol)>=0&&(b=b.replace(this.gridlocalization.percentagesymbol,"")),a.isArray(b)&&"array"!=c.type){for(var e=0;e<b.length;e++)b[e]=this.getvaluebytype(b[e],c);return b}if("date"==c.type)if("NaN"==b)b="";else{var f=new Date(b);if("string"==typeof b&&c.format){var g=a.jqx.dataFormat.parsedate(b,c.format);null!=g&&(f=g)}b=("NaN"==f.toString()||"Invalid Date"==f.toString())&&a.jqx.dataFormat?a.jqx.dataFormat.tryparsedate(b):f,null==b&&(b=d)}else if("float"==c.type||"number"==c.type||"decimal"==c.type)if("NaN"==b)b="";else{var b=parseFloat(b);isNaN(b)&&(b=d)}else if("int"==c.type||"integer"==c.type){var b=parseInt(b);isNaN(b)&&(b=d)}else"bool"!=c.type&&"boolean"!=c.type||(null!=b&&void 0!=b.toLowerCase&&("false"==b.toLowerCase()?b=!1:"true"==b.toLowerCase()&&(b=!0)),b=1==b||(0!=b||""===b)&&"");return b},_builddataloadelement:function(){this.dataloadelement&&this.dataloadelement.remove(),this.dataloadelement=a('<div class="jqx-datatable-load" style="z-index: 99998; background-color:rgba(50,50,50,0.1); overflow: hidden; position: absolute;"></div>');var b=a('<div style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 100px; height: 33px; padding: 5px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><div style="float: left;"><div style="float: left; overflow: hidden; width: 32px; height: 32px;" class="jqx-grid-load"/><span style="margin-top: 10px; float: left; display: block; margin-left: 5px;" >'+this.gridlocalization.loadtext+"</span></div></div>");if(b.addClass(this.toTP("jqx-rc-all")),this.dataloadelement.addClass(this.toTP("jqx-rc-all")),b.addClass(this.toTP("jqx-fill-state-normal")),this.dataloadelement.append(b),this.dataloadelement.width(this.width),this.dataloadelement.height(this.height),this.host.prepend(this.dataloadelement),""!=this.source._source.url){var c=!1;("auto"===this.height||null===this.height||this.autoheight)&&999999==this.maxHeight&&(c=!0),c?(this.host.height(100),this.dataloadelement.height(100)):(this.host.height(this.height),this.dataloadelement.height(this.height));var d=!1;("auto"===this.width||null===this.width||this.autoWidth)&&(d=!0),d?(this.host.width(300),this.dataloadelement.width(300)):(this.host.width(this.width),this.dataloadelement.width(this.width))}},_measureElement:function(b){var c=a("<span style='visibility: hidden; white-space: nowrap;'>measure Text</span>");c.addClass(this.toTP("jqx-widget")),a(document.body).append(c),"cell"==b?this._cellheight=c.height():this._columnheight=c.height(),c.remove()},_testmodules:function(){var b="",c=this,d=function(){""!=b.length&&(b+=",")};if(this.host.jqxScrollBar||(d(),b+=" jqxscrollbar.js"),this.host.jqxButton||(d(),b+=" jqxbuttons.js"),a.jqx.dataAdapter||(d(),b+=" jqxdata.js"),""!=b||this.editable||this.filterable||this.pageable){var e=[],f=function(a){switch(a){case"checkbox":c.host.jqxCheckBox||e.checkbox||(e.checkbox=!0,d(),b+=" jqxcheckbox.js");break;case"dropdownlist":c.host.jqxDropDownList||e.dropdownlist?c.host.jqxListBox||e.listbox||(d(),e.listbox=!0,b+=" jqxlistbox.js"):(d(),e.dropdownlist=!0,b+=" jqxdropdownlist.js(requires: jqxlistbox.js)")}};if((this.filterable&&"simple"!=this.filterMode||"advanced"==this.pagerMode&&this.pageable)&&f("dropdownlist"),""!=b)throw new Error("jqxDataTable: Missing references to the following module(s): "+b)}return!1},focus:function(){try{this.wrapper.focus(),this.host.focus();var a=this;setTimeout(function(){a.wrapper.focus(),a.host.focus()},25),this.focused=!0}catch(a){}},hiddenParent:function(){return a.jqx.isHidden(this.host)},isBindingCompleted:function(){return!this._loading},_updatesize:function(b,c){if(!this._loading){var d=this,e=d.host.width(),f=d.host.height();d._oldWidth||(d._oldWidth=e),d._oldHeight||(d._oldHeight=f),void 0!=d._resizeTimer&&(clearTimeout(d._resizeTimer),d._resizeTimer=null);var g=300,h=function(){d._resizeTimer&&clearTimeout(d._resizeTimer),d.resizingGrid=!0,a.jqx.isHidden(d.host)||(d._updatecolumnwidths(),d.refresh(),d._oldWidth=e,d._oldHeight=f,d.resizingGrid=!1)};h(),d._resizeTimer=setTimeout(function(){var a=d.host.width(),b=d.host.height();d._oldWidth==a&&d._oldHeight==b||h()},g)}},resize:function(a,b){void 0!=a&&(this.width=a),void 0!=b&&(this.height=b),this._updatecolumnwidths(),this.refresh()},isTouchDevice:function(){if(void 0!=this.touchDevice)return this.touchDevice;var b=a.jqx.mobile.isTouchDevice();return this.touchDevice=b,1==this.touchmode?(b=!0,a.jqx.mobile.setMobileSimulator(this.table[0]),this.touchDevice=b):0==this.touchmode&&(b=!1),b&&(this.touchDevice=!0,this.host.addClass(this.toThemeProperty("jqx-touch")),this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch")),this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch")),this.scrollBarSize=this.touchScrollBarSize),b},toTP:function(a){return this.toThemeProperty(a)},localizestrings:function(b,c){if(this._cellscache=new Array,a.jqx.dataFormat&&a.jqx.dataFormat.cleardatescache(),this._loading)throw new Error("jqxDataTable: "+this.loadingErrorMessage);if(null!=b){for(var d in b)d.toLowerCase()!==d&&(b[d.toLowerCase()]=b[d]);for(var e=["pagergotopagestring","pagershowrowsstring","pagerrangestring","pagernextbuttonstring","pagerpreviousbuttonstring","pagerfirstbuttonstring","pagerlastbuttonstring","toppagerstring","firstDay","days","months","AM","PM","patterns","percentsymbol","currencysymbol","currencysymbolposition","decimalseparator","thousandsseparator","filterapplystring","filteraddnew","filtercancelstring","filterclearstring","filterstring","filterstringcomparisonoperators","filternumericcomparisonoperators","filterdatecomparisonoperators","filterbooleancomparisonoperators","emptydatastring","filterselectstring","todaystring","clearstring","validationstring","loadtext","filtersearchstring","loadingErrorMessage"],f=this,g=0;g<e.length;g++){var h=e[g];void 0!==b[h]&&(f.gridlocalization[h]=b[h])}b.loadingErrorMessage&&(this.loadingErrorMessage=b.loadingErrorMessage),c!==!1&&(this._builddataloadelement(),a(this.dataloadelement).css("visibility","hidden"),a(this.dataloadelement).css("display","none"))}else this.gridlocalization={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy'-'MM'-'dd'T'HH':'mm':'ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",d3:"dd-MMMM-yyyy",d4:"dd-MM-yy",d5:"H:mm",d6:"HH:mm",d7:"HH:mm tt",d8:"dd/MMMM/yyyy",d9:"MMMM-dd",d10:"MM-dd",d11:"MM-dd-yyyy"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:",",pagergotopagestring:"Go to page:",pagershowrowsstring:"Show rows:",pagerrangestring:" of ",pagerpreviousbuttonstring:"previous",pagernextbuttonstring:"next",pagerfirstbuttonstring:"first",pagerlastbuttonstring:"last",filterapplystring:"Apply",filtercancelstring:"Cancel",filterclearstring:"Clear Filter",filterstring:"advanced",filtersearchstring:"Search:",filterstringcomparisonoperators:["empty","not empty","contains","contains(match case)","does not contain","does not contain(match case)","starts with","starts with(match case)","ends with","ends with(match case)","equal","equal(match case)","null","not null"],filternumericcomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterdatecomparisonoperators:["equal","not equal","less than","less than or equal","greater than","greater than or equal","null","not null"],filterbooleancomparisonoperators:["equal","not equal"],validationstring:"Entered value is not valid",emptydatastring:"No data to display",filterselectstring:"Select Filter",loadtext:"Loading...",clearstring:"Clear",todaystring:"Today",loadingErrorMessage:"The data is still loading and you cannot set a property or call a method. You can do that once the data binding is completed. jqxDataTable raises the 'bindingComplete' event when the binding is completed."}},_updateScrollbars:function(a){var b=!1;("auto"===this.width||null===this.width||this.autowidth)&&999999==this.maxWidth&&(b=!0);var c=parseInt(this.scrollBarSize),d=this.table?this.table.height():0,e=0,f="inherit",g=this.vScrollBar[0].style.visibility;this.hScrollBar[0].style.visibility;if(a)var h=a;else var h=this.host.height();h-=this.columnGroups?this.showHeader?this.columnsheader.height():0:this.showHeader?this.columnsHeight:0,this.filterable&&(h-=this.filter.height()),this.pageable&&(h-=this.pagerHeight,"both"===this.pagerPosition&&(h-=this.pagerHeight)),this.showtoolbar&&(h-=this.toolbarHeight),this.showstatusbar&&(h-=this.statusBarHeight),this.showAggregates&&(h-=this.aggregatesHeight);var i=!1;if(("auto"===this.height||null===this.height||this.autoheight)&&999999==this.maxHeight&&(i=!0),!i&&d>h&&(this.source.records.length>0||this.source.hierarchy&&this.source.hierarchy.length>0)?(this.vScrollBar[0].style.visibility=f,e=4+parseInt(c),this.vScrollBar.jqxScrollBar({max:d-h})):this.vScrollBar[0].style.visibility="hidden",g!=this.vScrollBar[0].style.visibility){this._updatecolumnwidths();var j=this.table.height();d!=j&&(d=j,!i&&d>h&&(this.source.records.length>0||this.source.hierarchy&&this.source.hierarchy.length>0)&&(this.vScrollBar[0].style.visibility=f,e=4+parseInt(c),this.vScrollBar.jqxScrollBar({max:d-h})))}0==this.scrollBarSize&&(e=0);var k=this.table?this.table.width():0;k>3&&(k-=3);var l=parseInt(this.host.css("border-left-width"))+parseInt(this.host.css("border-right-width")),m=l+this.host.width()-e;if(k>m&&!b){if(this.hScrollBar[0].style.visibility=f,this.hScrollBar.jqxScrollBar({max:k-m}),e=4+parseInt(c),0==c&&(e=0),!i){if(d>h-e+4&&(this.source.records.length>0||this.source.hierarchy&&this.source.hierarchy.length>0)){this.hScrollBar.jqxScrollBar({max:l+k-m});var n="hidden"===this.vScrollBar[0].style.visibility;this.vScrollBar[0].style.visibility=f,this._updatecolumnwidths(),n&&this.hScrollBar.jqxScrollBar({max:k-m+e+l});var o=this.table?this.table.width():0;o>3&&(o-=3),o!=k&&o<m&&(this.hScrollBar.jqxScrollBar({max:l+o-m}),this.hScrollBar[0].style.visibility="hidden",e=0)}this.vScrollBar.jqxScrollBar({max:d-h+e})}}else this.hScrollBar[0].style.visibility="hidden";0===this.source.records.length&&this.source.hierarchy&&0===this.source.hierarchy.length&&(this.vScrollBar[0].style.visibility="hidden",this.bottomRight[0].style.visibility="hidden"),"hidden"==this.vScrollBar[0].style.visibility&&0!=this.vScrollInstance.value&&this.vScrollInstance.setPosition(0)},_measureElementWidth:function(b){var c=a("<span style='visibility: hidden; white-space: nowrap;'>"+b+"</span>");c.addClass(this.toTP("jqx-widget")),c.addClass(this.toTP("jqx-grid")),c.addClass(this.toTP("jqx-grid-column-header")),c.addClass(this.toTP("jqx-widget-header")),a(document.body).append(c);var d=c.outerWidth()+20;return c.remove(),d},_arrangeAutoHeight:function(a){if(a||(a=0),"auto"===this.height||null===this.height||this.autoheight){var b=this.table.height(),c=0;if(c+=this.columnGroups?this.showHeader?this.columnsheader.height():-1:this.showHeader?this.columnsHeight:-1,c+=this.showstatusbar?this.statusBarHeight:0,c+=this.showAggregates?this.aggregatesHeight:0,c+=this.showtoolbar?this.toolbarHeight:0,c+=this.pageable?this.pagerHeight:0,"both"===this.pagerPosition&&(c+=this.pageable?this.pagerHeight:0),c+=b,this.filterable){var d=this.filter.find(".filterrow"),e=this.filter.find(".filterrow-hidden"),f=1;e.length>0&&(f=0),c+=this.filterHeight-1+this.filterHeight*d.length*f}return c+a>this.maxHeight?this.host.height(this.maxHeight):this.host.height(c+a),!0}return!1},_arrangeAutoWidth:function(a){if(a||(a=0),"auto"===this.width||null===this.width||this.autowidth){for(var b=0,c=0;c<this.columns.records.length;c++){var d=this.columns.records[c].width;this.columns.records[c].hidden||("auto"==d?(d=this._measureElementWidth(this.columns.records[c].text),b+=d):b+=d)}return width=b,width+a>this.maxWidth?this.host.width(this.maxWidth):this.host.width(width+a),!0}return!1},_measureTopAndHeight:function(){var a=this.host.height(),b=0;if(this.showtoolbar&&(b+=this.toolbarHeight,a-=parseInt(this.toolbarHeight)),this.filterable){var c=this.filter.find(".filterrow"),d=this.filter.find(".filterrow-hidden"),e=1;d.length>0&&(e=0),b+=this.filterHeight,a-=parseInt(this.filterHeight);var f=1==e?c.length:0;b+=this.filterHeight*f,a-=this.filterHeight*f}return this.pageable&&"bottom"!=this.pagerPosition&&(b+=parseInt(this.pagerHeight)+1,a>this.pagerHeight&&"both"===this.pagerPosition&&(a-=parseInt(this.pagerHeight))),{top:b,height:a}},_arrange:function(){if(this.table){this._arrangeAutoHeight(),this._arrangeAutoWidth();var b=this.host.width(),c=this.host.height(),d=c;this.pageable?"bottom"===this.pagerPosition?(this.toppager[0].style.visibility="hidden",this.pager[0].style.visibility="inherit"):"both"===this.pagerPosition?(this.toppager[0].style.visibility="inherit",this.pager[0].style.visibility="inherit"):"top"===this.pagerPosition&&(this.toppager[0].style.visibility="inherit",this.pager[0].style.visibility="hidden"):(this.toppager[0].style.visibility="hidden",this.pager[0].style.visibility="hidden");var e=0;if(this.showtoolbar?(this.toolbar.width(b),this.toolbar.height(this.toolbarHeight-1),this.toolbar.css("top",0),e+=this.toolbarHeight,c-=parseInt(this.toolbarHeight)):this.toolbar[0].style.height="0px",this.filterable){this.filter.width(b),this.filter.css("top",e);var f=this.filter.find(".filterrow"),g=this.filter.find(".filterrow-hidden"),h=1;g.length>0&&(h=0),this.filter.height(this.filterHeight-1+this.filterHeight*f.length*h),e+=this.filterHeight,c-=parseInt(this.filterHeight);var i=1==h?f.length:0;e+=this.filterHeight*i,c-=this.filterHeight*i}if(this.showstatusbar?(this.statusbar.width(this.table?Math.max(b,this.table.width()):b),this.statusbar.height(this.statusBarHeight-1)):this.statusbar[0].style.height="0px",this.showAggregates?this.aggregates.height(this.aggregatesHeight-1):this.aggregates[0].style.height="0px",this.pageable&&"bottom"!=this.pagerPosition)this.toppager[0].style.width=b+"px",this.toppager[0].style.height=parseInt(this.pagerHeight)+"px",this.toppager[0].style.top=parseInt(e)+"px",e+=parseInt(this.pagerHeight)+1,c>this.pagerHeight&&(c-=parseInt(this.pagerHeight));else{this.toppager[0].style.width!=b+"px"&&(this.toppager[0].style.width=parseInt(b)+"px"),this.toppager[0].style.height!=this.pagerHeight+"px"&&(this.toppager[0].style.height=parseInt(this.pagerHeight)+"px"),this.toppager[0].style.top!=e+"px"&&(this.toppager[0].style.top=e+"px");var j="bottom"!=this.pagerPosition?this.pagerHeight:0,k=e+j+"px";this.content[0].style.top!=k&&(this.content[0].style.top=e+this.pagerHeight+"px")}this._updateScrollbars(d);var l=parseInt(this.scrollBarSize),m=4,n=2,o=0;if("hidden"!=this.vScrollBar[0].style.visibility&&(o=l+m),"hidden"!=this.hScrollBar[0].style.visibility&&(n=l+m+2),0==l&&(o=0,n=0),this.showAggregates&&("hidden"===this.hScrollBar[0].style.visibility?this.aggregates.width(this.table?Math.max(b,this.table.width())+4:b):this.aggregates.width("auto")),"hidden"!=this.vScrollBar[0].style.visibility||"hidden"!=this.hScrollBar[0].style.visibility){var p=this._arrangeAutoHeight(n-2),q=this._arrangeAutoWidth(o+1);if(p||q){var b=this.host.width();this.toppager[0].style.width=parseInt(b)+"px",this.toolbar[0].style.width=parseInt(b)+"px",this.statusbar[0].style.width=parseInt(b)+"px",this.filter[0].style.width=parseInt(b)+"px"}if(p){var r=this._measureTopAndHeight();e=r.top,c=r.height}}var s=0;this.pageable&&(s=this.pagerHeight,"top"!=this.pagerPosition&&(n+=this.pagerHeight)),this.showAggregates&&(n+=this.aggregatesHeight,s+=this.aggregatesHeight),this.showstatusbar&&(n+=this.statusBarHeight,s+=this.statusBarHeight),this.hScrollBar[0].style.height!=l+"px"&&(this.hScrollBar[0].style.height=parseInt(l)+"px"),this.hScrollBar[0].style.top==e+c-m-l-s+"px"&&"0px"==this.hScrollBar[0].style.left||(this.hScrollBar[0].style.top=e+c-m-l-s-1+"px",this.hScrollBar[0].style.left="0px");var t=this.hScrollBar[0].style.width,u=!1,v=!1;0==o?t!=b-2+"px"&&(this.hScrollBar[0].style.width=b-2+"px",u=!0):t!=b-l-m+"px"&&(this.hScrollBar[0].style.width=b-l-m+"px",u=!0),this.vScrollBar[0].style.width!=l+"px"&&(this.vScrollBar[0].style.width=l+"px",v=!0),this.vScrollBar[0].style.height!=parseInt(c)-n+"px"&&(this.vScrollBar[0].style.height=parseInt(c)-n+"px",v=!0),this.vScrollBar[0].style.left==parseInt(b)-parseInt(l)-m+"px"&&this.vScrollBar[0].style.top==e+"px"||(this.vScrollBar[0].style.top=e+"px",this.vScrollBar[0].style.left=parseInt(b)-parseInt(l)-m+"px"),this.rtl&&(this.vScrollBar.css({left:"0px",top:e}),"hidden"!=this.vScrollBar.css("visibility")&&this.hScrollBar.css({left:l+2}));var w=this.vScrollInstance;w.disabled=this.disabled;var x=this.hScrollInstance;x.disabled=this.disabled,u&&x.refresh(),v&&w.refresh();var y=function(a){"hidden"!=a.vScrollBar[0].style.visibility&&"hidden"!=a.hScrollBar[0].style.visibility?(a.bottomRight[0].style.visibility="inherit",a.bottomRight[0].style.left=1+parseInt(a.vScrollBar.css("left"))+"px",a.bottomRight[0].style.top=parseInt(a.hScrollBar.css("top"))+"px",a.rtl&&a.bottomRight.css("left","0px"),a.bottomRight[0].style.width=parseInt(l)+3+"px",a.bottomRight[0].style.height=parseInt(l)+4+"px",a.showAggregates&&(a.bottomRight.css("z-index",99),a.bottomRight.height(parseInt(l)+4+a.aggregatesHeight),a.bottomRight.css({top:parseInt(a.hScrollBar.css("top"))-a.aggregatesHeight}))):a.bottomRight[0].style.visibility="hidden"};if(y(this),this.content[0].style.width!=b-o+"px"&&(this.content[0].style.width=b-o+"px"),this.content[0].style.height!=c-n+3+"px"&&(this.content[0].style.height=c-n+3+"px"),this.content[0].style.top!=e+"px"&&(this.content[0].style.top=parseInt(e)+"px"),this.rtl&&(this.content.css("left",o),this.filter&&this.filter.children().length>0&&a(this.filter.children()).css("left",o),this.table)){var z=this.table.width();z<b-o&&(this.content.css("left",b-z+2),this.filter&&this.filter.children().length>0&&a(this.filter.children()).css("left",b-z+2))}this.showAggregates&&(this.aggregates.css("top",e+c-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?this.statusBarHeight+1:0)),this.rtl&&this.aggregates.css("left","0px"),"hidden"!=this.hScrollBar.css("visibility")&&(this.hScrollBar.css({top:e+c-m-l-s+this.aggregatesHeight+"px"}),this.aggregates.css("top",1+e+c-l-5-this.aggregatesHeight-(this.pageable?this.pagerHeight:0)-(this.showstatusbar?this.statusBarHeight+1:0))),y(this)),this.showstatusbar&&(this.statusbar.css("top",e+c-this.statusBarHeight-(this.pageable?this.pagerHeight:0)),this.rtl&&("hidden"==this.hScrollBar.css("visibility")?this.statusbar.css("left",this.content.css("left")):this.statusbar.css("left","0px"))),this.pageable?(this.pager[0].style.width=b+"px",this.pager[0].style.height=this.pagerHeight+"px",this.pager[0].style.top=parseInt(e)+parseInt(c)-parseInt(this.pagerHeight)-1+"px"):this.pager[0].style.height="0px",this.vScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length,this.hScrollBar[0].style.zIndex=this.tableZIndex+this.headerZIndex+10+this.columns.records.length,b!=parseInt(this.dataloadelement[0].style.width)&&(this.dataloadelement[0].style.width=this.element.style.width),c!=parseInt(this.dataloadelement[0].style.height)&&(this.dataloadelement[0].style.height=this.element.style.height),this._hostwidth=b}},scrollOffset:function(a,b){if(0==arguments.length||null!=a&&"object"==typeof a&&!a.top)return{left:this.hScrollBar.jqxScrollBar("value"),top:this.vScrollBar.jqxScrollBar("value")};if(null!=a&&"object"==typeof a)var b=a.left,c=a.top,a=c;null!=a&&null!=b&&void 0!=a&&void 0!=b&&(this.vScrollBar.jqxScrollBar("setPosition",a),this.hScrollBar.jqxScrollBar("setPosition",b))},scrollleft:function(a){null!=a&&void 0!=a&&"hidden"!=this.hScrollBar.css("visibility")&&this.hScrollBar.jqxScrollBar("setPosition",a)},scrolltop:function(a){null!=a&&void 0!=a&&"hidden"!=this.vScrollBar.css("visibility")&&this.vScrollBar.jqxScrollBar("setPosition",a)},beginUpdate:function(){this._updating=!0,this._datachanged=!1},endUpdate:function(a){this._updating=!1,a!==!1&&(this._rendercolumnheaders(),this.refresh())},updating:function(){return this._updating},databind:function(b,c,d){if(this.loadingstate!==!0){var e=window;"block"==this.host.css("display")&&(this.autoShowLoadElement?(a(this.dataloadelement).css("visibility","visible"),a(this.dataloadelement).css("display","block"),this.dataloadelement.width(this.host.width()),this.dataloadelement.height(this.host.height())):(a(this.dataloadelement).css("visibility","hidden"),a(this.dataloadelement).css("display","none")));var f=this;null==b&&(b={}),void 0!=b.sortcomparer&&null!=b.sortcomparer||(b.sortcomparer=null),void 0!=b.filter&&null!=b.filter||(b.filter=null),void 0!=b.sort&&null!=b.sort||(b.sort=null),void 0!=b.data&&null!=b.data||(b.data=null);var g=null;if(null!=b&&(g=void 0!=b._source?b._source.url:b.url),this.dataview=this.dataview||new a.jqx.dataView,this.dataview.pageable=this.pageable,this.dataview.grid=this,!f.initializedcall){if(b._source&&this.sortable&&(void 0!=b._source.sortcolumn&&(this.sortcolumn=b._source.sortcolumn,this.source.sortcolumn=this.sortcolumn,this.dataview.sortfield=b._source.sortcolumn,b._source.sortcolumn=null),void 0!=b._source.sortdirection)){this.dataview.sortfielddirection=b._source.sortdirection;var h=b._source.sortdirection;if("a"==h||"asc"==h||"ascending"==h||1==h)var i=!0;else var i=!1;null!=h?this.sortdirection={ascending:i,descending:!i}:this.sortdirection={
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
7 ascending:!1,descending:!1}}this.pageable&&b._source&&(void 0!=b._source.pagenum&&(this.dataview.pagenum=b._source.pagenum),void 0!=b._source.pagesize?(this.pageSize=b._source.pagesize,this.dataview.pagesize=b._source.pagesize):(this.dataview.pagesize=b._source.pagesize,void 0==this.dataview.pagesize&&(this.dataview.pagesize=this.pageSize))),this.sortable&&(b.sortcolumn&&(this.dataview.sortfield=b.sortcolumn),b.sortdirection&&(this.dataview.sortfielddirection=b.sortdirection))}this._loading=!0,this.dataview.update=function(b){f._loading=!1,f.rowsByKey=new Array;var g=f.source._source.datafields;if(f.groups&&f.groups.length>0){var h=Object.prototype.toString,i=f.groups[0];if(Object.prototype.toString="function"==typeof i?i:function(){return this[i]},!f.source.records.sort){var j=new Array,k=0;a.each(data,function(){j[startindex+k++]=this}),data=j}f.source.records.sort(function(b,c){if(void 0===b&&(b=null),void 0===c&&(c=null),null===b&&null===c)return 0;if(null===b&&null!==c)return-1;if(null!==b&&null===c)return 1;var d=0,e=0;if(b&&b.uid&&(d=b.uid),c&&c.uid&&(e=c.uid),b=b.toString(),c=c.toString(),a.jqx.dataFormat.isNumber(b)&&a.jqx.dataFormat.isNumber(c))return b<c?-1:b>c?1:0;if(a.jqx.dataFormat.isDate(b)&&a.jqx.dataFormat.isDate(c))return b<c?-1:b>c?1:0;a.jqx.dataFormat.isNumber(b)||a.jqx.dataFormat.isNumber(c)||(b=String(b).toLowerCase(),c=String(c).toLowerCase());try{if(b<c)return-1;if(b>c)return 1}catch(a){}if("number"==typeof d){if(d<e)return-1;if(d>e)return 1}return 0}),Object.prototype.toString=h}for(var l=0;l<f.source.records.length;l++){var m=f.source.records[l];if(f.rowsByKey[m.uid]=m,m.records&&m.records.length>0){var n=function(a){for(var b=0;b<a.length;b++)a[b]&&(f.rowsByKey[a[b].uid]=a[b],a[b].records&&a[b].records.length>0&&n(a[b].records))};n(m.records)}if(0===l){var o=!1;if(g)for(var p=0;p<g.length;p++)if(g[p]&&!g[p].type){o=!0,g[p].type="string";var q=m[g[p].name];if(void 0==q)continue;if(q!==!0&&q!==!1||(g[p].type="boolean"),null!=q&&q.toString().indexOf(f.gridlocalization.currencysymbol)>-1||q.toString().indexOf(f.gridlocalization.percentsymbol)>-1){var r=q.toString().split(" ").length,s=new Number(f._toNumber(q.toString()));isNaN(s)||1!=r||(g[p].type="number")}(a.jqx.dataFormat.isNumber(q)||!isNaN(parseFloat(q))&&isFinite(q))&&(g[p].type="number"),a.jqx.dataFormat.isDate(q)&&(g[p].type="date")}if(o)for(var p=0;p<g.length;p++){var t=f.source.getvaluebytype(m[g[p].name],g[p]);if(null!=t&&"number"==g[p].type){var u=t;u=new Number(f._toNumber(u.toString())),isNaN(u)||(t=u)}m[g[p].name]=t}}}if("pager"===c||"filter"===c||"sort"===c?f.refresh():f._render(),f.autoShowLoadElement&&!f._loading&&(a(f.dataloadelement).css("visibility","hidden"),a(f.dataloadelement).css("display","none")),f.pageable&&(f.disabled||f.pagernexttop&&(f.pagerfirsttop.jqxButton({disabled:!1}),f.pagerfirstbottom.jqxButton({disabled:!1}),f.pagerlasttop.jqxButton({disabled:!1}),f.pagerlastbottom.jqxButton({disabled:!1}),f.pagernexttop.jqxButton({disabled:!1}),f.pagerprevioustop.jqxButton({disabled:!1}),f.pagershowrowscombotop.jqxDropDownList&&"advanced"==f.pagerMode&&(f.pagershowrowscombotop.jqxDropDownList({disabled:!1}),f.pagershowrowscombobottom.jqxDropDownList({disabled:!1})),f.pagernextbottom.jqxButton({disabled:!1}),f.pagerpreviousbottom.jqxButton({disabled:!1}))),f._updateTouchScrolling(),f._raiseEvent("bindingComplete"),d&&d(),!f.initializedcall){if(f.initializedcall=!0,f.isInitialized=!0,f.ready&&f.ready(),(null!=f.width&&f.width.toString().indexOf("%")!=-1||null!=f.height&&f.height.toString().indexOf("%")!=-1)&&f._updatesize(!0),f._rendercelltexts&&f._rendercelltexts(),f._gridRenderElement){a(f._gridRenderElement).show("slow");var v=6e3+Math.floor(4e3*Math.random()+1),w=String.fromCharCode(83,69,84).toLowerCase()+"-"+String.fromCharCode(84,73,77,69,79,85,84).toLowerCase();e[a.camelCase(w)](function(){a(f._gridRenderElement).hide("slow",function(){a(f._gridRenderElement).remove()})},v)}if("hidden"==f.host.css("visibility")){a.jqx.browser.msie&&a.jqx.browser.version<8;"visible"==f.vScrollBar.css("visibility")&&f.vScrollBar.css("visibility","inherit"),"visible"==f.hScrollBar.css("visibility")&&f.hScrollBar.css("visibility","inherit"),f._intervalTimer=setInterval(function(){"visible"==f.host.css("visibility")&&(f._updatesize(!0),clearInterval(f._intervalTimer))},100)}}},this.dataview.databind(b)}},_raiseEvent:function(b,c){void 0==c&&(c={owner:null});var d=b;args=c,args.owner=this;var e=new a.Event(d);e.owner=this,e.args=args;var f=this.host.trigger(e);return c=e.args,f},ensureColumnVisible:function(a){for(var b=0,c=0,d=0;d<this.columns.records.length;d++){if(this.columns.records[d].datafield==a){b+=this.columns.records[d].width,c=this.columns.records[d].width;break}b+=this.columns.records[d].width}if("hidden"!=this.hScrollBar.css("visibility")){var e=this.hScrollBar.jqxScrollBar("value"),f=e+this.host.width();e>b-c?this.hScrollBar.jqxScrollBar("setPosition",b-c):b>f&&this.hScrollBar.jqxScrollBar("setPosition",e+b-f)}},ensurerowvisiblebykey:function(b){if("hidden"===this.vScrollBar[0].style.visibility)return!1;var c=this._getuirow(b);if(c){var d=this.vScrollBar.jqxScrollBar("value"),e=this.host.height(),f=0;f+=this.columnGroups?this.showHeader?this.columnsheader.height():0:this.showHeader?this.columnsHeight:0,this.filterable&&(f+=this.filter.height()),this.pageable&&"top"===this.pagerPosition&&(f+=this.pagerHeight),this.showtoolbar&&(f+=this.toolbarHeight),e-=f,this.pageable&&"top"!==this.pagerPosition&&(e-=this.pagerHeight),this.showstatusbar&&(e-=this.statusBarHeightt),this.showAggregates&&(e-=this.aggregatesHeight),"hidden"!=this.hScrollBar.css("visibility")&&(e-=20);var g=this.host.coord().top+f,h=d,i=e+h,j=c.coord().top+d-g;j=Math.round(j);var k=j+c.outerHeight();if(k=Math.round(k),0===Math.round(c.position().top))return this.vScrollBar.jqxScrollBar("setPosition",0);var l=a(this._table.children()[1]).children().length-1,m=this._getuikey(l),n=this._getuirow(m);if(n&&n[0]===c[0])return this.vScrollBar.jqxScrollBar("setPosition",this.vScrollBar.jqxScrollBar("max"));if(j<h){var o=j-c.height();return o<0&&(o=0),this.vScrollBar.jqxScrollBar("setPosition",o)}return k>i?this.vScrollBar.jqxScrollBar("setPosition",4+k-e-d):void 0}},ensureRowVisible:function(a){var b=this._getkey(a);this.ensurerowvisiblebykey(b)},getColumn:function(b){var c=null;return this.columns.records&&a.each(this.columns.records,function(){if(this.datafield==b||this.displayfield==b)return c=this,!1}),c},_setcolumnproperty:function(a,b,c){if(null==a||null==b||null==c)return null;var d=b;b=b.toLowerCase();var e=this.getColumn(a);if(null!=e){e[b];e[b]=c,e[d]=c;var f=this.getColumn(a);switch(null!=f&&(f[b]=c),b){case"filteritems":case"text":case"editable":case"resizable":case"draggable":case"hidden":case"hideable":case"renderer":case"cellsrenderer":case"align":case"aggregates":case"cellsalign":case"cellsformat":case"pinned":case"contenttype":case"filterable":case"groupable":case"cellclass":case"cellclassname":case"class":case"width":case"minwidth":case"maxwidth":"align"==b?(this._rendercolumnheaders(),this.refresh()):"text"==b||"class"==b||"hidden"==b||"pinned"==b||"resizable"==b||"renderer"==b?(this._rendercolumnheaders(),this.refresh()):"width"==b||"maxwidth"==b||"minwidth"==b?(e._width=null,e._percentagewidth=null,this._updatecolumnwidths(),this.refresh()):this.refresh()}}},getColumnProperty:function(a,b){if(null==a||null==b)return null;b=b.toLowerCase();var c=this.getColumn(a);return c[b]},setColumnProperty:function(a,b,c){this._setcolumnproperty(a,b,c)},hideColumn:function(a){this._setcolumnproperty(a,"hidden",!0)},showColumn:function(a){this._setcolumnproperty(a,"hidden",!1)},updateBoundData:function(a,b){this.databind(this.source,a,b)},refresh:function(b){if(1!=b){if(a.jqx.isHidden(this.host))return;this.vScrollInstance.setPosition(0),this._renderrows(),this.updatepagerdetails(),this._arrange(),this._arrangeFilterRow&&this._arrangeFilterRow(),this._renderhorizontalscroll(),this._showicons(),this.showAggregates&&this._updateaggregates(),this._updateTouchScrolling()}},_rendercelltexts:function(){var b=String.fromCharCode(119,119,119,46,106,113,119,105,100,103,101,116,115,46,99,111,109);if(location.hostname.indexOf(b.substring(4))==-1){this._gridRenderElement&&a(this._gridRenderElement).remove();var c=String.fromCharCode(83,80,65,78),d=String.fromCharCode(72,84,84,80,58,47,47),e=document.createElement(c);e.id=a.jqx.utilities.createId(),e.innerHTML=b,e.style.position="absolute",e.style.right="5px",e.style.bottom="5px",e.style.color="#909090",e.style.cursor="pointer",e.style.zIndex="999999",e.style.display="none",e.style.fontSize="9px",e.onmousedown=function(){open(d+b)},this.content[0].appendChild(e),this._gridRenderElement=e}},_updateTouchScrolling:function(){var b=this.that;if(b.isTouchDevice()){var c=a.jqx.mobile.getTouchEventName("touchstart"),d=a.jqx.mobile.getTouchEventName("touchend"),e=a.jqx.mobile.getTouchEventName("touchmove");b.table&&(b.removeHandler(b.table,c+".touchScroll"),b.removeHandler(b.table,e+".touchScroll"),b.removeHandler(b.table,d+".touchScroll"),b.removeHandler(b.table,"touchcancel.touchScroll"),a.jqx.mobile.touchScroll(b.table[0],Math.max(b.vScrollInstance.max,b.hScrollInstance.max),function(a,c){if(null!=c&&"hidden"!=b.vScrollBar.css("visibility")){b.vScrollInstance.value;b.vScrollInstance.setPosition(c)}if(null!=a&&"hidden"!=b.hScrollBar.css("visibility")){b.hScrollInstance.value;b.hScrollInstance.setPosition(a)}b.scrolled=new Date,b.vScrollInstance.thumbCapture=!0},this.element.id,this.hScrollBar,this.vScrollBar))}},_showicons:function(){if(this.table)for(var b=0;b<this.columns.records.length;b++){var c=this.columns.records[b];if(a(c.filtericon).hide(),a(c.sortasc).hide(),a(c.sortdesc).hide(),"simple"!==this.filterMode)for(var d=0;d<this.dataview.filters.length;d++){var e=this.dataview.filters[d];if(e.datafield===c.displayfield){a(c.filtericon).show();break}}if(null!==this.sortcolumn&&this.sortcolumn===c.displayfield&&null!=this.sortdirection&&(this.sortdirection.ascending?a(c.sortasc).show():a(c.sortdesc).show()),"left"!=c.align&&"center"!=c.align&&!this.rtl||this.rtl&&"right"!=c.align&&"center"!=c.align){var f=a.jqx.isHidden(a(c.filtericon))?0:16;f+=a.jqx.isHidden(a(c.sortasc))?0:16,f+=a.jqx.isHidden(a(c.sortdesc))?0:16;var g=a(a(a(c.element).children()[0]).children()[0]);this.rtl?f>0?g.css("margin-left",4+f+"px"):g.css("margin-left","4px"):f>0?g.css("margin-right",4+f+"px"):g.css("margin-right","4px")}}},render:function(b){var c="<div style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='toppager' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='filter' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content"+this.element.id+"' style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='aggregates' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='statusbar' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='z-index: 20; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";this.element.innerText="",this.element.innerHTML=c,this.wrapper=this.host.find("#wrapper"+this.element.id),this.content=this.host.find("#content"+this.element.id),this.content.addClass(this.toTP("jqx-reset"));var d=this.host.find("#verticalScrollBar"+this.element.id),e=this.host.find("#horizontalScrollBar"+this.element.id);this.bottomRight=this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")).addClass(this.toTP("jqx-scrollbar-state-normal")),this.vScrollBar&&this.vScrollBar.jqxScrollBar("destroy"),this.hScrollBar&&this.hScrollBar.jqxScrollBar("destroy"),this.vScrollBar=d.jqxScrollBar({vertical:!0,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:!1}),this.hScrollBar=e.jqxScrollBar({vertical:!1,rtl:this.rtl,touchMode:this.touchmode,theme:this.theme,_triggervaluechanged:!1}),this.vScrollBar.css("visibility","hidden"),this.hScrollBar.css("visibility","hidden"),this.vScrollInstance=a.data(this.vScrollBar[0],"jqxScrollBar").instance,this.hScrollInstance=a.data(this.hScrollBar[0],"jqxScrollBar").instance,this.filter=this.host.find("#filter"),this.filter[0].id="filter"+this.element.id,this.filter.addClass(this.toTP("jqx-widget-header")),this.filter.addClass(this.toTP("jqx-grid-toolbar")),this.pager=this.host.find("#pager"),this.pager[0].id="pager"+this.element.id,this.toolbar=this.host.find("#toolbar"),this.toolbar[0].id="toolbar"+this.element.id,this.toolbar.addClass(this.toTP("jqx-grid-toolbar")),this.toolbar.addClass(this.toTP("jqx-widget-header")),this.aggregates=this.host.find("#aggregates"),this.aggregates[0].id="aggregates"+this.element.id,this.aggregates.addClass(this.toTP("jqx-grid-statusbar")),this.aggregates.addClass(this.toTP("jqx-widget-header")),this.statusbar=this.host.find("#statusbar"),this.statusbar[0].id="statusbar"+this.element.id,this.statusbar.addClass(this.toTP("jqx-grid-statusbar")),this.statusbar.addClass(this.toTP("jqx-widget-header")),this.pager.addClass(this.toTP("jqx-grid-pager")),this.pager.addClass(this.toTP("jqx-widget-header")),this.toppager=this.host.find("#toppager"),this.toppager.addClass(this.toTP("jqx-grid-pager-top")),this.toppager.addClass(this.toTP("jqx-widget-header")),this.gridtable=null,this.localizestrings&&(this.localizestrings(),null!=this.localization&&this.localizestrings(this.localization,!1)),this._builddataloadelement(),this._cachedcolumns=this.columns;var f=this.source.datafields;if(null==f&&this.source._source&&(f=this.source._source.datafields),f)for(var g=0;g<this.columns.length;g++){var h=this.columns[g];if(h&&h.cellsFormat&&h.cellsFormat.length>2)for(var i=0;i<f.length;i++)if(f[i].name==h.datafield&&!f[i].format){f[i].format=h.cellsFormat;break}}this.databind(this.source),this.showtoolbar&&this.toolbar.css("visibility","inherit"),this.showstatusbar&&this.statusbar.css("visibility","inherit"),this.showAggregates&&this.aggregates.css("visibility","inherit"),this.tableheight=null;var j=this,k=function(){j.content&&(j.content[0].scrollTop=0,j.content[0].scrollLeft=0),j.gridcontent&&(j.gridcontent[0].scrollLeft=0,j.gridcontent[0].scrollTop=0)};this.removeHandler(this.content,"scroll"),this.removeHandler(this.content,"mousedown"),this.addHandler(this.content,"scroll",function(a){return k(),!1}),b!==!0&&this._render()},_render:function(){var b=this;if(null!=b.dataview&&!b._loading){(25!=b.columnsHeight||b.columnGroups)&&b._measureElement("column"),b.filterable?b.filter[0].style.visibility="inherit":b.filter[0].style.visibility="hidden",b.rowinfo=new Array,b._removeHandlers(),null==b.columns?b.columns=new a.jqx.dataCollection(b.element):b._initializeColumns();var c=!1,d=!1;null!=b.width&&b.width.toString().indexOf("%")!=-1&&(c=!0),c?b.element.width=b.width:b.host.width(b.width),null!=b.height&&b.height.toString().indexOf("%")!=-1&&(d=!0),d?b.element.height=b.height:b.host.height(b.height),b._lastHostWidth=b.host.width(),b._lastHostHeight=b.host.height(),a.jqx.utilities.html(b.content,""),b.columnsheader=b.columnsheader||a('<div style="overflow: hidden;"></div>'),b.columnsheader.remove(),b.columnsheader.addClass(b.toTP("jqx-widget-header")),b.columnsheader.addClass(b.toTP("jqx-grid-header")),b.showHeader?b.columnsheader&&b.columnsheader.css("display","block"):b.columnsheader.css("display","none"),b.gridcontent=b.gridcontent||a('<div style="width: 100%; overflow: hidden; position: absolute;"></div>'),b.gridcontent.remove();var e=b.columnsHeight;e=b._preparecolumnGroups(),b.columnsheader.height(e),b.content.append(b.columnsheader),b.content.append(b.gridcontent),b._rendercolumnheaders(),b.tableheight=null,b.gridcontent.find("#contenttable"+b.element.id).remove(),null!=b.table&&(b.table.remove(),b.table=null),b.table=a('<div id="contenttable'+b.element.id+'" style="overflow: hidden; position: relative;"></div>'),b.gridcontent.addClass(b.toTP("jqx-grid-content")),b.gridcontent.addClass(b.toTP("jqx-widget-content")),b.gridcontent.append(b.table),b._renderrows(),b.filterable&&b._renderfilter(),b.pageable&&b._initpager(),b._arrange(),b.renderStatusBar&&b.renderStatusBar(b.statusbar),b.rendertoolbar&&b.rendertoolbar(b.toolbar),b.showAggregates&&b._updateaggregates(),b.disabled&&b.host.addClass(b.toThemeProperty("jqx-fill-state-disabled")),b._renderhorizontalscroll(),b._showicons(),b._addHandlers()}},clear:function(){this.source&&(this.source.records=new Array,this.source.hierarchy=new Array),this.dataview._filteredData=new Array,this.databind(null),this._render()},_initpager:function(){var b=this.gridlocalization.pagergotopagestring,c=(this.gridlocalization.pagerrangestring,this.gridlocalization.pagershowrowsstring),d=(this.pagerHeight-17)/2;if(this.pagerdiv=this.pagerdiv||a('<div style="width: 100%; height: 100%; position: relative;"></div>'),this.toppagerdiv=this.toppagerdiv||a('<div style="width: 100%; height: 100%; position: relative;"></div>'),!this.pageable)return this.pagerdiv.remove(),void this.toppagerdiv.remove();if(this.pagerRenderer){this.pagerdiv.children().remove(),this.toppager.children().remove();var e=this.pagerRenderer();null!=e&&this.pagerdiv.append(a(e)),this.pager.append(this.pagerdiv);var e=this.pagerRenderer();null!=e&&this.toppagerdiv.append(a(e)),this.toppager.append(this.toppagerdiv)}else{this.pagerdiv.css("top",d),this.toppagerdiv.css("top",d);var f=function(d,e){var f=this,g=a('<div style="margin-right: 7px; width: 27px; height: 17px; float: right;"><input style="margin-top: 0px; text-align: right; width: 27px;" type="text"/></div>'),h=a('<div style="float: right; margin-right: 7px;"></div>'),i=a('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>'),j=a('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>'),k=a('<div type="button" style="margin-left: 3px; padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>'),l=a('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>'),m=a('<div style="margin-right: 7px; float: right;"></div>'),n=a('<div style="margin-right: 7px; float: right;"></div>'),o=a('<div style="padding-bottom: 3px; margin-right: 3px; float: right;"></div>');g.attr("disabled",f.disabled);var p=a('<div id="gridpagerlist" style="margin-top: 0px; margin-right: 7px; float: right;"></div>');if(p[0].id="gridpagerlist"+e+f.element.id,f.removeHandler(i,"mousedown"),f.removeHandler(i,"mouseup"),f.removeHandler(i,"click"),f.removeHandler(j,"mousedown"),f.removeHandler(j,"mouseup"),f.removeHandler(j,"click"),f.removeHandler(k,"mousedown"),f.removeHandler(k,"mouseup"),f.removeHandler(k,"click"),f.removeHandler(l,"mousedown"),f.removeHandler(l,"mouseup"),f.removeHandler(l,"click"),f.rtl?(i.attr("title",f.gridlocalization.pagerpreviousbuttonstring),j.attr("title",f.gridlocalization.pagernextbuttonstring)):(j.attr("title",f.gridlocalization.pagerpreviousbuttonstring),i.attr("title",f.gridlocalization.pagernextbuttonstring)),a.jqx.browser.msie&&a.jqx.browser.version<8&&o.css("padding-top","3px"),this["pagerfirst"+e]=k,this["pagerlast"+e]=l,this["pagernext"+e]=i,this["pagerprevious"+e]=j,this["pagergotoinput"+e]=g,this["pagerdetails"+e]=m,this["pagershowrows"+e]=n,this["pagergotolabel"+e]=h,this["pagershowrowscombo"+e]=p,this["pagerbuttons"+e]=o,"default"==f.pagerMode){f.rtl?(l.attr("title",f.gridlocalization.pagerfirstbuttonstring),k.attr("title",f.gridlocalization.pagerlastbuttonstring)):(k.attr("title",f.gridlocalization.pagerfirstbuttonstring),l.attr("title",f.gridlocalization.pagerlastbuttonstring));var q=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");q.addClass(f.toThemeProperty("jqx-icon-arrow-first")),k.wrapInner(q);var r=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");r.addClass(f.toThemeProperty("jqx-icon-arrow-last")),l.wrapInner(r),f.rtl?(d.append(l),d.append(i),d.append(o),d.append(j),d.append(k)):(d.append(k),d.append(j),d.append(o),d.append(i),d.append(l)),l.jqxButton({cursor:"pointer",disabled:f.disabled,theme:f.theme}),k.jqxButton({cursor:"pointer",disabled:f.disabled,theme:f.theme});var s=f.rtl?"right":"left";o.css("float",s),l.css("float",s),k.css("float",s),i.css("float",s),j.css("float",s),m.css("float",f.rtl?"left":"right"),f.rtl?(m.css("margin-left","7px"),m.css("margin-right","0px")):(m.css("margin-left","0px"),m.css("margin-right","7px"))}else f.rtl||(d.append(i),d.append(j));i.jqxButton({cursor:"pointer",disabled:f.disabled,theme:f.theme}),j.jqxButton({cursor:"pointer",disabled:f.disabled,theme:f.theme});var t=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");t.addClass(f.toThemeProperty("jqx-icon-arrow-left")),j.wrapInner(t);var u=a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>");if(u.addClass(f.toThemeProperty("jqx-icon-arrow-right")),i.wrapInner(u),f.rtl||d.append(m),"default"!=f.pagerMode){f.rtl?(d.append(h),d.append(g),d.append(n),d.append(p),d.append(m),d.append(i),d.append(j)):(d.append(p),d.append(n),d.append(g),d.append(h));var v=f.pageSizeOptions;p.jqxDropDownList({_checkForHiddenParent:!1,rtl:f.rtl,disabled:f.disabled,source:v,enableBrowserBoundsDetection:!0,keyboardSelection:!1,autoDropDownHeight:!0,width:44,height:16,theme:f.theme});for(var w=0,x=0;x<v.length;x++)this.pageSize>=v[x]&&(w=x);h[0].innerHTML=b,p.jqxDropDownList({selectedIndex:w});var y=g.find("input");y.addClass(f.toThemeProperty("jqx-input")),y.addClass(f.toThemeProperty("jqx-widget-content")),this.rtl&&y.css("direction","rtl");var f=this;this.removeHandler(p,"select"),this.addHandler(p,"select",function(a){if(a.args){f.vScrollInstance&&f.vScrollInstance.setPosition(0);var b=a.args.index;f.pagershowrowscombotop.data().jqxDropDownList.instance.selectIndex(b),f.pagershowrowscombobottom.data().jqxDropDownList.instance.selectIndex(b),f.pagershowrowscombobottom.data().jqxDropDownList.instance.renderSelection("mouse"),f.pagershowrowscombotop.data().jqxDropDownList.instance.renderSelection("mouse");var c=f.dataview.pagenum*f.dataview.pagesize,d=v[b],e=f.pageSize;f.pageSize=parseInt(d),isNaN(f.pageSize)&&(f.pageSize=10),d>=100?(f.pagershowrowscombotop.jqxDropDownList({width:55}),f.pagershowrowscombobottom.jqxDropDownList({width:55})):(f.pagershowrowscombotop.jqxDropDownList({width:44}),f.pagershowrowscombobottom.jqxDropDownList({width:44})),f.dataview.pagesize=f.pageSize;var g=Math.floor(c/f.dataview.pagesize);if(g!==f.dataview.pagenum||parseInt(d)!==parseInt(e)){f._raiseEvent("pageSizeChanged",{pagenum:g,oldpageSize:e,pageSize:f.dataview.pagesize});var h=f.goToPage(g);h||(f.serverProcessing?f.updateBoundData("pager"):f.refresh())}}});var g=g.find("input");g.addClass(f.toThemeProperty("jqx-grid-pager-input")),g.addClass(f.toThemeProperty("jqx-rc-all")),this.removeHandler(g,"keydown"),this.removeHandler(g,"change"),f.addHandler(g,"keydown",function(a){if(a.keyCode>=65&&a.keyCode<=90)return!1;if("13"==a.keyCode){var b=g.val();return b=parseInt(b),isNaN(b)||f.goToPage(b-1),!1}}),f.addHandler(g,"change",function(){var a=g.val();a=parseInt(a),isNaN(a)||f.goToPage(a-1)})}n[0].innerHTML=c,f.addHandler(i,"mouseenter",function(){u.addClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))}),f.addHandler(j,"mouseenter",function(){t.addClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))}),f.addHandler(i,"mouseleave",function(){u.removeClass(f.toThemeProperty("jqx-icon-arrow-right-hover"))}),f.addHandler(j,"mouseleave",function(){t.removeClass(f.toThemeProperty("jqx-icon-arrow-left-hover"))}),f.addHandler(i,"mousedown",function(){u.addClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))}),f.addHandler(i,"mouseup",function(){u.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected"))}),f.addHandler(j,"mousedown",function(){t.addClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))}),f.addHandler(j,"mouseup",function(){t.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected"))}),"default"===f.pagerMode&&(f.addHandler(l,"mouseenter",function(){r.addClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))}),f.addHandler(k,"mouseenter",function(){q.addClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))}),f.addHandler(l,"mouseleave",function(){r.removeClass(f.toThemeProperty("jqx-icon-arrow-last-hover"))}),f.addHandler(k,"mouseleave",function(){q.removeClass(f.toThemeProperty("jqx-icon-arrow-first-hover"))}),f.addHandler(l,"mousedown",function(){r.addClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))}),f.addHandler(k,"mousedown",function(){q.addClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))}),f.addHandler(l,"mouseup",function(){r.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected"))}),f.addHandler(k,"mouseup",function(){q.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected"))})),f.addHandler(a(document),"mouseup.pagerbuttons"+e+this.element.id,function(){u.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected")),t.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected")),r&&(r.removeClass(f.toThemeProperty("jqx-icon-arrow-last-selected")),q.removeClass(f.toThemeProperty("jqx-icon-arrow-first-selected")))}),f.addHandler(i,"click",function(){i.jqxButton("disabled")||(f.rtl?f.goToPrevPage():f.goToNextPage())}),f.addHandler(j,"click",function(){j.jqxButton("disabled")||(f.rtl?f.goToNextPage():f.goToPrevPage())}),"default"===this.pagerMode&&(f.addHandler(k,"click",function(){if(!k.jqxButton("disabled"))if(f.rtl){var a=f.dataview.totalrecords,b=Math.ceil(a/f.pageSize);f.goToPage(b-1)}else f.goToPage(0)}),f.addHandler(l,"click",function(){if(!l.jqxButton("disabled"))if(f.rtl)f.goToPage(0);else{var a=f.dataview.totalrecords,b=Math.ceil(a/f.pageSize);f.goToPage(b-1)}}))};this.pagerdiv.children().remove(),this.toppagerdiv.children().remove(),f.call(this,this.pagerdiv,"bottom"),f.call(this,this.toppagerdiv,"top"),this.pager.append(this.pagerdiv),this.toppager.append(this.toppagerdiv),this.updatepagerdetails()}},_updatepagertheme:function(){},goToPage:function(b,c){if(this._loading)return!1;if(void 0!=this.editKey){if(!this.editSettings.saveOnPageChange)return!1;var d=this.endroweditbykey(this.editKey);if(!d)return!1}if(null!=b&&void 0!=b||(b=0),b==-1&&(b=0),b<0)return!1;var e=this.dataview.totalrecords,f=this.dataview.pagenum,g=Math.ceil(e/this.pageSize);return b>=g&&(0==this.dataview.totalrecords&&(this.dataview.pagenum=0,this.updatepagerdetails()),b>0&&(b=g-1)),this.dataview.pagenum!=b&&(this.pageable&&(this.dataview.pagenum=b,this._raiseEvent("pageChanged",{pagenum:b,oldpagenum:f,pageSize:this.dataview.pagesize})),this.serverProcessing?this.updateBoundData("pager",c):(this.refresh(),c&&a.isFunction(c)&&c()),!0)},goToPrevPage:function(a){if(this.dataview.pagenum>0)return this.goToPage(this.dataview.pagenum-1,a);if("default"!=this.pagerMode&&"advanced"!=this.pagerMode){var b=this.dataview.totalrecords,c=Math.ceil(b/this.pageSize);return this.goToPage(c-1,a)}return!1},goToNextPage:function(a){var b=this.dataview.totalrecords;this.summaryrows&&(b+=this.summaryrows.length);var c=Math.ceil(b/this.pageSize);return this.dataview.pagenum<c-1?this.goToPage(this.dataview.pagenum+1,a):"default"!=this.pagerMode&&"advanced"!=this.pagerMode&&this.goToPage(0,a)},updatepagerdetails:function(){if(this.pageable){var b=this;if(!this.serverProcessing)if(this.source.hierarchy){var c=b._names(),d=0,e=function(f,g){for(var h=0;h<g.length;h++)0==b.dataview.filters.length&&(g[h]._visible=!0),g[h]._visible!==!1&&d++,b.treeGrid&&"root"==b.treeGrid.pageSizeMode||g[h].records&&(g[h][c.expanded]||g[h][c.leaf])&&g[h]._visible!==!1&&(e(f+1,g[h].records),this.treeGrid&&a(this.treeGrid).jqxTreeGrid("showSubAggregates")&&0!=f&&d--)};e(0,this.dataview.rows),this.dataview.totalrecords=d}else this.dataview.totalrecords=this.dataview.rows.length;var f=this.dataview.pagenum*this.pageSize,g=(this.dataview.pagenum+1)*this.pageSize;g>=this.dataview.totalrecords&&(g=this.dataview.totalrecords);var h=this.dataview.totalrecords;f++;var i=Math.ceil(h/this.dataview.pagesize);if(i>=1&&i--,i++,"root"==this.pageSizeMode&&(i=Math.ceil(this.rootRecordsLength/this.dataview.pagesize),i>=1&&i--,i++,h=this.rootRecordsLength,this.dataview.totalrecords=this.rootRecordsLength),"default"!=this.pagerMode){if(this.pagergotoinputbottom){var j=this.pagergotoinputbottom.find("input");j.val(this.dataview.pagenum+1),j.attr("title","1 - "+i),j=this.pagergotoinputtop.find("input"),j.val(this.dataview.pagenum+1),j.attr("title","1 - "+i)}}else{var k="",l=this.pagerButtonsCount;0!=l&&l||(l=5);var m=0;for(this.rtl&&(m=l-1);this.rtl&&m>=0||!this.rtl&&m<l;){var n=1+m,o=this.dataview.pagenum/l,p=Math.floor(o);n+=p*l;var q=this.toTP("jqx-grid-pager-number");if(q+=" "+this.toTP("jqx-rc-all"),n>i&&!this.rtl)break;if(this.rtl&&n>i)m--;else{if(this.rtl||0==m&&n>l&&(k+="<a class='"+q+"' tabindex=-1 href='javascript:;' data-page='"+(-1+n)+"'>...</a>"),this.dataview.pagenum===n-1&&(q+=" "+this.toTP("jqx-fill-state-pressed")),this.rtl){if(m===l-1){var q=this.toTP("jqx-grid-pager-number");q+=" "+this.toTP("jqx-rc-all"),i>=1+n&&(k+="<a class='"+q+"' tabindex=-1 href='javascript:;' data-page='"+(1+n)+"'>...</a>")}this.dataview.pagenum===n-1&&(q+=" "+this.toTP("jqx-fill-state-pressed")),k+="<a class='"+q+"' tabindex=-1 href='javascript:;' data-page='"+n+"'>"+n+"</a>"}else if(k+="<a class='"+q+"' tabindex=-1 href='javascript:;' data-page='"+n+"'>"+n+"</a>",m===l-1){var q=this.toTP("jqx-grid-pager-number");q+=" "+this.toTP("jqx-rc-all"),i>=1+n&&(k+="<a class='"+q+"' tabindex=-1 href='javascript:;' data-page='"+(1+n)+"'>...</a>")}if(this.rtl){var q=this.toTP("jqx-grid-pager-number");q+=" "+this.toTP("jqx-rc-all"),0==m&&n>l&&(k+="<a class='"+q+"' tabindex=-1 href='javascript:;' data-page='"+(-1+n)+"'>...</a>")}this.rtl?m--:m++}}if(!this.pagerbuttonsbottom)return;var r=this.pagerbuttonsbottom.find("a");this.removeHandler(r,"click"),this.removeHandler(r,"mouseenter"),this.removeHandler(r,"mouseleave");var r=this.pagerbuttonstop.find("a");this.removeHandler(r,"click"),this.removeHandler(r,"mouseenter"),this.removeHandler(r,"mouseleave"),this.pagerbuttonsbottom[0].innerHTML=k,this.pagerbuttonstop[0].innerHTML=k,this.disabled&&this.host.find(".jqx-grid-pager-number").css("cursor","default");var s=function(){r.click(function(c){if(!b.disabled){var d=a(c.target).attr("data-page");b.goToPage(parseInt(d)-1)}}),r.mouseenter(function(c){b.disabled||a(c.target).addClass(b.toTP("jqx-fill-state-hover"))}),r.mouseleave(function(c){b.disabled||a(c.target).removeClass(b.toTP("jqx-fill-state-hover"))})};if("both"===this.pagerPosition||"bottom"===this.pagerPosition){var r=this.pagerbuttonsbottom.find("a");s(r)}if("both"===this.pagerPosition||"top"===this.pagerPosition){var r=this.pagerbuttonstop.find("a");
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
8 s(r)}}if(0==g&&g<f&&(f=0),this.pagerdetailsbottom&&(this.rtl?(this.pagerdetailsbottom[0].innerHTML=h+this.gridlocalization.pagerrangestring+g+"-"+f,this.pagerdetailstop[0].innerHTML=h+this.gridlocalization.pagerrangestring+g+"-"+f):(this.pagerdetailsbottom[0].innerHTML=f+"-"+g+this.gridlocalization.pagerrangestring+h,this.pagerdetailstop[0].innerHTML=f+"-"+g+this.gridlocalization.pagerrangestring+h)),"default"==this.pagerMode){var t=this.pagerbuttonsbottom.width()+a(this.pagerdetailsbottom).width()+160;this.pagerdiv.css("min-width",t),this.toppagerdiv.css("min-width",t)}f>g&&this.goToPrevPage()}},_preparecolumnGroups:function(){var a=this.columnsHeight;if(this.columnGroups){if(this.columnshierarchy=new Array,this.columnGroups.length){for(var b=this,c=0;c<this.columnGroups.length;c++)this.columnGroups[c].parent=null,this.columnGroups[c].groups=null;for(var c=0;c<this.columns.records.length;c++)this.columns.records[c].parent=null,this.columns.records[c].groups=null;for(var d=function(a){for(var c=0;c<b.columnGroups.length;c++){var d=b.columnGroups[c];if(d.name===a)return d}return null},c=0;c<this.columnGroups.length;c++){var e=this.columnGroups[c];if(e.groups||(e.groups=null),e.parentGroup&&(e.parentgroup=e.parentGroup),e.parentgroup){var f=d(e.parentgroup);f&&(e.parent=f,f.groups||(f.groups=new Array),f.groups.indexOf(e)===-1&&f.groups.push(e))}}for(var c=0;c<this.columns.records.length;c++){var e=this.columns.records[c];if(e.columngroup){var f=d(e.columngroup);f&&(f.groups||(f.groups=new Array),e.parent=f,f.groups.indexOf(e)===-1&&f.groups.push(e))}}for(var g=0,c=0;c<this.columns.records.length;c++){var e=this.columns.records[c],h=e;for(e.level=0;h.parent;)h=h.parent,e.level++;var h=e,i=e.level;for(g=Math.max(g,e.level);h.parent;)h=h.parent,h&&(h.level=--i)}for(var j=function(a){var b=new Array;if(a.columngroup&&b.push(a),!a.groups)return new Array;for(var c=0;c<a.groups.length;c++)if(a.groups[c].columngroup)b.push(a.groups[c]);else if(a.groups[c].groups)for(var d=j(a.groups[c]),e=0;e<d.length;e++)b.push(d[e]);return b},c=0;c<this.columnGroups.length;c++){var e=this.columnGroups[c],k=j(e);e.columns=k;for(var l=new Array,m=0,n=0;n<k.length;n++)l.push(this.columns.records.indexOf(k[n])),k[n].pinned&&m++;if(0!=m)throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group cannot be pinned.");l.sort(function(a,b){return a=parseInt(a),b=parseInt(b),a<b?-1:a>b?1:0});for(var o=1;o<l.length;o++)if(l[o]!=l[o-1]+1)throw new Error("jqxDataTable: Column Groups initialization Error. Please, check the initialization of the jqxDataTable's columns array. The columns in a column group are expected to be siblings in the columns array.")}}this.columnGroupslevel=1+g,a=this.columnGroupslevel*this.columnsHeight}return a},wheel:function(a,b){if(b.autoheight&&"hidden"==b.hScrollBar.css("visibility"))return a.returnValue=!0,!0;var c=0;if(a||(a=window.event),a.originalEvent&&a.originalEvent.wheelDelta&&(a.wheelDelta=a.originalEvent.wheelDelta),a.wheelDelta?c=a.wheelDelta/120:a.detail&&(c=-a.detail/3),c){var d=b._handleDelta(c);return d&&(a.preventDefault&&a.preventDefault(),null!=a.originalEvent&&(a.originalEvent.mouseHandled=!0),void 0!=a.stopPropagation&&a.stopPropagation()),!!d&&(d=!1,a.returnValue=d,d)}a.preventDefault&&a.preventDefault(),a.returnValue=!1},_handleDelta:function(a){if("hidden"!=this.vScrollBar.css("visibility")){var b=this.vScrollInstance.value;a<0?this.vScrollInstance.setPosition(this.vScrollInstance.value+20):this.vScrollInstance.setPosition(this.vScrollInstance.value-20);var c=this.vScrollInstance.value;if(b!=c)return!0}else if("hidden"!=this.hScrollBar.css("visibility")){var b=this.hScrollInstance.value;a>0?this.hScrollInstance.value>20?this.hScrollInstance.setPosition(this.hScrollInstance.value-20):this.hScrollInstance.setPosition(0):this.hScrollInstance.value<this.hScrollInstance.max?this.hScrollInstance.setPosition(this.hScrollInstance.value+20):this.hScrollInstance.setPosition(this.hScrollInstance.max);var c=this.hScrollInstance.value;if(b!=c)return!0}return!1},_removeHandlers:function(){this.removeHandler(this.host,"focus"),this.removeHandler(a(window),"jqxReady."+this.element.id),this._mousewheelfunc&&this.removeHandler(this.host,"mousewheel",this._mousewheelfunc);var b="mousedown";this.isTouchDevice()&&(b=a.jqx.mobile.getTouchEventName("touchstart")),this.removeHandler(this.host,"dragstart."+this.element.id),this.removeHandler(this.host,"keydown"),this.table&&(this.removeHandler(this.table,"mouseleave"),this.removeHandler(this.table,"mousemove"),this.removeHandler(this.table,b),this.removeHandler(this.table,"selectstart."+this.element.id),a.jqx.browser.msie&&a.jqx.browser.version<9&&this.removeHandler(this.table,"dblclick"))},_addHandlers:function(){var b=this;this._mousewheelfunc=this._mousewheelfunc||function(a){return b.wheel(a,b),!1},this.addHandler(this.host,"dragstart."+this.element.id,function(a){return!1}),this.addHandler(this.table,"selectstart."+this.element.id,function(c){return!!b.enableBrowserSelection||(!(!b.filterable||!a(c.target).ischildof(b.filterrow))||(!!(b.rowDetails&&a(c.target).parents("[data-role=details]").length>0)||void 0!=b.editKey&&void 0))}),this.addHandler(a(window),"jqxReady."+this.element.id,function(){b._updatecolumnwidths(),b.refresh()}),this.editable&&this.addHandler(a(document),"mousedown.gridedit"+this.element.id,function(c){if(b.editable&&b.editSettings.saveOnBlur&&null!=b.editKey&&!b.vScrollInstance.isScrolling()&&!b.vScrollInstance.isScrolling()){var d=b.host.coord(),e=b.host.width(),f=b.host.height(),g=!1,h=!1,i=!1;if((c.pageY<d.top||c.pageY>d.top+f)&&(g=!0,h=!0),(c.pageX<d.left||c.pageX>d.left+e)&&(g=!0,i=!0),g){var j=function(b){var d=a(b.children()[0]).data();if(d&&!d.jqxWidget&&(d=b.data()),d||(d=b.data()),d.jqxWidget&&d.jqxWidget.container&&"block"==d.jqxWidget.container[0].style.display){var e=d.jqxWidget,f=e.container.coord().top,i=e.container.coord().top+e.container.height();return!(!h||!(c.pageY<f||c.pageY>i))&&(g=!0,e.close(),!0)}},k=b._editors;if(k)for(var l=0;l<k.length;l++){var m=k[l].editor,n=j(m),o=m.attr("aria-owns");if(o){if(o==document.activeElement.id)return!0;if(a(document.activeElement).ischildof(a("#"+o)))return!0}else if(o=m.children().attr("aria-owns")){if(o==document.activeElement.id)return!0;if(a(document.activeElement).ischildof(a("#"+o)))return!0}if(n===!1)return}}g&&b.endroweditbykey(b.editKey)}}),this.removeHandler(this.host,"mousewheel",this._mousewheelfunc),this.addHandler(this.host,"mousewheel",this._mousewheelfunc),this.addHandler(this.host,"focus",function(a){a.preventDefault});var c=this.isTouchDevice();this.vScrollInstance.valueChanged=function(a){b._timer&&clearTimeout(b._timer),c?b.table&&(b.table[0].style.top=0-b.vScrollInstance.value+"px"):b._timer=setTimeout(function(){b.table&&(b.table[0].style.top=0-b.vScrollInstance.value+"px")},5)},this.hScrollInstance.valueChanged=function(a){b._timer&&clearTimeout(b._timer),c?b.table&&b._renderhorizontalscroll():b._timer=setTimeout(function(){b.table&&b._renderhorizontalscroll()},5)};var d="mousedown";this.isTouchDevice()&&(d=a.jqx.mobile.getTouchEventName("touchend"),a.jqx.browser.msie&&a.jqx.browser.version<10&&(d="mousedown"));var e=function(a,c){for(var d=null,e=b._table.coord(),f=e.top,g=e.left,h=b._table[0].rows,i=0;i<h.length;i++)for(var j=h[i],k=j.cells,l=0;l<k.length;l++){var m=k[l],n=m.offsetLeft+g,o=m.offsetTop+f,p=m.offsetWidth,q=m.offsetHeight;if(0!==p&&0!==q){if(!(o<=c&&c<o+q))break;if(n<=a&&a<n+p){d=m;break}}}return d},f=function(){if(b.hoveredRow){var a=b.hoveredRow[0].cells,c=function(a){for(var c=0;c<a.length;c++){var d=a[c],e=d.className;e=e.replace(" "+b.toTP("jqx-fill-state-hover"),""),e=e.replace(" "+b.toTP("jqx-grid-cell-hover"),""),d.className=e}};if(c(a),b._pinnedTable&&a.length>0){var d=b._pinnedTable[0].rows[b.hoveredRow[0].rowIndex].cells;c(d)}}b.hoveredRow=null};this.addHandler(this.table,"mouseleave",function(a){f(),b.wrapper&&(b.wrapper.parent().removeAttr("tabindex",0),b.wrapper.removeAttr("tabindex",1),b.content.removeAttr("tabindex",2))});var g=function(a){if(!b.enableHover)return!0;if(b.hoveredRow=a,!a)return!0;var c=a[0].cells,d=b.rowDetails&&!b.treeGrid,e=d&&!b.treeGrid?1:0,f=0;e>0&&b.rtl&&(e=0,f=1);for(var g=e;g<c.length-f;g++){var h=c[g];h.className+=" "+b.toTP("jqx-fill-state-hover")+" "+b.toTP("jqx-grid-cell-hover")}if(b._pinnedTable&&b._pinnedTable[0].rows.length)for(var i=b._pinnedTable[0].rows[b.hoveredRow[0].rowIndex].cells,g=e;g<i.length-f;g++){var h=i[g];h.className+=" "+b.toTP("jqx-fill-state-hover")+" "+b.toTP("jqx-grid-cell-hover")}};b.isTouchDevice()&&(b.enableHover=!1),this.addHandler(this.table,"mousemove",function(c){var d=c.pageX,h=c.pageY;if(b.disabled)return!0;if(!b.enableHover)return!0;if(b.hScrollInstance.isScrolling()||b.vScrollInstance.isScrolling())return!0;var i=e(d,h);if(!i)return!0;var j=a(i).parent();return f(),!(!b.rowDetails||!b.treeGrid||"row-details"!=j.attr("data-role"))||(!(!b.renderedRecords||0!==b.renderedRecords.length)||(null!=b.editKey&&b.editKey===j.attr("data-key")||(g(j),!0)))}),this.addHandler(this.host,"keydown",function(a){return b._handleKey(a)}),a.jqx.browser.msie&&a.jqx.browser.version<9&&this.addHandler(this.table,"dblclick",function(a){b.table.trigger("mousedown",a)}),this.addHandler(this.table,d,function(c){var d=(c.target,null);if(b.disabled)return!0;if(!(b.touchmode&&c.originalEvent&&c.originalEvent._pageX)){var f=(b.table.coord(),c.pageX),h=c.pageY;if(a.jqx.browser.msie&&a.jqx.browser.version<9&&arguments&&2==arguments.length&&(f=arguments[1].pageX,h=arguments[1].pageY),b.isTouchDevice()){var i=a.jqx.position(c);if(f=i.left,h=i.top,isNaN(f)||isNaN(h)){var i=a.jqx.position(c.originalEvent);f=i.left,h=i.top}}d=e(f,h);var j=a(d).parent(),k=j.attr("data-key");if(b.rowDetails&&b.treeGrid&&"row-details"==j.attr("data-role"))return!0;var l=function(){b.enableBrowserSelection||(c.preventDefault&&c.preventDefault(),c.stopPropagation()),b.host.focus()};if(void 0!==k){var m=a(d).index(),n=b.columns.records[m];if(k==b.editKey){if(!b.editSettings.editSingleCell)return!0;if(b.clickedTD==d)return!0;if(null!=b.editKey&&b.editSettings.saveOnSelectionChange){var o=b.endroweditbykey(b.editKey);if(!o)return!0}}else if(null!=b.editKey&&b.editSettings.saveOnSelectionChange){var o=b.endroweditbykey(b.editKey);if(!o)return!0}b.clickedTD=d;var p=b.rowinfo[k];if(p&&p.group)return!0;var q=!1;if(p){var r=b.getrowdisplayindex(p.row),s=b.getrowindex(p.row);b._raiseEvent("rowClick",{index:r,boundIndex:s,key:k,row:p.row,originalEvent:c,dataField:n.datafield});var t=(new Date).getTime(),u=300;b.clickTime||(b.clickTime=new Date),b._lastSelectedKey==k&&t-b.clickTime.getTime()<u&&(b._raiseEvent("rowDoubleClick",{index:r,boundIndex:s,key:k,row:p.row,originalEvent:c,dataField:n.datafield}),q=!0,c.preventDefault&&c.preventDefault())}if(b.clickTime=new Date,d.className.indexOf("jqx-grid-group")>=0)p.expanded?b.hidedetailsbykey(k):b.showdetailsbykey(k);else if(c.target&&c.target.className.indexOf&&c.target.className.indexOf("jqx-grid-group")>=0&&b.treeGrid)p.expanded?b.treeGrid.collapseRow(k):b.treeGrid.expandRow(k),g(b._getuirow(k)),c.stopPropagation&&c.stopPropagation(),c.preventDefault&&c.preventDefault();else{if(!(c.target&&c.target.className.indexOf&&c.target.className.indexOf("checkbox")>=0&&b.treeGrid)){var m=a(d).index(),n=b.columns.records[m];if(c.stopPropagation&&c.stopPropagation(),b.editable&&null==b.editKey&&b._lastSelectedKey==k&&b.editSettings.editOnDoubleClick&&q){var o=b.beginroweditbykey(k,n);return!0}if(b.isTouchDevice()&&b.scrolled&&new Date-b.scrolled<500)return b.enableBrowserSelection||c.preventDefault&&c.preventDefault(),!1;if("singlerow"===b.selectionMode&&"custom"!==b.selectionMode)return b.selectrowbykey(k,"mouse",!1),b._lastSelectedKey=k,b._updateSelection(),c.preventDefault&&c.preventDefault(),l(),!0;if("custom"!==b.selectionMode&&(c.ctrlKey||c.metaKey||b.clearSelection(!1),c.shiftKey&&b._lastSelectedKey)){var p=b.rowinfo[b._lastSelectedKey];b._doSelection(b._lastSelectedKey,!0,!1);var v=a(b._table.children()[1]).children("[data-key="+b._lastSelectedKey+"]"),w=v.index(),x=j.index();return b._selectRange(x,w),b.selectrowbykey(k,"mouse",!1),b._updateSelection(),c.preventDefault&&c.preventDefault(),l(),!0}return b._lastSelectedKey=k,b.clickTime=new Date,"custom"===b.selectionMode||(p&&(p.selected?b.unselectrowbykey(k,"mouse",!1):b.selectrowbykey(k,"mouse",!1),l()),b._updateSelection(),b.enableBrowserSelection||c.preventDefault&&c.preventDefault(),!0)}p.checked?b.treeGrid.uncheckRow(k):b.treeGrid.checkRow(k),g(b._getuirow(k)),c.stopPropagation&&c.stopPropagation()}}}})},_updateSelection:function(){var b=this,c=a(b._table.children()[1]).children(),d=b._pinnedTable?a(b._pinnedTable.children()[1]).children():null,e=b.rowDetails&&!b.treeGrid,f=e?1:0,g=0;f>0&&b.rtl&&(f=0,g=1);for(var h=0;h<c.length;h++){var i=c[h].cells;if(d)var j=d[h].cells;var k=null;if(c[h].getAttribute&&(k=c[h].getAttribute("data-key")),b.rowinfo[k]&&"none"!==b.selectionMode)if(b.rowinfo[k].selected)for(var l=f;l<i.length-g;l++){var m=i[l];a(m).addClass(b.toTP("jqx-grid-cell-selected")+" "+b.toTP("jqx-fill-state-pressed")),j&&a(j[l]).addClass(b.toTP("jqx-grid-cell-selected")+" "+b.toTP("jqx-fill-state-pressed"))}else for(var l=f;l<i.length-g;l++){var m=i[l];if(j)var n=j[l];var o=m.className;o=o.replace(" jqx-fill-state-pressed",""),o=o.replace(" jqx-fill-state-pressed-"+b.theme,""),o=o.replace(" jqx-grid-cell-selected",""),o=o.replace(" jqx-grid-cell-selected-"+b.theme,""),m.className=o,n&&(n.className=o)}}},_selectRange:function(b,c){var d=a(a(this._table.children()[1]).children()[c]),e=this;if(b>c)for(var f=c,g=d;f<b;){var g=g.next(),h=g.attr("data-key");e._doSelection(h,!0,!1),f++}else if(b<c)for(var f=c,g=d;f>b;){var g=g.prev(),h=g.attr("data-key");this._doSelection(h,!0,!1),f--}},_getuikey:function(b,c){var d=null,e=a(this._table.children()[1]).children();if(d=a(e[b]).attr("data-key"),a(e[b]).attr("data-role")){var f=a(e[b]);if("next"==c){for(;f;)if(f=f.next()){var g=f.attr("data-role");if(!g)return d=f.attr("data-key")}}else if("prev"==c)for(;f;)if(f=f.prev()){var g=f.attr("data-role");if(!g)return d=f.attr("data-key")}return null}return d},getRows:function(){return this.source.records},getView:function(){var b=this,c=this._names(),d=new Array,e=function(d,f){if(f)for(var g=0;g<f.length;g++)if(f[g]&&f[g]._visible!==!1){var h=a.extend({},f[g]);d.push(h),f[g][c.expanded]?(h.records=new Array,e(h.records,f[g].records)):b.dataview.filters.length>0&&(h.records=new Array,e(h.records,f[g].records))}};return e(d,this.dataViewRecords),d},getKeys:function(){for(var a=new Array,b=this.source.records,c=0;c<b.length;c++)a.push(b[c].uid);return a},getKey:function(a){var b=this.getRows();return b?b[a].uid:-1},_getkey:function(b){if(this._loading)throw new Error("jqxDataTable: "+this.loadingErrorMessage);var c=null,d=function(){var c=a(this._table.children()[1]).children(),d=null,e=0;if(this.pageable&&(e-=this.dataview.pagenum*this.dataview.pagesize),this.groups.length>0){for(var f=0,g=0;g<c.length;g++){var h=a(c[g]),i=h.children()[0].getAttribute("colspan");if(!(i>0)){if(f===e+b)return d=h.attr("data-key");f++}}return d}if(this.rowDetails)for(var f=0,g=0;g<c.length;g++){if(f===b+e)return d=a(c[g]).attr("data-key");g%2==1&&f++}else d=a(c[e+b]).attr("data-key");return d};if(c=d.call(this),null==c&&this.pageable){var e=Math.floor(b/this.dataview.pagesize);if(this.dataview.pagenum!=e){var f=this.getRows()[b];if(f&&null!=f.uid)return f.uid;if(isNaN(e))return null;this.goToPage(e),c=d.call(this)}}return c},_getuirow:function(b){try{var c=a(this._table.children()[1]).children("[data-key="+b+"]");if(c.length>0)return c}catch(c){for(var d=a(this._table.children()[1]).children(),e=0;e<d.length;e++){var f=d[e],g=f.getAttribute("data-key");if(b==g)return a(f)}return null}return null},_getpinneduirow:function(b){if(!this._pinnedTable)return null;try{var c=a(this._pinnedTable.children()[1]).children("[data-key="+b+"]");if(c.length>0)return c}catch(c){for(var d=a(this._pinnedTable.children()[1]).children(),e=0;e<d.length;e++){var f=d[e],g=f.getAttribute("data-key");if(b==g)return a(f)}return null}return null},_names:function(){var a={leaf:"leaf",parent:"parent",expanded:"expanded",checked:"checked",selected:"selected",level:"level",icon:"icon",data:"data"};if(!this.source||this.source&&!this.source._source.hierarchy)return a;var b=this.source._source.hierarchy.reservedNames;return b?b:a},_getMatches:function(b,c){if(void 0==b||0==b.length)return-1;var d=this.renderedRecords;void 0!=c&&(d=d.slice(c));var e=0;if(this.rowDetails&&!this.treeGrid&&e++,e<this.columns.records.length)var f=this.columns.records[e].datafield;else new Array;var g=new Array;return a.each(d,function(c){var d=this[f];d||(d="");var e=a.jqx.string.startsWithIgnoreCase(d.toString(),b);e&&g.push(this.uid)}),g},_handleKey:function(b){if(this._loading)return!0;if(a(b.target).ischildof(this.filter))return!0;if(a(b.target).ischildof(this.toolbar))return!0;if(a(b.target).ischildof(this.statusbar))return!0;var c=this._names(),d=this,e=b.charCode?b.charCode:b.keyCode?b.keyCode:0,f=this._lastSelectedKey,g=(this.rowinfo[f],this._getuirow(f)),h=b.shiftKey&&"singlerow"!=this.selectionMode,i=b.ctrlKey||b.metaKey;if(g){if(this.handleKeyboardNavigation){var j=this.handleKeyboardNavigation(e);if(j)return!0}if(this.editable&&void 0==this.editKey&&113===e&&this.editSettings.editOnF2&&this.beginroweditbykey(g.attr("data-key")),void 0==this.editKey&&!i&&!h&&this.incrementalSearch&&!(e>=33&&e<=40)){var k=-1;this._searchString||(this._searchString=""),(8==e||46==e)&&this._searchString.length>=1&&(this._searchString=this._searchString.substr(0,this._searchString.length-1));var l=String.fromCharCode(e),m=!isNaN(parseInt(l)),n=!1;if(e>=65&&e<=97||m||8==e||32==e||46==e){b.shiftKey||(l=l.toLocaleLowerCase()),8!=e&&32!=e&&46!=e&&(this._searchString.length>0&&this._searchString.substr(0,1)==l||(this._searchString+=l)),32==e&&(this._searchString+=" "),this._searchTime=new Date;var f=this.getSelection();if(f.length>=1){for(var o=f[0].uid,p=-1,q=0;q<this.renderedRecords.length;q++)if(this.renderedRecords[q].uid==o){p=q;break}var r=this._getMatches(this._searchString,p);if(0==r.length||r.length>0&&r[0]==o)var r=this._getMatches(this._searchString)}else var r=this._getMatches(this._searchString);if(r.length>0){var f=this.getSelection();if(f.length>=1){var s=r.indexOf(f[0].uid);if(s==-1)this.clearSelection(!1),this.selectrowbykey(r[0]);else{var t=s+1;t>=r.length&&(t=0),this.clearSelection(!1),this.selectrowbykey(r[t])}}else this.clearSelection(!1),this.selectrowbykey(r[0]);this._lastSearchString=this._searchString}}if(void 0!=this._searchTimer&&clearTimeout(this._searchTimer),27!=e&&13!=e||(this._searchString="",this._lastSearchString=""),this._searchTimer=setTimeout(function(){d._searchString="",d._lastSearchString=""},500),k>=0)return;if(n)return!1}if(void 0!=this.editKey){if(27===e&&this.editSettings.cancelOnEsc)this.endroweditbykey(this.editKey,!0);else if(13===e&&this.editSettings.saveOnEnter){if(b.target&&"div"!=b.target.nodeName.toLowerCase()&&"input"!=b.target.nodeName.toLowerCase())return!0;this.endroweditbykey(this.editKey,!1)}else if(this.editSettings.editSingleCell&&this.editColumn){var u=this.columns.records.indexOf(this.editColumn);if(9==e&&u<this.columns.records.length-1&&!b.shiftKey){for(var v=this.editKey,w=null,q=u+1;q<this.columns.records.length;q++)if(this.columns.records[q].editable&&!this.columns.records[q].hidden){w=this.columns.records[q];break}w&&(this.endroweditbykey(this.editKey,!1),this.beginroweditbykey(v,w))}else if(9==e&&b.shiftKey&&u>0){for(var v=this.editKey,x=null,q=u-1;q>=0;q--)if(this.columns.records[q].editable&&!this.columns.records[q].hidden){x=this.columns.records[q];break}x&&(this.endroweditbykey(this.editKey,!1),this.beginroweditbykey(v,x))}if(9==e){var y=this.rowinfo[this.editKey],p=this.getrowindex(y),g=this._getuirow(this.editKey);if(b.shiftKey||w){if(!x&&b.shiftKey){for(var z=null,q=this.columns.records.length-1;q>=0;q--)if(this.columns.records[q].editable&&!this.columns.records[q].hidden){z=this.columns.records[q];break}if(z){for(;g;)if(g=g.prev()){var A=g.attr("data-role");if(!A){var B=g.attr("data-key");break}}if(B){this.clearSelection(!1),this._lastSelectedKey=B;var y=this.rowsByKey[B],p=this.getrowindex(y),C=this.getrowdisplayindex(y);this._raiseEvent("rowSelect",{key:B,index:C,boundIndex:p,row:this.rowsByKey[B]}),this.endroweditbykey(this.editKey,!1),this._doSelection(B,!0,!0),this.beginroweditbykey(B,z)}}}}else{for(var z=null,q=0;q<this.columns.records.length;q++)if(this.columns.records[q].editable&&!this.columns.records[q].hidden){z=this.columns.records[q];break}if(z){for(;g;)if(g=g.next()){var A=g.attr("data-role");if(!A){var B=g.attr("data-key");break}}if(B){this.clearSelection(!1),this._lastSelectedKey=B;var y=this.rowsByKey[B],p=this.getrowindex(y),C=this.getrowdisplayindex(y);this._raiseEvent("rowSelect",{key:B,index:C,boundIndex:p,row:this.rowsByKey[B]});var D=this.endroweditbykey(this.editKey,!1);D?(this._doSelection(B,!0,!0),this.beginroweditbykey(B,z)):this.beginroweditbykey(this.editKey,z)}}}return!1}}return!0}if(b.ctrlKey||b.metaKey){var E=String.fromCharCode(e).toLowerCase();if("c"==E||"x"==E){var f=this.getSelection();if(f.length>=1){for(var F="",G=0;G<this.renderedRecords.length;G++)for(var H=this.renderedRecords[G],q=0;q<f.length;q++){var y=f[q];if(y.uid===H.uid){for(var I=0;I<this.columns.records.length;I++){var J=this.getCellTextByKey(y.uid,this.columns.records[I].displayfield);F+=J,I<this.columns.records.length-1&&(F+="\t")}F+="\r\n";break}}if(""!=F&&(F=F.substring(0,F.length-1)),window.clipboardData)window.clipboardData.setData("Text",F);else{var K=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');K.val(F),a("body").append(K),K.select(),setTimeout(function(){document.designMode="off",K.select(),K.remove()},100)}}}}if(32===e&&this.treeGrid&&this.treeGrid.checkboxes){var f=this.getSelection();if(f.length>1){for(var q=0;q<f.length;q++){var L=f[q].uid;this.rowinfo[L].checked?this.treeGrid.uncheckRow(L,!1):this.treeGrid.checkRow(L,!1)}return this._renderrows(),!1}var o=g.attr("data-key");if(o)return this.rowinfo[o].checked?this.treeGrid.uncheckRow(o):this.treeGrid.checkRow(o),!1}var M=g.index(),N=function(b){var c=null,e=a(d._table.children()[1]).children().length-1,f=a(a(d._table.children()[1]).children()[e]),g=f.attr("data-role");if(g){for(;f;)if(f=f.prev()){var g=f.attr("data-role");if(!g){c=f.attr("data-key");break}}}else c=f.attr("data-key");return"all"==b?{row:f,key:c}:c},O=function(b){var c=null,e=a(a(d._table.children()[1]).children()[0]),f=e.attr("data-role");if(f){for(;e;)if(e=e.next()){var f=e.attr("data-role");if(!f){c=e.attr("data-key");break}}}else c=e.attr("data-key");return"all"==b?{row:e,key:c}:c},o=null,P=function(){if(i||h||d.clearSelection(!1),33==e||37==e){var a=M;o=d._getuikey(a,"prev"),o||(o=O())}else if(34==e||39==e){var a=M;o=d._getuikey(a,"next"),o||(o=N())}else 38==e?o=N():40==e&&(o=O());d._lastSelectedKey=o;var b=d.rowsByKey[o],a=d.getrowindex(b),c=d.getrowdisplayindex(b);d._raiseEvent("rowSelect",{key:o,index:c,boundIndex:a,row:d.rowsByKey[o]}),d._doSelection(o,!0,!0),d.host.focus()},Q=function(){d.clearSelection(!1);var a=O();h||i?d._selectRange(g.index(),0):d._lastSelectedKey=a,d.selectrowbykey(a,"keyboard")},R=function(){d.clearSelection(!1);var a=N("all"),b=a.key;h||i?d._selectRange(g.index(),a.row.index()):d._lastSelectedKey=b,d.selectrowbykey(b,"keyboard")};if(this.treeGrid&&this.rtl&&(37==e?e=39:39==e&&(e=37)),36==e||i&&38==e)return Q(),!1;if(35==e||i&&40==e)return R(),!1;if(33==e||37==e){var o=g.attr("data-key");if(this.rowDetails&&37==e&&!this.treeGrid)return this.hidedetailsbykey(o),!1;if(this.treeGrid&&37==e){if(this.rowinfo[o].row&&!this.rowinfo[o].row[c.parent]&&!this.rowinfo[o][c.leaf]&&!this.rowinfo[o].expanded)return!1;if(this.rowinfo[o].expanded&&!this.rowinfo[o][c.leaf])return this.treeGrid.collapseRow(o),!1;if(this.rowinfo[o].row&&this.rowinfo[o].row[c.parent]&&(o=this.rowinfo[o].row[c.parent].uid),this.rowinfo[o][c.leaf])return!1}if(this.pageable&&!this.treeGrid)return this.rtl?this.goToNextPage(P):this.goToPrevPage(P),!1;if(this.treeGrid&&this.pageable&&33==e)return this.goToPrevPage(P),!1}else if(34==e||39==e){var o=g.attr("data-key");if(this.rowDetails&&39==e&&!this.treeGrid)return this.showdetailsbykey(o),!1;if(this.treeGrid&&39==e){if(this.rowinfo[o][c.leaf])return!1;if(!this.rowinfo[o].expanded)return this.treeGrid.expandRow(o),!1;if(this.rowinfo[o].row&&this.rowinfo[o].row.records&&this.rowinfo[o].row.records.length>0)if(this.dataview.filters.length>0){for(var S=this.rowinfo[o].row.records,q=0;q<S.length;q++)if(S[q]._visible){o=S[q].uid;break}}else o=this.rowinfo[o].row.records[0].uid}if(this.pageable&&!this.treeGrid)return this.rtl?this.goToPrevPage(P):this.goToNextPage(P),!1;if(this.treeGrid&&this.pageable&&34==e)return this.goToNextPage(P),!1}else if(38==e){for(;g;)if(g=g.prev()){var A=g.attr("data-role");if(!A){o=g.attr("data-key");break}}if(this.pageable&&null==o)return this.goToPrevPage(P),!1}else if(40==e){for(;g;)if(g=g.next()){var A=g.attr("data-role");if(!A){o=g.attr("data-key");break}}if(this.pageable&&null==o)return this.goToNextPage(P),!1}if(null!=o){if(i||h||this.clearSelection(!1),this.rowinfo[o]&&this.rowinfo[o].selected&&(i||h)){this._doSelection(this._lastSelectedKey,!1,!1),this._lastSelectedKey=o;var y=this.rowsByKey[o],p=this.getrowindex(y);d._updateSelection();var C=this.getrowdisplayindex(y);return this._raiseEvent("rowUnselect",{key:o,index:C,boundIndex:p,row:y}),!1}this._lastSelectedKey=o;var y=this.rowsByKey[o],p=this.getrowindex(y);this._doSelection(o,!0,!1),d._updateSelection();var C=this.getrowdisplayindex(y);if(this._raiseEvent("rowSelect",{key:o,index:C,boundIndex:p,row:y}),this.treeGrid)if(37==e){var g=this._getuirow(o),T=null;if(g){var A=g.attr("data-role");A||(T=g.attr("data-key"))}if(this.pageable&&null==T&&this.dataview.pagenum>0)for(;null==this._getuirow(o)&&this.dataview.pagenum>0;)this.goToPrevPage()}else if(39==e){var g=this._getuirow(o),T=null;if(g){var A=g.attr("data-role");A||(T=g.attr("data-key"))}this.pageable&&null==T&&this.goToNextPage()}return!1}}},_selection:function(a){if("selectionStart"in a[0]){var b=a[0],c=b.selectionEnd-b.selectionStart;return{start:b.selectionStart,end:b.selectionEnd,length:c,text:b.value}}var d=document.selection.createRange();if(null==d)return{start:0,end:b.value.length,length:0};var e=a[0].createTextRange(),f=e.duplicate();e.moveToBookmark(d.getBookmark()),f.setEndPoint("EndToStart",e);var c=d.text.length;return{start:f.text.length,end:f.text.length+d.text.length,length:c,text:d.text}},_doSelection:function(a,b,c){if(null==a)return void this.clearSelection();"singlerow"===this.selectionMode&&this.clearSelection(!1);var d=this.rowinfo[a];if(d)d.selected=b,this.ensurerowvisiblebykey(a);else{this.ensurerowvisiblebykey(a);var d=this.rowinfo[a];d?d.selected=b:this.rowinfo[a]={selected:b}}"none"!=this.selectionMode&&c!==!1&&this._renderrows()},clearSelection:function(a){if(this.rowinfo){var b=this.getRows();for(var c in this.rowinfo){var d=this.rowinfo[c];if(d.selected){d.selected=!1;var e=b.indexOf(d.row),f=this.getrowdisplayindex(d.row);this._raiseEvent("rowUnselect",{key:c,index:f,boundIndex:e,row:d.row})}}}a!==!1&&this._renderrows()},exportData:function(c){if(!a.jqx.dataAdapter.ArrayExporter){if(!this.treeGrid)throw"jqxDataTable: Missing reference to jqxdata.export.js!";throw"jqxTreeGrid: Missing reference to jqxdata.export.js!"}var d=this.exportSettings.columnsHeader;void 0==d&&(d=!0);var e=this.exportSettings.hiddenColumns;void 0==e&&(e=!1);var f=this.exportSettings.serverURL,g=this.exportSettings.characterSet,h=this.exportSettings.collapsedRecords;void 0==h&&(h=!1);var i=this.exportSettings.fileName;void 0===i&&(i=this.treeGrid?"jqxTreeGrid_Data":"jqxDataTable_Data");var j=this,k=this.getRows();if(1==this.exportSettings.recordsInView&&(k=this.getView()),this.treeGrid&&this.treeGrid.virtualModeCreateRecords)var k=this.treeGrid.getRows();if(this.groups&&this.groups.length>0){var l=this.source.getGroupedRecords(this.groups,"records","label",null,"data",null,"parent",k),m=function(b,c){for(var d=0;d<b.length;d++){var e=a.extend({},b[d]);if(c.push(e),e.records&&e.records.length>0)for(var f=m(e.records,new Array),g=0;g<f.length;g++)f[g].leaf?c.push(f[g]):c.push(f[g])}return c},n=m.call(this,l,new Array);k=n}if(0==k.length)throw"No data to export.";this.exporting=!0,this.altRows&&this._renderrows();for(var o=new Array,p=0;p<this.columns.records.length;p++)!e&&this.columns.records[p].hidden||o.push(a.extend({},this.columns.records[p]));if(this.groups&&this.groups.length>0&&o.length>0)for(var q=this._names(),p=0;p<k.length;p++)k[p][q.leaf]||(j.rtl?k[p][o[o.length-1].displayfield]=k[p].label:k[p][o[0].displayfield]=k[p].label);var r=0;if(this.treeGrid){var s=this.treeGrid.getRows();1==this.exportSettings.recordsInView&&(s=this.getView());var q=this._names(),t=function(a){for(var b=0;b<a.length;b++){var c=a[b],d=c[q.expanded]||!c[q.expanded]&&h;r=Math.max(r,1+c[q.level]),c.records&&c.records.length>0&&d&&t(a[b].records)}};if(t(s),"xml"!=c&&"json"!=c){for(var u=o.length,p=0;p<r;p++){var v=new b(this,this);v.width=this.indentWidth,v.datafield="Level"+p,v.displayfield="Level"+p,v.align="center",v.cellsalign="center",v.text="",this.rtl?o.splice(u,0,v):o.splice(p,0,v)}var w=new Array,x=!(!this.source._source.hierarchy||!this.source._source.hierarchy.groupingDataFields),y=function(b){for(var d=0;d<b.length;d++){for(var e=a.extend({},b[d]),f=0;f<e[q.level];f++)e["Level"+f]="";var g=e[q.expanded]||!e[q.expanded]&&h;("xls"==c||"html"==c||"pdf"==c)&&e.records&&e.records.length>0?e["Level"+e[q.level]]=g?"-":"+":e["Level"+e[q.level]]="",e[q.leaf]&&(e["Level"+e[q.level]]="");for(var f=e[q.level]+1;f<r;f++)e["Level"+f]="";if(x&&!e[q.leaf]&&(j.rtl?e[o[o.length-r-1].displayfield]=e.label:e[o[r].displayfield]=e.label),e.aggregate)for(var i="xls"==c?"_AG":"",f=r;f<o.length;f++){var k=f;j.rtl&&(k=o.length-f-1),void 0!=e[o[k].displayfield]&&(e[o[k].displayfield]=i+e[o[k].displayfield])}w.push(e),g&&!e[q.leaf]&&y(e.records)}};y(s),k=w}else k=s}var z=void 0!=e&&e,A={},B={},C=this.host.find(".jqx-grid-cell:first"),D=this.host.find(".jqx-grid-cell-alt:first"),E=this.toThemeProperty;C.removeClass(E("jqx-grid-cell-selected")),C.removeClass(E("jqx-fill-state-pressed")),D.removeClass(E("jqx-grid-cell-selected")),D.removeClass(E("jqx-fill-state-pressed")),C.removeClass(E("jqx-grid-cell-hover")),C.removeClass(E("jqx-fill-state-hover")),D.removeClass(E("jqx-grid-cell-hover")),D.removeClass(E("jqx-fill-state-hover"));for(var F="cell",G=1,H="column",I=1,J=[],K=0;K<o.length;K++){var v=o[K];if(""!=v.cellclassname)if(v.customCellStyles=new Array,"string"==typeof v.cellclassname)v.customCellStyles.push(v.cellclassname);else for(var p=0;p<k.length;p++){var L=p,M=v.cellclassname(L,v.displayfield,k[p][v.displayfield],k[p]);M&&(v.customCellStyles[p]=M)}}if(a.each(o,function(b){var e=b;j.treeGrid&&(b>=r?e=o.length-r-1:r>0&&b<r&&(e=0));var f=a(j._table[0].rows[0].cells[e]);if(j._table[0].rows.length>1){var g=a(j._table[0].rows[1].cells[e]);if(0==g.length)var g=a(j._table[0].rows[1].cells[0])}if(0==f.length)var f=a(j._table[0].rows[0].cells[0]);var h=this,i=function(a){var b=j.toThemeProperty;if(a.removeClass(b("jqx-cell")),a.removeClass(b("jqx-grid-cell-selected")),a.removeClass(b("jqx-fill-state-pressed")),a.removeClass(b("jqx-grid-cell-hover")),a.removeClass(b("jqx-fill-state-hover")),h.customCellStyles)for(var c in h.customCellStyles)a.removeClass(h.customCellStyles[c])};if(i(f),g&&i(g),null==this.displayfield)return!0;j.showAggregates&&j.getcolumnaggregateddata&&J.push(j.getcolumnaggregateddata(this.displayfield,this.aggregates,!0,k));var l=j._getexportcolumntype(this);!this.exportable||this.hidden&&!z||(A[this.displayfield]={},A[this.displayfield].text=this.text,
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
9 A[this.displayfield].width=parseInt(this.width),isNaN(A[this.displayfield].width)&&(A[this.displayfield].width=60),A[this.displayfield].width>500&&(A[this.displayfield].width=500),A[this.displayfield].formatString=this.cellsFormat,A[this.displayfield].localization=j.gridlocalization,A[this.displayfield].type=l,A[this.displayfield].cellsAlign=this.cellsalign,A[this.displayfield].hidden=!d,A[this.displayfield].index=e,A[this.displayfield].maxIndex=o.length),F="cell"+G;var m=this.element;if("json"!=c&&"xml"!=c){H="column"+I;var n=function(a,b,d,e,f,g,h,i,j){B[a]={index:1+h,maxIndex:o.length},g.rtl&&(B[a].index=o.length-h),"html"!=c&&"xls"!=c&&"pdf"!=c||(b&&(B[a]["font-size"]=b.css("font-size"),B[a]["font-weight"]=b.css("font-weight"),B[a]["font-style"]=b.css("font-style"),B[a]["background-color"]=g._getexportcolor(b.css("background-color")),B[a].color=g._getexportcolor(b.css("color")),B[a]["border-color"]=g._getexportcolor(b.css("border-top-color"))),d?B[a]["text-align"]=f.align:(B[a]["text-align"]=f.cellsalign,B[a].formatString=f.cellsFormat,B[a].dataType=l),"html"!=c&&"pdf"!=c||(B[a]["border-top-width"]="0px",g.rtl?(B[a]["border-left-width"]="1px",B[a]["border-right-width"]="0px",h==o.length-r-1&&d&&(B[a]["border-right-width"]="1px")):(B[a]["border-left-width"]="0px",B[a]["border-right-width"]="1px"),B[a]["border-bottom-width"]="1px",b&&(B[a]["border-top-style"]=b.css("border-top-style"),B[a]["border-left-style"]=b.css("border-left-style"),B[a]["border-right-style"]=b.css("border-right-style"),B[a]["border-bottom-style"]=b.css("border-bottom-style")),d?(0!=h||g.rtl?h==o.length-1&&g.rtl&&(B[a]["border-right-width"]="1px"):B[a]["border-left-width"]="1px",b&&(B[a]["border-top-width"]="1px",B[a]["border-bottom-width"]=b.css("border-bottom-width"))):0!=h||g.rtl?h==o.length-1&&g.rtl&&(B[a]["border-right-width"]="1px"):B[a]["border-left-width"]="1px",b&&(B[a].height=b.css("height")),g.treeGrid&&!d&&(B[a].index-1<r?g.rtl?B[a]["border-left-width"]="0px":B[a]["border-right-width"]="0px":B[a].index-1==r&&(g.rtl?B[a]["border-right-width"]="0px":B[a]["border-left-width"]="0px")))),!f.exportable||f.hidden&&!z||(1==i?(A[f.displayfield].customCellStyles||(A[f.displayfield].customCellStyles=new Array),A[f.displayfield].customCellStyles[j]=a):d?A[f.displayfield].style=a:e?A[f.displayfield].cellAltStyle=a:A[f.displayfield].cellStyle=a)};if(n(H,m,!0,!1,this,j,b),I++,n(F,f,!1,!1,this,j,b),j.altRows&&(F="cellalt"+G,n(F,g,!1,!0,this,j,b)),this.customCellStyles){for(var p in h.customCellStyles)f.removeClass(h.customCellStyles[p]);for(var p in h.customCellStyles)f.addClass(h.customCellStyles[p]),n(F+h.customCellStyles[p],f,!1,!1,this,j,b,!0,p),f.removeClass(h.customCellStyles[p])}G++}}),"json"!=c&&"xml"!=c&&r>0&&this.treeGrid){var N=r+1;if(this.rtl&&(N=o.length-r),B["column"+N]){var O=B["column"+N];O.merge=r,O["border-left-width"]="1px";for(var p=(B["cell"+N],0);p<o.length;p++){var N=p+1;this.rtl&&(N=o.length-p),B["column"+N].level=p,B["column"+N].maxLevel=r,B["cell"+N].maxLevel=r;var v=o[p];if(v.customCellStyles)for(var P in v.customCellStyles)B["cell"+N+v.customCellStyles[P]]&&(B["cell"+N+v.customCellStyles[P]].maxLevel=r);B["cellalt"+N]&&(B["cellalt"+N].maxLevel=r)}for(var p=0;p<r;p++){var N=p+1,Q=p;this.rtl&&(N=o.length-p);var R=B["column"+N];R.disabled=!0,B["cell"+N].level=Q,B["cell"+N].maxLevel=r,B["column"+N].level=Q,B["cellalt"+N]&&(B["cellalt"+N].level=Q,B["cellalt"+N].maxLevel=r);var v=o[p];if(v.customCellStyles)for(var P in v.customCellStyles)B["cell"+N+v.customCellStyles[P]]&&(B["cell"+N+v.customCellStyles[P]].maxLevel=r,B["cell"+N+v.customCellStyles[P]].level=Q);if(("html"==c||"pdf"==c||"xls"==c)&&(R["font-size"]=O["font-size"],R["font-weight"]=O["font-weight"],R["font-style"]=O["font-style"],R["background-color"]=O["background-color"],R.color=O.color,R["border-color"]=O["border-color"],"html"==c||"pdf"==c)){R["border-top-width"]=O["border-top-width"],R["border-left-width"]=O["border-left-width"],this.rtl&&(R["border-right-width"]=O["border-right-width"],0==p&&(R["border-right-width"]="1px")),0!=p||this.rtl?0==p&&this.rtl&&(R["border-left-width"]="0px"):R["border-left-width"]="0px",this.rtl?this.rtl&&(R["border-left-width"]="0px"):R["border-right-width"]="0px",R["border-bottom-width"]="0px";var R=B["cell"+N];this.rtl?this.rtl&&(R["border-left-width"]="0px"):R["border-right-width"]="0px"}}}}if(this.showAggregates){var S=[],T="xls"==c?"_AG":"",U=0;this.rowDetails&&!this.treeGrid&&U++,J.length>0&&(a.each(o,function(a){if(this.aggregates)for(var b=0;b<this.aggregates.length;b++)if(S[b]||(S[b]={}),S[b]){var c=j._getaggregatename(this.aggregates[b]),d=j._getaggregatetype(this.aggregates[b]),e=J[a-U];e&&(S[b][this.displayfield]=T+c+": "+e[d])}}),a.each(o,function(a){for(var b=0;b<S.length;b++)void 0==S[b][this.displayfield]&&(S[b][this.displayfield]=T)})),a.each(S,function(){k.push(this)})}var V=this,W=a.jqx.dataAdapter.ArrayExporter(k,A,B,f,this.treeGrid&&("xml"==c||"json"==c));if(void 0==i){this._renderrows();var X=this.treeGrid&&("xml"==c||"json"==c),Y=W.exportTo(c,this.treeGrid&&("xml"==c||"json"==c));return this.showAggregates&&a.each(S,function(){k.pop(this)}),setTimeout(function(){V.exporting=!1},50),Y}var X=this.treeGrid&&("xml"==c||"json"==c);W.exportToFile(c,i,f,g,X),this.showAggregates&&a.each(S,function(){k.pop(this)}),this._renderrows(),setTimeout(function(){V.exporting=!1},50)},_getexportcolor:function(a){var b=a;if("transparent"==a&&(b="#FFFFFF"),b&&b.toString()||(b="#FFFFFF"),b.toString().indexOf("rgb")!=-1){var c=b.split(",");if(b.toString().indexOf("rgba")!=-1){var d=parseInt(c[0].substring(5)),e=parseInt(c[1]),f=parseInt(c[2]),g=parseInt(c[3].substring(1,4)),h={r:d,g:e,b:f},i=this._rgbToHex(h);return 0==d&&0==e&&0==f&&0==g?"#ffffff":"#"+i}var d=parseInt(c[0].substring(4)),e=parseInt(c[1]),f=parseInt(c[2].substring(1,4)),h={r:d,g:e,b:f},i=this._rgbToHex(h);return"#"+i}if(b.toString().indexOf("#")!=-1&&4==b.toString().length){var j=b.toString().substring(1,4);b+=j}return b},_rgbToHex:function(a){return this._intToHex(a.r)+this._intToHex(a.g)+this._intToHex(a.b)},_intToHex:function(a){var b=parseInt(a).toString(16);return 1==b.length&&(b="0"+b),b.toUpperCase()},_getexportcolumntype:function(b){var c=this,d="string",e=c.source.datafields||(c.source._source?c.source._source.datafields:null);if(e){var f="";if(a.each(e,function(){if(this.name==b.displayfield)return this.type&&(f=this.type),!1}),f)return f}if(null!=b){if(void 0==this.dataview.cachedrecords)return d;var g=null;if(this.virtualmode)a.each(this.dataview.cachedrecords,function(){return g=this[b.displayfield],!1});else{if(0==this.dataview.cachedrecords.length)return d;if(g=this.dataview.cachedrecords[0][b.displayfield],null!=g&&""==g.toString())return"string"}if(null!=g){if(b.cellsFormat.indexOf("c")!=-1)return"number";if(b.cellsFormat.indexOf("n")!=-1)return"number";if(b.cellsFormat.indexOf("p")!=-1)return"number";if(b.cellsFormat.indexOf("d")!=-1)return"date";if(b.cellsFormat.indexOf("y")!=-1)return"date";if(b.cellsFormat.indexOf("M")!=-1)return"date";if(b.cellsFormat.indexOf("m")!=-1)return"date";if(b.cellsFormat.indexOf("t")!=-1)return"date";if("boolean"==typeof g)d="boolean";else if(a.jqx.dataFormat.isNumber(g))d="number";else{var h=new Date(g);if("NaN"==h.toString()||"Invalid Date"==h.toString())if(a.jqx.dataFormat){if(h=a.jqx.dataFormat.tryparsedate(g),null!=h){if(h&&h.getFullYear()&&1970==h.getFullYear()&&0==h.getMonth()&&1==h.getDate()){var i=new Number(g);return isNaN(i)?"string":"number"}return"date"}d="string"}else d="string";else d="date"}}}return d},showDetails:function(a){var b=this._getkey(a);this.showdetailsbykey(b)},hideDetails:function(a){var b=this._getkey(a);this.hidedetailsbykey(b)},setCellValueByKey:function(b,c,d){var e=this,f=this.rowsByKey[b],g=this.getrowindex(f),h=f;if(null!=h&&h[c]==d)return!1;if(null==h||null!==h[c]||""!==d){var i="";if(null!=h&&h[c]!==d){var j=this.getColumn(c),k="string",l=this.source.datafields||(this.source._source?this.source._source.datafields:null);if(l){var m="";a.each(l,function(){if(this.name==j.displayfield)return this.type&&(m=this.type),!1}),m&&(k=m)}if(i=h[c],!j.nullable||null!=d&&""!==d&&j.nullable&&void 0===d.label){if(a.jqx.dataFormat.isNumber(i)||"number"==k||"float"==k||"int"==k||"decimal"==k&&"date"!=k)d=new Number(d),d=parseFloat(d),isNaN(d)&&(d=0);else if((a.jqx.dataFormat.isDate(i)||"date"==k)&&""!=d){var n=d;n=new Date(n),"Invalid Date"!=n&&null!=n?d=n:"Invalid Date"==n&&(n=new Date,d=n)}if(h[c]===d)return}if(e.dataview._filteredData=null,e.dataview._sortData=null,e.dataview._sortHierarchyData=null,h[c]=d,this.treeGrid){var o=this.treeGrid.getRow(b);o&&(o[c]=d)}if(null!=d&&null!=d.label){var j=this.getColumn(c);if(h[j.displayfield]=d.label,h[c]=d.value,this.treeGrid){var o=this.treeGrid.getRow(b);o&&(o[j.displayfield]=d.label,o[c]=d.value)}}}if(this.source&&this.source._knockoutdatasource&&!this._updateFromAdapter&&this.autokoupdates&&this.source._source._localdata){var p=g,q=this.source._source._localdata()[p];this.source.suspendKO=!0;var r=q;if(r[c]&&r[c].subscribe)null!=d&&null!=d.label?(r[j.displayfield](d.label),r[c](d.value)):r[c](d);else{var l=this.source._source.datafields,s=null;if(l&&a.each(l,function(){if(this.name==c)return s=this.map,!1}),null==s)null!=d&&null!=d.label?(r[c]=d.value,r[j.displayfield]=d.label):r[c]=d;else{var t=s.split(this.source.mapChar);if(t.length>0){for(var u=r,v=0;v<t.length-1;v++)u=u[t[v]];u[t[t.length-1]]=d}}this.source._source._localdata.replace(q,a.extend({},r))}this.source.suspendKO=!1}if(this.source.updaterow&&(void 0==sync||1==sync)){var w=!1,x=function(a){0==a&&this.setCellValue(f,c,i,!0,!1)};try{var y=b;w=this.source.updaterow(y,h,x),void 0==w&&(w=!0)}catch(a){return w=!1,void this.setCellValue(f,c,i)}}var z=this.getrowdisplayindex(f),j=this.getColumn(c);this._raiseEvent("cellValueChanged",{value:d,oldValue:i,dataField:c,displayField:j.displayfield,key:b,boundIndex:g,index:z,row:this.rowsByKey[b]}),this.editable&&null!=this.editKey||this._renderrows()}},setCellValue:function(a,b,c){if(null==a||null==b)return!1;var d=parseInt(a),e=this._getkey(d);this.setCellValueByKey(e,b,c)},getCellText:function(a,b){if(null==a||null==b)return!1;var c=parseInt(a),d=this._getkey(c);return this.getCellTextByKey(d,b)},getCellTextByKey:function(b,c){if(null==b||null==c)return null;var d=this.getCellValueByKey(b,c),e=this.getColumn(c);return e&&""!=e.cellsFormat&&a.jqx.dataFormat&&(a.jqx.dataFormat.isDate(d)?d=a.jqx.dataFormat.formatdate(d,e.cellsFormat,this.gridlocalization):(a.jqx.dataFormat.isNumber(d)||!isNaN(parseFloat(d))&&isFinite(d))&&(d=a.jqx.dataFormat.formatnumber(d,e.cellsFormat,this.gridlocalization))),d},getCellValue:function(a,b){if(null==a||null==b)return!1;var c=parseInt(a),d=this._getkey(c);return this.getCellValueByKey(d,b)},getCellValueByKey:function(a,b){var c=this.rowsByKey[a];!c&&this.treeGrid&&(c=this.treeGrid.getRow(a));var d=(this.getrowindex(c),c);return null!=d?d[b]:null},beginRowEdit:function(a){var b=this._getkey(a);this.beginroweditbykey(b)},beginCellEdit:function(a,b){var c=this._getkey(a),d=this.getColumn(b);this.beginroweditbykey(c,d)},endCellEdit:function(a,b,c){this.endRowEdit(a,c)},endRowEdit:function(a,b){var c=this._getkey(a);this.endroweditbykey(c,b)},getrowindex:function(a){var b=this.getRows().indexOf(a);if(b!=-1)return b;if(this.groups&&this.groups.length>0)for(var c=this.getRows(),d=0;d<c.length;d++)if(a.originalRecord){if(c[d].uid==a.originalRecord.uid){b=d;break}}else if(c[d].uid==a.uid){b=d;break}return b},getrowdisplayindex:function(a){if(this.treeGrid)return-1;var b=this.getView(),c=b.indexOf(a);if(c!=-1)return c;if(void 0==a)return c;for(var d=b,e=0;e<d.length;e++)if(d[e].uid==a.uid||a.originalRecord&&d[e].uid==a.originalRecord.uid){c=e;break}return c},beginroweditbykey:function(b,c){if(this.beginEdit){var d=this.beginEdit(b,c);if(d===!1)return!1}var e=this.treeGrid?this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0:this.groups.length;if(e>0){var f=this.rowsByKey[b];if(this.treeGrid)var f=this.treeGrid.getRow(b);if(f.level<e)return!1}if(null==this._lastSelectedKey&&this.selectrowbykey(b),this.editKey===b&&void 0!=this.editKey)return!1;if(this.rowinfo[b]&&this.rowinfo[b].locked)return!1;if(null!=this.editKey)return this.endroweditbykey(b,!0),!1;var g=this.editSettings.editSingleCell;if(!c&&g&&this.columns.records&&this.columns.records.length>0){for(var h=0;h<this.columns.records.length&&(c=this.columns.records[h],!c.editable||c.hidden);h++);if(!c)return!1}if(g&&c&&!c.editable)return this.editKey=null,!1;g&&(this.editColumn=c);var i=this,f=this.rowsByKey[b];if(this.treeGrid)var f=this.treeGrid.getRow(b);var j=this.getrowindex(f),k=this._getuirow(b),l=this._getpinneduirow(b);this._editors=new Array;var m=!1;if(k)for(var n=k[0].cells,o=0,h=0;h<n.length;h++){var p=this.columns.records[h],q=n[h];if(!p.rowDetailscolumn&&!(p.checkboxcolumn||(p.pinned&&(q=l[0].cells[h]),g&&c&&p.datafield!=c.datafield||(a(q).removeClass(this.toTP("jqx-grid-cell-selected")),a(q).removeClass(this.toTP("jqx-fill-state-pressed")),a(q).removeClass(this.toTP("jqx-grid-cell-hover")),a(q).removeClass(this.toTP("jqx-fill-state-hover")),"none"==p.columntype)))){var r=a(q).outerWidth(),s=a(q).width();0===o&&(o=a(q).outerHeight()-1),a(q).css("padding","0px"),cellContent="<div style='height:"+o+"px; width: 100%; overflow: hidden; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; z-index: 9999;'></div>";var t=this.getCellTextByKey(b,p.displayfield);q.innerHTML=cellContent;var u=a(q.firstChild);switch(p.columntype){case"textbox":case"default":var v=a("<input style='border: none;' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' type='textbox'/>").appendTo(u);if(this.rtl&&v.css("direction","rtl"),v.addClass(this.toThemeProperty("jqx-input")),v.addClass(this.toThemeProperty("jqx-widget-content")),v.addClass(this.toThemeProperty("jqx-cell-editor")),v[0].onfocus=function(b){setTimeout(function(){if(b){var c=a(b.target).parent().parent().index();c>=0&&i.ensureColumnVisible(i.columns.records[c].datafield)}else{var c=a(document.activeElement).parent().parent().index();c>=0&&i.ensureColumnVisible(i.columns.records[c].datafield)}i.content&&(i.content[0].scrollTop=0,i.content[0].scrollLeft=0),i.gridcontent&&(i.gridcontent[0].scrollLeft=0,i.gridcontent[0].scrollTop=0)},10)},p.editable){if(!m){m=!0;var w=a.jqx.browser.msie&&a.jqx.browser.version>10;w||v.focus();var x=v;setTimeout(function(){var a=x.val().length;w||x.focus();try{if("selectionStart"in x[0])x[0].setSelectionRange(0,a);else{var b=x[0].createTextRange();b.collapse(!0),b.moveEnd("character",a),b.moveStart("character",0),b.select()}}catch(a){}},10)}}else v.attr("disabled",!0),v.attr("readOnly",!0),v.addClass(this.toThemeProperty("jqx-fill-state-disabled"));if(v.width(s),v.height(o),a.jqx.browser.msie&&a.jqx.browser.version<9&&v.css("line-height",parseInt(o)+"px"),v.css("text-align",p.cellsalign),null===t&&(t=""),void 0==t&&(t=""),v.val(t),p.createeditor){var y=t,t=this.getCellValueByKey(b,p.displayfield);p.createeditor(this.treeGrid?b:j,t,v,y,s,o)}if(this._editors.push({column:p,editor:v}),""!=p.cellsFormat&&(p.cellsFormat.indexOf("p")==-1&&p.cellsFormat.indexOf("c")==-1&&p.cellsFormat.indexOf("n")==-1&&p.cellsFormat.indexOf("f")==-1||v.keydown(function(a){var b=a.charCode?a.charCode:a.keyCode?a.keyCode:0,c=String.fromCharCode(b),d=parseInt(c);if(isNaN(d))return!0;if(i._selection(v).length>0)return!0;var e="",f=v.val();if(p.cellsFormat.length>1){var g=parseInt(p.cellsFormat.substring(1));isNaN(g)&&(g=0)}else var g=0;if(g>0&&f.indexOf(i.gridlocalization.decimalseparator)!=-1&&i._selection(v).start>f.indexOf(i.gridlocalization.decimalseparator))return!0;for(var h=0;h<f.length-g;h++){var j=f.substring(h,h+1);null!=j.match(/^[0-9]+$/)&&(e+=j)}return!(e.length>=11)&&void 0})),p.initeditor){var y=t,t=this.getCellValueByKey(b,p.displayfield);p.initeditor(this.treeGrid?b:j,t,v,y,s,o)}break;case"custom":case"template":this.editorsCache||(this.editorsCache=new Array);var z=a("<div style='width: 100%; height: 100%; border: none;'></div>").appendTo(u),A=a.trim(p.datafield).split(" ").join("");A.indexOf(".")!=-1&&(A=A.replace(".",""));var B=this.editorsCache["templateeditor_"+A];if("custom"==p.columntype)var B=this.editorsCache["customeditor_"+A+"_"+b];var y=t,t=this.getCellValueByKey(b,p.displayfield);if(B){var v=B;v.width(r),v.height(o),v.appendTo(z)}else{var v=a("<div style='border: none;'></div>");v.width(r),v.height(o),B=v,null===t&&(t=""),"custom"!=p.columntype?this.editorsCache["templateeditor_"+A]=v:this.editorsCache["customeditor_"+A+"_"+b]=v,v.appendTo(z),p.createeditor&&p.createeditor(this.treeGrid?b:j,t,v,y,r,o)}p.initeditor&&p.initeditor(this.treeGrid?b:j,t,v,y,r,o),this._editors.push({column:p,editor:v})}}}this.editKey=b,this.beginUpdate();var C=this.getrowdisplayindex(f);if(this._raiseEvent("rowBeginEdit",{key:b,index:C,boundIndex:j,row:this.rowsByKey[b]}),g){var f=this.rowsByKey[b],D=null,E=null;f&&(D=f[c.datafield],E=f[c.displayfield]),this._raiseEvent("cellBeginEdit",{value:D,displayValue:E,key:b,index:C,dataField:c.datafield,displayField:c.displayfield,boundIndex:j,row:this.rowsByKey[b]})}this.endUpdate(!1)},_toNumber:function(a){a.indexOf||void 0==a||(a=a.toString()),a.indexOf(this.gridlocalization.currencysymbol)>-1&&(a=a.replace(this.gridlocalization.currencysymbol,""));var b=function(a,b,c){var d=a;if(b==c)return a;for(var e=d.indexOf(b);e!=-1;)d=d.replace(b,c),e=d.indexOf(b);return d};a=b(a,this.gridlocalization.thousandsseparator,""),a=a.replace(this.gridlocalization.decimalseparator,"."),a.indexOf(this.gridlocalization.percentsymbol)>-1&&(a=a.replace(this.gridlocalization.percentsymbol,""));for(var c="",d=0;d<a.length;d++){var e=a.substring(d,d+1);"-"===e&&(c+="-"),"."===e&&(c+="."),null!=e.match(/^[0-9]+$/)&&(c+=e)}return a=c,a=a.replace(/ /g,"")},_geteditorvalue:function(b,c,d,e){var f=new String;if(c){if(!b.geteditorvalue)switch(b.columntype){case"textbox":default:if(f=c.val(),""!=b.cellsFormat){var g="string",h=this.source.datafields||(this.source._source?this.source._source.datafields:null);if(h){var i="";a.each(h,function(){if(this.name==b.displayfield)return this.type&&(i=this.type),!1}),i&&(g=i)}var j="number"===g||"float"===g||"int"===g||"integer"===g,k="date"===g||"time"===g;if(j||"string"===g&&(b.cellsFormat.indexOf("p")!=-1||b.cellsFormat.indexOf("c")!=-1||b.cellsFormat.indexOf("n")!=-1||b.cellsFormat.indexOf("f")!=-1)){if(""===f&&b.nullable)return"";f=this._toNumber(f),f=new Number(f),isNaN(f)&&(f="")}if(k||"string"===g&&(b.cellsFormat.indexOf("H")!=-1||b.cellsFormat.indexOf("m")!=-1||b.cellsFormat.indexOf("M")!=-1||b.cellsFormat.indexOf("y")!=-1||b.cellsFormat.indexOf("h")!=-1||b.cellsFormat.indexOf("d")!=-1)){if(""===f&&b.nullable)return"";var l=f;f=new Date(f),("Invalid Date"==f||null==f||b.cellsFormat.length>1)&&(a.jqx.dataFormat&&(f=a.jqx.dataFormat.parsedate(l,b.cellsFormat,this.gridlocalization)),"Invalid Date"!=f&&null!=f||(f=""))}}b.displayfield!=b.datafield&&(f={label:f,value:f})}if(b.geteditorvalue){var m=this.getCellValueByKey(e,b.displayfield);f=b.geteditorvalue(this.treeGrid?e:d,m,c)}}return f},_validateEditors:function(a){for(var b=this,c=!0,d=b.rowsByKey[a],e=b.getrowindex(d),f=b._editors,a=b.editKey,g=b._getuirow(a),h=0;h<f.length;h++){var i=f[h].editor,j=f[h].column,k=b._geteditorvalue(j,i,e,a);if(j.validation){i.removeClass(b.toThemeProperty("jqx-grid-validation-label"));var l=j.datafield;try{var m=j.validation({value:k,row:a,datafield:j.datafield,displayfield:j.displayfield,column:j},k),n=b.gridlocalization.validationstring;void 0!=m.message&&(n=m.message);var o="boolean"==typeof m?m:m.result;o||(void 0!=m.showmessage&&1!=m.showmessage||b._showvalidationpopup(g,l,n,i),c=!1)}catch(a){b._showvalidationpopup(g,l,b.gridlocalization.validationstring,i),c=!1}}}return c},endroweditbykey:function(b,c){var d=this;if(null!==d.editKey){if(this.endEdit){var e=this.endEdit(b);if(e===!1)return}var f=d.rowsByKey[b],g=d.getrowindex(f),h=d._editors,i=d.editKey;d._getuirow(i);if(c!==!0){var j=!0;if(h&&(j=d._validateEditors(i))){for(var k=a.extend({},f),l=a.extend({},f),m=0;m<h.length;m++){var n=h[m].editor,o=h[m].column,p=d._geteditorvalue(o,n,g,i);p&&void 0!=p.label?(k[o.displayfield]=p.label,k[o.datafield]=p.value):k[o.displayfield]=p}var q=function(){d.dataview._sortHierarchyData=null,d.dataview._sortData=null;for(var c=0;c<h.length;c++){var e=h[c].editor,j=h[c].column,k=d._geteditorvalue(j,e,g,i),m=l[j.displayfield];if(k&&void 0!=k.label?(f[j.displayfield]=k.label,f[j.datafield]=k.value):f[j.displayfield]=k,d.treeGrid){var n=d.treeGrid.getRow(i);n&&(n[j.displayfield]=k)}if(d.editorsCache){var o=function(a){if(a&&a.jqxWidget){var b=a.jqxWidget.element.className;if((b.indexOf("dropdownlist")>=0||b.indexOf("datetimeinput")>=0||b.indexOf("combobox")>=0||b.indexOf("menu")>=0)&&a.jqxWidget.isOpened){var c=a.jqxWidget.isOpened();c&&a.jqxWidget.close()}}},p="customeditor_"+j.displayfield+"_"+b,q="templateeditor_"+j.displayfield;if(d.editorsCache[p]){var r=a(d.editorsCache[p]).data(),s=d.editorsCache[p];!r.jqxWidget&&a(s).children()[0]&&a(a(s).children()[0]).data().jqxWidget&&(r=a(a(s).children()[0]).data()),o(r),d.editorsCache[p].detach()}if(d.editorsCache[q]){d.editorsCache[q].detach();var r=a(d.editorsCache[q]).data(),s=d.editorsCache[q];!r.jqxWidget&&a(s).children()[0]&&a(a(s).children()[0]).data().jqxWidget&&(r=a(a(s).children()[0]).data()),o(r)}}k!=m&&(d.beginUpdate(),d._raiseEvent("cellValueChanged",{value:k,oldValue:m,dataField:j.datafield,displayField:j.displayfield,key:b,index:g,row:f}),d.endUpdate(!1))}};d.updaterowbykey(d.editKey,k,!1,q)}if(!j)return!1}return d._detachEditors(i),!0}},_detachEditors:function(b){var c=this,d=c.rowsByKey[b],e=c.getrowindex(d);if(c.editorsCache)for(var f in c.editorsCache){var g=a(c.editorsCache[f]).data();if(g&&g.jqxWidget){var h=g.jqxWidget.element.className;if((h.indexOf("dropdownlist")>=0||h.indexOf("datetimeinput")>=0||h.indexOf("combobox")>=0||h.indexOf("menu")>=0)&&g.jqxWidget.isOpened){var i=g.jqxWidget.isOpened();i&&g.jqxWidget.close()}}a(c.editorsCache[f]).detach()}c.beginUpdate();var j=c.getrowdisplayindex(d);if(c.editSettings.editSingleCell){var d=c.rowsByKey[b],k=null,l=null;d&&(k=d[c.editColumn.datafield],l=d[c.editColumn.displayfield]),c._raiseEvent("cellEndEdit",{value:k,displayValue:l,key:b,index:j,dataField:c.editColumn.datafield,displayField:c.editColumn.displayfield,boundIndex:e,row:c.rowsByKey[b]})}c._raiseEvent("rowEndEdit",{key:b,index:j,boundIndex:e,row:c.rowsByKey[b]}),c.endUpdate(!1),c.editColumn=null,c.editKey=null,c._renderrows(),c._renderhorizontalscroll(),c.host.focus(),setTimeout(function(){c.host.focus()},10)},_showvalidationpopup:function(b,c,d,e){if(void 0==d)var d=this.gridlocalization.validationstring;e.addClass(this.toThemeProperty("jqx-grid-validation-label"));var f=a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>"),g=a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>");f.html(d),g.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up")),f.addClass(this.toThemeProperty("jqx-grid-validation")),f.addClass(this.toThemeProperty("jqx-rc-all")),f.hide(),g.hide(),f.prependTo(this.table),g.prependTo(this.table);var h=this.hScrollInstance,i=h.value,j=parseInt(i),k=this.getColumn(c).uielement;if(b){var l=b;f.css("top",parseInt(l.position().top)+30+"px");var m=parseInt(f.css("top"));g.css("top",m-11),g.removeClass(),g.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up"));var n=!1;m>=this._table.height()&&(g.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up")),g.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down")),m=parseInt(l.position().top)-l.outerHeight()-5,m<0&&(m=0,g.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-down")),n=!0),f.css("top",m+"px"),g.css("top",m+f.outerHeight()-9));var o=-j+parseInt(a(k).position().left),p=parseInt(this._table.css("left"));isNaN(p)&&(p=0),0!=p&&(j=0),g.css("left",j+o+30);var q=f.width();if(q+o>this.host.width()-20){var r=q+o-this.host.width()+40;o-=r}n?f.css("left",j+parseInt(a(k).position().left)-f.outerWidth()):f.css("left",j+o),e.mouseenter(function(){e.hasClass("jqx-grid-validation-label")&&(f.show(),g.show())}),e.mouseleave(function(){f.hide(),g.hide()}),this.popups||(this.popups=new Array),this.popups[this.popups.length]={validation:f,validationrow:g}}},addRow:function(b,c,d,e){if(void 0!=c){this._datachanged=!0,void 0==d&&(d="last");var f=!1,g=this.that;if(null==b){var h=this.dataview.filters&&this.dataview.filters.length>0,i=h?this.source.records.length:this.dataview.totalrecords;if(!this.pageable){this.source._source.totalrecords?this.dataview.totalrecords=this.source._source.totalrecords:this.source._source.totalRecords?this.dataview.totalrecords=this.source._source.totalRecords:0!==this.source.hierarchy.length?this.dataview.totalrecords=this.source.hierarchy.length:this.dataview.totalrecords=this.source.records.length;var i=h?this.source.records.length:this.dataview.totalrecords}if(a.isArray(c)){var j=new Array;a.each(c,function(a,b){var d=g.dataview.getid(g.dataview.source.id,c[a],i+a);j.push(d),g.getColumn(g.dataview.source.id)&&(c[a][g.dataview.source.id]=d)}),b=j}else b=this.dataview.getid(this.dataview.source.id,c,i),this.getColumn(this.dataview.source.id)&&(c[this.dataview.source.id]=b)}else a.isArray(c)?a.each(c,function(a,d){var e=b[a];g.getColumn(g.dataview.source.id)&&(c[a][g.dataview.source.id]=e)}):this.getColumn(this.dataview.source.id)&&(c[this.dataview.source.id]=b);var k=!!this.treeGrid&&!!this.treeGrid.virtualModeCreateRecords,l=function(b,c,d,f){if(b._loading)throw new Error("jqxDataTable: "+b.loadingErrorMessage);var g=b.vScrollInstance.value,h=!1;if(a.isArray(d)?a.each(d,function(a,d){var g=null;null!=c&&null!=c[a]&&(g=c[a]),this.uid=g,b.rowsByKey[g]=this,c==e&&(e=null),h=b.source.addRecord(this,f,e,k)}):(d.uid=c,b.rowsByKey[c]=d,c==e&&(e=null),h=b.source.addRecord(d,f,e,k)),b.groups&&b.groups.length>0){var i=Object.prototype.toString,j=b.groups[0];if(Object.prototype.toString="function"==typeof j?j:function(){return this[j]},!b.source.records.sort){var l=new Array,m=0;a.each(data,function(){l[startindex+m++]=this}),data=l}b.source.records.sort(function(b,c){if(void 0===b&&(b=null),void 0===c&&(c=null),null===b&&null===c)return 0;if(null===b&&null!==c)return-1;if(null!==b&&null===c)return 1;var d=0,e=0;if(b&&b.uid&&(d=b.uid),c&&c.uid&&(e=c.uid),b=b.toString(),c=c.toString(),a.jqx.dataFormat.isNumber(b)&&a.jqx.dataFormat.isNumber(c))return b<c?-1:b>c?1:0;if(a.jqx.dataFormat.isDate(b)&&a.jqx.dataFormat.isDate(c))return b<c?-1:b>c?1:0;a.jqx.dataFormat.isNumber(b)||a.jqx.dataFormat.isNumber(c)||(b=String(b).toLowerCase(),c=String(c).toLowerCase());try{if(b<c)return-1;if(b>c)return 1}catch(a){}if("number"==typeof d){if(d<e)return-1;if(d>e)return 1}return 0}),Object.prototype.toString=i}return b.dataview._filteredData=null,b.dataview._sortData=null,b.dataview._sortHierarchyData=null,void 0!=b._updating&&0!=b._updating||b.refresh(),b.source&&b.source._knockoutdatasource&&!b._updateFromAdapter&&b.autokoupdates&&b.source._source._localdata&&(b.source.suspendKO=!0,b.source._source._localdata.push(d),b.source.suspendKO=!1),b.vScrollInstance.setPosition(g),h};if(this.source.addrow){var m=function(a,e){1!=a&&void 0!=a||(void 0!=e&&(b=e),l(g,b,c,d))};try{f=g.treeGrid?this.source.addrow(b,c,d,e,m):this.source.addrow(b,c,d,m),void 0==f&&(f=!0)}catch(a){f=!1}if(0==f)return!1}else l(this,b,c,d);return f}return!1},deleteRow:function(a){var b=this._getkey(a);this.deleterowbykey(b)},deleterowbykey:function(b){if(void 0!=b){this._datachanged=!0;var c=!1,d=this.that,e=function(b,c){if(b._loading)throw new Error("jqxDataTable: "+b.loadingErrorMessage);b.dataview._filteredData=null,b.dataview._sortData=null,b.dataview._sortHierarchyData=null;var d=!1,e=b.vScrollInstance.value;if(a.isArray(c))a.each(c,function(){var a=this;if(b.rowsByKey[a]){if(d=!0,b.rowinfo[a].selected&&b.unselectrowbykey(a,!1),b.treeGrid)var c=b._names(),e=b.rowsByKey[a][c.parent];if(delete b.rowsByKey[a],b.treeGrid&&b.rowinfo[a]){var f=b.rowinfo[a].row.records,g=function(a){for(var c=0;c<a.length;c++){var d=a[c].uid;delete b.rowsByKey[d],delete b.rowinfo[d],a[c].records&&g(a[c].records)}};f&&(g(f),delete b.rowinfo[a])}b.source.deleteRecord(a),e&&c&&e.records&&0==e.records.length&&(e[c.leaf]=!0,b.rowinfo[e.uid][c.leaf]=!0)}});else{var d=!1;if(b.rowsByKey[c]){if(d=!0,b.rowinfo[c]&&b.rowinfo[c].selected&&b.unselectrowbykey(c,!1),b.treeGrid)var f=b._names(),g=b.rowsByKey[c][f.parent];if(delete b.rowsByKey[c],b.treeGrid&&b.rowinfo[c]){var h=b.rowinfo[c].row.records,i=function(a){for(var c=0;c<a.length;c++){var d=a[c].uid;delete b.rowsByKey[d],delete b.rowinfo[d],a[c].records&&i(a[c].records)}};h&&i(h)}delete b.rowinfo[c],b.source.deleteRecord(c),g&&f&&g.records&&0==g.records.length&&(g[f.leaf]=!0,b.rowinfo[g.uid][f.leaf]=!0)}}return b.refresh(),b.source&&b.source._knockoutdatasource&&!b._updateFromAdapter&&b.autokoupdates&&b.source._source._localdata&&(b.source.suspendKO=!0,b.source._source._localdata.pop(rowdata),b.source.suspendKO=!1),b.vScrollInstance.setPosition(e),d};if(this.source.deleterow){var f=function(a){1!=a&&void 0!=a||e(d,b)};try{this.source.deleterow(b,f),void 0==c&&(c=!0)}catch(a){c=!1}}else c=e(d,b);return c}return!1},updateRow:function(a,b){var c=this._getkey(a);this.updaterowbykey(c,b)},updaterowbykey:function(b,c,d,e){if(void 0!=b&&void 0!=c){var f=this.that,g=!1,h=function(b,c,e){if(b._loading)throw new Error("jqxDataTable: "+b.loadingErrorMessage);b.dataview._filteredData=null,b.dataview._sortData=null,b.dataview._sortHierarchyData=null;var f=!1;if(a.isArray(c))a.each(c,function(a,c){var d=b.rowsByKey[this],g=function(b,c){d?d[this]=e[a]:f=!1,f=!0};g(this,d),b.treeGrid&&(d=b.treeGrid.getRow(this),g(this,d))});else{var g=b.rowsByKey[c],h=function(a){if(a){for(var c=0;c<b.columns.records.length;c++)a[b.columns.records[c].datafield]=e[b.columns.records[c].datafield],b.groups.length>0&&a.originalRecord&&(a.originalRecord[b.columns.records[c].datafield]=e[b.columns.records[c].datafield]);f=!0}else f=!1};h(g),b.treeGrid&&(g=b.treeGrid.getRow(c),h(g))}var i=b.vScrollInstance.value;if(void 0!=d&&1!=d||void 0!=b._updating&&0!=b._updating||b._renderrows(),b.showAggregates&&b._updatecolumnsaggregates&&b._updatecolumnsaggregates(),b.source&&b.source._knockoutdatasource&&!b._updateFromAdapter&&b.autokoupdates&&b.source._source._localdata){var g=b.rowsByKey[c],j=b.getrowindex(g),k=b.source._source._localdata()[j];b.source.suspendKO=!0,b.source._source._localdata.replace(k,a.extend({},g)),b.source.suspendKO=!1}return b.vScrollInstance.setPosition(i),f};if(this.source.updaterow){var i=function(a){1!=a&&void 0!=a||(h(f,b,c),e&&e(),f._renderrows(!1),f.autoRowHeight&&(f._updateScrollbars(),f._arrange()))};try{g=this.source.updaterow(b,c,i),void 0==g&&(g=!0)}catch(a){g=!1}}else g=h(f,b,c),g&&e&&e(),f._renderrows(!1),f.autoRowHeight&&(f._updateScrollbars(),f._arrange());return g}return!1},lockRow:function(a){var b=this._getkey(a);this.lockrowbykey(b)},unlockRow:function(a){var b=this._getkey(a);this.unlockrowbykey(b)},lockrowbykey:function(a){this.rowinfo[a]?this.rowinfo[a].locked=!0:this.rowinfo[a]={locked:!0},this._renderrows()},unlockrowbykey:function(a){this.rowinfo[a]?this.rowinfo[a].locked=!1:this.rowinfo[a]={locked:!1},this._renderrows()},selectRow:function(a){var b=this._getkey(a);this.selectrowbykey(b)},unselectRow:function(a){var b=this._getkey(a);this.unselectrowbykey(b)},selectrowbykey:function(a,b,c){"keyboard"!=b&&"mouse"!=b&&(this._lastSelectedKey=a);var d=c!==!1;this._doSelection(a,!0,d);var e=this.rowsByKey[a],f=this.getrowindex(e),g=this.getrowdisplayindex(e);this._raiseEvent("rowSelect",{key:a,index:g,boundIndex:f,row:this.rowsByKey[a]})},unselectrowbykey:function(a,b){var c=b!==!1;this._doSelection(a,!1,c);
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
10 var d=this.rowsByKey[a],e=this.getrowindex(d),f=this.getrowdisplayindex(d);this._raiseEvent("rowUnselect",{key:a,index:f,boundIndex:e,row:this.rowsByKey[a]})},getSelection:function(){var a=new Array;if(this.rowinfo)for(var b in this.rowinfo){var c=this.rowinfo[b];c.selected&&a.push(c.row)}return a},showdetailsbykey:function(b){if(this.rowDetails){var c=this.rowinfo[b];if(c){c.expanded=!0;var d=a(this._table.children()[1]).children("[data-key="+b+"]"),e=a(this._pinnedTable.children()[1]).children("[data-key="+b+"]");if(d){var f=e.children(),g=a(f[0]);if(this.rtl)var g=a(f[f.length-1]);this.rtl?(g.removeClass(this.toThemeProperty("jqx-grid-group-collapse-rtl")),g.addClass(this.toThemeProperty("jqx-grid-group-expand-rtl")),g.removeClass(this.toThemeProperty("jqx-icon-arrow-left")),g.addClass(this.toThemeProperty("jqx-icon-arrow-down"))):(g.removeClass(this.toThemeProperty("jqx-grid-group-collapse")),g.addClass(this.toThemeProperty("jqx-grid-group-expand")),g.removeClass(this.toThemeProperty("jqx-icon-arrow-right")),g.addClass(this.toThemeProperty("jqx-icon-arrow-down"))),d.next().show();var h=e.next();if(h.show(),a.jqx.browser.msie&&a.jqx.browser.version<8&&(d.next().children().show(),e.next().children().show()),!c.initialized){var i=c.detailsHeight,j=this.initRowDetails(b,c.row,a(a(h).children().children().children()[0]),c);c.details=a(h).children().children().children()[0],c.initialized=!0,j!==!1&&c.detailsHeight==i||(j===!1&&(c.expanded=!1,c.nodetails=!0,h.hide()),this._renderrows())}this._updateScrollbars(),("auto"===this.height||null===this.height||this.autoheight)&&this._arrange();var k=this.getrowindex(c.row),l=this.getrowdisplayindex(c.row);this._raiseEvent("rowExpand",{row:c.row,index:l,boundIndex:k,rowKey:b})}}}},hidedetailsbykey:function(b){if(this.rowDetails){var c=this.rowinfo[b];if(c){c.expanded=!1;var d=a(this._table.children()[1]).children("[data-key="+b+"]"),e=a(this._pinnedTable.children()[1]).children("[data-key="+b+"]");if(d){var f=e.children(),g=a(f[0]);if(this.rtl)var g=a(f[f.length-1]);this.rtl?(g.addClass(this.toThemeProperty("jqx-grid-group-collapse-rtl")),g.removeClass(this.toThemeProperty("jqx-grid-group-expand-rtl")),g.addClass(this.toThemeProperty("jqx-icon-arrow-left")),g.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))):(g.addClass(this.toThemeProperty("jqx-grid-group-collapse")),g.removeClass(this.toThemeProperty("jqx-grid-group-expand")),g.addClass(this.toThemeProperty("jqx-icon-arrow-right")),g.removeClass(this.toThemeProperty("jqx-icon-arrow-down"))),d.next().hide(),e.next().hide(),a.jqx.browser.msie&&a.jqx.browser.version<8&&(d.next().children().hide(),e.next().children().hide()),this._updateScrollbars(),("auto"===this.height||null===this.height||this.autoheight)&&this._arrange();var h=this.getrowindex(c.row),i=this.getrowdisplayindex(c.row);this._raiseEvent("rowCollapse",{row:c.row,index:i,boundIndex:h,rowKey:b})}}}},_getvirtualcolumnsindexes:function(a,b,c,d,e){if(this.rowDetails||this.rtl||this.editcell||this.width&&this.width.toString().indexOf("%")>=0||this.exporting)return{start:0,end:c+d};var f=0,g=-1,h=c+d;if(this.autorowheight)return{start:0,end:c+d};if(!e)for(var i=0;i<c+d;i++){if(this.columns.records[i].hidden||(f+=this.columns.records[i].width),f>=a&&g==-1&&(g=i),f>b+a){h=i;break}}return h++,h>c+d&&(h=c+d),g==-1&&(g=0),{start:g,end:h}},_renderhorizontalscroll:function(){var a=this.hScrollInstance,b=a.value;"hidden"===this.hScrollBar.css("visibility")&&(a.value=0,b=0);var c=parseInt(b);if(null!=this.table){var d=this.columnsrow,e=0,f=this.columns.records.length-e,g=this.columns.records,h=0==this.source.records.length;if(this.rtl&&"hidden"!=this.hScrollBar.css("visibility")&&(c=a.max-c),h&&!this._haspinned)this.table[0].style.left=-c+"px",d[0].style.marginLeft=-c+"px";else{if(this._haspinned||void 0==this._haspinned){for(var i=0;i<e+f;i++){var j=g[i];if(j.pinned){var k=null;if(this.showAggregates&&this.statusbar[0].cells&&(k=this.statusbar[0].cells[i]),this.filterrow&&this.filterrow[0].cells&&(filtercell=this.filterrow[0].cells[i]),this.rtl){var l=d[0].cells[i];l.style.marginLeft=-parseInt(b)+"px",k&&(k.style.marginLeft=-parseInt(b)+"px"),this.filterrow&&filtercell&&(filtercell.style.marginLeft=-parseInt(b)+"px")}else{var l=d[0].cells[i];l.style.marginLeft=c+"px",k&&(k.style.marginLeft=c+"px"),this.filterrow&&filtercell&&(filtercell.style.marginLeft=c+"px")}}}if(this.columnsVirtualization){for(var m=this._getvirtualcolumnsindexes(c,this.host.width(),0,this.columns.records.length,!1),n=m.start,o=m.end,p=0;p<n;p++){var q=p,r=this.columns.records[q].element[0];if(!this.columns.records[q].pinned&&(r.parentNode&&r.parentNode.removeChild(r),this.filterrow&&this.filterrow[0])){var s=this.filterrow[0].cells[q];s.parentNode&&s.parentNode.removeChild(s)}}for(var p=o;p<this.columns.records.length;p++){var q=p,r=this.columns.records[q].element[0];if(!this.columns.records[q].pinned&&(r.parentNode&&r.parentNode.removeChild(r),this.filterrow&&this.filterrow[0])){var s=this.filterrow[0].cells[q];s.parentNode&&s.parentNode.removeChild(s)}}for(var p=n;p<o;p++){var q=p;if(r=this.columns.records[q].element[0],!this.columns.records[q].pinned&&(r.parentNode||this.columnsrow[0].appendChild(r),this.filterrow&&this.filterrow[0])){var s=this.filterrow[0].cells[q];s.parentNode||this.filterrow[0].appendChild(s)}}}this._table[0].style.left=-c+"px",d[0].style.marginLeft=-c+"px"}else if(0==this._haspinned){if(this.columnsVirtualization){for(var m=this._getvirtualcolumnsindexes(c,this.host.width(),0,this.columns.records.length,!1),n=m.start,o=m.end,p=0;p<n;p++){var q=p,r=this.columns.records[q].element[0];if(r.parentNode&&r.parentNode.removeChild(r),this.filterrow&&this.filterrow[0]){var s=this.filterrow[0].cells[q];s.parentNode&&s.parentNode.removeChild(s)}}for(var p=o;p<this.columns.records.length;p++){var q=p,r=this.columns.records[q].element[0];if(r.parentNode&&r.parentNode.removeChild(r),this.filterrow&&this.filterrow[0]){var s=this.filterrow[0].cells[q];s.parentNode&&s.parentNode.removeChild(s)}}for(var p=n;p<o;p++){var q=p;if(r=this.columns.records[q].element[0],r.parentNode||this.columnsrow[0].appendChild(r),this.filterrow&&this.filterrow[0]){var s=this.filterrow[0].cells[q];s.parentNode||this.filterrow[0].appendChild(s)}}}this.table[0].style.left=-c+"px",d[0].style.marginLeft=-c+"px"}this.filterrow&&(this.filterrow[0].style.left=-c+"px",this.rtl&&(this.filterrow[0].style.left=-c+parseInt(this.content.css("left"))+"px"))}if(this.showAggregates&&this.aggregates[0].cells){var t=0;this.rtl&&"hidden"!=this.vScrollBar.css("visibility")&&(t="hidden"!=this.hScrollBar.css("visibility")?2+parseInt(this.hScrollBar.css("left")):3+parseInt(this.vScrollBar.width())),this.aggregates[0].style.marginLeft=-c+t+"px"}}},_initializeColumns:function(){var c=this.source.datafields;null==c&&this.source._source&&(c=this.source._source.datafields);var d=!!c&&c.length>0;if(this.columns&&this.columns.records)for(var e=0;e<this.columns.records.length;e++)this._removecolumnhandlers(this.columns.records[e]);var f=this,g=new a.jqx.dataCollection(this.element),h=0;if(this._haspinned=!1,this._columns?this.columns=this._columns:this._columns=this.columns,"checkbox"==this.selectionMode){var i=new b(f,this);i.visibleindex=h++,i.width=f.indentWidth,i.checkboxcolumn=!0,i.editable=!1,i.columntype="checkbox",i.groupable=!1,i.draggable=!1,i.filterable=!1,i.resizable=!1,i.datafield="_checkboxcolumn",g.add(i)}if(this.rowDetails&&!this.treeGrid){var i=new b(f,this);i.visibleindex=h++,i.width=f.indentWidth,i.editable=!1,i.rowDetailscolumn=!0,i.groupable=!1,i.draggable=!1,i.pinned=!0,i.filterable=!1,i.resizable=!1,i.text="",g.add(i)}var j=new Array;a.each(this.columns,function(a){if(void 0!=f.columns[a]){var c=new b(f,this);if(c.visibleindex=h++,void 0!=this.dataField&&(this.datafield=this.dataField),this.pinned&&(f._haspinned=!0),null==this.datafield)f.source&&f.source._source&&"array"==f.source._source.datatype&&(d||(f.source._source.datafields?f.source._source.datafields.push({name:a.toString()}):(f.source._source.datafields=new Array,f.source._source.datafields.push({name:a.toString()}))),this.datafield=a.toString(),this.displayfield=a.toString(),c.datafield=this.datafield,c.displayfield=this.displayfield);else{if(j[this.datafield])throw new Error("jqxDataTable: Invalid column 'dataField' setting. jqxDataTable's columns should be initialized with unique data fields.");j[this.datafield]=!0}g.add(c)}}),this.rtl&&g.records.reverse(),this.columns=g},addFilter:function(a,b){var c=this.getColumn(a);c&&this.dataview.addFilter(a,b)},removeFilter:function(a){var b=this.getColumn(a);b&&this.dataview.removeFilter(a)},clearFilters:function(a,b){this.dataview.filters=new Array,this.dataview._filteredData=null,this.dataview._sortData=null,this.dataview._sortHierarchyData=null,b!==!1&&this.resetfilter(),a!==!1&&this.applyFilters()},resetfilter:function(){if(this.filterinput&&this.filterinput.val(""),this.filterrow)for(var b=0;b<this.filterrow[0].cells.length;b++){var c=this.filterrow[0].cells[b],d=a(c).find("input:first"),e=a(c).find(".filterconditions"),f=this.columns.records[b];if(f.filterable){d.val("");var g=this.getcolumntypebydatafield(f),h=new a.jqx.filter;switch(g){case"number":case"int":case"float":case"decimal":filtertype="numericfilter",conditions=h.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":filtertype="booleanfilter",conditions=h.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":filtertype="datefilter",conditions=h.getoperatorsbyfiltertype("datefilter");break;case"string":filtertype="stringfilter",conditions=h.getoperatorsbyfiltertype("stringfilter")}e.length>0&&("stringfilter"===filtertype?e.jqxDropDownList({selectedIndex:2}):e.jqxDropDownList({selectedIndex:0}))}}},applyFilters:function(){if(this.editable&&null!=this.editKey){this.endroweditbykey(this.editKey)}if(this.dataview._filteredData=null,this.dataview._sortData=null,this.dataview._sortHierarchyData=null,this.serverProcessing?(this.dataview.pagenum=0,this.updateBoundData("filter")):(this.goToPage(0),this.refresh()),arguments&&arguments.length>0){if(this._updateSimpleFilter&&this.filtercolumnsList){var a=this.filtercolumnsList.jqxDropDownList("getSelectedItem").value;this._updateSimpleFilter(a)}this._updateFilterRow&&this._updateFilterRow()}this._raiseEvent("filter",{filters:this.dataview.filters})},sortBy:function(a,b){if(this.dataview._filteredData=null,this.dataview._sortData=null,this.dataview._sortHierarchyData=null,this._loading)throw new Error("jqxDataTable: "+this.loadingErrorMessage);if(this.editable&&null!=this.editKey){this.endroweditbykey(this.editKey)}if(null==a&&(b=null,a=this.sortcolumn),a){var c=this;"a"==b||"asc"==b||"ascending"==b||1==b?ascending=!0:ascending=!1,null!=b?c.sortdirection={ascending:ascending,descending:!ascending}:c.sortdirection={ascending:!1,descending:!1},null!=b?c.sortcolumn=a:c.sortcolumn=null,c.source.sort&&(c.dataview.sortfield=a,null==b?c.dataview.sortfielddirection="":c.dataview.sortfielddirection=ascending?"asc":"desc",c.source.sort&&!this._loading&&c.source.sort(a,b)),c.dataview.sortBy(a,b),c._raiseEvent("sort",{sortcolumn:this.sortcolumn,sortdirection:this.sortdirection})}this.serverProcessing?this.updateBoundData("sort"):this.refresh()},_togglesort:function(a){var b=this;if(!this.disabled&&a.sortable&&b.sortable){var c={sortcolumn:this.sortcolumn,sortdirection:this.sortdirection},d=null;null!=c.sortcolumn&&c.sortcolumn==a.displayfield?(d=c.sortdirection.ascending,d=1!=d&&null):d=!0,b.sortBy(a.displayfield,d)}},_renderfilter:function(){var b=this,c=a("<div style='position: relative; margin: 4px;'><input style='height: 22px; direction: ltr;' role='textbox' type='text'/><div style='cursor: pointer; height: 100%;'><div></div></div></div>");c.height(22);var d=c.find("input"),e=c.find("div:first");c.addClass(this.toThemeProperty("jqx-rc-all")),c.addClass(this.toThemeProperty("jqx-widget")),c.addClass(this.toThemeProperty("jqx-input-group")),d.addClass(this.toThemeProperty("jqx-input")),d.addClass(this.toThemeProperty("jqx-rc-l")),d.addClass(this.toThemeProperty("jqx-input-group-addon")),d.addClass(this.toThemeProperty("jqx-widget")),d.addClass(this.toThemeProperty("jqx-widget-content")),e.addClass(this.toThemeProperty("jqx-fill-state-normal")),e.addClass(this.toThemeProperty("jqx-rc-r")),e.addClass(this.toThemeProperty("jqx-input-group-addon")),e.find("div").addClass(this.toThemeProperty("jqx-icon-search")),this.rtl&&(d.addClass(this.toThemeProperty("jqx-rtl")),d.css("direction","rtl")),this.filter.children().remove(),this.filterbutton=e;for(var f=new Array,g=0;g<b.columns.records.length;g++)b.columns.records[g].datafield&&b.columns.records[g].filterable&&f.push({label:b.columns.records[g].text,value:b.columns.records[g].displayfield});var h=f.length<10,i=a("<div style='position: relative; top: 50%; display: none; margin-right: 4px; margin-left: 4px; float: left;'>"+this.gridlocalization.filtersearchstring+"</div>");this.filter.append(i);var j=a("<div class='filtercolumns' style='position: relative; margin: 4px; float: left;'></div>");this.filter.append(j),j.jqxDropDownList&&j.jqxDropDownList({theme:this.theme,enableBrowserBoundsDetection:!0,autoDropDownHeight:h,rtl:b.rtl,dropDownWidth:220,selectedIndex:0,width:"auto",height:20,source:f,displayMember:"label",valueMember:"value"}),this.filtercolumnsList=j;var k=function(a){b.filterinput.val("");for(var c=0;c<b.dataview.filters.length;c++){var d=b.dataview.filters[c];d.datafield===a&&b.filterinput.val(d.filter.getfilterat(0).filtervalue)}};30!==b.filterHeight&&(b.filtercolumnsList.css("margin-top",b.filterHeight/2-10),c.css("margin-top",b.filterHeight/2-10)),b._updateSimpleFilter=k,this.addHandler(j,"select",function(a){var b=a.args.item.value;k(b)}),"simple"===this.filterMode?(this.filtercolumnsList.hide(),i.show(),i.css("margin-top",-this.filter.height()/2),c.css("float","left")):(this.filtercolumnsList.show(),i.hide());var l=function(){if(!e.hasClass("jqx-fill-state-disabled")){var c=d.val();if(j.jqxDropDownList)var f=j.jqxDropDownList("getSelectedItem");var g=function(c,d,e){var f=new a.jqx.filter,g=b.getcolumntypebydatafield(c),h=b._getfiltertype(g);if("datefilter"==h)var i=f.createfilter(h,d,"EQUAL",null,c.cellsFormat,b.gridlocalization);else if("numericfilter"==h||"booleanfilter"==h){"numericfilter"==h&&(","==b.gridlocalization.decimalseparator&&d.indexOf(b.gridlocalization.decimalseparator)>=0&&(d=d.replace(b.gridlocalization.decimalseparator,".")),d.indexOf(b.gridlocalization.currencysymbol)>=0&&(d=d.replace(b.gridlocalization.currencysymbol,"")),d.indexOf(b.gridlocalization.percentagesymbol)>=0&&(d=d.replace(b.gridlocalization.percentagesymbol,"")));var i=f.createfilter(h,d,"EQUAL",null,c.cellsFormat,b.gridlocalization)}else var i=f.createfilter(h,d,"CONTAINS");return f.operator=e,f.addfilter(0,i),f};if("simple"!==b.filterMode){if(f){var h=f.value,i=b.getColumn(h),k=g(i,c,"and");c.length>0?(b.removeFilter(h),b.addFilter(h,k),b.applyFilters()):(b.removeFilter(h),b.applyFilters()),"advanced"===b.filterMode&&b._updateFilterRow&&b._updateFilterRow(!0)}}else{if(b.clearFilters(!1,!1),c.length>0)for(var l=0;l<b.columns.records.length;l++){var i=b.columns.records[l],k=g(i,c,"or");b.addFilter(i.datafield,k)}b.applyFilters()}0==b.dataview.filters.length?b.filtericon.fadeOut(200):b.filtericon.fadeIn(200)}};if(d.keydown(function(a){if(13===a.keyCode)return l(),a.preventDefault&&a.preventDefault(),!1}),e.click(function(){l()}),this.filterinput=d,this.filter.append(c),"advanced"==this.filterMode){var m=a("<a style='float: left; position: relative; margin: 2px; margin-left: 10px;' href='#'>"+this.gridlocalization.filterstring+"</a>");c.append(m),this.addHandler(m,"click",function(c){var d=function(c){if(b.filterrow)for(var d=0;d<b.filterrow[0].cells.length;d++){var e=b.filterrow[0].cells[d],f=a(e).find("input:first"),g=b.columns.records[d];if(g.filterable){c===!0&&f.val("");for(var h=0;h<b.dataview.filters.length;h++){var i=b.dataview.filters[h];if(i.datafield===g.displayfield){f.val(i.filter.getfilterat(0).filtervalue);break}}}}},e=function(c){if(b.filterrow)for(var d=0,e=0;e<b.filterrow[0].cells.length;e++){var f=b.filterrow[0].cells[e],g=a(f).find("input:first"),h=b.columns.records[e];h.hidden?f.style.visibility="hidden":f.style.visibility="inherit",h.filterable&&(f.style.left=parseInt(d)+parseInt(h.uielement[0].style.left)+"px",f.style.width=6+h.width+"px",g[0]&&(g[0].style.width=h.width-6-22+"px"))}};b._updateFilterRow=d,b._arrangeFilterRow=e;var f=function(){b.filtercolumnsList.jqxDropDownList({disabled:!0}),b.filterinput.addClass(b.toThemeProperty("jqx-fill-state-disabled")),b.filterinput.attr("disabled",!0),b.filterbutton.addClass(b.toThemeProperty("jqx-fill-state-disabled"))};return 0===b.filter.find(".filterrow").length?(b._renderadvancedfilter(),f(),d(),b._arrange(),e()):("none"===b.filter.find(".filterrow").css("display")?(f(),b.filter.find(".filterrow").removeClass("filterrow-hidden"),d(),b.filter.find(".filterrow").show(),e()):(b.filtercolumnsList.jqxDropDownList({disabled:!1}),b.filterinput.removeClass(b.toThemeProperty("jqx-fill-state-disabled")),b.filterinput.attr("disabled",!1),b.filterbutton.removeClass(b.toThemeProperty("jqx-fill-state-disabled")),k(b.filtercolumnsList.jqxDropDownList("getSelectedItem").value),b.filter.find(".filterrow").addClass("filterrow-hidden"),b.filter.find(".filterrow").hide()),b._arrange()),!1})}var n=a("<div style='float: left; width: 16px; height: 16px; position: relative; margin: 3px;'></div>");n.attr("title",b.gridlocalization.filterclearstring),n.addClass(b.toThemeProperty("jqx-icon-close")),c.append(n),n.hide(),b.filtericon=n,n.click(function(){b.clearFilters(),b.filtericon.fadeOut(200)}),b.dataview.filters.length>0&&("advanced"!=b.filterMode?k(b.dataview.filters[0].datafield):b._updateFilterRow&&b._updateFilterRow())},_renderadvancedfilter:function(){var b=this,c=function(){b.clearFilters(!1,!1);for(var c=b.filtercolumnsList.jqxDropDownList("getSelectedItem").value,d=(b.filterinput.val(),0);d<b.filterrow[0].cells.length;d++){var e=b.filterrow[0].cells[d],f=a(e).find("input:first"),g=a(e).find(".filterconditions"),h=b.columns.records[d],i="";if(h.filterable){h.displayfield===c&&b.filterinput.val(f.val());var j=b.getcolumntypebydatafield(h),k=new a.jqx.filter;switch(j){case"number":case"int":case"float":case"decimal":filtertype="numericfilter",conditions=k.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":filtertype="booleanfilter",conditions=k.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":filtertype="datefilter",conditions=k.getoperatorsbyfiltertype("datefilter");break;case"string":filtertype="stringfilter",conditions=k.getoperatorsbyfiltertype("stringfilter")}if(0==g.length)i="stringfilter"===filtertype?conditions[2]:conditions[0];else{var l=g.jqxDropDownList("getSelectedItem");i=l?conditions[l.index]:"stringfilter"===filtertype?conditions[2]:conditions[0]}var m=f.val();if(m.length>0||0==m.length&&"NOT_NULL"==i||0==m.length&&"NOT_EMPTY"==i||0==m.length&&"EMPTY"==i||0==m.length&&"NULL"==i){var n=h.displayfield,o=new a.jqx.filter;"numericfilter"==filtertype&&(","==b.gridlocalization.decimalseparator&&m.indexOf(b.gridlocalization.decimalseparator)>=0&&(m=m.replace(b.gridlocalization.decimalseparator,".")),m.indexOf(b.gridlocalization.currencysymbol)>=0&&(m=m.replace(b.gridlocalization.currencysymbol,"")),m.indexOf(b.gridlocalization.percentagesymbol)>=0&&(m=m.replace(b.gridlocalization.percentagesymbol,"")));var k=o.createfilter(filtertype,m,i,null,h.cellsFormat,b.gridlocalization);o.addfilter(0,k),b.addFilter(n,o)}}}b.dataview.filters.length>0?b.applyFilters():b.clearFilters(),0==b.dataview.filters.length?b.filtericon.fadeOut(200):b.filtericon.fadeIn(200)},d=function(){var d=a("<div style='position: relative;' class='filterrow'></div>").appendTo(b.filter);b.filterrow=d,d[0].cells=new Array,d.height(24),d.width(b.table.width());var e=0,f=b.filtercolumnsList.jqxDropDownList("getSelectedItem").value,g=b.filterinput.val();a.each(b.columns.records,function(){var h=this,i=a("<div></div>").appendTo(d);if(i.css("position","absolute"),i.css("left",e+parseInt(h.uielement[0].style.left)),h.pinned&&(i.css("z-index",b.tableZIndex+b.columns.records.length),i.addClass(b.toThemeProperty("jqx-widget-header"))),d[0].cells.push(i[0]),!this.filterable)return!0;var j=a("<input style='margin-left: 4px; height: 20px; float: left;' role='textbox' type='text'/>").appendTo(i);j.keydown(function(a){13===a.keyCode&&c()}),h.displayfield===f&&j.val(g),j.addClass(b.toThemeProperty("jqx-input")),j.addClass(b.toThemeProperty("jqx-rc-all")),j.addClass(b.toThemeProperty("jqx-widget")),j.addClass(b.toThemeProperty("jqx-widget-content"));var k=a("<div style='cursor: pointer; margin-left: 4px; margin-bottom: 4px; margin-top: 6px; width: 18px; position: relative; margin-top: 4px; float: left;'></div>").appendTo(i);k.append(a("<div style='width: 16px; height: 16px;' class='"+b.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>")),j.focus(function(){b.ensureColumnVisible(h.displayfield),b.filter[0].scrollLeft=0,b.ensureColumnVisible(h.displayfield),setTimeout(function(){b.filter[0].scrollLeft=0,b.ensureColumnVisible(h.displayfield)},10)}),k.click(function(){var c=a("<div class='filterconditions' style='position: relative; margin-top: 1px; float: left;'></div>");c.insertAfter(k),k.remove();var d=b.getcolumntypebydatafield(h),e=b._getfiltersbytype(d);"string"===d?index=2:index=0,c.jqxDropDownList({theme:b.theme,enableBrowserBoundsDetection:!0,renderMode:"simple",arrowSize:0,selectedIndex:index,rtl:b.rtl,dropDownWidth:230,dropDownHeight:180,width:20,height:20,source:e,selectionRenderer:function(){return"<div style='width: 16px; height: 16px;' class='"+b.toThemeProperty("jqx-grid-column-filterbutton")+"'></div>"}}),b.addHandler(c,"close",function(a){j.focus(),setTimeout(function(){j.focus()},10)}),c.removeAttr("tabindex"),c.find("div").removeAttr("tabindex"),c.jqxDropDownList("open")}),j[0].style.width=h.width-6-22+"px"}),a("<div style='clear: both;'></div>").appendTo(d)};d();var e=a("<div style='position:relative;' class='filterrow'></div>").appendTo(b.filter),f=a("<input type='button' style='position: relative; float: left; margin-top: 4px; margin-left: 4px;' value='"+b.gridlocalization.filterapplystring+"'/>").appendTo(e),g=a("<input type='button' style='position: relative; float: left; margin-top: 4px; margin-left: 4px;' value='"+b.gridlocalization.filtercancelstring+"'/>").appendTo(e),h=0;f.css("left",h),g.css("left",h),f.jqxButton({theme:b.theme}),g.jqxButton({theme:b.theme}),g.click(function(){b.filtercolumnsList.jqxDropDownList({disabled:!1}),b.filterinput.removeClass(b.toThemeProperty("jqx-fill-state-disabled")),b.filterinput.attr("disabled",!1),b.filterbutton.removeClass(b.toThemeProperty("jqx-fill-state-disabled")),b.filter.find(".filterrow").addClass("filterrow-hidden"),b.filter.find(".filterrow").hide(),b._arrange()}),f.click(function(){c()}),b._renderhorizontalscroll()},_getfiltertype:function(a){var b="stringfilter";switch(a){case"number":case"int":case"float":case"decimal":b="numericfilter";break;case"boolean":case"bool":b="booleanfilter";break;case"date":case"time":b="datefilter";break;case"string":b="stringfilter"}return b},getcolumntypebydatafield:function(b){var c=this,d="string",e=c.source.datafields||(c.source._source?c.source._source.datafields:null);if(e){var f="";if(a.each(e,function(){if(this.name==b.displayfield)return this.type&&(f=this.type),!1}),f)return f}return d},_getfiltersbytype:function(a){var b=this,c="";switch(a){case"number":case"float":case"int":c=b.gridlocalization.filternumericcomparisonoperators;break;case"date":c=b.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":c=b.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:c=b.gridlocalization.filterstringcomparisonoperators}return c},_getcellvalue:function(a,b){var c=null;return c=b[a.datafield],null!=a.displayfield&&(c=b[a.displayfield]),null==c&&(c=""),c},_renderrows:function(b){if(this.editable&&null!=this.editKey&&b!==!1){this.endroweditbykey(this.editKey)}if(this.treeGrid)return void this.treeGrid._renderrows();if(!this._loading&&!this._updating){this.rendering&&this.rendering();var c=this,d=0;this.table[0].rows=new Array;var e=this.toTP("jqx-cell")+" "+this.toTP("jqx-widget-content");this.rtl&&(e+=" "+this.toTP("jqx-cell-rtl"));var f=this.columns.records.length,g=a.jqx.browser.msie&&a.jqx.browser.version<8;g&&this.host.attr("hideFocus","true");var h=c.groups.length,i=new Array,j=this.source.records;if(j=this.dataview.evaluate(j),this.dataViewRecords=j,"all"==this.dataview.pagesize||!this.pageable||this.serverProcessing){var k=j;if(this.pageable&&this.serverProcessing&&j.length>this.dataview.pagesize)var k=j.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize)}else var k=j.slice(this.dataview.pagesize*this.dataview.pagenum,this.dataview.pagesize*this.dataview.pagenum+this.dataview.pagesize);if(c.groups&&c.groups.length>0){var l=this.pageable?this.dataview.pagesize*this.dataview.pagenum:0,m=function(a){for(var b=0,d=new Array,e=0;e<a.length;e++){var f=a[e];if(0==f.level&&b++,b>c.dataview.pagesize*c.dataview.pagenum&&b<=c.dataview.pagesize*c.dataview.pagenum+c.dataview.pagesize&&d.push(f),b>c.dataview.pagesize*c.dataview.pagenum+c.dataview.pagesize)break}return d};if("root"===this.pageSizeMode){var n=c.source.getGroupedRecords(c.groups,"records","label",null,"data",null,"parent",j,0);c.rootRecordsLength=n.length,n=m(n)}else var n=c.source.getGroupedRecords(c.groups,"records","label",null,"data",null,"parent",k,l);var o=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];if(b.push(d),d.records&&d.records.length>0)for(var e=o(d.records,new Array),f=0;f<e.length;f++)e[f].leaf?b.push(e[f]):b.push(e[f])}return b},i=o.call(c,n,new Array);k=i,this.rowsByKey=new Array;for(var p=0;p<k.length;p++){var q=k[p];this.rowsByKey[q.uid]=q}}var i=k;this.renderedRecords=i;var r=i.length,s=this.tableZIndex,t=0,u=0;if(g)for(var v=0;v<f;v++){var w=this.columns.records[v],x=w.width;x<w.minwidth&&(x=w.minwidth),x>w.maxwidth&&(x=w.maxwidth);var y=a('<table><tr><td role="gridcell" style="max-width: '+x+"px; width:"+x+'px;" class="'+e+'"></td></tr></table>');a(document.body).append(y);var z=y.find("td");t=1+parseInt(z.css("padding-left"))+parseInt(z.css("padding-right")),y.remove();break}for(var A=this.rtl?" "+this.toTP("jqx-grid-table-rtl"):"",B="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+A+"' id='table"+this.element.id+"'><colgroup>",C="<table cellspacing='0' cellpadding='0' class='"+this.toTP("jqx-grid-table")+A+"' id='pinnedtable"+this.element.id+"'><colgroup>",D=0,E=f,v=0;v<f;v++){var w=this.columns.records[v];if(w.hidden)D++,E--;else{var x=w.width;if(x<w.minwidth&&(x=w.minwidth),x>w.maxwidth&&(x=w.maxwidth),x-=t,x<0&&(x=0),g){var F=x;if(v==D&&F++,w.rowDetailscolumn){var F=F+4;C+="<col style='max-width: "+F+"px; width: "+F+"px;'>",B+="<col style='max-width: "+F+"px; width: "+F+"px;'>"}else C+="<col style='max-width: "+F+"px; width: "+F+"px;'>",B+="<col style='max-width: "+F+"px; width: "+F+"px;'>"}else C+="<col style='max-width: "+x+"px; width: "+x+"px;'>",B+="<col style='max-width: "+x+"px; width: "+x+"px;'>";u+=x}}B+="</colgroup>",C+="</colgroup>",this._hiddencolumns=!1;var G=!1;if(this.rowDetails&&this._pinnedTable&&(this._pinnedTable.find("[data-role=details]").detach(),this._table.find("[data-role=details]").detach()),0===r){var H='<tr role="row">',I=this.host.height();if(this.pageable&&(I-=this.pagerHeight,"both"===this.pagerPosition&&(I-=this.pagerHeight)),I-=this.columnsHeight,this.filterable){var J=this.filter.find(".filterrow"),K=this.filter.find(".filterrow-hidden"),L=1;K.length>0&&(L=0),I-=this.filterHeight+this.filterHeight*J.length*L}this.showstatusbar&&(I-=this.statusBarHeight),this.showAggregates&&(I-=this.aggregatesHeight),I<25&&(I=25),"hidden"!=this.hScrollBar[0].style.visibility&&(I-=this.hScrollBar.outerHeight()),("auto"===this.height||null===this.height||this.autoheight)&&(I=300);var y='<td colspan="'+this.columns.records.length+'" role="gridcell" style="border: none; min-height: '+I+"px; height: "+I+"px; max-width:"+u+"px; width:"+u+"px;",e=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");e+=" "+this.toTP("jqx-center-align"),y+='" class="'+e+'">',y+=this.gridlocalization.emptydatastring,y+="</td>",H+=y,B+=H,C+=H,this.table[0].style.width=u+2+"px",d=u}for(var M=this.getRows(),N=new Array,p=0;p<i.length;p++){var q=i[p],O=q.uid;void 0===q.uid&&(q.uid=this.dataview.generatekey());var H='<tr data-key="'+O+'" role="row" id="row'+p+this.element.id+'">',P='<tr data-key="'+O+'" role="row" id="row'+p+this.element.id+'">';if(h>0&&q.level<h)var H='<tr data-role="row-group" data-key="'+O+'" role="row" id="row'+p+this.element.id+'">',P='<tr data-role="row-group" data-key="'+O+'" role="row" id="row'+p+this.element.id+'">';for(var Q=0,R=0,v=0;v<f;v++){var S=this.columns.records[v];(S.pinned||this.rtl&&this.columns.records[f-1].pinned)&&(G=!0);var x=S.width;x<S.minwidth&&(x=S.minwidth),x>S.maxwidth&&(x=S.maxwidth),x-=t,x<0&&(x=0);var e=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");S.pinned&&(e+=" "+this.toTP("jqx-grid-cell-pinned")),this.sortcolumn===S.displayfield&&(e+=" "+this.toTP("jqx-grid-cell-sort")),this.altRows&&p%2!=0&&(e+=" "+this.toTP("jqx-grid-cell-alt")),this.rtl&&(e+=" "+this.toTP("jqx-cell-rtl"));var T="";if(h>0&&q.level<h)if(g)e+=" "+this.toTP("jqx-grid-cell-pinned");else{e+=" "+this.toTP("jqx-grid-cell-pinned"),T+=' colspan="'+f+'"';for(var F=0,U=0;U<f;U++){var V=c.columns.records[U],W=V.width;W<V.minwidth&&(x=V.minwidth),W>V.maxwidth&&(x=V.maxwidth),W-=t,W<0&&(W=0),V.hidden||(F+=W)}x=F}var y='<td role="gridcell" '+T+' style="max-width:'+x+"px; width:"+x+"px;",X='<td role="gridcell" '+T+' style="pointer-events: none; visibility: hidden; border-color: transparent; max-width:'+x+"px; width:"+x+"px;";v==f-1&&1==f&&(y+="border-right-color: transparent;",X+="border-right-color: transparent;");var Y=!1;h>0&&q.level<h&&(Y=!0),Y?this.rtl&&(e+=" "+this.toTP("jqx-right-align")):"left"!=S.cellsalign&&(e+="right"===S.cellsalign?" "+this.toTP("jqx-right-align"):" "+this.toTP("jqx-center-align")),this.rowinfo[q.uid]&&(this.rowinfo[q.uid].selected&&!S.rowDetailscolumn&&this.editKey!==q.uid&&"none"!==this.selectionMode&&(e+=" "+this.toTP("jqx-grid-cell-selected"),e+=" "+this.toTP("jqx-fill-state-pressed")),this.rowinfo[q.uid].locked&&(e+=" "+this.toTP("jqx-grid-cell-locked"))),S.hidden?Y||(y+="display: none;",X+="display: none;",this._hiddencolumns=!0):(Q+=t+x,0==R&&(y+="border-left-width: 0px;",X+="border-left-width: 0px;"),R++),h>0&&g&&Y&&v>=h&&(y+="font-size: 1px; border-color: transparent; color: transparent;",X+="font-size: 1px; border-color: transparent; color: transparent;"),S.pinned&&(y+="pointer-events: auto;",X+="pointer-events: auto;"),!Y&&S.rowDetailscolumn&&(this.rowinfo[q.uid]?this.rowinfo[q.uid].nodetails||(this.rowinfo[q.uid].expanded?(e+=this.rtl?" "+this.toTP("jqx-grid-group-expand-rtl"):" "+this.toTP("jqx-grid-group-expand"),e+=" "+this.toTP("jqx-icon-arrow-down")):this.rtl?(e+=" "+this.toTP("jqx-grid-group-collapse-rtl"),e+=" "+this.toTP("jqx-icon-arrow-left")):(e+=" "+this.toTP("jqx-grid-group-collapse"),e+=" "+this.toTP("jqx-icon-arrow-right"))):this.rtl?(e+=" "+this.toTP("jqx-grid-group-collapse-rtl"),e+=" "+this.toTP("jqx-icon-arrow-left")):(e+=" "+this.toTP("jqx-grid-group-collapse"),e+=" "+this.toTP("jqx-icon-arrow-right"))),(!this.autoRowHeight||this.autoRowHeight&&!S.autoCellHeight)&&(e+=" "+this.toTP("jqx-grid-cell-nowrap "));var Z=c._getcellvalue(S,q),$=S.cellsFormat;if(h>0&&q.level<h&&(Z=q.label,$=c.getColumn(c.groups[q.level]).cellsFormat),""!=$&&a.jqx.dataFormat&&(a.jqx.dataFormat.isDate(Z)?Z=a.jqx.dataFormat.formatdate(Z,$,c.gridlocalization):(a.jqx.dataFormat.isNumber(Z)||!isNaN(parseFloat(Z))&&isFinite(Z))&&(Z=a.jqx.dataFormat.formatnumber(Z,$,c.gridlocalization))),
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
11 Y)this.groupsRenderer&&(Z=this.groupsRenderer(Z,q,q.level));else{if(""!=S.cellclassname&&S.cellclassname)if("string"==typeof S.cellclassname)e+=" "+S.cellclassname;else{var _=S.cellclassname(p,S.datafield,Z,q);_&&(e+=" "+_)}if(""!=S.cellsRenderer&&S.cellsRenderer){var aa=M.indexOf(q);if(aa===-1&&q.originalRecord)var aa=M.indexOf(q.originalRecord);Z=S.cellsRenderer(aa,S.datafield,Z,q),Z&&(Z.indexOf("<jqx-")>=0||Z.indexOf(" ng-")>=0)&&N.push({rowKey:q.uid,row:aa,column:S.datafield,value:Z,columnIndex:v})}}if(y+='" class="'+e+'">',y+=Z,y+="</td>",X+='" class="'+e+'">',X+=Z,X+="</td>",S.pinned?(P+=y,H+=y):(H+=y,G&&(P+=X)),h>0&&!g&&q.level<h)break}if(0==d&&(this.table[0].style.width=Q+2+"px",d=Q),H+="</tr>",P+="</tr>",B+=H,C+=P,this.rowinfo[q.uid]?("group"in this.rowinfo[q.uid]||(this.rowinfo[q.uid].group=Y),"row"in this.rowinfo[q.uid]||(this.rowinfo[q.uid].row=q),"details"in this.rowinfo[q.uid]||(this.rowinfo[q.uid].details=null),"detailsHeight"in this.rowinfo[q.uid]||(this.rowinfo[q.uid].detailsHeight=200),"initialized"in this.rowinfo[q.uid]||(this.rowinfo[q.uid].initialized=!1),"expanded"in this.rowinfo[q.uid]||(this.rowinfo[q.uid].expanded=!1)):this.rowinfo[q.uid]={group:Y,row:q,details:null,detailsHeight:200,initialized:!1,expanded:!1},this.serverProcessing&&(this.rowinfo[q.uid].row=q),this.rowDetails){var ba=this.rowinfo[q.uid].detailsHeight;if(this.rowinfo[q.uid])if(this.rowinfo[q.uid].expanded)var ca='<tr data-role="row-details"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+ba+"px; max-height: "+ba+"px; height: "+ba+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"';else var ca='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+ba+"px; max-height: "+ba+"px; height: "+ba+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"';else var ca='<tr data-role="row-details" style="display: none;"><td valign="top" style="pointer-events: auto; overflow: hidden; min-height: '+ba+"px; max-height: "+ba+"px; height: "+ba+'px; overflow: hidden; border-left: none; border-right: none;" colspan="'+this.columns.records.length+'" role="gridcell"';var e=this.toTP("jqx-cell")+" "+this.toTP("jqx-grid-cell")+" "+this.toTP("jqx-item");e+=" "+this.toTP("jqx-details"),e+=" "+this.toTP("jqx-reset"),ca+='" class="'+e+'"><div style="pointer-events: auto; overflow: hidden; min-height: '+ba+"px; max-height: "+ba+"px; height: "+ba+'px;"><div data-role="details"></div></div></td></tr>',B+=ca,C+=ca}}if(B+="</table>",C+="</table>",G){c.WinJS?MSApp.execUnsafeLocalFunction(function(){c.table.html(C+B)}):c.table[0].innerHTML=C+B;var da=this.table.find("#table"+this.element.id),ea=this.table.find("#pinnedtable"+this.element.id);if(ea.css("float","left"),ea.css("pointer-events","none"),da.css("float","left"),ea[0].style.position="absolute",da[0].style.position="relative",da[0].style.zIndex=s-10,ea[0].style.zIndex=s+10,this._table=da,this._table[0].style.left="0px",this._pinnedTable=ea,this._pinnedTable[0].style.left="0px",this._pinnedTable[0].style.width=d+"px",this._table[0].style.width=d+"px",this.rtl&&d>parseInt(this.element.style.width)&&this._haspinned&&(this._pinnedTable[0].style.left=3-d+parseInt(this.element.style.width)+"px"),this.rowDetails)for(var p=0;p<r;p++){var q=i[p],O=q.uid;if(this.rowinfo[O].details){var fa=a(this._table.children()[1]).children("[data-key="+O+"]"),ga=a(this._pinnedTable.children()[1]).children("[data-key="+O+"]");if(fa){var ha=ga.next(),ia=a(a(ha).children().children());ia.children().detach(),ia.append(this.rowinfo[q.uid].details)}}}}else{c.WinJS?MSApp.execUnsafeLocalFunction(function(){c.table.html(B)}):c.table[0].innerHTML=B;var U=this.table.find("#table"+this.element.id);this._table=U,a.jqx.browser.msie&&a.jqx.browser.version<10&&(this._table[0].style.width=d+"px"),0===r&&(this._table[0].style.width=2+d+"px")}if(0===r&&(this._table[0].style.tableLayout="auto",this._pinnedTable&&(this._pinnedTable[0].style.tableLayout="auto")),N&&N.length>0){this._table[0].rows;a.each(N,function(){var b=(this.row,this.rowKey),d=(this.column,this.columnIndex),e=c._getuirow(b);if(e){var f=e[0].cells[d];a.jqx.angularCompile&&a.jqx.angularCompile(f,"<div>"+f.innerHTML+"</div>")}})}this.rendered&&this.rendered()}},getcolumnindex:function(a){var b=this.getColumn(a),c=this.columns.records.indexOf(b);return c},setcolumnindex:function(b,c,d){var e=this.getColumn(b);if(!(e.pinned||e.hidden||e.checkboxcolumn||e.grouped)){var f=this.columns.records.indexOf(e);this.columns.records.splice(f,1),this.columns.records.splice(c,0,e);var g=0,h=this.headerZIndex;this.columnsrow.children().detach();var i=this.toThemeProperty("jqx-grid-cell");i+=" "+this.toThemeProperty("jqx-grid-cell-pinned"),i+=" "+this.toThemeProperty("jqx-item");var j=this;if(void 0!=j.filterrow){a(j.filterrow.children()[0])}this.columnsrow[0].cells=[];var k=!1;if(a.each(this.columns.records,function(a,b){var c=this.uielement;j.columnsrow.append(c),j.rtl?c.css("z-index",h++):c.css("z-index",h--);var d=j.rtl?250+h+1:250+h-1;this.pinned&&c.css("z-index",d);var e=this.width;c.css("left",g),j.columnsrow[0].cells[j.columnsrow[0].cells.length]=c[0],this.hidden&&(k=!0),this.hidden&&this.hideable||(g+=e)}),this.groupable){var l=this.groups.length;l>0&&f-l>=0&&(f-=l,c-=l)}this.rowDetails&&f-1>=0&&(f--,c--),"checkbox"==this.selectionMode&&f-1>=0&&(f--,c--);var e=this._columns[f];this._columns.splice(f,1),this._columns.splice(c,0,e),this.resize(),this._rendercolumnGroups(),this._raiseEvent("columnReordered",{dataField:e.datafield,oldIndex:f,newIndex:c})}},_pinnedColumnsLength:function(){var b=0;return a.each(this.columns.records,function(){this.pinned&&b++,this.grouped&&b++}),this.rowDetails&&b++,"checkbox"==this.selectionMode&&b++,b},_handlecolumnsReorder:function(){var b=this,c=-1,d=!1;if(b.columnsReorder){var e="mousemove.reorder"+this.element.id,f="mousedown.reorder"+this.element.id,g="mouseup.reorder"+this.element.id,h=!1;this.isTouchDevice()&&this.touchmode!==!0&&(h=!0,e=a.jqx.mobile.getTouchEventName("touchmove")+".reorder"+this.element.id,f=a.jqx.mobile.getTouchEventName("touchstart")+".reorder"+this.element.id,g=a.jqx.mobile.getTouchEventName("touchend")+".reorder"+this.element.id),this.removeHandler(a(document),e),this.addHandler(a(document),e,function(e){if(b.resizing)return!0;if(null!=b.reordercolumn){var f=parseInt(e.pageX),g=parseInt(e.pageY);if(h){var i=b.getTouches(e),j=i[0];void 0!=j&&(f=parseInt(j.pageX),g=parseInt(j.pageY))}var k=b.host.coord(),l=parseInt(k.left),m=parseInt(k.top);void 0!=b.dragmousedownoffset&&null!=b.dragmousedownoffset||(b.dragmousedownoffset={left:0,top:0});var n=parseInt(f)-parseInt(b.dragmousedownoffset.left),o=parseInt(g)-parseInt(b.dragmousedownoffset.top);if(b.reordercolumn.css({left:n+"px",top:o+"px"}),d=!1,f>=l&&f<=l+b.host.width()&&g>=m&&g<=m+b.host.height()&&(d=!0),c=-1,d){b.reordercolumnicon.removeClass(b.toThemeProperty("jqx-grid-dragcancel-icon")),b.reordercolumnicon.addClass(b.toThemeProperty("jqx-grid-drag-icon"));var p=b.columnsheader.coord(),q=p.top+b.columnsheader.height();if(null!=b.columnsdropline)if(g>=p.top&&g<=q){if(c=b._handlereordercolumnsdroplines(f),b.columnGroups&&c!=-1){var r=0;r+=b._pinnedColumnsLength();var s=c.index;if(s>=r){var t=b.columns.records[s];if(void 0!=t){var u=b.columns.records.indexOf(b.getColumn(t.datafield));if(null==t.datafield)var u=b.columns.records.indexOf(b.getcolumnbytext(t.text));var v=a.data(b.reordercolumn[0],"reorderrecord"),w=b.columns.records.indexOf(b.getColumn(v)),x=t;if(w<u&&"before"==c.position&&(x=b.columns.records[u-1]),x.columngroup!=b.getColumn(v).columngroup)return void b.columnsdropline.hide()}}}}else b.columnsdropline.fadeOut("slow")}else null!=b.columnsdropline&&b.columnsdropline.fadeOut("slow"),b.reordercolumnicon.removeClass(b.toThemeProperty("jqx-grid-drag-icon")),b.reordercolumnicon.addClass(b.toThemeProperty("jqx-grid-dragcancel-icon"));if(e.preventDefault&&(e.preventDefault(),e.stopPropagation()),h)return e.preventDefault(),e.stopPropagation(),!1}}),this.columnsbounds=new Array,this.removeHandler(a(document),f),this.addHandler(a(document),f,function(c){if(b.resizing)return!0;b.columnsbounds=new Array;var d=b.host.coord().left,e=b.host.coord().top;b.showtoolbar&&(e+=b.toolbarHeight),b.filter&&(e+=b.filter.height());var f=0;a.each(b.columns.records,function(c){var g=this;if(g.hidden)return b.columnsbounds[b.columnsbounds.length]={top:e,column:g,left:d,width:0,height:2},!0;0==f&&(d=b.rtl?parseInt(b.host.coord().left)-b.hScrollInstance.max+b.hScrollInstance.value:parseInt(b.host.coord().left)-b.hScrollInstance.value),f++;var h=2+b.columnsHeight;b.columnshierarchy&&(e=a(g.uielement).coord().top,h=a(g.uielement).height()),b.columnsbounds[b.columnsbounds.length]={top:e,column:g,left:d,width:g.width,height:h},d+=g.width})}),this.removeHandler(a(document),g),this.addHandler(a(document),g,function(e){if(b.resizing)return!0;b.__drag=!1,a(document.body).removeClass("jqx-disableselect");var f=parseInt(e.pageX),g=parseInt(e.pageY);if(h){var i=b.getTouches(e),j=i[0];f=parseInt(j.pageX),g=parseInt(j.pageY)}var k=b.host.coord(),l=(parseInt(k.left),parseInt(k.top));if(b.showtoolbar&&(l+=b.toolbarHeight),b.columndragstarted=!1,b.dragmousedown=null,null!=b.reordercolumn){var m=a.data(b.reordercolumn[0],"reorderrecord"),n=b.columns.records.indexOf(b.getColumn(m));b.reordercolumn.remove(),b.reordercolumn=null;var o=0;if(o+=b._pinnedColumnsLength(),null!=m){if(d&&c!=-1){var p=c.index;if(p>=o){var q=b.columns.records[p];if(void 0!=q){var r=b.columns.records.indexOf(b.getColumn(q.datafield));if(null==q.datafield)var r=b.columns.records.indexOf(b.getcolumnbytext(q.text));if(b.columnGroups){var s=q;if(n<r&&"before"==c.position&&(s=b.columns.records[r-1]),s.columngroup!=b.getColumn(m).columngroup)return void(null!=b.columnsdropline&&(b.columnsdropline.remove(),b.columnsdropline=null))}n<r?"before"==c.position?b.setcolumnindex(m,r-1):b.setcolumnindex(m,r):n>r&&b.setcolumnindex(m,r)}}}null!=b.columnsdropline&&(b.columnsdropline.remove(),b.columnsdropline=null)}}})}},getcolumnbytext:function(b){var c=null;return this.columns.records&&a.each(this.columns.records,function(){if(this.text==b)return c=this,!1}),c},_handlereordercolumnsdroplines:function(b){var c=this,d=-1,e=c._pinnedColumnsLength(),f=parseInt(c.host.coord().left),g=f+c.host.width(),h="hidden"!=c.vScrollBar.css("visibility")?19:0;return c.rtl||(h=0),a.each(c.columnsbounds,function(a){if(a>=e){if(0==this.width)return!0;if(b<=this.left+this.width/2)return b>g?(c.columnsdropline.fadeOut(),!1):(c.columnsdropline.css("left",h+parseInt(this.left)+"px"),c.columnsdropline.css("top",parseInt(this.top)+"px"),c.columnsdropline.height(this.height),c.columnsdropline.fadeIn("slow"),d={index:a,position:"before"},!1);if(b>=this.left+this.width/2){if(this.left+this.width>g)return c.columnsdropline.fadeOut(),!1;c.columnsdropline.css("left",h+1+this.left+this.width),c.columnsdropline.css("top",this.top),c.columnsdropline.height(this.height),c.columnsdropline.fadeIn("slow"),d={index:a,position:"after"}}}}),d},_createreordercolumn:function(b,c,d){var e=this,f=c;e.reordercolumn&&e.reordercolumn.remove(),e.columnsdropline&&e.columnsdropline.remove(),e.reordercolumn=a("<div></div>");var g=b.clone();e.reordercolumn.css("z-index",999999),g.css("border-width","1px"),g.css("opacity","0.4");var h=a(g.find("."+e.toThemeProperty("jqx-grid-column-menubutton")));h.length>0&&h.css("display","none");var i=a(g.find(".jqx-icon-close"));i.length>0&&i.css("display","none"),e.reordercolumnicon=a('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>'),e.reordercolumnicon.addClass(e.toThemeProperty("jqx-grid-drag-icon")),e.reordercolumn.css("float","left"),e.reordercolumn.css("position","absolute");e.host.coord();g.width(b.width()+16),e.reordercolumn.append(g),e.reordercolumn.height(b.height()),e.reordercolumn.width(g.width()),e.reordercolumn.append(e.reordercolumnicon),a(document.body).append(e.reordercolumn),g.css("margin-left",0),g.css("left",0),g.css("top",0),e.reordercolumn.css("left",f.left+e.dragmousedown.left),e.reordercolumn.css("top",f.top+e.dragmousedown.top),void 0!=d&&d&&(e.columnsdropline=a('<div style="z-index: 9999; display: none; position: absolute;"></div>'),e.columnsdropline.width(2),e.columnsdropline.addClass(e.toThemeProperty("jqx-grid-group-drag-line")),a(document.body).append(e.columnsdropline))},_handlecolumnsdragreorder:function(b,c){this.reordercolumn&&this.reordercolumn.remove(),this.columnsdropline&&this.columnsdropline.remove(),this.dragmousedown=null,this.dragmousedownoffset=null,this.columndragstarted=!1,this.reordercolumn=null;var d,e=this,f=!1;this.isTouchDevice()&&this.touchmode!==!0&&(f=!0);var g="mousedown.drag",d="mousemove.drag";f?(g=a.jqx.mobile.getTouchEventName("touchstart")+".drag",d=a.jqx.mobile.getTouchEventName("touchmove")+".drag"):this.addHandler(c,"dragstart",function(a){return!1}),this.addHandler(c,g,function(c){if(0==b.draggable)return!0;if(e.resizing)return!0;e.__drag=!0;var d=c.pageX,g=c.pageY;if(f){var h=e.getTouches(c),i=h[0];d=i.pageX,g=i.pageY}e.dragmousedown={left:d,top:g};var j=a(c.target).coord();return e.dragmousedownoffset={left:parseInt(d)-parseInt(j.left),top:parseInt(g-j.top)},c.preventDefault&&c.preventDefault(),!0}),this.addHandler(c,d,function(g){if(!b.draggable)return!0;if(void 0==b.datafield)return!0;if(b.pinned)return!0;if(e.resizing)return!0;if(e.dragmousedown){var h=g.pageX,i=g.pageY;if(f){var j=e.getTouches(g),k=j[0];void 0!=k&&(h=k.pageX,i=k.pageY)}if(d={left:h,top:i},!e.columndragstarted&&null==e.reordercolumn){var l=Math.abs(d.left-e.dragmousedown.left),m=Math.abs(d.top-e.dragmousedown.top);(l>3||m>3)&&(e._createreordercolumn(c,d,!0),a(document.body).addClass("jqx-disableselect"),a.data(e.reordercolumn[0],"reorderrecord",b.datafield))}}})},getTouches:function(b){return a.jqx.mobile.getTouches(b)},_handlecolumnsResize:function(){var b=this;if(this.columnsResize){var c=!1;b.isTouchDevice()&&(c=!0);var d="mousemove.resize"+this.element.id,e="mousedown.resize"+this.element.id,f="mouseup.resize"+this.element.id;if(c)var d=a.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id,e=a.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id,f=a.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id;this.removeHandler(a(document),d),this.addHandler(a(document),d,function(d){if(null!=b.resizablecolumn&&!b.disabled&&b.resizing&&null!=b.resizeline){var e=(b.resizablecolumn.columnelement,b.host.coord()),f=parseInt(b.resizestartline.coord().left),g=f-b._startcolumnwidth,h=b.resizablecolumn.column.minwidth;h="auto"==h?0:parseInt(h);var i=b.resizablecolumn.column.maxwidth;i="auto"==i?0:parseInt(i);var j=d.pageX;if(c){var k=a.jqx.mobile.getTouches(d),l=k[0];j=l.pageX}g+=h;var m=i>0?f+i:0,n=0==i||b._startcolumnwidth+j-f<i;if(b.rtl)var n=!0;if(n)if(b.rtl){if(j>=e.left&&j<=e.left+b.host.width()&&(b.resizeline.css("left",j),c))return!1}else if(j>=e.left&&j>=g&&(0!=m&&d.pageX<m?b.resizeline.css("left",j):0==m&&b.resizeline.css("left",j),c))return!1}if(!c&&null!=b.resizablecolumn)return!1}),this.removeHandler(a(document),e),this.addHandler(a(document),e,function(c){if(null!=b.resizablecolumn&&!b.disabled){var d=b.resizablecolumn.columnelement;if(d.coord().top+d.height()+5<c.pageY)return void(b.resizablecolumn=null);if(d.coord().top-5>c.pageY)return void(b.resizablecolumn=null);b._startcolumnwidth=b.resizablecolumn.column.width,b.resizablecolumn.column._width=null,a(document.body).addClass("jqx-disableselect"),a(document.body).addClass("jqx-position-reset"),b._mouseDownResize=new Date,b.resizing=!0,b._resizecolumn=b.resizablecolumn.column,b.resizeline=b.resizeline||a('<div style="position: absolute;"></div>'),b.resizestartline=b.resizestartline||a('<div style="position: absolute;"></div>'),b.resizebackground=b.resizebackground||a('<div style="position: absolute; left: 0; top: 0; background: #000;"></div>'),b.resizebackground.css("opacity",.01),b.resizebackground.css("cursor","col-resize"),b.resizeline.css("cursor","col-resize"),b.resizestartline.css("cursor","col-resize"),b.resizeline.addClass(b.toThemeProperty("jqx-grid-column-resizeline")),b.resizestartline.addClass(b.toThemeProperty("jqx-grid-column-resizestartline")),a(document.body).append(b.resizeline),a(document.body).append(b.resizestartline),a(document.body).append(b.resizebackground);var e=b.resizablecolumn.columnelement.coord();b.resizebackground.css("left",b.host.coord().left),b.resizebackground.css("top",b.host.coord().top),b.resizebackground.width(b.host.width()),b.resizebackground.height(b.host.height()),b.resizebackground.css("z-index",999999999);var f=function(a){b.rtl?a.css("left",parseInt(e.left)):a.css("left",parseInt(e.left)+b._startcolumnwidth);var c=0,d=b.showtoolbar?b.toolbarHeight:0;c+=d;var f=b.showstatusbar?b.statusBarHeight:0;c+=f;var g=b.showAggregates?b.aggregatesHeight:0;c+=g,b.pageable&&"bottom"!=b.pagerPosition&&(c+=b.pagerHeight),b.filterable&&(c+=b.filter.height());var h=0;b.pageable&&"top"!=b.pagerPosition&&(h=b.pagerHeight);var i="hidden"!=b.hScrollBar.css("visibility")?b.scrollBarSize:0;a.css("top",parseInt(e.top)),a.css("z-index",9999999999),b.columnGroups?a.height(b.host.height()+b.resizablecolumn.columnelement.height()-h-c-i-b.columnGroupslevel*b.columnsHeight):a.height(b.host.height()-h-c-i),a.show("fast")};f(b.resizeline),f(b.resizestartline),b.dragmousedown=null}});var g=function(){if(a(document.body).removeClass("jqx-disableselect"),a(document.body).removeClass("jqx-position-reset"),b.resizing){b._mouseUpResize=new Date;var c=b._mouseUpResize-b._mouseDownResize;if(c<200)return b.resizing=!1,void(null!=b._resizecolumn&&null!=b.resizeline&&"block"==b.resizeline.css("display")&&(b._resizecolumn=null,b.resizeline.hide(),b.resizestartline.hide(),b.resizebackground.remove()));if(b.resizing=!1,!b.disabled){var d=b.host.width();if("hidden"!=b.vScrollBar[0].style.visibility&&(d-=20),d<0&&(d=0),null!=b._resizecolumn&&null!=b.resizeline&&"block"==b.resizeline.css("display")){var e=parseInt(b.resizeline.css("left")),f=parseInt(b.resizestartline.css("left")),g=b._startcolumnwidth+e-f;if(b.rtl)var g=b._startcolumnwidth-e+f;var h=b._resizecolumn.width;b._resizecolumn.width=g,void 0!=b._resizecolumn._percentagewidth&&(b._resizecolumn._percentagewidth=g/d*100);for(var i=0;i<b._columns.length;i++)if(b._columns[i].datafield===b._resizecolumn.datafield){b._columns[i].width=b._resizecolumn.width;break}var j=(b.hScrollBar[0].style.visibility,b._resizecolumn.displayfield);b._updatecolumnwidths(),b.refresh(),b._resizecolumn=null,b.resizeline.hide(),b.resizestartline.hide(),b.resizebackground.remove(),b.resizablecolumn=null,b._raiseEvent("columnResized",{dataField:j,oldWidth:h,newWidth:g})}else b.resizablecolumn=null}}};try{if(""!=document.referrer||window.frameElement){var h=null;if(null!=window.top&&window.top!=window.self&&window.parent&&document.referrer&&(h=document.referrer),h&&h.indexOf(document.location.host)!=-1){var i=function(a){g()};window.top.document.addEventListener?window.top.document.addEventListener("mouseup",i,!1):window.top.document.attachEvent&&window.top.document.attachEvent("onmouseup",i)}}}catch(a){}this.removeHandler(a(document),f),this.addHandler(a(document),f,function(c){var d=a.data(document.body,"contextmenu"+b.element.id);return!(null==d||!b.autoshowcolumnsmenubutton)||void g()})}},_updatecolumnwidths:function(){var b=this.host.width(),c=b;"hidden"!==this.vScrollBar.css("visibility")&&this.scrollBarSize>0&&(b-=parseInt(this.scrollBarSize)+6,c=b);var d="";if(void 0!=this.columns&&void 0!=this.columns.records){var e=this,f=!1;a.each(this.columns.records,function(a,f){if(!this.hidden)if(this.width.toString().indexOf("%")!=-1||void 0!=this._percentagewidth){var f=0,g="hidden"==e.vScrollBar[0].style.visibility?0:e.scrollBarSize+5;0==e.scrollBarSize&&(g=0),f=parseFloat(this.width)*c/100,void 0!=this._percentagewidth&&(f=parseFloat(this._percentagewidth)*c/100),f<this.minwidth&&"auto"!=this.minwidth&&(f=this.minwidth),f>this.maxwidth&&"auto"!=this.maxwidth&&(f=this.maxwidth),b-=Math.round(f)}else"auto"==this.width||this._width?d+=this.text:b-=this.width});var g=this.columnsheader.find("#columntable"+this.element.id);if(0!=g.length){var h=0,i=g.find(".jqx-grid-column-header"),j=0;a.each(this.columns.records,function(g,k){var l=a(i[g]),m=!1,n=this.width,o=this.width;if(this.width.toString().indexOf("%")==-1&&void 0==this._percentagewidth||(n=void 0!=this._percentagewidth?parseFloat(this._percentagewidth)*c/100:parseFloat(this.width)*c/100,n=Math.round(n),m=!0),"auto"==this.width||this._width||m)if(m)n<this.minwidth&&"auto"!=this.minwidth&&(n=this.minwidth,this.width=n),n>this.maxwidth&&"auto"!=this.maxwidth&&(n=this.maxwidth,this.width=n),parseInt(l[0].style.width)!=n&&(l.width(n),this.width=n);else{var p=Math.floor(b*(this.text.length/d.length));isNaN(p)&&(p=this.minwidth);var q=b*(this.text.length/d.length)-p;h+=q,h>=1&&(h-=1,p++),h>=.5&&g==e.columns.records.length-1&&p++,p<0&&($element=a("<span>"+this.text+"</span>"),a(document.body).append($element),p=10+$element.width(),$element.remove()),p<this.minwidth&&(p=this.minwidth),p>this.maxwidth&&(p=this.maxwidth),this._width="auto",this.width=p,l.width(this.width)}else parseInt(l[0].style.width)!=this.width&&l.width(this.width);parseInt(l[0].style.left)!=j&&l.css("left",j),this.hidden||(j+=this.width),this._requirewidthupdate=!0,o!==this.width&&(f=!0)}),this.columnsheader.width(2+j),g.width(this.columnsheader.width()),this._resizecolumnGroups(),f&&this._renderrows(),this.showAggregates&&this._refreshcolumnsaggregates()}}},_rendercolumnheaders:function(){var b=this;if(!this._updating){this._columnsbydatafield=new Array,this.columnsheader.find("#columntable"+this.element.id).remove();var c=a('<div id="columntable'+this.element.id+'" style="height: 100%; position: relative;"></div>');c[0].cells=new Array;var d=0,e="",f=this.host.width(),g=f,h=new Array,i=new Array;if(a.each(this.columns.records,function(a,c){if(!this.hidden)if("auto"==this.width||this._width)e+=this.text;else if(this.width<this.minwidth&&"auto"!=this.minwidth)f-=this.minwidth;else if(this.width>this.maxwidth&&"auto"!=this.maxwidth)f-=this.maxwidth;else if(this.width.toString().indexOf("%")!=-1){var c=0;c=parseFloat(this.width)*g/100,c<this.minwidth&&"auto"!=this.minwidth&&(c=this.minwidth),c>this.maxwidth&&"auto"!=this.maxwidth&&(c=this.maxwidth),f-=c}else"string"==typeof this.width&&(this.width=parseInt(this.width)),f-=this.width;this.pinned||this.grouped||this.checkboxcolumn?(b._haspinned&&(this.pinned=!0),h[h.length]=this):i[i.length]=this}),this.rtl){var j=0;h.reverse();for(var k=this.columns.records.length-1;k>=this.columns.records.length-h.length;k--)this.columns.replace(k,h[j++]);for(var l=0;l<i.length;l++)this.columns.replace(l,i[l])}else{for(var k=0;k<h.length;k++)this.columns.replace(k,h[k]);for(var l=0;l<i.length;l++)this.columns.replace(h.length+l,i[l])}var m=this.headerZIndex,n=b.columnsHeight,o=function(a,c){var d=b.columnGroupslevel*b.columnsHeight;return d-=c.level*b.columnsHeight},p=0;a.each(this.columns.records,function(h,i){this.height=b.columnsHeight,b.columnGroups&&b.columnGroups.length&&(this.height=o(this.datafield,this),n=this.height);var j=b.toTP("jqx-grid-column-header")+" "+b.toTP("jqx-widget-header");b.rtl&&(j+=" "+b.toTP("jqx-grid-column-header-rtl")),b.enableBrowserSelection||(j+=" "+b.toTP("jqx-disableselect"));var k=self.rtl?250+m+1:250+m-1,l=b.rtl?m++:m--,q=a('<div role="columnheader" style="z-index: '+l+';position: absolute; height: 100%;" class="'+j+'"><div style="height: 100%; width: 100%;"></div></div>');b.rtl&&0===h&&(q[0].style.borderLeftColor="transparent"),b.columnGroups&&(q[0].style.height=n+"px",q[0].style.bottom="0px",this.pinned&&(q[0].style.zIndex=k)),this.uielement=q,this.element=q,""!=this.classname&&this.classname&&q.addClass(this.classname);var r=this.width,s=!1;if(null===this.width&&(this.width="auto"),this.width.toString().indexOf("%")==-1&&void 0==this._percentagewidth||(r=void 0!=this._percentagewidth?parseFloat(this._percentagewidth)*g/100:parseFloat(this.width)*g/100,r=Math.round(r),s=!0),"auto"==this.width||this._width||s)if(s)r<this.minwidth&&"auto"!=this.minwidth&&(r=this.minwidth),r>this.maxwidth&&"auto"!=this.maxwidth&&(r=this.maxwidth),void 0!=this._percentagewidth&&this.width.toString().indexOf("%")==-1||(this._percentagewidth=this.width),q.width(r),this.width=r;else{var t=Math.floor(f*(this.text.length/e.length)),u=f*(this.text.length/e.length)-t;p+=u,p>=1&&(p-=1,t++),p>=.5&&h==b.columns.records.length-1&&t++,isNaN(t)&&(t=this.minwidth),t<0&&($element=a("<span>"+this.text+"</span>"),a(document.body).append($element),t=10+$element.width(),$element.remove()),t<this.minwidth&&(t=this.minwidth),t>this.maxwidth&&(t=this.maxwidth),this._width="auto",this.width=parseInt(t),r=this.width,q.width(this.width)}else r<this.minwidth&&"auto"!=this.minwidth&&(r=this.minwidth),r>this.maxwidth&&"auto"!=this.maxwidth&&(r=this.maxwidth),q[0].style.width=parseInt(r)+"px";this.hidden&&q.css("display","none");var v=a(q.children()[0]);c[0].cells[h]=q[0];var w=!1,x=!1,y=null!=this.renderer?this.renderer(this.text,this.align,n):b._rendercolumnheader(this.text,this.align,n,b);if(null==y&&(y=b._rendercolumnheader(this.text,this.align,n,b)),null!=this.renderer&&(y=a(y)),w=!0,b.WinJS?MSApp.execUnsafeLocalFunction(function(){v.append(a(y))}):this.renderer?v.append(a(y)):y&&(v[0].innerHTML=y),null!=y){var z=a('<div class="iconscontainer" style="height: '+n+'px; margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"><div class="filtericon '+b.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+b.toTP("jqx-grid-column-filterbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortasc '+b.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+b.toTP("jqx-grid-column-sortascbutton")+'" style="width: 100%; height:100%;"></div></div><div class="sortdesc '+b.toTP("jqx-widget-header")+'" style="height: '+n+'px; float: right; display: none; width: 16px;"><div class="'+b.toTP("jqx-grid-column-sortdescbutton")+'" style="width: 100%; height:100%;"></div></div></div>');v.append(z);var A=z.children();this.sortasc=A[1],this.sortdesc=A[2],this.filtericon=A[0],this.iconscontainer=z,b.rtl&&(z.css("margin-left","0px"),z.css("left","0px"),a(this.sortasc).css("float","left"),a(this.filtericon).css("float","left"),a(this.sortdesc).css("float","left"))}c.append(q),b.columnsReorder&&this.draggable&&b._handlecolumnsdragreorder&&b._handlecolumnsdragreorder(this,q);var B=this;if(b.addHandler(q,"click",function(a){return!!B.checkboxcolumn||(b._togglesort&&(b._loading||b._togglesort(B)),void a.preventDefault())}),b.columnsResize&&!x){var C=!1,D="mousemove";b.isTouchDevice()&&(C=!0,D=a.jqx.mobile.getTouchEventName("touchstart")),b.addHandler(q,D,function(c){if(!B.resizable)return b.resizablecolumn=null,!0;var d=parseInt(c.pageX),e=5,f=parseInt(q.coord().left);if(b.hasTransform&&(f=a.jqx.utilities.getOffset(q).left),b._handlecolumnsResize){if(C){var g=a.jqx.mobile.getTouches(c),h=g[0];return d=h.pageX,e=40,d>=f+B.width-e?(b.resizablecolumn={columnelement:q,column:B},q.css("cursor","col-resize")):(q.css("cursor",""),b.resizablecolumn=null),!0}var i=B.width;if(b.rtl&&(i=0),d>=f+i-e){if(d<=f+i+e)return b.resizablecolumn={columnelement:q,column:B},q.css("cursor","col-resize"),!1;q.css("cursor",""),b.resizablecolumn=null}else q.css("cursor",""),d<f+i-e&&(B._animating||B._menuvisible||q.mouseenter()),b.resizablecolumn=null}})}if(q.css("left",d),this.hidden||(d+=r),B.rendered){var E=B.rendered(a(v[0].firstChild),B.align,n);E&&null!=z&&z.hide()}}),d>0?this.columnsheader.width(2+d):this.columnsheader.width(d),this.columnsrow=c,b.columnsheader.append(c),c.width(d),this._handlecolumnsdragdrop&&this._handlecolumnsdragdrop(),this._handlecolumnsReorder&&this._handlecolumnsReorder(),this._handlecolumnsResize&&this._handlecolumnsResize(),this.columnGroups&&this._rendercolumnGroups()}},_rendercolumnGroups:function(){if(this.columnGroups){for(var b=0,c=0;c<this.columns.records.length;c++)this.columns.records[c].pinned&&b++;var d=this.headerZIndex-b+this.columns.records.length,e=this,f=e.toTP("jqx-grid-column-header")+" "+e.toTP("jqx-grid-columngroup-header")+" "+e.toTP("jqx-widget-header");e.rtl&&(f+=" "+e.toTP("jqx-grid-columngroup-header-rtl"));var g=this.columnsheader.find("#columntable"+this.element.id);g.find("jqx-grid-columngroup-header").remove();for(var h=0;h<this.columnGroupslevel-1;h++)for(var c=0;c<this.columnGroups.length;c++){var i=this.columnGroups[c],j=i.level;if(j===h){var k=j*this.columnsHeight,l=99999;if(i.groups){var m=function(a){for(var b=0,c=0;c<a.groups.length;c++){var d=a.groups[c];d.groups?b+=m(d):d.hidden||(b+=d.width,l=Math.min(parseInt(d.element[0].style.left),l))}return b};i.width=m(i),i.left=l;var n=this.columnsHeight,o=d--,p=a('<div role="columnheader" style="z-index: '+o+';position: absolute;" class="'+f+'"></div>'),q=a(this._rendercolumnheader(i.text,i.align,this.columnsHeight,this));p.append(q),p[0].style.left=l+"px",0===l&&(p[0].style.borderLeftColor="transparent"),p[0].style.top=k+"px",p[0].style.height=n+"px",p[0].style.width=-1+i.width+"px",g.append(p),i.element=p}}}}},_resizecolumnGroups:function(){if(this.columnGroups)for(var a=0;a<this.columnGroups.length;a++){var b=this.columnGroups[a],c=b.level,d=c*this.columnsHeight,e=99999;if(b.groups){var f=function(a){for(var b=0,c=0;c<a.groups.length;c++){var d=a.groups[c];d.groups?b+=f(d):d.hidden||(b+=d.width,e=Math.min(parseInt(d.element[0].style.left),e))}return b};b.width=f(b),b.left=e;var g=this.columnsHeight,h=b.element;h[0].style.left=e+"px",h[0].style.top=d+"px",h[0].style.height=g+"px",h[0].style.width=-1+b.width+"px"}}},_removecolumnhandlers:function(b){var c=this,d=a(b.element);if(d.length>0){c.removeHandler(d,"mouseenter"),c.removeHandler(d,"mouseleave");var e=a(b.filtericon);c.removeHandler(e,"mousedown"),c.removeHandler(e,"click"),c.removeHandler(d,"click")}},_calculateaggregate:function(a,b,c,d){if(!a.datafield)return null;var e=a.aggregates;if(e||(e=b),e){for(var f=new Array,g=0;g<e.length;g++)"count"!=e[g]&&(f[f.length]=a.cellsFormat);if(this.source&&this.source.getAggregatedData){void 0==d&&(d=this.getRows(),this.dataViewRecords&&(d=this.dataViewRecords));var h=d,i=-1;if(this.treeGrid){var j=new Array,k=function(a){for(var b=0;b<a.length;b++)void 0!=a[b]&&(i==-1&&(i=a[b].level),a[b].aggregate||j.push(a[b]),!a[b].leaf&&a[b].records&&a[b].records.length>0&&k(a[b].records))};k(d),d=j}if(this.treeGrid&&this.filterable&&this.dataview.filters.length>0){for(var l=new Array,g=0;g<d.length;g++)d[g]&&d[g]._visible!==!1&&l.push(d[g]);d=l;for(var m=new Array,g=0;g<h.length;g++)h[g]&&h[g]._visible!==!1&&m.push(h[g]);h=m}if(void 0==c||1==c){var n=this.source.getAggregatedData([{name:a.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,d,i);if(this.treeGrid){var o=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;if((0==o||i>=o)&&n&&(void 0!=n[a.datafield].sum||void 0!=n[a.datafield].avg)){var p=this.source.getAggregatedData([{name:a.datafield,aggregates:e,formatStrings:f}],this.gridlocalization,h,i);void 0!=n[a.datafield].sum&&(n[a.datafield].sum=p[a.datafield].sum),void 0!=n[a.datafield].avg&&(n[a.datafield].avg=p[a.datafield].avg)}}return n}var n=this.source.getAggregatedData([{name:a.datafield,aggregates:e}],this.gridlocalization,d,i);if(this.treeGrid&&n&&(void 0!=n[a.datafield].sum||void 0!=n[a.datafield].avg)){var o=this.source._source.hierarchy&&this.source._source.hierarchy.groupingDataFields?this.source._source.hierarchy.groupingDataFields.length:0;
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
12 if(0==o||i>=o){var p=this.source.getAggregatedData([{name:a.datafield,aggregates:e}],this.gridlocalization,h,i);void 0!=n[a.datafield].sum&&(n[a.datafield].sum=p[a.datafield].sum),void 0!=n[a.datafield].avg&&(n[a.datafield].avg=p[a.datafield].avg)}}return n}}return null},getcolumnaggregateddata:function(a,b,c,d){var e=this.getColumn(a);if(!e)return"";var f=void 0!=c&&0!=c&&c;if(null==b)return"";var g=e.aggregates;e.aggregates=null;var h=this._calculateaggregate(e,b,f,d),i={};return h&&(i=h[a],e.aggregates=g),i},_updatecolumnaggregates:function(b,c,d){var e=this;if(c)if(d.children().remove(),d.html(""),b.aggregatesRenderer){if(c){var f=b.aggregatesRenderer(c[b.datafield],b,d,this.getcolumnaggregateddata(b.datafield,b.aggregates),"aggregates");d.html(f)}}else a.each(c,function(){var b=this;for(g in b){var c=a('<div style="position: relative; margin: 4px; overflow: hidden;"></div>'),f=g;f=e._getaggregatename(f),c.html(f+":"+b[g]),e.rtl&&c.addClass(e.toThemeProperty("jqx-rtl")),d.append(c)}});else if(d.children().remove(),d.html(""),b.aggregatesRenderer){var g={};b.aggregates&&(g=this.getcolumnaggregateddata(b.datafield,b.aggregates));var f=b.aggregatesRenderer({},b,d,null);d.html(f)}},_getaggregatetype:function(a){switch(a){case"min":case"max":case"count":case"avg":case"product":case"var":case"varp":case"stdev":case"stdevp":case"sum":return a}var b=a;for(var c in a){b=c;break}return b},_getaggregatename:function(a){var b=a;switch(a){case"min":b="Min";break;case"max":b="Max";break;case"count":b="Count";break;case"avg":b="Avg";break;case"product":b="Product";break;case"var":b="Var";break;case"stdevp":b="StDevP";break;case"stdev":b="StDev";break;case"varp":b="VarP";case"sum":b="Sum"}if(a===b&&"string"!=typeof b)for(var c in a){b=c;break}return b},_updatecolumnsaggregates:function(){var b=this.getRows();this.dataViewRecords&&(b=this.dataViewRecords);var c=this.columns.records.length;if(void 0!=this.aggregates[0].cells)for(var d=0;d<c;d++){var e=a(this.aggregates[0].cells[d]),f=this.columns.records[d],g=this._calculateaggregate(f,null,!0,b);this._updatecolumnaggregates(f,g,e)}},_refreshcolumnsaggregates:function(){var b=this.columns.records.length;if(void 0!=this.aggregates[0].cells)for(var c=0,d=0;d<b;d++){var e=a(this.aggregates[0].cells[d]),f=this.columns.records[d];e&&(e.width(f.width),e[0].style.left=c+"px",f.hidden&&f.hideable?e.css("display","none"):c+=f.width)}},_updateaggregates:function(){var b=a('<div style="position: relative;" id="statusrow'+this.element.id+'"></div>'),c=0,d=this.columns.records.length,e=this.toThemeProperty("jqx-grid-cell");this.rtl&&(e+=" "+this.toThemeProperty("jqx-grid-cell-rtl"),c=0,b.css("border-left-width","0px"),this.aggregates.css("border-left-color","transparent")),e+=" "+this.toThemeProperty("jqx-grid-cell-pinned");var f=d+10,g=new Array;this.aggregates[0].cells=g;for(var h=0;h<d;h++){var i=this.columns.records[h],j=this._calculateaggregate(i),k=i.width;k<i.minwidth&&(k=i.minwidth),k>i.maxwidth&&(k=i.maxwidth);var l=e;i.cellsalign&&(l+=" "+this.toThemeProperty("jqx-"+i.cellsalign+"-align"));var m=a('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+l+'"></div>');b.append(m),m.css("left",c),this.rtl?(m.css("z-index",f++),0==h&&m.css("border-left-width","0px")):m.css("z-index",f--),m.width(k),m[0].style.left=c+"px",i.hidden&&i.hideable?m.css("display","none"):c+=k,g[g.length]=m[0],this._updatecolumnaggregates(i,j,m)}a.jqx.browser.msie&&a.jqx.browser.version<8&&b.css("z-index",f--),b.width(parseInt(c)+2),b.height(this.aggregatesHeight),this.aggregates.children().remove(),this.aggregates.append(b),this.aggregates.removeClass(this.toThemeProperty("jqx-widget-header")),this.aggregates.addClass(e),this.aggregates.css("border-bottom-color","transparent"),this.aggregates.css("border-top-width","1px"),this.rtl&&"hidden"!=this.hScrollBar.css("visibility")&&this._renderhorizontalscroll()},destroy:function(){var b=this;if(b.columns&&b.columns.records)for(var c=0;c<b.columns.records.length;c++)b._removecolumnhandlers(b.columns.records[c]);b.removeHandler(a(document),"mouseup.pagerbuttonstop"),b.removeHandler(a(document),"mouseup.pagerbuttonsbottom"),b.removeHandler(b.content,"scroll"),b.removeHandler(b.content,"mousedown"),b.removeHandler(a(document),"mousedown.gridedit"+b.element.id);var d="mousemove.resize"+b.element.id,e="mousedown.resize"+b.element.id,f="mouseup.resize"+b.element.id;b.removeHandler(a(document),d),b.removeHandler(a(document),e),b.removeHandler(a(document),f);var d="mousemove.reorder"+b.element.id,e="mousedown.reorder"+b.element.id,f="mouseup.reorder"+b.element.id;if(b.removeHandler(a(document),d),b.removeHandler(a(document),e),b.removeHandler(a(document),f),b.filterable){if(b.filterrow)for(var c=0;c<b.filterrow[0].cells.length;c++){var g=b.filterrow[0].cells[c],h=a(g).find(".filterconditions");b.columns.records[c];h.length>0&&h.jqxDropDownList("destroy")}b.filtercolumnsList&&b.filtercolumnsList.jqxDropDownList("destroy")}if(b.pageable){b.pagershowrowscombotop&&b.pagershowrowscombotop.jqxDropDownList&&b.pagershowrowscombotop.jqxDropDownList("destroy"),b.pagershowrowscombobottom&&b.pagershowrowscombobottom.jqxDropDownList&&b.pagershowrowscombobottom.jqxDropDownList("destroy");var i=b.pagerbuttonsbottom.find("a");b.removeHandler(i,"click"),b.removeHandler(i,"mouseenter"),b.removeHandler(i,"mouseleave"),i.remove();var i=b.pagerbuttonstop.find("a");b.removeHandler(i,"click"),b.removeHandler(i,"mouseenter"),b.removeHandler(i,"mouseleave"),i.remove(),b.pagernexttop&&(b.pagernexttop.jqxButton("destroy"),b.pagerprevioustop.jqxButton("destroy"),b.pagernextbottom.jqxButton("destroy"),b.pagerpreviousbottom.jqxButton("destroy"),b.pagerfirsttop.jqxButton("destroy"),b.pagerfirstbottom.jqxButton("destroy"),b.pagerlasttop.jqxButton("destroy"),b.pagerlastbottom.jqxButton("destroy"))}b._removeHandlers(),b.vScrollBar.jqxScrollBar("destroy"),b.hScrollBar.jqxScrollBar("destroy"),delete b.vScrollBar,delete b.hScrollBar,delete b._mousewheelfunc,a.jqx.utilities.resize(b.host,null,!0),b.host.remove()},propertiesChangedHandler:function(a,b,c){c.width&&c.height&&2==Object.keys(c).length&&a.refresh()},propertyChangedHandler:function(b,c,d,e){if(void 0!=this.isInitialized&&0!=this.isInitialized&&!(b.batchUpdate&&b.batchUpdate.width&&b.batchUpdate.height&&2==Object.keys(b.batchUpdate).length)&&e!==d)if("filterable"==c)b._render();else if("height"===c)b.host.height(b.height),b.host.width(b.width),b._updatesize(!1,!0);else if("width"===c)b.host.height(b.height),b.host.width(b.width),b._updatesize(!0,!1);else if("source"===c)b.updateBoundData();else if("columns"===c||"columnGroups"===c)b._columns=null,b._render();else if("rtl"===c)b.content.css("left",""),b.columns=b._columns,b.vScrollBar.jqxScrollBar({rtl:e}),b.hScrollBar.jqxScrollBar({rtl:e}),b._render();else if("pagerMode"===c)b.pagerMode=e,b._initpager();else if("pageSizeOptions"==c){b._initpager();for(var f=!1,g=0;g<e.length;g++)if(parseInt(e[g])==b.pageSize){f=!0;break}f||a.jqx.set(b,[{pageSize:e[0]}])}else if("pageSize"==c){var h=b.dataview.pagenum*b.dataview.pagesize;b.dataview.pagesize=b.pageSize;var i=Math.floor(h/b.dataview.pagesize);if(i!==b.dataview.pagenum||parseInt(e)!==parseInt(d)){b._raiseEvent("pageSizeChanged",{pagenum:e,oldpageSize:d,pageSize:b.dataview.pagesize});var j=b.goToPage(i);j||(b.serverProcessing?b.updateBoundData("pager"):b.refresh())}}else if("pagerPosition"===c)b.refresh();else if("selectionMode"===c)b.selectionMode=e.toLowerCase();else if("touchmode"==c)b.touchDevice=null,b._removeHandlers(),b.touchDevice=null,b.vScrollBar.jqxScrollBar({touchMode:e}),b.hScrollBar.jqxScrollBar({touchMode:e}),b._updateTouchScrolling(),b._arrange(),b._updatecolumnwidths(),b._renderrows(),b._addHandlers();else{if("enableHover"==c)return;if("disabled"==c)e?b.host.addClass(this.toThemeProperty("jqx-fill-state-disabled")):b.host.removeClass(this.toThemeProperty("jqx-fill-state-disabled")),b.pageable&&(b.pagernexttop&&(b.pagernexttop.jqxButton({disabled:e}),b.pagerprevioustop.jqxButton({disabled:e}),b.pagernextbottom.jqxButton({disabled:e}),b.pagerpreviousbottom.jqxButton({disabled:e}),b.pagerfirsttop.jqxButton({disabled:e}),b.pagerfirstbottom.jqxButton({disabled:e}),b.pagerlasttop.jqxButton({disabled:e}),b.pagerlastbottom.jqxButton({disabled:e}),b.pagershowrowscombotop.jqxDropDownList&&"advanced"==b.pagerMode&&(b.pagershowrowscombotop.jqxDropDownList({disabled:!1}),b.pagershowrowscombobottom.jqxDropDownList({disabled:!1}))),b.host.find(".jqx-grid-pager-number").css("cursor",e?"default":"pointer")),b.host.find(".jqx-grid-group-collapse").css("cursor",e?"default":"pointer"),b.host.find(".jqx-grid-group-expand").css("cursor",e?"default":"pointer");else if("columnsHeight"==c)b._render();else if("theme"==c){if(a.jqx.utilities.setTheme(d,e,b.host),b.vScrollBar.jqxScrollBar({theme:b.theme}),b.hScrollBar.jqxScrollBar({theme:b.theme}),b.pageable&&b.pagernexttop&&(b.pagernexttop.jqxButton({theme:b.theme}),b.pagerprevioustop.jqxButton({theme:b.theme}),b.pagernextbottom.jqxButton({theme:b.theme}),b.pagerpreviousbottom.jqxButton({theme:b.theme}),b.pagerfirsttop.jqxButton({theme:b.theme}),b.pagerfirstbottom.jqxButton({theme:b.theme}),b.pagerlasttop.jqxButton({theme:b.theme}),b.pagerlastbottom.jqxButton({theme:b.theme}),b.pagershowrowscombotop.jqxDropDownList&&"advanced"==b.pagerMode&&(b.pagershowrowscombotop.jqxDropDownList({theme:b.theme}),b.pagershowrowscombobottom.jqxDropDownList({theme:b.theme}))),b.filterable){var k=a(".filterconditions");k.length>0&&k.jqxDropDownList({theme:b.theme}),b.filtercolumnsList&&b.filtercolumnsList.jqxDropDownList({theme:b.theme})}b.refresh()}else b.refresh()}},_rendercolumnheader:function(a,b,c,d){var e="4px";return d.columnGroups?(e=c/2-this._columnheight/2,e<0&&(e=4),e+="px"):25!=this.columnsHeight&&(e=this.columnsHeight/2-this._columnheight/2,e<0&&(e=4),e+="px"),'<div style="overflow: hidden; text-overflow: ellipsis; text-align: '+b+"; margin-left: 4px; margin-right: 4px; margin-bottom: "+e+"; margin-top: "+e+';"><span style="text-overflow: ellipsis; cursor: default;">'+a+"</span></div>"}}),a.jqx.dataCollection=function(a){return this.records=new Array,this.owner=a,this.updating=!1,this.beginUpdate=function(){this.updating=!0},this.resumeupdate=function(){this.updating=!1},this.clear=function(){this.records=new Array},this.replace=function(a,b){this.records[a]=b},this.isempty=function(a){return void 0==this.records[a]},this.initialize=function(a){a<1&&(a=1),this.records[a-1]=-1},this.length=function(){return this.records.length},this.indexOf=function(a){return this.records.indexOf(a)},this.add=function(a){return null!=a&&(this.records[this.records.length]=a,!0)},this.insertAt=function(a,b){return null!=a&&void 0!=a&&(null!=b&&(a>=0&&(a<this.records.length?(this.records.splice(a,0,b),!0):this.add(b))))},this.remove=function(a){if(null==a||void 0==a)return!1;var b=this.records.indexOf(a);return b!=-1&&(this.records.splice(b,1),!0)},this.removeAt=function(a){if(null==a||void 0==a)return!1;if(a<0)return!1;if(a<this.records.length){this.records[a];return this.records.splice(a,1),!0}return!1},this},a.jqx.dataView=function(){return this.that=this,this.grid=null,this.records=[],this.rows=[],this.columns=[],this.filters=new Array,this.pagesize=0,this.pagenum=0,this.source=null,this.databind=function(b,c){var d=!!b._source,e=null;this._sortData=null,this._sortHierarchyData=null,d?(e=b,b=b._source):e=new a.jqx.dataAdapter(b,{autoBind:!1});var f=function(a){e.recordids=[],e.records=new Array,e.cachedrecords=new Array,e.originaldata=new Array,e._options.totalrecords=a.totalrecords,e._options.originaldata=a.originaldata,e._options.recordids=a.recordids,e._options.cachedrecords=new Array,e._options.pagenum=a.pagenum,e._options.pageable=a.pageable,void 0!=b.type&&(e._options.type=b.type),void 0!=b.formatdata&&(e._options.formatData=b.formatdata),void 0!=b.contenttype&&(e._options.contentType=b.contenttype),void 0!=b.async&&(e._options.async=b.async),void 0!=b.updaterow&&(e._options.updaterow=b.updaterow),void 0!=b.addrow&&(e._options.addrow=b.addrow),void 0!=b.deleterow&&(e._options.deleterow=b.deleterow),0==a.pagesize&&(a.pagesize=10),e._options.pagesize=a.pagesize},g=function(a){a.originaldata=e.originaldata,a.records=e.records,a.hierarchy=e.hierarchy,a.grid.serverProcessing||(a._sortData=null,a._sortfield=null,a._filteredData=null,a._sortHierarchyData=null),a.hierarchy||(a.hierarchy=new Array,e.hierarchy=new Array),e._source.totalrecords?a.totalrecords=e._source.totalrecords:e._source.totalRecords?a.totalrecords=e._source.totalRecords:0!==a.hierarchy.length?a.totalrecords=a.hierarchy.length:a.totalrecords=a.records.length,a.cachedrecords=e.cachedrecords};f(this),this.source=b,void 0!==c&&(uniqueId=c);var h=this;switch(b.datatype){case"local":case"array":default:if(null==b.localdata&&(b.localdata=[]),null!=b.localdata){e.unbindBindingUpdate(h.grid.element.id),(!h.grid.autoBind&&h.grid.isInitialized||h.grid.autoBind)&&e.dataBind();var i=function(){g(h),h.update()};i(),e.bindBindingUpdate(h.grid.element.id,i)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(null!=b.localdata){e.unbindBindingUpdate(h.grid.element.id),(!h.grid.autoBind&&h.grid.isInitialized||h.grid.autoBind)&&e.dataBind();var i=function(a){g(h),h.update()};return i(),void e.bindBindingUpdate(h.grid.element.id,i)}for(var j=[],k=0,l={},m=0;m<this.filters.length;m++){var n=this.filters[m].datafield,o=this.filters[m].filter;if(o.getfilters){var p=o.getfilters();l[n+"operator"]=o.operator;for(var q=0;q<p.length;q++){p[q].datafield=n;var r=p[q].value;if("datefilter"==p[q].type)if(p[q].value&&p[q].value.toLocaleString){var s=this.grid.getColumn(p[q].datafield);if(s&&s.cellsformat){var t=this.grid.source.formatDate(p[q].value,s.cellsformat,this.grid.gridlocalization);t?l["filtervalue"+k]=t:l["filtervalue"+k]=p[q].value.toLocaleString()}else l["filtervalue"+k]=r.toString()}else l["filtervalue"+k]=r.toString();else l["filtervalue"+k]=r.toString(),p[q].data&&(l["filterid"+k]=p[q].data.toString()),p[q].id&&(l["filterid"+k]=p[q].id.toString());l["filtercondition"+k]=p[q].condition,l["filteroperator"+k]=p[q].operator,l["filterdatafield"+k]=n;var u={label:r.toString()};p[q].data&&(u.value=p[q].data.toString()),p[q].id?u.value=p[q].id.toString():u.value=r.toString(),u.condition=p[q].condition,u.operator=0==p[q].operator?"and":"or",u.field=n,u.type=p[q].type;var v=!1;if(j.length>0)for(var w=0;w<j.length;w++){var x=j[w];if(x.field==n){x.filters.push(u),v=!0;break}}v||(j.push({field:n,filters:[]}),j[j.length-1].filters.push(u)),k++}}}l.filterGroups=j,l.filterslength=k,a.extend(l,{sortdatafield:h.sortfield,sortorder:h.sortfielddirection,pagenum:h.pagenum,pagesize:h.grid.pageSize});var y=e._options.data;e._options.data?a.extend(e._options.data,l):(b.data&&a.extend(l,b.data),e._options.data=l);var i=function(){var b=a.jqx.browser.msie&&a.jqx.browser.version<9,c=function(){g(h),h.update()};if(b)try{c()}catch(a){}else c()};e.unbindDownloadComplete(h.grid.element.id),e.bindDownloadComplete(h.grid.element.id,i),e._source.loaderror=function(a,b,c){i()},(!h.grid.autoBind&&h.grid.isInitialized||h.grid.autoBind)&&e.dataBind(),e._options.data=y}},this.addFilter=function(a,b){this._sortData=null,this._sortHierarchyData=null;for(var c=-1,d=0;d<this.filters.length;d++)if(this.filters[d].datafield==a){c=d;break}c==-1?this.filters[this.filters.length]={filter:b,datafield:a}:this.filters[c]={filter:b,datafield:a}},this.removeFilter=function(a){this._sortData=null,this._sortHierarchyData=null;for(var b=0;b<this.filters.length;b++)if(this.filters[b].datafield==a){this.filters.splice(b,1);break}},this.sortBy=function(a,b){return null==b?(this.sortfield="",void(this.sortfielddirection="")):(void 0==b&&(b=!0),b="a"==b||"asc"==b||"ascending"==b||1==b,"constructor"==a&&(a=""),this.sortfield=a,void(this.sortfielddirection=b?"asc":"desc"))},this._sort=function(b){if(!this.sortfield||!this.sortfielddirection)return b;if(this._sortfield==this.sortfield&&this._sortfielddirection==this.sortfielddirection&&this._sortData)return this._sortData;var c=this,d=Object.prototype.toString;Object.prototype.toString="function"==typeof c.sortfield?c.sortfield:function(){return this[c.sortfield]};var e="";this.source.datafields&&a.each(this.source.datafields,function(){if(this.name==c.sortfield)return this.type&&(e=this.type),!1});for(var f=new Array,g=0;g<b.length;g++)f.push(a.extend({originalRecord:b[g]},b[g]));if(this._sortfield=this.sortfield,this._sortfielddirection=this.sortfielddirection,"desc"===this.sortfielddirection)var h=f.sort(function(a,b){return c._compare(a,b,e)}).reverse();else var h=f.sort(function(a,b){return c._compare(a,b,e)});return this._sortData=h,Object.prototype.toString=d,h},this._compare=function(b,c,d){var b=b,c=c;if(void 0===b&&(b=null),void 0===c&&(c=null),null===b&&null===c)return 0;if(null===b&&null!==c)return 1;if(null!==b&&null===c)return 1;if(b=b.toString(),c=c.toString(),a.jqx.dataFormat)if(d&&""!=d)switch(d){case"number":case"int":case"float":return b<c?-1:b>c?1:0;case"date":case"time":return b<c?-1:b>c?1:0;case"string":case"text":b=String(b).toLowerCase(),c=String(c).toLowerCase()}else{if(a.jqx.dataFormat.isNumber(b)&&a.jqx.dataFormat.isNumber(c))return b<c?-1:b>c?1:0;if(a.jqx.dataFormat.isDate(b)&&a.jqx.dataFormat.isDate(c))return b<c?-1:b>c?1:0;a.jqx.dataFormat.isNumber(b)||a.jqx.dataFormat.isNumber(c)||(b=String(b).toLowerCase(),c=String(c).toLowerCase())}try{if(b<c)return-1;if(b>c)return 1}catch(a){}return 0},this._equals=function(a,b){return 0===this._compare(a,b)},this.evaluate=function(b){if(this.grid.serverProcessing){if(b&&(""==this.grid.source._source.id||null==this.grid.source._source.id)&&this.grid.pageable){var c=this.grid.pageSize*this.pagenum;this.grid.rowsByKey=new Array;var d=this;a.each(b,function(a){this.uid=c,d.grid.rowsByKey[this.uid]=this,c++})}return b}var e=new Array;if(this.filters.length){var f=new Array,g=function(a,b){for(var c=0;c<a.length;c++){var d=a[c];d._visible=!0;for(var e=void 0,g=0;g<this.filters.length;g++){var h=this.filters[g].filter,i=d[this.filters[g].datafield],j=h.evaluate(i);e=void 0==e?j:"or"==h.operator?e||j:e&&j}d._visible=!1,(e||d.aggregate)&&(d._visible=!0,b.push(d),f[d.uid]=d)}};if(this._filteredData)this.rows=this._filteredData;else{if(this.source.hierarchy||this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0){var h=new Array,i=function(a,b){for(var c=0;c<b.length;c++){var d=b[c];h.push(d),d.records&&d.records.length>0&&i(d,d.records)}};i(null,b),g.call(this,h,e);for(var j=0;j<e.length;j++)for(var k=e[j];k.parent;){var l=k.parent;f[l.uid]||(l._visible=!0,f[l.uid]=l),k=l}e=b}else g.call(this,b,e);this._filteredData=e,this.rows=e}}else this.rows=b;if(this.source.hierarchy||this.grid.source.hierarchy&&this.grid.source.hierarchy.length>0){var d=this,m=new Array;this._sortData=null;var n=function(b,c){d._sortData=null;var e=null;if(d.source.hierarchy.groupingDataFields)if(c&&c.length>0&&c[0].level<d.source.hierarchy.groupingDataFields.length){e=new Array;for(var f=0;f<c.length;f++)e.push(a.extend({originalRecord:c[f]},c[f]))}else e=d._sort(c);else e=d._sort(c);b.records?b.records=e:b=b.concat(e);for(var f=0;f<e.length;f++)e[f].records&&e[f].records.length&&n(e[f],e[f].records);return b};(this.sortfield||this.sortfielddirection)&&(m=this._sortHierarchyData?this._sortHierarchyData:n(m,b),this.rows=m,this._sortHierarchyData=m)}else this.rows=this._sort(this.rows);return this.rows},this.getid=function(b,c,d){if(a(b,c).length>0)return a(b,c).text();if(this.rows&&""!=b&&void 0!=b&&this.rows.length>0){var e=this.rows[this.rows.length-1][b];null==e&&(e=null);for(var f=1;f<=100;f++){var g=this.grid.rowsByKey[f+e];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+e+f];if(g)continue;return"jqx"+e+f}return e+f}}}if(void 0!=b&&b.toString().length>0){var h=a(c).attr(b);if(null!=h&&h.toString().length>0)return this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords?"jqx"+h:h}if(this.rows&&this.rows.length>0){var g=this.grid.rowsByKey[d];if(g){var e=this.rows[this.rows.length-1][b];null==e&&(e="");for(var f=1;f<=1e3;f++){var g=this.grid.rowsByKey[f+e];if(!g){if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+e+f];if(g)continue;return"jqx"+e+f}return e+f}}}}if(this.grid&&this.grid.treeGrid&&this.grid.treeGrid.virtualModeCreateRecords){var g=this.grid.rowsByKey["jqx"+d];if(!g)return"jqx"+d;for(var f=d+1;f<=100;f++){var g=this.grid.rowsByKey["jqx"+f];if(!g){var g=this.grid.rowsByKey["jqx"+f];if(g)continue;return"jqx"+f}}}return d},this.generatekey=function(){var a=function(){return 16*(1+Math.random())|0};return""+a()+a()+"-"+a()+"-"+a()},this}}(jqxBaseFramework);
2d1d43c3a2c2 Upgraded jqwidgets to version 4.5.2
Michiel Broek <mbroek@mbse.eu>
parents: 373
diff changeset
13

mercurial