UNPKG

js-pkg

Version:
10 lines 635 kB
/*! * filename: ej.grid.min.js * version : 15.3.0.33 * Copyright Syncfusion Inc. 2001 - 2017. All rights reserved. * Use of this code is subject to the terms of our license. * A copy of the current license can be obtained at any time by e-mailing * licensing@syncfusion.com. Any infringement will be prosecuted under * applicable laws. */ (function(n){typeof define=="function"&&define.amd?define(["./../common/ej.globalize.min","jsrender","./../common/ej.core.min","./../common/ej.data.min","./../common/ej.touch.min","./../common/ej.draggable.min","./../common/ej.scroller.min","./ej.button.min","./ej.checkbox.min","./ej.menu.min","./ej.waitingpopup.min","./ej.radiobutton.min","./ej.autocomplete.min","./ej.datepicker.min","./ej.datetimepicker.min","./ej.dropdownlist.min","./ej.dialog.min","./ej.editor.min","./ej.pager.min","./ej.toolbar.min","./ej.excelfilter.min"],n):n()})(function(){(function(n,t,i){t.gridFeatures=t.gridFeatures||{};t.gridFeatures.common={refreshContent:function(n){n&&(this.refreshTemplate(),this.refreshHeader());this.model.allowFiltering&&this.model.filterSettings.filterType=="filterbar"&&this._renderFilterBarTemplate();var i={};this._initialRenderings();i.requestType=t.Grid.Actions.Refresh;this.model.scrollSettings.enableVirtualization&&(this._refreshVirtualViewData(),this._virtualDataRefresh=!0);this._processBindings(i)},rowHeightRefresh:function(){var i,s,h,f,o;if(this.model.scrollSettings.frozenColumns>0&&!t.isNullOrUndefined(this.model.currentViewData)&&this.model.currentViewData.length){var u=this.getContentTable().get(0).rows,e=this.getContentTable().get(1).rows,r=0;if(this.getContent().find(".e-frozencontentdiv").is(":visible"))for(i=0;i<u.length;i++)n(u[i]).css("display")!="none"&&(s=u[i].getClientRects()[0].height,h=e[i].getClientRects()[0].height,r=t.isNullOrUndefined(s)||t.isNullOrUndefined(h)?t.max([u[i].offsetHeight,e[i].offsetHeight]):t.max([s,h]),n(u[i]).height(r),n(e[i]).height(r),i&&(i==this.model.scrollSettings.frozenRows-1||i==u.length-1)&&(r=r+1),this.model.allowTextWrap||i&&i!=this.model.scrollSettings.frozenRows-1||(r=r-1),this.model.isEdit&&n(u[i]).find("#"+this._id+"EditForm").length&&i&&n(u[i]).find("#"+this._id+"EditForm td").css("height",r),n(e[i]).find("#"+this._id+"EditForm td").css("height",r));if(this.model.showSummary&&this.model.summaryRows.length>0){var c=this.getFooterTable().get(0).rows,a=this.getFooterTable().get(1).rows,l=0;for(f=0;f<c.length;f++)l=t.max([c[f].getClientRects()[0].height,a[f].getClientRects()[0].height]),n(c[f]).height(l),n(a[f]).height(l)}this._getRowHeights();!t.isNullOrUndefined(this.getContent().data("ejScroller"))&&(this.getScrollObject()._vScrollbar!=null||this.getScrollObject().isVScroll())&&(o=this.getScrollObject()._vScrollbar,(t.isNullOrUndefined(o)||o.value()!=o.model.maximum)&&this._scrollObject.refresh(this.model.scrollSettings.frozenColumns>0))}},dataSource:function(n,t){if(t&&(this._templateRefresh=!0),this._dataSource(n),this._currentPage(1),this.model.scrollSettings.enableVirtualization&&(this._currentVirtualIndex=1,this.getContent().ejScroller("isVScroll")&&this.getContent().ejScroller("scrollY",0,!0)),this._updateDataSource=!0,this._refreshDataSource(n,t),this.model.allowPaging||this.model.scrollSettings.allowVirtualScrolling){var i=this._refreshVirtualPagerInfo();this._showPagerInformation(i)}this.model.scrollSettings.allowVirtualScrolling&&(this.model.scrollSettings.enableVirtualization&&this._isLocalData?this._refreshVirtualView():this._refreshVirtualContent(),this.getContent().ejScroller("isHScroll")&&this.getContent().ejScroller("scrollX",0,!0),this.getContent().ejScroller("isVScroll")?(this.model.scrollSettings.enableVirtualization||this.getContent().ejScroller("scrollY",0,!0),this.element.find(".e-gridheader").addClass("e-scrollcss")):this.element.find(".e-gridheader").removeClass("e-scrollcss"));(!this.model.scrollSettings.enableVirtualization||this._gridRows.length<this._virtualRowCount)&&this._addLastRow();this._trigger("dataBound",{})},_refreshDataSource:function(n,i){this._dataManager=n instanceof t.DataManager?n:t.DataManager(n);this._isRemoteSaveAdaptor=this._dataSource()instanceof t.DataManager&&this._dataSource().adaptor instanceof t.remoteSaveAdaptor;this._isLocalData=!(this._dataSource()instanceof t.DataManager)||this._dataManager.dataSource.offline||this._isRemoteSaveAdaptor||this._dataSource().adaptor instanceof t.ForeignKeyAdaptor;this.model.scrollSettings.allowVirtualScrolling&&this.model.scrollSettings.enableVirtualization&&(this._refreshVirtualViewData(),this._virtualDataRefresh=!0,this._isLocalData&&this._refreshVirtualViewDetails(!0));this.refreshContent(t.isNullOrUndefined(i)?!0:i)},_hideRowTemplateColumns:function(t,i){var r=n.inArray(t,this.model.columns);this.getContentTable().find("tbody:first > tr").find("> td:nth-child("+(r+1)+")")[i=="hide"?"addClass":"removeClass"]("e-hide")},hideColumns:function(i){var b=0,h={},u,s,g=[],nt,y,k=0,p,r,w,o,l,a,d,v;nt=typeof i=="string"?this.getColumnByHeaderText(i):this.getColumnByHeaderText(i[0]);s=typeof i=="number"?this.getColumnByIndex(i):this.getColumnByIndex(i[0]);y=typeof i=="string"?this.getColumnByField(i):this.getColumnByField(i[0]);this._showHideColumns=!0;p=[];n.map(this.model.columns,function(n){p.push(n.headerText)});var c=this._isDuplicate(p),e=c?"_hiddenColumnsField":"_hiddenColumns",f=c?"_visibleColumnsField":"_visibleColumns";if(!c&&(y!=null||s!=null))if(n.isArray(i))for(r=0;r<i.length;r++)w=s!=null?this.getColumnByIndex(i[r]):this.getColumnByField(i[r]),i[r]=w!=null?w.headerText:i[r];else i=s!=null?s.headerText:y.headerText;if(o=s!=null?"getColumnByIndex":"getColumnByHeaderText",n.isArray(i))for(r=0;r<i.length;r++)u=n.inArray(i[r],this[f]),u!=-1?(this[e].push(i[r]),this[f].splice(u,1)):u==-1&&f=="_visibleColumnsField"&&n.inArray(i[r],this[e])==-1&&t.isNullOrUndefined(this.getColumnByField(i[r]))&&(this[e].push(this[o](i[r]).field)&&this._hiddenColumns.push(this[o](i[r]).field),this[f].splice(n.inArray(this[o](i[r]).field,this[f]),1)&&this._visibleColumns.splice(n.inArray(i[r],this._visibleColumns),1)),this.model.rowTemplate!=null&&(l=u!=-1?this.getColumnByHeaderText(i[r]):this[o](i[r]),this._hideRowTemplateColumns(l,"hide"));else u=n.inArray(i,this[f]),u!=-1?(this[e].push(i),this[f].splice(u,1)):u==-1&&f=="_visibleColumnsField"&&n.inArray(i,this[e])==-1&&t.isNullOrUndefined(this.getColumnByField(i))&&(this[e].push(this[o](i).field)&&this._hiddenColumns.push(this[o](i).field),this[f].splice(n.inArray(this[o](i).field,this[f]),1)&&this._visibleColumns.splice(n.inArray(i,this._visibleColumns),1)),this.model.rowTemplate!=null&&(l=u!=-1?this.getColumnByHeaderText(i):this[o](i),this._hideRowTemplateColumns(l,"hide"));for(r=0;r<this.model.columns.length;r++)if(a=c?"field":"headerText",n.inArray(t.isNullOrUndefined(this.model.columns[r][a])||this.model.columns[r][a]==""?this.model.columns[r].headerText:this.model.columns[r][a],this[e])!=-1&&(this.model.columns[r].visible&&g.push(this.model.columns[r]),this.model.columns[r].visible=!1,this.model.allowScrolling&&this.model.scrollSettings.frozenColumns>0&&this.model.columns.indexOf(this.model.columns[r])<this.model.scrollSettings.frozenColumns&&k++,b++),this[e].length==b)break;h.requestType="refresh";h.action="hideColumn";this._hideHeaderColumn(this[e],c);this.model.allowScrolling&&this.model.scrollSettings.frozenColumns>0&&(d=this._renderGridHeader(),this.element.find(".e-gridheader").replaceWith(d[0]),this.model.allowFiltering&&this.model.filterSettings.filterType=="filterbar"&&this._renderFiltering(),this.model.allowReordering&&this._headerCellreorderDragDrop());this.refreshTemplate();this.model.scrollSettings.allowVirtualScrolling&&this._virtualShowHide(h);this._isAddNew&&this.model.isEdit&&(this.model.query=this.commonQuery.clone(),this._ensureDataSource(h),this._isAddNew=!1);this.sendDataRenderingRequest(h);this.rowHeightRefresh();this.model.allowScrolling&&(this.model.scrollSettings.frozenColumns!=0||t.isIOSWebView()||this.getBrowserDetails().browser!="msie"||(v=this._calculateWidth(),this.getHeaderTable().width(v),this.getContentTable().width(v),t.isNullOrUndefined(this.getFooterTable())||this.getFooterTable().width(v)),t.isNullOrUndefined(this._scrollObject)||this.getScrollObject().refresh());this.model.showColumnChooser&&this._refreshColumnChooserList();this.model.allowScrolling&&this.model.scrollSettings.frozenColumns>0&&(k==this.model.scrollSettings.frozenColumns&&this._frozenPaneRefresh(),this.getScrollObject().refresh());this._showHideColumns=!1},showColumns:function(i){var k=0,h={},s,v=[],g,y,p,w,o,l,a,b,u,r,d;g=typeof i=="string"?this.getColumnByHeaderText(i):this.getColumnByHeaderText(i[0]);s=typeof i=="number"?this.getColumnByIndex(i):this.getColumnByIndex(i[0]);y=typeof i=="string"?this.getColumnByField(i):this.getColumnByField(i[0]);this._showHideColumns=!0;p=[];n.map(this.model.columns,function(n){p.push(n.headerText)});var c=this._isDuplicate(p),f=c?"_hiddenColumnsField":"_hiddenColumns",e=c?"_visibleColumnsField":"_visibleColumns";if(!c&&(y!=null||s!=null))if(n.isArray(i))for(r=0;r<i.length;r++)w=s!=null?this.getColumnByIndex(i[r]):this.getColumnByField(i[r]),i[r]=w!=null?w.headerText:i[r];else i=s!=null?s.headerText:y.headerText;if(o=s!=null?"getColumnByIndex":"getColumnByHeaderText",n.isArray(i))for(r=0;r<i.length;r++)u=n.inArray(i[r],this[f]),u!=-1?(this[f].splice(u,1),this[e].push(i[r])):u==-1&&f=="_hiddenColumnsField"&&n.inArray(i[r],this[e])==-1&&t.isNullOrUndefined(this.getColumnByField(i[r]))&&(this[e].push(this[o](i[r]).field)&&this._visibleColumns.push(i[r]),this[f].splice(n.inArray(this[o](i[r]).field,this[f]),1)&&this._hiddenColumns.splice(n.inArray(i[r],this._hiddenColumns),1)),this.model.rowTemplate!=null&&(l=u!=-1?this.getColumnByHeaderText(i[r]):this[o](i[r]),this._hideRowTemplateColumns(l,"show"));else u=n.inArray(i,this[f]),u!=-1?(this[f].splice(u,1),this[e].push(i)):u==-1&&f=="_hiddenColumnsField"&&n.inArray(i,this[e])==-1&&t.isNullOrUndefined(this.getColumnByField(i))&&(this[e].push(this[o](i).field)&&this._visibleColumns.push(i),this[f].splice(n.inArray(this[o](i).field,this[f]),1)&&this._hiddenColumns.splice(n.inArray(i,this._hiddenColumns),1)),this.model.rowTemplate!=null&&(l=u!=-1?this.getColumnByHeaderText(i):this[o](i),this._hideRowTemplateColumns(l,"show"));for(r=0;r<this.model.columns.length;r++)if(a=c?"field":"headerText",n.inArray(t.isNullOrUndefined(this.model.columns[r][a])||this.model.columns[r][a]==""?this.model.columns[r].headerText:this.model.columns[r][a],this[e])!=-1&&(this.model.columns[r].visible||v.push(this.model.columns[r]),this.model.columns[r].visible=!0,k++),this[e].length==k)break;if(this.model.allowScrolling&&this.model.scrollSettings.frozenColumns>0){for(b=!1,r=0;r<v.length;r++)u=this.model.columns.indexOf(v[r]),u<this.model.scrollSettings.frozenColumns&&(b=!0);if(b){for(r=0;r<this.model.columns.length;r++)n.inArray(this.model.columns[r].headerText,this._hiddenColumns)!=-1?this.model.columns[r].visible=!1:n.inArray(this.model.columns[r].headerText,this._visibleColumns)!=-1&&(this.model.columns[r].visible=!0);d=this._renderGridHeader();this.element.find(".e-gridheader").replaceWith(d[0]);this.model.allowFiltering&&this.model.filterSettings.filterType=="filterbar"&&this._renderFiltering();this.model.allowReordering&&this._headerCellreorderDragDrop()}}h.requestType="refresh";h.action="showColumn";this._showHeaderColumn(this[e],c);this.refreshTemplate();this.model.scrollSettings.allowVirtualScrolling&&this._virtualShowHide(h);this._isAddNew&&this.model.isEdit&&(this.model.query=this.commonQuery.clone(),this._ensureDataSource(h),this._isAddNew=!1);this.sendDataRenderingRequest(h);this.rowHeightRefresh();this.model.allowScrolling&&!t.isNullOrUndefined(this._scrollObject)&&this.getScrollObject().refresh();this.model.showColumnChooser&&this._refreshColumnChooserList();this._showHideColumns=!1},_virtualShowHide:function(n){this._currentPage(1);this.model.query=this.commonQuery.clone();this._ensureDataSource(n);this._loadedJsonData=[];this._prevPage=this._currentPage()},resizeColumns:function(n,t){var i,r;if(n instanceof Array)for(i=0;i<n.length;i++)r=t instanceof Array?t[i]:t,this._setWidthColumnCollection(n[i],r);else this._setWidthColumnCollection(n,t);this.setWidthToColumns();this.model.scrollSettings.frozenColumns&&(this._frozenAlign(),this.rowHeightRefresh())},_setWidthColumnCollection:function(t,i){var r=this.getColumnByHeaderText(t)||this.getColumnByField(t);r.width=i;n.inArray(r.field,this._disabledResizingColumns)==-1&&(this.columnsWidthCollection[n.inArray(r,this.model.columns)]=i)},refreshTemplate:function(){this.addInitTemplate();(this.model.editSettings.allowEditing||this.model.editSettings.allowAdding)&&this._processEditing();this.model.allowGrouping&&this.addGroupingTemplate()},refreshHeader:function(){var t=this.element.find(".e-gridheader"),n,i;this.element[0].replaceChild(this._renderGridHeader()[0],t[0]);this.model.allowFiltering&&this.model.filterSettings.filterType=="filterbar"&&this._renderFiltering();this.model.allowGrouping&&this._headerCellgDragDrop();this.model.allowReordering&&this._headerCellreorderDragDrop();this.model.showColumnChooser&&this._renderColumnChooserData(!0);this.model.gridLines!="both"&&this._showHeaderGridLines();this.model.mergeHeaderCellInfo!=null&&(this.setWidthToColumns(),n={columnHeaders:this.getHeaderContent().find(".e-columnheader"),model:this.model},i=this,this._headerCellMerge(n),this._trigger("mergeHeaderCellInfo",n))},set_dropColumn:function(r,u){var w,b,y,ft,et,ot,it,st,k,ht,a,e,f,o,tt;if(this.model.allowReordering&&r!=u){this.model.columns.splice(u,0,this.model.columns.splice(r,1)[0]);var s=this.model.columns,p=this.getHeaderTable().find(".e-columnheader:last .e-headercell").not(".e-stackedHeaderCell"),c=p.find(".e-headercelldiv"),ct=this.getHeaderContent().find("div").first().scrollLeft();this.model.scrollSettings.frozenColumns||this.getHeaderTable().find("colgroup").replaceWith(this._getMetaColGroup());(this.model.detailsTemplate!=null||this.model.childGrid!=null)&&this.getHeaderTable().find("colgroup").prepend(this._getIndentCol());w=function(t){var r=[],o,e,s;if(t!=i){["",i].indexOf(t.value)==-1&&(r.push({name:"value",value:t.value}),t.value="");for(var u=0,f=t.attributes,h=f.length;u<h;u++)o=/^jQuery[0-9]+$/,f[u].name.match(o)||r.push({name:f[u].name,value:f[u].value});for(e=0,s=r.length;e<s;e++)n(t).removeAttr(r[e].name);return r}};b=function(t,r){if(r!=i)for(var u=0,f=t.length;u<f;u++)t[u].name=="value"&&(r.value=t[u].value),n(r).attr(t[u].name,t[u].value)};this.getHeaderTable().find(".e-fltrtempdiv").length==0&&this.getHeaderTable().find(".e-filterdiv").length>0&&(y=this.getHeaderTable().find(".e-filterdiv input"));var d=t.isNullOrUndefined(y),h={cellattributes:[],headerattributes:[],filtercellattributes:[],filterThattributes:[]},rt=r<u?r:u,ut=r<u?u:r;for(f=rt,o=0;f<=ut;f++)ft=this.model.detailsTemplate!=null||this.model.childGrid!=null?f+1:f,h.headerattributes[o]=w(p[ft]),h.cellattributes[o]=w(c[f]),h.filtercellattributes[o]=d?[]:w(y[f]),h.filterThattributes[o]=d?[]:w(n(y[f]).closest("th")[0]),o++;et=r<u?h.cellattributes.length-1:0;ot=r<u?0:h.cellattributes.length-1;for(it in h)h[it].splice(et,0,h[it].splice(ot,1)[0]);for(f=rt,o=0;f<=ut;f++)st=this.model.detailsTemplate!=null||this.model.childGrid!=null?f+1:f,b(h.headerattributes[o],p[st]),b(h.cellattributes[o],c[f]),d||b(h.filtercellattributes[o],y[f]),d||b(h.filterThattributes[o],n(y[f]).closest("th")[0]),o++;if(this.model.allowFiltering&&["menu","excel"].indexOf(this.model.filterSettings.filterType)!=-1){for(this._$fDlgIsOpen&&this._closeFDialog(),k=this.model.columns,p.find(".e-filtericon").remove(),f=0;f<k.length;f++)(k[f].allowFiltering||t.isNullOrUndefined(k[f].allowFiltering))&&(ht=p.find('.e-headercelldiv[data-ej-mappingname="'+k[f].field+'"]').closest(".e-headercell"),ht.append(t.buildTag("div.e-filtericon e-icon e-filterset")));this._refreshFilterIcon()}for(this.columnsWidthCollection.splice(u,0,this.columnsWidthCollection.splice(r,1)[0]),this._fieldColumnNames=this._headerColumnNames=[],e=0;e<s.length;e++)this._fieldColumnNames[s[e].headerText]=s[e].field,this._headerColumnNames[s[e].field]=s[e].headerText,a=n(c[e]),t.isNullOrUndefined(s[e].headerTemplateID)?s[e].type=="checkbox"?a.html("<input type = 'checkbox' class = 'e-checkselectall'><\/input>"):s[e].disableHtmlEncode?a.text(s[e].headerText):a.html(s[e].headerText):a.html(n(s[e].headerTemplateID).html()),this.model.groupSettings.showToggleButton&&(t.isNullOrUndefined(s[e].allowGrouping)||s[e].allowGrouping)&&(n.inArray(s[e].field,this.model.groupSettings.groupedColumns)!=-1?a.append(this._getToggleButton().addClass("e-toggleungroup")):a.append(this._getToggleButton().addClass("e-togglegroup")));if(this.model.allowGrouping&&this.model.allowSorting!=!0)for(f=0;f<this.model.sortSettings.sortedColumns.length;f++)this._addSortElementToColumn(this.model.sortSettings.sortedColumns[f].field,this.model.sortSettings.sortedColumns[f].direction);if(this.model.allowSorting)for(f=0;f<this.model.sortSettings.sortedColumns.length;f++){var g=1,v=this.model.sortSettings.sortedColumns[f],lt=this.getsortColumnByField(v.field),l=this.getColumnIndexByField(v.field),at=n.inArray(lt,this.model.sortSettings.sortedColumns),nt=v.direction!="descending"?"e-rarrowup-2x":"e-rarrowdown-2x";if(this.model.allowMultiSorting){for(o=1;o<=at;o++)g=g+1;c.eq(l).css("text-align")=="right"?(this.model.sortSettings.sortedColumns.length>1&&c.eq(l).prepend(this._createSortNumber(g,c.eq(l)).addClass("e-sortnumber")),c.eq(l).append(this._createSortElement().addClass("e-"+(v.direction||"ascending")+" "+nt))):(c.eq(l).append(this._createSortElement().addClass("e-"+(v.direction||"ascending")+" "+nt)),this.model.sortSettings.sortedColumns.length>1&&c.eq(l).append(this._createSortNumber(g,c.eq(l)).addClass("e-sortnumber")))}else nt=v.direction!="descending"?"e-rarrowup-2x":"e-rarrowdown-2x",c.eq(l).append(this._createSortElement().addClass("e-"+(v.direction||"ascending")+" "+nt))}this.getHeaderTable().find(".e-fltrtempdiv").length>0&&(this.getHeaderTable().find(".e-filterbar").first().remove(),this._renderFiltering(),this._renderFilterBarTemplate());tt={};tt.requestType=t.Grid.Actions.Reorder;this._isReorder=!0;this.refreshTemplate();this._isAddNew&&this.model.isEdit&&(this.model.query=this.commonQuery.clone(),this._ensureDataSource(tt),this._isAddNew=!1);this.setWidthToColumns();this.model.scrollSettings.frozenColumns||this.getHeaderContent().find("div").first().scrollLeft(ct);this.sendDataRenderingRequest(tt);this._isReorder=!1}},getPager:function(){return this._gridPager},getFooterTable:function(){return this._gridFooterTable},setGridFooterTable:function(n){this._gridFooterTable=n},getFooterContent:function(){return this._gridFooterContent},setGridFooterContent:function(n){this._gridFooterContent=n},getScrollObject:function(){return(this._scrollObject==null||t.isNullOrUndefined(this._scrollObject.model))&&(this._scrollObject=this.getContent().ejScroller("instance")),this._scrollObject},setGridPager:function(n){this._gridPager=n},getRowHeight:function(){var r=-1,i,f,u,o;if(this.getContentTable()!=null)i=this.getContentTable().find("tr:not(.e-virtualrow)"),f=i.length>2?1:0,i.length&&(u=i[f].getBoundingClientRect()),i.length>1&&(r=u&&u.height?u.height:i[f].offsetHeight);else if(!t.isNullOrUndefined(this.model.rowTemplate)&&!t.isNullOrUndefined(this._dataSource())&&this._dataSource().length>0){var e=document.createElement("div"),s=n.templates(this.model.rowTemplate),h=this._dataSource()[0];e.innerHTML=['<table class="e-template-table">',s.render(h),"<\/table>"].join("");n("body").append(e.firstChild);o=n("body").find(".e-template-table").find("tr")[0];r=o.offsetHeight;n("body").find(".e-template-table").remove()}return r==-1?32:r},getCurrentIndex:function(){return(this._currentPage()-1)*this.model.pageSettings.pageSize},getColumnByIndex:function(n){return n<this.model.columns.length?this.model.columns[n]:null},set_currentPageIndex:function(n){var i=this.model.pageSettings,u=this.model.filterSettings.filteredColumns.length==0?this._searchCount==null?this._gridRecordsCount:this._searchCount:this._filteredRecordsCount,r;return(i.totalPages==null&&(i.totalPages=Math.ceil(u/i.pageSize)),n>i.totalPages||n<1||n==this._currentPage())?!1:(t.isNullOrUndefined(this._prevPageNo)&&(this._prevPageNo=this._currentPage()),this._currentPage(n),this._currentPage()!=this._prevPageNo?(r={},r.requestType="paging",this.gotoPage(this._currentPage(),r),!0):!1)},set_currentVirtualIndex:function(n){var t,i;return n<1||n!=1&&n!=this._totalVirtualViews&&n==this._currentVirtualIndex&&this._checkCurrentVirtualView(this._virtualLoadedRows,n)?!1:(this._prevVirtualIndex=this._currentVirtualIndex,this._currentVirtualIndex=n,t=this._calculateCurrentViewPage(),t<=this.model.pageSettings.totalPages&&!this._checkCurrentVirtualView(this._virtualLoadedRecords,this._currentVirtualIndex)?this._prevVirtualIndex<n&&n!=1?(i=this._isThumbScroll&&t!=1?t:t+1,!this._virtualPageRecords[i]&&i<=this.model.pageSettings.totalPages?this._setCurrentViewPage(i):this._renderVirtulViewContent(t)):this._prevVirtualIndex>n?(i=this._isThumbScroll?t:t-1,this._virtualPageRecords[i]&&!this._virtualLoadedRecords[n-1]&&(i=t-1),!this._virtualPageRecords[i]&&i>=1&&this._setCurrentViewPage(i)):this._renderVirtulViewContent(t):this._renderVirtulViewContent(t),!0)},_setCurrentViewPage:function(n){this._needPaging=!0;this._prevPageNo=this._currentPage();this.gotoPage(n)},_renderVirtulViewContent:function(){this._needPaging=!1;this._refreshVirtualView(this._currentVirtualIndex);this.element.ejWaitingPopup("hide")},_checkCurrentVirtualView:function(t,i){var f=this._virtualRowCount,u=i-1,r=i+1,e;if(t instanceof Array){if(t.length&&((u==0||r==this._totalVirtualViews+1)&&n.inArray(i,t)!=-1||n.inArray(u,t)!=-1&&n.inArray(i,t)!=-1&&n.inArray(r,t)!=-1))return!0}else if(e=r==this._totalVirtualViews?this._lastViewData:f,!this.initialRender&&i==1&&this._virtualLoadedRows[i]||i==this._totalVirtualViews&&t==this._virtualLoadedRows&&t[i]||u==0&&t[i]&&t[i].length==f||r==this._totalVirtualViews+1&&t[i]&&t[i].length==this._lastViewData||t[u]&&t[u].length==f&&t[i]&&t[i].length==f&&t[r]&&t[r].length==e)return!0;return!1},expandCollapse:function(r){var v,b,k,l,d,e,a,w,tt,o,s,h,u;if(r.prop("tagName")=="DIV"&&(r.parent().hasClass("e-recordplusexpand")||r.parent().hasClass("e-recordpluscollapse")||r.parent().hasClass("e-detailrowcollapse")||r.parent().hasClass("e-detailrowexpand"))&&(r=r.parent()),v=-1,this.model.allowGrouping&&(t.isOnWebForms||this.initialRender))for(b=r.attr("data-ej-mappingname"),fieldValue=r.attr("data-ej-mappingvalue"),r.parents(".e-tabletd").length&&(k=r.parents(".e-tabletd").parent("tr").prev("tr").find(".e-recordplusexpand").attr("data-ej-mappingvalue")),l=this.model._groupingCollapsed,u=0;u<l.length;u++)if(l[u].key==b&&l[u].value==fieldValue&&(l[u].parent==i||l[u].parent==k)){v=u;break}if(r.hasClass("e-recordplusexpand")||r.hasClass("e-recordpluscollapse")||r.hasClass("e-detailrowcollapse")||r.hasClass("e-detailrowexpand")){if(r.hasClass("e-recordplusexpand")&&this.model.groupSettings.groupedColumns.length)d=r.index(),e=r.closest("tr").next(),e.hide(),r.removeClass("e-recordplusexpand").addClass("e-recordpluscollapse").find("div").removeClass("e-gdiagonalnext").addClass("e-gnextforward"),(t.isOnWebForms||this.initialRender)&&v==-1&&this.model._groupingCollapsed.push({key:b,value:fieldValue,parent:k});else if(r.hasClass("e-recordpluscollapse")&&this.model.groupSettings.groupedColumns.length){var d=r.index(),e=r.closest("tr").next(),o=[],s=e;for(n(s[0].cells[d]).hasClass("e-indentcell")&&s.children(".e-indentcell").length==r.parent().children(".e-indentcell").length+1&&(s.show(),h=s.children(".e-recordplusexpand"),h!=null&&h.length>0&&o.push(h)),r.removeClass("e-recordpluscollapse").addClass("e-recordplusexpand").find("div").removeClass("e-gnextforward").addClass("e-gdiagonalnext"),u=0;u<o.length;u++)o[u].removeClass("e-recordplusexpand").addClass("e-recordpluscollapse").find("div").removeClass("e-gdiagonalnext").addClass("e-gnextforward"),this.expandCollapse(o[u]);(t.isOnWebForms||this.initialRender)&&v!=-1&&this.model._groupingCollapsed.splice(v,1)}else if(r.hasClass("e-detailrowexpand")){var d=r.index(),f=this,y=this.getIndexByRow(r.closest("tr")),e=r.closest("tr").next();e.hide(0,function(){var n={masterRow:r.closest("tr"),detailsRow:e,masterData:f._currentJsonData[y]},i=f._getForeignKeyData(n.masterData);t.isNullOrUndefined(i)||(n.foreignKeyData=i);f._trigger("detailsCollapse",n)});(f.model.childGrid!=null||f.model.detailsTemplate!=null)&&f.model.allowScrolling&&f._refreshScroller({requestType:"refresh"});r.removeClass("e-detailrowexpand").addClass("e-detailrowcollapse").find("div").addClass("e-gnextforward").removeClass("e-gdiagonalnext")}else if(r.hasClass("e-detailrowcollapse")){var d=r.index(),f=this,y=this.getIndexByRow(r.closest("tr")),g=r.closest("tr").next();if(g.hasClass("e-detailrow"))e=g;else{var c=t.buildTag("tr.e-detailrow","",{display:"none"},{}),it=t.buildTag("td.e-detailindentcell"),nt=t.buildTag("td.e-detailcell","",{},{colspan:this._visibleColumns.length}),p=t.buildTag("div"),rt=n(r.closest("tr")).parents(".e-grid").length;p.attr("id","child"+rt+"_grid"+y+Math.round(Math.random()*1e3));n(c).append(it);n(c).append(nt);a=this._currentJsonData[y];this.model.detailsTemplate&&(w=this.model.detailsTemplate,tt=!t.isNullOrUndefined(this.model.ngTemplateId)&&(w.startsWith("#")||w.startsWith(".")||typeof w=="object")?this.model.ngTemplateId+"griddetailstemplate":null,n(c).append(nt.append(this._renderEjTemplate(this.model.detailsTemplate,a,y,null,tt))));n(r.closest("tr")).after(c);this.model.childGrid&&(this.model.childGrid.parentDetails={parentID:this._id,parentPrimaryKeys:this.getPrimaryKeyFieldNames(),parentKeyField:this.model.childGrid.queryString,parentKeyFieldValue:a[this.model.childGrid.queryString],parentRowData:a},n(c).append(nt.append(p)));e=c}for(this._showGridLines(),o=[],s=e,n(s[0].cells[d]).hasClass("e-detailindentcell")&&(s.show(0,function(){var n={masterRow:r.closest("tr"),detailsRow:e,masterData:f._currentJsonData[y]},i=f._getForeignKeyData(n.masterData);t.isNullOrUndefined(i)||(n.foreignKeyData=i);f._trigger("detailsExpand",n)}),g.hasClass("e-detailrow")||(this._trigger("detailsDataBound",{detailsElement:c,data:a,rowData:a}),this._trigger("refresh")),this.model.childGrid&&!t.isNullOrUndefined(p)&&p.ejGrid(this.model.childGrid),(f.model.childGrid!=null||f.model.detailsTemplate!=null)&&f.model.allowScrolling&&f._refreshScroller({requestType:"refresh"}),h=s.children(".e-detailrowexpand"),h!=null&&h.length>0&&o.push(h)),r.removeClass("e-detailrowcollapse").addClass("e-detailrowexpand").find("div").addClass("e-gdiagonalnext").removeClass("e-gnextforward"),u=0;u<o.length;u++)o[u].removeClass("e-detailrowexpand").addClass("e-detailrowcollapse").find("div").removeClass("e-gdiagonalnext").addClass("e-gnextforward"),this.expandCollapse(o[u])}!this.model.allowScrolling||t.isNullOrUndefined(this._scrollObject&&this._scrollObject.model)||r.closest(".e-hscroll").length||this.getScrollObject().refresh();this.model.isResponsive&&this.windowonresize()}},_refreshGridPager:function(){var i,n,r;this.getPager()!=null&&(i=this.getPager().ejPager("model"),n={},n.currentPage=this._currentPage(),(t.isNullOrUndefined(this._filteredRecordsCount)||this._filteredRecordsCount==0)&&this.model.currentViewData!=null&&this.model.currentViewData.length==0&&(t.isNullOrUndefined(this._prevPageNo)||this._prevPageNo)?(n.currentPage=0,this._prevPageNo=i.currentPage,this.model.pageSettings.currentPage=0):i.currentPage==0&&(t.isNullOrUndefined(this._prevPageNo)||this._prevPageNo)&&(n.currentPage=this._prevPageNo),r=this.model.editSettings.showAddNewRow&&this.model.groupSettings.groupedColumns.length==0?1:0,n.totalRecordsCount=this.model.filterSettings.filteredColumns.length==0?this._searchCount==null?this._gridRecordsCount-r:this._searchCount:this._filteredRecordsCount,n.totalRecordsCount==0&&n.currentPage!=0&&(n.currentPage=0,this.model.pageSettings.currentPage=0),t.util.isNullOrUndefined(n.currentPage)&&(n.currentPage=this._currentPage()),this.getPager().ejPager("option",n).ejPager("refreshPager"),this.model.pageSettings.totalPages=i.totalPages||null,this.model.pageSettings.totalRecordsCount=i.totalRecordsCount||null)},_showHeaderColumn:function(i,r){for(var u,o,a,s,h=this.getHeaderTable().find("thead"),c=h.find("tr").not(".e-stackedHeaderRow").find(".e-headercell"),v=h.find(".e-filterbar").find(".e-filterbarcell"),e=this.getHeaderTable().find("colgroup").find("col"),l,f=0;f<i.length;f++)l=r?t.isNullOrUndefined(this.getColumnByField(i[f]))?this.getColumnByHeaderText(i[f],t.isNullOrUndefined(this.getColumnByField(i[f]))):this.getColumnByField(i[f]):this.getColumnByHeaderText(i[f]),u=n.inArray(l,this.model.columns),u=this.model.detailsTemplate!=null||this.model.childGrid?u+1:u,o=this.model.scrollSettings.frozenColumns,a=o!=0&&u>=o?c.eq(u).removeClass("e-hide").index()+o:c.eq(u).removeClass("e-hide").index(),v.eq(a).removeClass("e-hide"),e.length>this.model.columns.length&&this.model.groupSettings.groupedColumns.length&&(s=e.length-this.model.columns.length,e=e.slice(this.model.detailsTemplate||this.model.childGrid?s+1:s)),e.eq(u).css("display","");this.model.showStackedHeader&&this._refreshStackedHeader()},_hideHeaderColumn:function(i,r){for(var a,s=this.getHeaderTable().find("thead"),h=s.find("tr").not(".e-stackedHeaderRow").find(".e-headercell"),v=s.find(".e-filterbar").find(".e-filterbarcell"),f=this.getHeaderTable().find("colgroup").find("col"),c,u=0;u<i.length;u++){c=r?t.isNullOrUndefined(this.getColumnByField(i[u]))?this.getColumnByHeaderText(i[u],t.isNullOrUndefined(this.getColumnByField(i[u]))):this.getColumnByField(i[u]):this.getColumnByHeaderText(i[u]);var e=n.inArray(c,this.model.columns),l=this.model.detailsTemplate!=null||this.model.childGrid?e+1:e,o=this.model.scrollSettings.frozenColumns;a=o!=0&&e>=o?h.eq(l).addClass("e-hide").index()+o:h.eq(l).addClass("e-hide").index();v.eq(a).addClass("e-hide");f.length>this.model.columns.length&&(f=f.slice(f.length-this.model.columns.length));f.eq(e).css("display","none")}this.model.showStackedHeader&&(this._refreshStackedHeader(),this._colgroupRefresh())},_refreshStackedHeader:function(){var i,r,u,t;if(this.model.showStackedHeader){for(i=this.model.stackedHeaderRows,t=0;t<i.length;t++)if(this.model.scrollSettings.frozenColumns!=0){var f=n(this.getHeaderContent().find(".e-frozenheaderdiv")),e=n(this.getHeaderContent().find(".e-movableheader")),o=this._createStackedRow(i[t],!0),s=this._createStackedRow(i[t],!1);n(f.find("tr.e-stackedHeaderRow")[t]).replaceWith(o);n(e.find("tr.e-stackedHeaderRow")[t]).replaceWith(s)}else r=this._createStackedRow(i[t],!1),this.getHeaderTable().find("tr.e-stackedHeaderRow")[t]?n(this.getHeaderTable().find("tr.e-stackedHeaderRow")[t]).replaceWith(r):r.insertBefore(this.getHeaderTable().find("tr.e-columnheader:last"));if(u={},u.requestType="refresh",this.model.allowGrouping&&this.model.groupSettings.groupedColumns.length>0)for(t=0;t<this.model.groupSettings.groupedColumns.length;t++)this.getHeaderTable().find(".e-stackedHeaderRow").prepend(this._getGroupTopLeftCell());this.model.allowScrolling&&this._refreshScroller(u)}},_getStackedColumnByTarget:function(n){var r=(n.get(0)||{}).className,i=/e-row([0-9])-column([0-9])/.exec(r),u=i[1],f=i[2],e=[u,"stackedHeaderColumns",f].join(".");return t.getObject(e,this.model.stackedHeaderRows)},_checkSkipAction:function(n){switch(n.requestType){case t.Grid.Actions.Save:case t.Grid.Actions.Delete:return!0}return!1},_unboundTemplateRendering:function(t){return n("#"+t).html()},_processBindings:function(i){var r,f,e;if(this._requestType=i.requestType,this.model.query=this.commonQuery.clone(),!this._checkSkipAction(i)&&this._trigger("actionBegin",i))return!0;if(this.model.editSettings.editMode=="batch"&&i.requestType!="batchsave"&&i.requestType!="cancel"&&!this._confirmedValue&&this._bulkChangesAcquired()&&this.model.editSettings.showConfirmDialog)return this._confirmDialog.find(".e-content").html(this.localizedLabels.BatchSaveLostChanges),this._confirmDialog.ejDialog("open"),this._requestArgs=i,!1;if(!t.isNullOrUndefined(this.model.dataSource)&&i.requestType=="refresh"&&this.model.scrollSettings.allowVirtualScrolling&&(this._currentPage(1),this._scrollValue=0,this._loadedJsonData=[],this._prevPage=this._currentPage()),this._ensureDataSource(i),this.model.scrollSettings.allowVirtualScrolling&&(i.requestType=="virtualscroll"?(this._loadedJsonData.push({pageIndex:this._prevPage,data:this._currentJsonData}),this._prevPage=this._currentPage()):this.model.scrollSettings.enableVirtualization||(this._virtualLoadedRecords[this._currentPage()]=t.isNullOrUndefined(this._currentPageData)?this.model.currentViewData:this._currentPageData,this._currentPageData=null),i.requestType=="filtering"&&(this._loadedJsonData=[],this._prevPage=this._currentPage(),n("#"+this._id+"_externalEdit").remove()),(i.requestType==t.Grid.Actions.Delete||i.requestType==t.Grid.Actions.Add)&&this._refreshVirtualViewDetails()),this.model.scrollSettings.allowVirtualScrolling&&i.requestType=="filtering"&&this.model.filterSettings.filteredColumns.length>0&&this.getScrollObject().scrollY(0),this.model.enableRTL?this.element.hasClass("e-rtl")||this.element.addClass("e-rtl"):this.element.hasClass("e-rtl")&&this.element.removeClass("e-rtl"),i.requestType==t.Grid.Actions.Delete&&this.model.groupSettings.groupedColumns.length==0&&(this.model.editSettings.showAddNewRow&&this.getContentTable().find(".e-addedrow").remove(),i.tr.remove()),this._editForm=this.model.scrollSettings.frozenColumns>0||this.model.editSettings.showAddNewRow?this.element.find(".gridform"):n("#"+this._id+"EditForm"),!(this.model.editSettings.showAddNewRow&&i.requestType=="beginedit")&&this._editForm.length!=0)for(r=0;r<this._editForm.length;r++)n(this._editForm[r]).find("select.e-dropdownlist").ejDropDownList("destroy"),n(this._editForm[r]).find(".e-datepicker").ejDatePicker("destroy"),n(this._editForm[r]).find(".e-datetimepicker").ejDateTimePicker("destroy"),n(this._editForm[r]).find(".e-numerictextbox").ejNumericTextbox("destroy");if(!(this._dataSource()instanceof t.DataManager)||this._isRemoteSaveAdaptor||i.requestType==t.Grid.Actions.BeginEdit||i.requestType==t.Grid.Actions.Cancel||i.requestType==t.Grid.Actions.Add||this._dataSource().adaptor instanceof t.SqlDataSourceAdaptor&&(i.requestType==t.Grid.Actions.Save||i.requestType==t.Grid.Actions.Delete))this._isRelationalRendering(i)?this._setForeignKeyData(i):this.sendDataRenderingRequest(i);else{this.model.scrollSettings.allowVirtualScrolling&&!this.model.scrollSettings.enableVirtualization&&this.model.pageSettings.totalPages==this.model.pageSettings.currentPage&&this.virtualLoadedPages.indexOf((this.model.pageSettings.currentPage-2)*this.model.pageSettings.pageSize)==-1&&(f=t.pvt.filterQueries(this.model.query.queries,"onPage"),this.model.query.queries.splice(n.inArray(f[0],this.model.query.queries),1),this.model.query.page(this._currentPage()-1,this.model.pageSettings.pageSize),e=this._dataSource().executeQuery(this.model.query),this.model.query.queries.splice(n.inArray(f[0],this.model.query.queries),1),this.model.query.page(this._currentPage(),this.model.pageSettings.pageSize));this._virtualSelectedRows&&this._virtualSelectedRows.length>0&&this.model.query.addParams("virtualSelectRecords",this._virtualSelectedRows);var o=this._queryPromise=this._dataSource().executeQuery(this.model.query),s=this.element.ejWaitingPopup("instance"),u=this;this.element.ejWaitingPopup("show");u._dataSource().ready?u._dataSource().ready.done(function(){u._processDataRequest(u,i,o,e)}):u._processDataRequest(u,i,o,e)}},_processDataRequest:function(n,i,r,u){r.done(t.proxy(function(r){var e,f,o;if(!t.isNullOrUndefined(n.element)&&!(n._dataSource().adaptor instanceof t.SqlDataSourceAdaptor)){if(u&&!n._previousPageRendered)n._processLastPageData(n,i,r,u);else if(n._remoteLastPageRendered&&n.model.pageSettings.currentPage==n.model.pageSettings.totalPages-1&&!n.model.scrollSettings.enableVirtualization){for(e=n.model.pageSettings.pageSize-n._previousPageLength,f=0;f<e;f++)o=n.getRows()[n.getRows().length-(n.model.pageSettings.pageSize-f)],o.remove();n._tempPageRendered=!0;n.model.currentViewData=r.result;n._relationalColumns.length==0&&n.element.ejWaitingPopup("hide")}else n._identityKeys.length&&i.action=="add"&&this.adaptor instanceof t.ODataAdaptor&&n._processIdentityField(r.result,i),n.model.pageSettings.currentPage!=n.model.pageSettings.totalPages-1||n._remoteLastPageRendered||(n._previousPageRendered=!0),n.model.currentViewData=r.result==null?[]:r.result,n._$fkColumn&&n.model.filterSettings.filterType=="excel"&&n.model.filterSettings.filteredColumns.length>0&&(n._fkParentTblData=r.result),n._relationalColumns.length==0&&n.element.ejWaitingPopup("hide");n.model.allowScrolling&&n.model.scrollSettings.allowVirtualScrolling&&n.model.scrollSettings.enableVirtualization&&(i.requestType=="filtering"&&(n._gridRecordsCount=n._filteredRecordsCount=r.count,n._refreshVirtualViewDetails()),r.result.length?(n._isInitNextPage||n._isLastVirtualpage?(n._setInitialCurrentIndexRecords(r.result,n._currentPage()),n._isInitNextPage=n._isLastVirtualpage=!1):(n._gridRecordsCount=r.count,n._refreshVirtualViewDetails(),n._setVirtualLoadedRecords(r.result,n._currentPage())),n._isThumbScroll&&!n._checkCurrentVirtualView(n._virtualLoadedRecords,n._currentVirtualIndex)&&n._checkPrevNextViews(),n._remoteRefresh=!0):n.getContent().find(".e-virtualtop, .e-virtualbottom").remove());t.isNullOrUndefined(r.aggregates)||(n._remoteSummaryData=r.aggregates);(t.isNullOrUndefined(u)||t.isNullOrUndefined(n._previousPageRendered)||n._previousPageRendered)&&n._processData(r,i);t.isNullOrUndefined(n._unboundRow)||i.selectedRow==n._unboundRow||i.requestType!="save"||(n._unboundRow.find(".e-editbutton").trigger("click"),n._unboundRow=null)}}));r.fail(t.proxy(function(r){t.isNullOrUndefined(n.element)||(n.element.ejWaitingPopup("hide"),i.error=r.error,r=[],n.model.currentViewData=[],n._processData(r,i),t.isNullOrUndefined(n.getPager())||n.getPager().ejPager({currentPage:0,totalRecordsCount:0}),n._trigger("actionFailure",i))}))},_processIdentityField:function(i,r){var u=this._primaryKeys[0],e=t.distinct(i,u),o=t.distinct(this.model.currentViewData,u),s=n.grep(e,function(t){return n.inArray(t,o)==-1?!0:!1}),f=t.DataManager(i).executeLocal((new t.Query).where(u,"equal",s))[0];r.data=t.isNullOrUndefined(f)?r.data:f},_processLastPageData:function(n,i,r,u){u.done(t.proxy(function(u){n.element.ejWaitingPopup("hide");n.model.previousViewData=u.result;n.model.previousViewData&&n.model.previousViewData.length!=0&&(n._previousPageLength=r.result.length,n._currentPageData=r.result,t.merge(n.model.previousViewData,r.result),n.model.currentViewData=n.model.previousViewData,n._remoteLastPageRendered=!0);n._processData(r,i)}));u.fail(t.proxy(function(t){n.element.ejWaitingPopup("hide");i.error=t.error;t=[];n.model.previousViewData=[];n._processData(t,i);n._trigger("actionFailure",i)}))},_createUnboundElement:function(i,r){var o=document.createElement("div"),s,f,u,e;for(i.headerText=t.isNullOrUndefined(i.headerText)?t.isNullOrUndefined(i.field)?"":i.field:i.headerText,t.isNullOrUndefined(i.headerText)||(o.id=this._id+i.headerText.replace(/[^a-z0-9|s_]/gi,"")+r+"_UnboundTemplate"),s=t.buildTag("div.e-unboundcelldiv"),f=i.commands,u=0;u<f.length;u++)e=t.buildTag("button.e-flat e-"+f[u].type.replace(/\s+/g,"")+"button","",{},{type:"button"}),e.val(f[u].type),(f[u].type=="save"||f[u].type=="edit")&&e.addClass("e-btnsub"),(f[u].type=="cancel"||f[u].type=="delete")&&e.addClass("e-btncan"),s.append(e);return n("body").append(n(o).html(s).hide()),o},_refreshUnboundTemplate:function(i){var h,e,s,u,r,f,o;if(this._isUnboundColumn)for(h=0,e=0;e<this.model.columns.length;e++)if(this.model.columns[e].commands)for(s=i.find(".e-unboundcell.e-"+this.model.columns[e].headerText.replace(/[^a-z0-9|s_]/gi,"")+e).find(".e-unboundcelldiv"),u=n.extend(!0,[],this.model.columns[e].commands),r=0;r<u.length;r++){for(t.isNullOrUndefined(u[r].buttonOptions)&&(u[r].buttonOptions={}),u[r].buttonOptions.width=t.isNullOrUndefined(u[r].buttonOptions.width)?"52":u[r].buttonOptions.width,u[r].buttonOptions.height=t.isNullOrUndefined(u[r].buttonOptions.height)?"28":u[r].buttonOptions.height,u[r].buttonOptions.cssClass=t.isNullOrUndefined(u[r].buttonOptions.cssClass)?this.model.cssClass:u[r].buttonOptions.cssClass,u[r].buttonOptions.enableRTL=this.model.enableRTL,f=s.find(".e-"+u[r].type.replace(/\s+/g,"")+"button"),this.model.isEdit&&this._requestType!="cancel"||(i.closest(".e-editcell").length?u[r].type=="save"||u[r].type=="cancel"?f.show():(f.hasClass("e-deletebutton")&&f.hide(),f.hasClass("e-editbutton")&&f.hide()):u[r].type=="save"||u[r].type=="cancel"?f.hide():(f.hasClass("e-deletebutton")&&f.show(),f.hasClass("e-editbutton")&&f.show())),o=0;o<f.length;o++)n(f[o]).data("ejButton")&&n(f[o]).ejButton("destroy");f.ejButton(u[r].buttonOptions)}else continue},_gridTemplate:function(n,i,r){var u=n.model.columns[r];return n.model.scrollSettings.enableVirtualization&&(this.index+=n._currentVirtualRowIndex),(t.isNullOrUndefined(n.model.ngTemplateId)||!n._isAddNew)&&t.isNullOrUndefined(n._isGrouping)||(this.index=n._isAddNew?0:n._currentJsonData.indexOf(this.data)),n._renderEjTemplate("#"+i,this.data,this.index,u)},_createTemplateElement:function(i,r,u){var e=i["templateID"in i?"templateID":"template"],s=/^#([\w-]*)/.exec(e),r=r||n("body"),f,h=u?"Pager":i.headerText+n.inArray(i,this.model.columns)+"_Template",o={name:"SCRIPT",type:"text/x-template",text:e,id:(this._id+h).replace(/(\\|[^0-9A-z-_])/g,"")};return f=s&&s[1]?document.getElementById(s[1]):/^<script/i.test(e)?n(e).get(0):t.buildTag(o.name,o.text).get(0),f.id=f.id||o.id,f.type=f.type||o.type,r.append(u?f.innerHTML:f),f},_renderGridPager:function(){var i=n(document.createElement("div")),t={};return this.model.pageSettings.change=this._gPagerClickHandler,this.model.pageSettings.pageSizeSelected=this._gPageSize,this.model.pageSettings.totalRecordsCount=this._gridRecordsCount||null,this.model.pageSettings.enableRTL=this.model.enableRTL,this.model.pageSettings.locale=this.model.locale,this.model.pageSettings.enableQueryString=this.model.pageSettings.enableQueryString,this.model.allowFiltering&&this.model.filterSettings.filterType=="filterbar"&&(t.enableExternalMessage=this.model.filterSettings.showFilterBarStatus),n.extend(t,this.model.pageSettings),t.currentPage=this._currentPage(),t.masterObject=this,this.setGridPager(i),i.ejPager(t),i.ejPager("refreshPager"),t=i.ejPager("model"),this.model.pageSettings.totalPages=t.totalPages||null,this._currentPage()!==t.currentPage&&this._currentPage(t.currentPage),this._renderPagerTemplate(i),i},_renderPagerTemplate:function(n,i){var r=this.model.pageSettings,f=n.find(".e-pagercontainer").not(".e-template").length==0,u;n.find(".e-pagercontainer.e-template").remove();(i||!r.enableTemplates)&&f&&n.ejPager("renderPager");r.enableTemplates&&(r.showDefaults||n.children().remove(),u=t.buildTag("div",null,null,{"class":"e-pagercontainer e-template"}),this._createTemplateElement(this.model.pageSettings,u,!0),n.append(u))},_renderContext:function(){var p=this.model.contextMenuSettings.contextMenuItems,w,b,e=0,r=t.buildTag("ul","",{},{id:this._id+"_Context"}),i,s,d,g,h,v,nt,y,c;if(!this.model.contextMenuSettings.disableDefaultItems)for(e;e<p.length;e++)w=p[e],b=this._items(w,"contextMenuItem"),r.append(b);var k=this.model.contextMenuSettings.customContextMenuItems,u=this.model.contextMenuSettings.subContextMenu,f,l,o=0,a;for(o;o<k.length;o++){for(f=k[o],l=this._items(f,"customContextMenuItem"),i=0;i<u.length;i++)if(typeof f=="string"&&f==u[i].contextMenuItem||typeof f=="object"&&f.id==u[i].contextMenuItem){if(a=u[i].template,s=t.buildTag("ul","",{},{id:this._id+"_subMenuContext"+i}),t.isNullOrUndefined(a))for(h=0;h<u[i].subMenu.length;h++)d=u[i].subMenu[h],g=this._items(d,"subMenuItems"),s.append(g);else s=this._renderEjTemplate(a);l.append(s)}r.append(l)}r.find("li").length>0&&(this.element.append(r),v=this.element.parents("div.e-grid"),nt=t.Menu.prototype._showContextMenu,t.Menu.prototype._showContextMenu=function(t,i,r,u){n(this.model.contextMenuTarget).hasClass("e-grid")&&(++t,++i);nt.apply(this,[t,i,r,u])},n(r).ejMenu({menuType:t.MenuType.ContextMenu,openOnClick:!1,contextMenuTarget:"#"+this._id,click:n.proxy(this._clickevent,this),width:"auto",beforeOpen:n.proxy(this._menu,this)}),v.length&&(y=n("#"+v[0].id+"_Context"),c=y.ejMenu("model.excludeTarget"),y.ejMenu({excludeTarget:!t.isNullOrUndefined(c)&&c.length!=0?c.concat(",#"+this._id):"#"+this._id})),this._conmenu=r.data("ejMenu"))},_clickevent:function(i){var o=i.events.text,e=n(this._contexttarget.parentNode),r=n(this._contexttarget),u,f;if(r.hasClass("e-filterset")?r=r.siblings():(r.hasClass("e-icon")||r.hasClass("e-number"))&&(r=r.parent()),u=r.attr("data-ej-mappingname")||r.find(".e-headercelldiv").attr("data-ej-mappingname"),!this._trigger("contextClick",i))switch(o){case this.localizedLabels.AddRecord:this._startAdd();break;case this.localizedLabels.EditRecord:if(this.model.editSettings.editMode=="batch"){var s=n(this._contexttarget.parentNode).find(".e-rowcell").index(r),h=this._excludeDetailRows().index(e),c=this.model.columns[s].field;this.editCell(h,c)}else this.startEdit(e);break;case this.localizedLabels.DeleteRecord:this.model.editSettings.showDeleteConfirmDialog?this._confirmDialog.find(".e-content").html(this.localizedLabels.ConfirmDelete).end().ejDialog("open"):this.multiDeleteMode&&this.selectedRowsIndexes.length>1?this._multiRowDelete():this.deleteRow(e);break;case this.localizedLabels.Save:this.model.editSettings.editMode=="batch"?this.batchSave():this.endEdit();break;case this.localizedLabels.Cancel:this.cancelEdit();break;case this.localizedLabels.SortInDescendingOrder:f=t.sortOrder.Descending;this.sortColumn(u,f);break;case this.localizedLabels.SortInAscendingOrder:f=t.sortOrder.Ascending;this.sortColumn(u,f);break;case this.localizedLabels.Grouping:this.groupColumn(u);break;case this.localizedLabels.Ungrouping:this.ungroupColumn(u);break;case this.localizedLabels.NextPage:case this.localizedLabels.PreviousPage:case this.localizedLabels.LastPage:case this.localizedLabels.FirstPage:this._page(i)}},_menu:function(i){var r=this._conmenu.element,u,d,p,o,g,tt,s,e,k,c,l,v,y,a,f;if(this._contexttarget=i.target,u=n(i.target),o=n(this._contexttarget),this.model.allowSelection&&(o.hasClass("e-rowcell")||o.closest(".e-rowcell").length)&&!u.hasClass("e-selectionbackground")&&(g=o.hasClass("e-rowcell")?o.parent():o.closest(".e-rowcell").parent(),this.model.isEdit||this.selectRows(this.getIndexByRow(g),null,o)),(u.hasClass("e-ascending")||u.hasClass("e-descending"))&&!u.parent().hasClass("e-headercelldiv"))return!1;d=u.hasClass("e-filtericon")||u.hasClass("e-headercelldiv")?i.target.parentNode.getAttribute("aria-sort"):u.hasClass("e-headercell")?i.target.getAttribute("aria-sort"):u.parent().parent().attr("aria-sort");tt=i.target.className;s=n(r);p=u.hasClass("e-filterset")?u.siblings().attr("data-ej-mappingname"):u.hasClass("e-icon")||u.hasClass("e-number")?u.parent().attr("data-ej-mappingname"):u.hasClass("e-headercell")?u.find(".e-headercelldiv").attr("data-ej-mappingname"):u.attr("data-ej-mappingname");r.css("visibility","visible");var nt=u.closest("tr").hasClass("e-insertedrow")?this.model.groupSettings.groupedColumns.length:0,w=u.closest(".e-rowcell"),b=u.closest(".e-headercell"),it=w.index()!=-1?w.index():b.index()-this.model.groupSettings.groupedColumns.length,h=u.hasClass("e-rowcell")?u.index()-nt:it-nt;h=this.model.detailsTemplate!=null||this.model.childGrid!=null?h-1:h;e=this.model.columns[h];k={allowGrouping:".e-contextgrouping",allowSorting:".e-contextascending, .e-contextdescending","editSettings.allowAdding":".e-contextadd","editSettings.allowEditing":".e-contextedit","editSettings.allowDeleting":".e-contextdelete"};for(c in k)l=r.find(k[c]).parent(),t.getObject(c,this.model)==!1||t.getObject(c,e)===!1?l.css("display","none"):l.css("display")=="none"&&l.css("display","block");if(u.closest(".e-grid").attr("id")!==this._id||u.is("input")){r.css("visibility","hidden");return}if(this.getHeaderTable().find(u).length>0){if(!(b.length!=0&&b.children().hasClass("e-headercelldiv"))){r.css("visibility","hidden");return}f=n(r.find(".e-head"));r.find(".e-page").css("display","none");r.find(".e-content").css("display","none");r.find(".e-savcan").css("display","none");f.css("display","block");(t.isNullOrUndefined(e.field)||e.field=="")&&(f.css("display","none"),r.find(".e-customitem").length==0&&r.css("visibility","hidden"));a={columnIndex:h,headerText:e.headerText};n.extend(i,a)}else if(this.getContentTable().find(u).length>0){if(v=this.getIndexByRow(n(i.target.parentElement)),y=this.model.editSettings.editMode=="batch"?this.getDataByIndex(v):this.getSelectedRecords(),w.length==0){r.css("visibility","hidden");return}f=n(r.find(".e-content"));r.find(".e-head").css("display","none");r.find(".e-page").css("display","none");r.find(".e-savcan").css("display","none");f.css("display","block");(t.isNullOrUndefined(e.field)||e.field=="")&&this.model.editSettings.editMode=="batch"&&(f.css("display","none"),r.find(".e-customitem").length==0&&r.css("visibility","hidden"));a=this.model.editSettings.editMode=="batch"?{columnIndex:h,rowIndex:v,rowData:y,headerText:e.headerText,cellValue:t.getObject(t.isNullOrUndefined(e.field)?"":e.field,y)}:{columnIndex:h,rowIndex:v,rowData:y,headerText:e.headerText};n.extend(i,a)}else if(this.getPager().find(u).length>0||u.hasClass("e-pager"))f=n(r.find(".e-page")),r.find(".e-head").css("display","none"),r.find(".e-content").css("display","none"),r.find(".e-savcan").css("display","none"),f.css("display","block");else return f=n(r),r.css("visibility","hidde