UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 113 kB
!function(e){"function"==typeof define&&define.amd?define(["kendo.dom.min","kendo.data.min","kendo.columnsorter.min","kendo.editable.min","kendo.window.min","kendo.filtermenu.min","kendo.columnmenu.min","kendo.selectable.min","kendo.resizable.min","kendo.treeview.draganddrop.min","kendo.pager.min","kendo.filtercell.min","kendo.textbox.min","kendo.form.min","kendo.toolbar.min","kendo.icons.min"],e):e()}((function(){!function(e,t){var n=kendo.data,i=kendo.htmlEncode,r=kendo.dom,a=r.element,o=r.text,s=r.html,l=kendo._outerWidth,d=e.extend({F10:121},kendo.keys),c=kendo._outerHeight,h=kendo.ui,u=h.DataBoundWidget,p=n.DataSource,f=n.ObservableArray,g=n.Query,_=n.Model,m=kendo.support.browser,b=kendo.template,v=kendo._activeElement,k=kendo.support.touch,C=Array.isArray,w=e.extend,y=e.map,I=e.grep,T=e.inArray,x=e.isPlainObject,S=Array.prototype.push,M="string",P="change",F="itemChange",H="error",D="progress",A=".",N=".kendoTreeList",R="click",E="beforeEdit",L="edit",z="page",O="save",q="saveChanges",W="expand",B="collapse",V="cellClose",K="remove",j="td:not(.k-group-cell):not(.k-hierarchy-cell):visible",Q=".k-filter-row th:not(.k-group-cell):not(.k-hierarchy-cell):visible",U="dataBinding",$="dataBound",G="cancel",J="tabIndex",Y="filterMenuInit",X="filterMenuOpen",Z="columnHide",ee="columnShow",te="columnReorder",ne="columnResize",ie="columnMenuInit",re="columnMenuOpen",ae="columnLock",oe="columnUnlock",se="filter",le="navigate",de="sort",ce="parentId",he="dragstart",ue="drag",pe="drop",fe="dragend",ge="tr:visible",_e="td:visible",me="th:visible",be="k-grid-norecords",ve="tr:not(.k-footer-template):visible",ke=!1,Ce="k-checkbox",we="input[data-role='checkbox']."+Ce,ye="k-selected",Ie=new RegExp("(^|[\\x20\\t\\r\\n\\f])(k-filter-row)([\\x20\\t\\r\\n\\f]|$)"),Te="[class*='-i-caret-alt-down']",xe="[class*='-i-caret-alt-right']",Se={wrapper:"k-treelist k-grid k-grid-md k-grid-display-block",header:"k-header k-table-th",button:"k-button",alt:"k-alt k-table-alt-row",editCell:"k-edit-cell",editRow:"k-grid-edit-row",dirtyCell:"k-dirty-cell",group:"k-treelist-group k-table-group-row",toolbar:"k-toolbar",gridToolbar:"k-grid-toolbar",gridHeader:"k-grid-header",gridHeaderWrap:"k-grid-header-wrap",gridContent:"k-grid-content",gridContentWrap:"k-grid-content",gridFilter:"k-grid-filter-menu",footerTemplate:"k-footer-template",focused:"k-focus",loading:"k-i-loading",refresh:"arrow-rotate-cw",retry:"k-request-retry",selected:"k-selected",status:"k-status",link:"k-link",filterable:"k-filterable",icon:"k-icon",iconFilter:"filter",iconCollapse:"caret-alt-down",iconExpand:"caret-alt-right",iconHidden:"k-i-none",iconPlaceHolder:"k-icon k-i-none",input:"k-input",dropPositions:"k-i-insert-top k-i-insert-bottom k-i-plus k-i-insert-middle",dropTop:"insert-top",dropBottom:"insert-bottom",dropAdd:"plus",dropMiddle:"insert-middle",dropDenied:"cancel",dragStatus:"k-drag-status",dragClue:"k-drag-clue",dragClueText:"k-clue-text",headerCellInner:"k-cell-inner",columnTitle:"k-column-title"},Me={create:{icon:"plus",className:"k-grid-add",methodName:"addRow"},createchild:{icon:"plus",className:"k-grid-add",methodName:"addRow"},destroy:{icon:"x",className:"k-grid-remove-command",methodName:"removeRow"},edit:{icon:"pencil",className:"k-button-solid-primary k-grid-edit-command",methodName:"editRow"},update:{icon:"save",className:"k-button-solid-primary k-grid-save-command",methodName:"saveRow"},canceledit:{icon:"cancel-outline",className:"k-grid-cancel-command",methodName:"_cancelEdit"},cancel:{icon:"cancel-outline",text:"Cancel changes",className:"k-grid-cancel-changes",methodName:"cancelChanges"},save:{icon:"check",text:"Save changes",className:"k-grid-save-changes",methodName:"saveChanges"},excel:{icon:"excel",className:"k-grid-excel",methodName:"saveAsExcel"},pdf:{icon:"pdf",className:"k-grid-pdf",methodName:"saveAsPDF"},search:{template:function(e){var t=e.message;return"<span class='k-spacer'></span><span class='k-searchbox k-input k-input-md k-rounded-md k-input-solid k-grid-search'>"+kendo.ui.icon({icon:"search",iconClass:"k-input-icon"})+"<input autocomplete='off' placeholder='"+t+"' title='"+t+"' class='k-input-inner' /></span>"}}},Pe=kendo.Class.extend({init:function(e,t){var n=this;n.data=e||[],n.options=w(n.options,t)},options:{defaultParentId:null,idField:"id",parentIdField:ce},childrenMap:function(){var e,t,n,i=this,r={},a=i.data.length,o=i.options.idField,s=i.options.parentIdField;if(i._childrenMap)return i._childrenMap;for(var l=0;l<a;l++)t=(e=this.data[l])[o],n=e[s],r[t]=r[t]||[],r[n]=r[n]||[],r[n].push(e);return i._childrenMap=r,r},idsMap:function(){var e,t=this,n={},i=t.data,r=i.length,a=t.options.idField;if(t._idMap)return t._idMap;for(var o=0;o<r;o++)n[(e=i[o])[a]]=e;return t.idsMap=n,n},dataMaps:function(){var e,t,n,i=this,r={},a=i.data,o=a.length,s={},l=i.options.idField,d=i.options.parentIdField;if(i._dataMaps)return i._dataMaps;for(var c=0;c<o;c++)t=(e=a[c])[l],n=e[d],s[t]=e,r[t]=r[t]||[],r[n]=r[n]||[],r[n].push(e);return i._dataMaps={children:r,ids:s},i._dataMaps},rootNodes:function(){for(var e,t=this,n=t.data,i=t.options.defaultParentId,r=n.length,a=[],o=t.options.parentIdField,s=0;s<r;s++)(e=n[s])[o]===i&&a.push(e);return a},removeCollapsedSubtreesFromRootNodes:function(e){e=e||{};var t,n=this,i=n.rootNodes(),r=[];n._childrenMap=e.childrenMap=e.childrenMap||n.childrenMap(),e.maxDepth=e.maxDepth||1/0;for(var a=0;a<i.length;a++)t=n.removeCollapsedSubtrees(i[a],e),r=r.concat(t);return r},removeCollapsedSubtrees:function(e,t){var n,i,r=[],a=(t=t||{}).childrenMap||{},o=t.maxDepth||1/0,s=a[e[this.options.idField]]||[],l=gt(e.expanded)?t.expanded:e.expanded;if(r.push(e),s&&l)for(n=0;n<s.length&&!(r.length>=o);n++)i=this.removeCollapsedSubtrees(s[n],t),r=r.concat(i);return r}}),Fe=function(e){this.data=e||[]};(Fe.prototype=new g).constructor=Fe,Fe.process=function(e,n,i){n=n||{};var r,a,o,s,l,d=new Fe(e),c=n.group,h=g.normalizeGroup(c||[]).concat(g.normalizeSort(n.sort||[])),u=n.filterCallback,p=n.filter,f=n.skip,_=n.take;return h&&i&&(d=d.sort(h,t,t,i)),p&&(d=d.filter(p),u&&(d=u(d)),r=d.toArray().length),h&&!i&&(d=d.sort(h),c&&(e=d.toArray())),n.processFromRootNodes&&(s=new Pe(d.toArray(),n),p&&(o=s.childrenMap()),l=s.removeCollapsedSubtreesFromRootNodes({childrenMap:p||h&&h.length?t:n.childrenMap,expanded:n.expanded,maxDepth:f+_||1/0}),a=s.childrenMap(),d=new Fe(l)),f!==t&&_!==t&&(d=d.range(f,_)),c&&(d=d.group(c,e)),{total:r,data:d.toArray(),childrenMap:a,filteredChildrenMap:o}};var He=_.define({id:"id",parentId:ce,fields:{id:{type:"number"},parentId:{type:"number",nullable:!0}},init:function(e){_.fn.init.call(this,e),this._loaded=!1,this.parentIdField||(this.parentIdField=ce),this.parentId=this.get(this.parentIdField)},accept:function(e){_.fn.accept.call(this,e),this.parentId=this.get(this.parentIdField)},set:function(e,t,n){e==ce&&this.parentIdField!=ce&&(this[this.parentIdField]=t),_.fn.set.call(this,e,t,n),e==this.parentIdField&&(this.parentId=this.get(this.parentIdField))},loaded:function(e){if(e===t)return this._loaded;this._loaded=e},shouldSerialize:function(e){return _.fn.shouldSerialize.call(this,e)&&"_loaded"!==e&&"_error"!=e&&"_edit"!=e&&!("parentId"!==this.parentIdField&&"parentId"===e)}});function De(e){return function(t){return t[e]}}function Ae(e){return function(t){return!e(t)}}He.parentIdField=ce,He.define=function(e,n){n===t&&(n=e,e=He);var i=n.parentId||ce;n.parentIdField=i;var r=_.define(e,n);return i&&(r.parentIdField=i),r};var Ne=p.extend({init:function(e){e=e||{};this._dataMaps=this._getDataMaps(),e.schema=w(!0,{},{modelBase:He,model:He},e.schema),p.fn.init.call(this,e)},_addRange:function(){},_createNewModel:function(e){var t={},n=e instanceof _,i=this._modelParentIdField();return n&&(t=e),t=p.fn._createNewModel.call(this,t),n||(e.parentId?e[t.parentIdField]=e.parentId:this._isPageable()&&e[i]&&(e[t.parentIdField]=e[i]),t.accept(e)),t},_shouldWrap:function(){return!0},_push:function(e,t){var n=p.fn._readData.call(this,e);n||(n=e),this[t](n)},_getData:function(){return this._data||[]},_readData:function(e){var t=this,n=t._isPageable()?t._getData().toJSON():t.data();return e=p.fn._readData.call(this,e),this._replaceData((n.toJSON?n.toJSON():n).concat(e),n),e instanceof f?e:n},_replaceData:function(e,t){for(var n=e.length,i=0;i<n;i++)t[i]=e[i];t.length=n},_readAggregates:function(e){var t=w(this._aggregateResult,this.reader.aggregates(e));return""in t&&(t[this._defaultParentId()]=t[""],delete t[""]),t},read:function(e){var n=this;return n._isPageable()&&(n._dataMaps={},n._modelOptions().expanded||(n._skip=0,n._page=1,n._collapsedTotal=t)),p.fn.read.call(n,e)},remove:function(e){return this._removeChildData(e),this._removeFromDataMaps(e),p.fn.remove.call(this,e)},_removeChildData:function(e,t){var n=this,i=n._isPageable(),r=i?this._getData():this.data(),a=i?n._getChildrenMap()||n.childrenMap(r):n._childrenMap(r),o=this._subtree(a,e.id),s=!gt(t)&&t,l=this._removeItems(o,s);n._removeFromDataMaps(l)},pushDestroy:function(e){var t=this;C(e)||(e=[e]);for(var n=0;n<e.length;n++)t._removeChildData(e[n],!0),t._removeFromDataMaps(e[n]);p.fn.pushDestroy.call(t,e)},insert:function(e,t){var n=this,i=n._createNewModel(t);return n._insertInDataMaps(i),p.fn.insert.call(n,e,i)},_filterCallback:function(e){var t,n,i,r=this,a={},o=[],s=e.toArray(),l=r._modelIdField(),d=r._modelParentIdField(),c=r._isPageable(),h=[];for(t=0;t<s.length;t++)if(n=s[t],c){for(h=[],a[n[l]]||(a[n[l]]=!0,h.push(n)),i=r._parentNode(n);i&&!a[i[l]];)a[i[l]]=!0,h.unshift(i),i=r._parentNode(i);h.length&&(o=o.concat(h))}else for(;n&&(a[n[l]]||(a[n[l]]=!0,o.push(n)),!a[n[d]]);)a[n[d]]=!0,(n=this.parentNode(n))&&o.push(n);return new g(o)},_subtree:function(e,t){for(var n=this,i=e[t]||[],r=n._defaultParentId(),a=n._modelIdField(),o=0,s=i.length;o<s;o++)i[o][a]!==r&&(i=i.concat(n._subtree(e,i[o][a])));return i},_childrenMap:function(e){var t,n,i,r,a={};for(e=this._observeView(e),t=0;t<e.length;t++)i=(n=e[t]).id,r=n.parentId,a[i]=a[i]||[],a[r]=a[r]||[],a[r].push(n);return a},childrenMap:function(e){return this._createTreeView(e).childrenMap()},_getChildrenMap:function(){return this._getDataMaps().children},_initIdsMap:function(e){var t=this._getDataMaps();return gt(t.ids)&&(t.ids=this._idsMap(e)),t.ids},_idsMap:function(e){return this._createTreeView(e).idsMap()},_getIdsMap:function(){return this._getDataMaps().ids||{}},_getFilteredChildrenMap:function(){return this._getDataMaps().filteredChildren},_setFilteredChildrenMap:function(e){this._getDataMaps().filteredChildren=e},_initDataMaps:function(e){var t=this,n=t._createTreeView(e);return t._dataMaps=n.dataMaps(),t._dataMaps},_initChildrenMapForParent:function(e){var t=this,n=t._getData(),i=t._getChildrenMap(),r=t._modelIdField(),a=t._modelParentIdField(),o=(e||{})[r];if(i&&e){i[o]=[];for(var s=0;s<n.length;s++)n[s][a]===o&&i[o].push(n[s])}},_getDataMaps:function(){var e=this;return e._dataMaps=e._dataMaps||{},e._dataMaps},_createTreeView:function(e,t){return new Pe(e,w(t,this._defaultTreeModelOptions()))},_defaultTreeModelOptions:function(){var e=this,t=e._modelOptions();return{defaultParentId:e._defaultParentId(),idField:e._modelIdField(),parentIdField:e._modelParentIdField(),expanded:t.expanded}},_defaultDataItemType:function(){return this.reader.model||kendo.data.ObservableObject},_calculateAggregates:function(e,t){var n,i,r,a,o=this,s={},l=(t=t||{}).filter,d=t.skip,c=t.take,h=gt(d)||gt(c)?1/0:d+c,u=o._isPageable(),p=t.filteredChildrenMap,f=t.childrenMap;if(u){if(gt(t.aggregate))return s;a=p||(f||o.childrenMap(o._getData()))}!u&&l&&(e=g.process(e,{filter:l,filterCallback:this._filterCallback.bind(this)}).data);var _=u?a:o._childrenMap(e);for(s[this._defaultParentId()]=new g(this._subtree(_,this._defaultParentId())).aggregate(t.aggregate),r=0;r<e.length&&!(r>=h);r++)n=e[r],i=this._subtree(_,n.id),s[n.id]=new g(i).aggregate(t.aggregate);return s},_queryProcess:function(e,t){var n={};if((t=t||{}).filterCallback=this._filterCallback.bind(this),this._isPageable())return this._processPageableQuery(e,t);var i=this._defaultParentId();n=g.process(e,t);var r,a,o,s,l=this._childrenMap(n.data);for(e=l[i]||[],a=0;a<e.length;a++)(o=e[a]).id!==i&&(r=!(!(s=l[o.id])||!s.length),o.loaded()||o.loaded(r||!o.hasChildren),(o.loaded()||!0!==o.hasChildren)&&(o.hasChildren=r),r&&(e=e.slice(0,a+1).concat(s,e.slice(a+1))));return n.data=e,n},_processPageableQuery:function(e,n){var i,r,a=this,o=a._getDataMaps();return a._getData()===e&&o.children&&o.ids||(o=a._initDataMaps(a._getData())),n.childrenMap=o.children||{},n.idsMap=o.ids||{},i=a._processTreeQuery(e,n),a._replaceWithObservedData(i.data,e),a._processDataItemsState(i.data,i.childrenMap),a._replaceItemsInDataMaps(i.data),i.dataToAggregate=a._dataToAggregate(i.data,n),n.filter||a.filter()?(r=i.filteredChildrenMap,a._replaceInMapWithObservedData(r,e),a._setFilteredChildrenMap(r),n.filteredChildrenMap=r,a._calculateCollapsedTotal(i.data)):a._collapsedTotal=t,i},_dataToAggregate:function(e){var t=e[0]||{};return this._parentNodes(t).concat(e)},_replaceItemsInDataMaps:function(e){for(var n,i,r,a=this,o=C(e)?e:[e],s=a._defaultDataItemType(),l=a._defaultParentId(),d=a._modelIdField(),c=a._modelParentIdField(),h=a._getDataMaps(),u=0;u<o.length;u++)(n=o[u])instanceof s&&(a._insertInIdsMap(n),r=(i=a._parentNodes(n))&&i.length?i[i.length-1]:t,n[c]===l?a._replaceInMap(h.children,l,n,s):r&&a._replaceInMap(h.children,r[d],n,s))},_replaceInMap:function(e,t,n,i){var r=this._modelIdField();e[t]=e[t]||[],i=i||this._defaultDataItemType();var a=e[t].filter((function(e){return n[r]===e[r]}))[0],o=a?e[t].indexOf(a):-1;-1===o||a instanceof i||(e[t][o]=n)},_replaceWithObservedData:function(e,t){for(var n,i,r,a,o,s=this,l=s._getDataMaps().ids||{},d=s._modelIdField(),c=s._defaultDataItemType(),h=0;h<e.length;h++)i=(n=e[h])[d],n instanceof c||(l[i]instanceof c?e[h]=l[i]:(r=s._getById(i),a=t.indexOf(r),r&&-1!==a&&(o=t.at(a),e[h]=o)))},_replaceInMapWithObservedData:function(e,t){for(var n in e)this._replaceWithObservedData(e[n],t)},_insertInDataMaps:function(e){var t=this;t._isPageable()&&(t._insertInIdsMap(e),t._insertInChildrenMap(e))},_insertInIdsMap:function(e){var t=this._getIdsMap(),n=this._modelIdField();gt(e[n])||(t[e[n]]=e)},_insertInChildrenMap:function(e,t){var n=this,i=n._getChildrenMap()||{},r=n._modelIdField(),a=n._modelParentIdField(),o=e[r],s=e[a];t=t||0,i[o]=i[o]||[],i[s]=i[s]||[],i[s].splice(t,0,e)},_removeFromDataMaps:function(e){var t=this;if(e=C(e)?e:[e],t._isPageable())for(var n=0;n<e.length;n++)t._removeFromIdsMap(e[n]),t._removeFromChildrenMap(e[n])},_removeFromIdsMap:function(e){var n=this._getIdsMap(),i=this._modelIdField();gt(e[i])||(n[e[i]]=t)},_removeFromChildrenMap:function(e){var t=this,n=t._getChildrenMap()||{},i=e[t._modelParentIdField()];n[i]=n[i]||[];var r=t._indexInChildrenMap(e);-1!==r&&n[i].splice(r,1)},_indexInChildrenMap:function(e){return this._itemIndexInMap(e,this._getChildrenMap())},_itemIndexInMap:function(e,t){var n=t||{},i=this._modelParentIdField(),r=e[i];n[r]=n[r]||[];var a=n[r].filter((function(t){return e.uid===t.uid}))[0];return a?n[r].indexOf(a):-1},_getById:function(e){for(var t=this._modelIdField(),n=this._getData(),i=0;i<n.length;i++)if(n[i][t]===e)return n[i]},_isLastItemInView:function(e){var t=this.view();return t.length&&t[t.length-1]===e},_defaultPageableQueryOptions:function(){var e=this,t=e._getDataMaps();return{skip:e.skip(),take:e.take(),page:e.page(),pageSize:e.pageSize(),sort:e.sort(),filter:e.filter(),group:e.group(),aggregate:e.aggregate(),filterCallback:e._filterCallback.bind(e),childrenMap:t.children,idsMap:t.ids}},_isPageable:function(){var e=this.pageSize();return!gt(e)&&e>0&&!this.options.serverPaging},_updateTotalForAction:function(e,t){var n=this;p.fn._updateTotalForAction.call(n,e,t),n._isPageable()&&n._updateCollapsedTotalForAction(e,t)},_updateCollapsedTotalForAction:function(e,t){var n,i=this,r=parseInt(i._collapsedTotal,10);"number"!=typeof(n=i._collapsedTotal)||isNaN(n)?i._calculateCollapsedTotal():("add"===e?r+=t.length:"remove"===e?r-=t.length:"itemchange"===e||"sync"===e||i.options.serverPaging?"sync"===e&&(r=i._calculateCollapsedTotal()):r=i._calculateCollapsedTotal(),i._collapsedTotal=r)},_setFilterTotal:function(e,t){p.fn._setFilterTotal.call(this,e,t)},collapsedTotal:function(){var e=this;return gt(e._collapsedTotal)?e._calculateCollapsedTotal():e._collapsedTotal},_calculateCollapsedTotal:function(e){var t=this,n=t._dataWithoutCollapsedSubtrees(e);return n.length&&(t._collapsedTotal=n.length),t._collapsedTotal},_dataWithoutCollapsedSubtrees:function(e){return this._removeCollapsedSubtrees(e||this._getData())},_removeCollapsedSubtrees:function(e){var t=this;return t._createTreeView(e).removeCollapsedSubtreesFromRootNodes({expanded:t._modelOptions().expanded,childrenMap:t.filter()?t._getFilteredChildrenMap():t._getChildrenMap()})},_processTreeQuery:function(e,t){return Fe.process(e,w(t,this._defaultTreeModelOptions(),{processFromRootNodes:!0}))},_processDataItemsState:function(e,t){var n,i=e.length;for(n=0;n<i;n++)this._processDataItemState(e[n],t)},_processDataItemState:function(e,t){var n=this._defaultParentId();if(e.id!==n){var i=t[e.id]||[],r=!(!i||!i.length);e.loaded&&(e.loaded()||e.loaded(r||!e.hasChildren),(e.loaded()||!0!==e.hasChildren)&&(e.hasChildren=r))}},_queueRequest:function(e,t){t.call(this)},_modelLoaded:function(e){var t=this.get(e);t.loaded(!0),t.hasChildren=this.childNodes(t).length>0},_modelError:function(e,t){this.get(e)._error=t},success:function(e,t){t&&void 0!==t.id||(this._data=this._observe([])),p.fn.success.call(this,e,t),this._total=this._data.length},load:function(t){var n="_query",i=this.options.serverSorting||this.options.serverPaging||this.options.serverFiltering||this.options.serverGrouping||this.options.serverAggregates,r=e.Deferred().resolve().promise();if(t.loaded()){if(i)return r}else t.hasChildren&&(n="read",this._removeChildData(t));return this[n]({id:t.id}).done(this._modelLoaded.bind(this,t.id)).fail(this._modelError.bind(this,t.id))},contains:function(e,t){for(var n=this,i=n._modelIdField(),r=n._modelParentIdField(),a=e[i],o=n._isPageable();t;){if(t[r]===a)return!0;t=o?n._parentNode(t):n.parentNode(t)}return!1},_byParentId:function(e,t){var n,i=[],r=this.view();if(e===t)return[];for(var a=0;a<r.length;a++)(n=r.at(a)).parentId==e&&i.push(n);return i},_defaultParentId:function(){return this.reader.model.fn.defaults[this.reader.model.parentIdField]},_modelOptions:function(){return(this.options.schema||{}).model||{}},_modelIdField:function(){return this._modelOptions().id||"id"},_modelParentIdField:function(){return this._modelOptions().parentId||ce},childNodes:function(e){return this._byParentId(e.id,this._defaultParentId())},allChildNodes:function(e,t){for(var n=this.data().filter((function(t){return t.parentId===e.id})),i=0;i<n.length;i++)t.push(n[i]),this.allChildNodes(n[i],t)},rootNodes:function(){return this._byParentId(this._defaultParentId())},_rootNode:function(e){return this._parentNodes(e)[0]},_pageableRootNodes:function(e){e=e||{};for(var t,n,i=this,r=i._defaultParentId(),a=i._modelParentIdField(),o=[],s=i._nodesWithoutParentInView(e),l=0;l<s.length;l++)(t=s[l])[a]===r?o.push(t):(n=i._rootNode(t))&&-1===o.indexOf(n)&&o.push(n);return o},parentNode:function(e){return this.get(e.parentId)},_parentNode:function(e){var t=this,n=t._modelParentIdField(),i=t._initIdsMap(t._getData()),r=e[n];return i[r]||t._getById(r)},_parentNodes:function(e){for(var t=this._parentNode(e),n=[];t;)n.unshift(t),t=this._parentNode(t);return n},_parentNodesNotInView:function(){for(var e,t,n,i=this,r=i.view(),a=[],o=i._defaultParentId(),s=i._modelIdField(),l=i._modelParentIdField(),d=[],c=0;c<r.length;c++)(t=r[c])[s],n=t[l],i._parentInView(n)||n===o||(e=(d=i._parentNodes(t))&&d.length?d[d.length-1]:i._getById(n))&&-1===a.indexOf(e)&&a.push(e);return a},_nodesWithoutParentInView:function(e){e=e||{};for(var t,n=this,i=n.view(),r=e.childrenMap||n.childrenMap(n._getData()),a=n._modelIdField(),o=n._modelParentIdField(),s=[],l=0;l<i.length;l++)r[(t=i[l])[a]],n._parentInView(t[o])||s.push(t);return s},_parentInView:function(e){for(var t=this.view(),n=0;n<t.length;n++)if(t[n].id===e)return t[n]},level:function(e){var t=-1;e instanceof He||(e=this.get(e));do{e=this.parentNode(e),t++}while(e);return t},_pageableModelLevel:function(e){return e&&this._isPageable()?this._parentNodes(e).length:0},filter:function(e){var n=p.fn.filter;if(e===t)return n.call(this,e);n.call(this,e)},_pageableQueryOptions:function(e){var t=this._getDataMaps();return e.childrenMap=t.children,e.idsMap=t.ids,e},_flatData:function(e,t){return t=!!this._isPageable()||t,p.fn._flatData.call(this,e,t)},data:function(e){var t=this,n=p.fn.data.call(t,e);return t._isPageable()&&(t._initDataMaps(t._getData()),t._calculateCollapsedTotal()),n},cancelChanges:function(e){p.fn.cancelChanges.call(this,e),this._restorePageSizeAfterAddChild()},_modelCanceled:function(e){this._isPageable()&&this._removeFromDataMaps(e)},_changesCanceled:function(){var e=this;e._isPageable()&&e._initDataMaps(e._getData())},_setAddChildPageSize:function(){var e=this,t={};e._isPageable()&&(e._addChildPageSize=e.pageSize()+1,(t=e._defaultPageableQueryOptions()).take=e._addChildPageSize,t.pageSize=e._addChildPageSize,e._query(t))},_restorePageSizeAfterAddChild:function(){var e=this,n={};e._isPageable()&&(gt(e._addChildPageSize)||((n=e._defaultPageableQueryOptions()).take=e._addChildPageSize-1,n.pageSize=e._addChildPageSize-1,e._query(n))),e._addChildPageSize=t},sync:function(){var e=this;return p.fn.sync.call(e).then((function(){e._restorePageSizeAfterAddChild()}))},_syncEnd:function(){var e=this;e._isPageable()&&e._initDataMaps(e._getData())}});function Re(){return"none"!==this.style.display}function Ee(n){var i=kendo.attr("index");return n.sort((function(n,r){n=e(n),r=e(r);var a=n.attr(i),o=r.attr(i);return a===t&&(a=e(n).index()),o===t&&(o=e(r).index()),(a=parseInt(a,10))>(o=parseInt(o,10))?1:a<o?-1:0}))}function Le(t){var n=t.find(">tr:not(.k-filter-row)"),i=function(){var t=e(this);return!t.hasClass("k-group-cell")&&!t.hasClass("k-hierarchy-cell")},r=e();return n.length>1&&(r=n.find("th[data-index]").filter(i)),Ee(r=r.add(n.last().find("th").filter(i)))}function ze(e){for(var t=[],n=e.className,i=0,r=e.level;i<r;i++)t.push(a("span",{className:n}));return t}function Oe(e){for(var t,n=0,i=0,r=e.length;i<r;i++)(t=e[i].style.width)&&-1==t.indexOf("%")&&(n+=parseInt(t,10));return n}Ne.create=function(e){return Array.isArray(e)?e={data:e}:e instanceof f&&(e={data:e.toJSON()}),e instanceof Ne?e:new Ne(e)};var qe=h.Pager.extend({options:{name:"TreeListPager"},totalPages:function(){var e=this,t=e.dataSource;return t&&t._filter?h.Pager.fn.totalPages.call(e):Math.ceil((e._collapsedTotal()||0)/(e.pageSize()||1))},_createDataSource:function(e){this.dataSource=kendo.data.TreeListDataSource.create(e.dataSource)},_collapsedTotal:function(){var e=this.dataSource;return e&&e.collapsedTotal()||0}}),We=kendo.Observable.extend({init:function(e,t){kendo.Observable.fn.init.call(this),t=this.options=w(!0,{},this.options,t),this.element=e,this.bind(this.events,t),this.model=this.options.model,this.fields=this._fields(this.options.columns),this._initContainer(),this.createEditable()},options:{renderForm:!1},events:[],_initContainer:function(){this.wrapper=this.element},createEditable:function(){var e=this.options;e.renderForm?(this.form=new h.Form(this.wrapper.find(".k-treelist-form"),{items:this.fields,buttonsTemplate:function(){return""},formData:this.model,change:e.change}),this.editable=this.form.editable):this.editable=new h.Editable(this.wrapper,{fields:this.fields,target:e.target,clearContainer:e.clearContainer,model:this.model,change:e.change})},_isEditable:function(e){return ft(e,this.model)},_fields:function(e){var t,n,i,r=[];for(t=0,n=e.length;t<n;t++)i=e[t],this._isEditable(i)&&r.push({field:i.field,format:i.format,editor:i.editor,editorOptions:w(!0,{format:i.format},i.editorOptions),label:i.title||i.field||""});return r},end:function(){return this.editable.end()},close:function(){this.destroy()},destroy:function(){this.editable.destroy(),this.editable.element.find("["+kendo.attr("container-for")+"]").empty().end().removeAttr(kendo.attr("role")),this.model=this.wrapper=this.element=this.columns=this.editable=null}}),Be=We.extend({init:function(e,t){We.fn.init.call(this,e,t),this._attachHandlers(),kendo.cycleForm(this.wrapper),this.open()},events:[G,O],options:{window:{modal:!0,resizable:!1,draggable:!0,title:"Edit",visible:!1}},_initContainer:function(){var t=this.options,n=[];this.wrapper=e('<div class="k-popup-edit-form"/>').attr(kendo.attr("uid"),this.model.uid).append('<div class="k-edit-form-container"/>'),t.template?(this._appendTemplate(n),this.fields=[]):(this.options.renderForm=!0,n.push(s('<div class="k-treelist-form"></div>'))),this._appendButtons(n),new r.Tree(this.wrapper.children()[0]).render(n),this.wrapper.appendTo(t.appendTo),this.window=new h.Window(this.wrapper,t.window)},_appendTemplate:function(e){var t=this.options.template;typeof t===M&&(t=kendo.unescape(t)),t=kendo.template(t)(this.model),e.push(s(t))},_appendButtons:function(e){e.push(a("div",{class:"k-edit-buttons"},this.options.commandRenderer()))},_attachHandlers:function(){var e=this._cancelProxy=this._cancel.bind(this);this.wrapper.on(R+N,".k-grid-cancel-command",this._cancelProxy),this._saveProxy=this._save.bind(this),this.wrapper.on(R+N,".k-grid-save-command",this._saveProxy),this.window.bind("close",(function(t){t.userTriggered&&e(t)}))},_detachHandlers:function(){this._cancelProxy=null,this._saveProxy=null,this.wrapper.off(N)},_cancel:function(e){this.trigger(G,e)},_save:function(){this.trigger(O)},open:function(){this.window.center().open()},close:function(){this.window.bind("deactivate",this.destroy.bind(this)).close()},destroy:function(){this.form&&this.form.destroy(),this.window.destroy(),this.window=null,this._detachHandlers(),We.fn.destroy.call(this)}}),Ve=We.extend({destroy:function(){var e=this;e.editable.destroy(),e.editable.element.off().empty().removeAttr(kendo.attr("role")),e.model=e.wrapper=e.element=e.columns=e.editable=null}}),Ke=u.extend({init:function(t,n,i){if(u.fn.init.call(this,t,n),i&&(this._events=i),ke=kendo.support.isRtl(t),this._dataSource(this.options.dataSource),this._aria(),this._columns(),this._layout(),this._navigatable(),this._selectable(),this._sortable(),this._resizable(),this._filterable(),this._filterRow(),this._attachEvents(),this._toolbar(),this._scrollable(),this._reorderable(),this._columnMenu(),this._minScreenSupport(),this._draggable(),this._pageable(),this.options.autoBind&&this.dataSource.fetch(),this._hasLockedColumns){var r=this;this.wrapper.addClass("k-grid-lockedcolumns"),this._resizeHandler=function(){r.resize()},e(window).on("resize"+N,this._resizeHandler)}kendo.notify(this)},_draggable:function(){var t,n=this,i=this.options.editable,r=n.dataSource,a=r._modelIdField(),o=r._modelParentIdField(),s=n._isPageable();i&&i.move&&(t=i.move.reorderable,this._dragging=new kendo.ui.HierarchicalDragAndDrop(this.wrapper,{$angular:this.$angular,autoScroll:!0,holdToDrag:k,filter:"tbody>tr",itemSelector:"tr",allowedContainers:this.wrapper,hintText:function(t){return t.children("td").map((function(){return e(this).text()})).toArray().join("<span class='k-drag-separator'></span>")},contains:function(e,t){var n=this.dataItem(t),i=this.dataItem(e);return i==n||this.dataSource.contains(i,n)}.bind(this),itemFromTarget:function(e){var t,i,r=e.closest("tr"),a=r.prev(),o=r.next();return a&&(t=!n.sameLevel(a,r)),o&&(i=!n.sameLevel(o,r)),{item:r,content:r,first:t,last:i}},dragstart:function(e){this.wrapper.addClass("k-treelist-dragging"),this.wrapper.find(".k-grid-content").length&&this.wrapper.find(".k-grid-content table, .k-grid-content-locked table").css("position","relative");var t=this.dataItem(e);return this.trigger(he,{source:t})}.bind(this),drag:function(e){e.source=this.dataItem(e.source),this.trigger(ue,e)}.bind(this),drop:function(e){return e.source=this.dataItem(e.source),e.destination=this.dataItem(e.destination),this.wrapper.removeClass("k-treelist-dragging"),this.wrapper.find(".k-grid-content").length&&this.wrapper.find(".k-grid-content table, .k-grid-content-locked table").css("position","static"),this.trigger(pe,e)}.bind(this),dragend:function(e){var t=this.dataItem(e.destination),i=this.dataItem(e.source),l=i[o],d=r._indexInChildrenMap(i),c=e.position;if("over"==c){s&&(r._removeFromChildrenMap(i),i[o]=t?t[a]:null,r._initChildrenMapForParent(t),i[o]=l);var h=i.set("parentId",t?t.id:null);s&&h&&(r._removeFromChildrenMap(i),i[o]=l,r._removeFromChildrenMap(i),r._insertInChildrenMap(i,d))}else"before"==c?n.insertBefore(i,t):"after"==c&&n.insertAfter(i,t);e.source=i,e.destination=t,this.trigger(fe,e)}.bind(this),reorderable:t,dropHintContainer:function(e){return e.children("td:visible").eq(0)},dropPositionFrom:function(e){var t,n,i,r,a=!1;if(e.parent().find(".k-i-none").length)return e.prevAll(".k-i-none").length>0?"after":"before";for(n=(t=e.parent().contents()).length,r=e[0],i=0;i<n&&t[i]!==r;i++)3===t[i].nodeType&&(a=!0);return a?"after":"before"}}))},sameLevel:function(){return arguments[0].find("."+Se.iconHidden).length===arguments[1].find("."+Se.iconHidden).length},insertAfter:function(e,t){this.insertAction(e,t,1)},insertBefore:function(e,t){this.insertAction(e,t,0)},insertAction:function(e,t,n){var i,r=this,a=r.dataSource,o=a._modelParentIdField(),s=a.indexOf(e),l=r._isPageable(),d=a._indexInChildrenMap(t),c=a._getChildrenMap()||{},h=e[o];r._unbindDataSource(),r._unbindDataChange(),l&&a._removeFromChildrenMap(e),e[o]!=t[o]&&e.set("parentId",t&&t.parentId?t.parentId:null),a._data.splice(s,1),i=a.indexOf(t)+n,l&&(d+=n,c[h].length<=d&&(d=c[h].length),a._insertInChildrenMap(e,d)),a._data.splice(i,0,e),a._destroyed.pop(),r._bindDataChange(),r._bindDataSource(),r.refresh()},_bindDataChange:function(){var e=this.dataSource;e._data&&e._changeHandler&&(e._data.bind(P,e._changeHandler),e._data.trigger(P))},_unbindDataChange:function(){var e=this.dataSource;e._data&&e._changeHandler&&e._data.unbind(P,e._changeHandler)},_bindDataSource:function(){var e=this.dataSource;e&&e.bind(P,this._refreshHandler)},_unbindDataSource:function(){var e=this.dataSource;e&&e.unbind(P,this._refreshHandler)},itemFor:function(e){return"number"==typeof e&&(e=this.dataSource.get(e)),this.tbody.find("["+kendo.attr("uid")+"="+e.uid+"]")},_itemFor:function(e){var t=this,n=t.lockedContent?t.lockedTable:t.table;return"number"==typeof e&&(e=this.dataSource.get(e)),n.find("["+kendo.attr("uid")+"="+e.uid+"]")},_scrollable:function(){if(this.options.scrollable){var t=this.thead.closest(".k-grid-header-wrap"),n=e(this.lockedContent).on("DOMMouseScroll"+N+" mousewheel"+N,this._wheelScroll.bind(this));this.content.on("scroll"+N,(function(){kendo.scrollLeft(t,this.scrollLeft),n.scrollTop(this.scrollTop)})),this.element.find(".k-grid-content, .k-grid-content-locked").wrapAll("<div class='k-grid-container' />");var i=kendo.touchScroller(this.content);i&&i.movable&&(this._touchScroller=i,i.movable.bind("change",(function(e){kendo.scrollLeft(t,-e.sender.x),n&&n.scrollTop(-e.sender.y)})))}},_wheelScroll:function(t){if(!t.ctrlKey){var n=kendo.wheelDeltaY(t),i=e(t.currentTarget);n&&(i[0].scrollHeight>i[0].clientHeight&&(i[0].scrollTop<i[0].scrollHeight-i[0].clientHeight&&n<0||i[0].scrollTop>0&&n>0)&&t.preventDefault(),i.one("wheel"+N,!1),this.content.scrollTop(this.content.scrollTop()+-n))}},_progress:function(){var e=this.options.messages;this.tbody.find("tr").length||this._showStatus(kendo.template((function(e){var t=e.className,n=e.messages;return"<span class='"+t+"'></span> "+i(n.loading)}))({className:Se.icon+" "+Se.loading,messages:e}))},_error:function(e){this.dataSource.rootNodes().length||this._render({error:e})},refresh:function(t){var n=this;if(!("itemchange"==(t=t||{}).action&&this.editor||this.trigger(U))){var i,r=e(this.current()),a=!1;this._cancelEditor(),this._render(),this._adjustHeight(),this.options.navigatable&&((this._isActiveInTable()||this.editor)&&(a=r.is("th"),i=Math.max(this.cellIndex(r),0)),this._restoreCurrent(i,a)),n._checkBoxSelection&&n._deselectCheckRows(n.items(),!0),this.trigger($)}},_angularFooters:function(e){var t,n,i,r=this.dataSource.aggregates(),a=this._footerItems();for(t=0;t<a.length;t++)i=r[(n=a.eq(t)).attr("data-parentId")],this._angularFooter(e,n.find("td").get(),i)},_angularFooter:function(e,t,n){var i=this.columns;this.angular(e,(function(){return{elements:t,data:y(i,(function(e){return{column:e,aggregate:n&&n[e.field]}}))}}))},items:function(){return this._hasLockedColumns?this._items(this.tbody).add(this._items(this.lockedTable)):this._items(this.tbody)},_items:function(t){return t.find("tr[data-uid]").filter((function(){return!e(this).hasClass(Se.footerTemplate)}))},_footerItems:function(){var t=this.tbody;return this._hasLockedColumns&&(t=t.add(this.lockedTable)),t.find("tr").filter((function(){return e(this).hasClass(Se.footerTemplate)}))},dataItems:function(){var e=kendo.ui.DataBoundWidget.fn.dataItems.call(this);if(this._hasLockedColumns){for(var t=e.length,n=new Array(2*t),i=t;--i>=0;)n[i]=n[i+t]=e[i];e=n}return e},_showNoRecordsTemplate:function(){var t,n=this.options.scrollable&&!this.wrapper[0].style.height?' style="margin:0 auto;position:static;"':"";this._contentTree.render([]),this._hasLockedColumns&&this._lockedContentTree.render([]),t=kendo.format('<div class="k-grid-norecords-template"{1}>{0}</div>',this.options.messages.noRows,n),e(kendo.template((function(){return kendo.format('<div class="{0}">{1}</div>',be,t)}))({})).insertAfter(this.table)},_showStatus:function(t){var n=this.element.find(".k-status"),i=e(this.content).add(this.lockedContent);n.length||(n=e("<div class='k-status' role='alert' aria-live='polite' />").appendTo(this.element)),this._contentTree.render([]),this._hasLockedColumns&&this._lockedContentTree.render([]),i.hide(),n.html(t)},_hideStatus:function(){this.element.find(".k-status").remove(),this._hideNoRecordsTempalte(),e(this.content).add(this.lockedContent).show()},_hideNoRecordsTempalte:function(){this.element.find("."+be).remove()},_adjustHeight:function(){var e,t=this,n=this.element,i=n.find(A+Se.gridContentWrap),r=n.find(A+Se.gridHeader),a=n.find(A+Se.gridToolbar),o=n.find(A+Se.status),s=t._isPageable()&&t.pager&&t.pager.element.is(":visible")?c(t.pager.element):0,l=kendo.support.scrollbar();n.css("height",this.options.height);var d,h,u;((d=n)[0].style.height||(h=d.height(),d.height("auto"),u=d.height(),d.height(""),h!=u))&&(e=n.height()-c(r)-c(a)-c(o)-s,i.height(e),this._hasLockedColumns&&(l=this.table[0].offsetWidth>this.table.parent()[0].clientWidth?l:0,this.lockedContent.height(e-l)))},_resize:function(e,t){this._applyLockedContainersWidth(),this._adjustHeight(),this.pager&&this.pager.element&&this.pager.resize(t)},_minScreenSupport:function(){this.hideMinScreenCols()&&(this.minScreenResizeHandler=this.hideMinScreenCols.bind(this),e(window).on("resize",this.minScreenResizeHandler))},_iterateMinScreenCols:function(e,n){for(var i=!1,r=0;r<e.length;r++){var a=e[r],o=a.minScreenWidth;o!==t&&null!==o&&(i=!0,o>n?this.hideColumn(a):this.showColumn(a)),!a.hidden&&a.columns&&(i=this._iterateMinScreenCols(a.columns,n)||i)}return i},hideMinScreenCols:function(){var e=this.columns,t=window.innerWidth>0?window.innerWidth:screen.width;return this._iterateMinScreenCols(e,t)},destroy:function(){this._destroyColumnAttachments(),u.fn.destroy.call(this);var t=this.dataSource;t.unbind(P,this._refreshHandler),t.unbind(H,this._errorHandler),t.unbind(D,this._progressHandler),this._navigatableTables=null,this._current=null,this._resizeHandler&&e(window).off("resize"+N,this._resizeHandler),this._dragging&&(this._dragging.destroy(),this._dragging=null),this.resizable&&(this.resizable.destroy(),this.resizable=null),this.reorderable&&(this.reorderable.destroy(),this.reorderable=null),this._draggableInstance&&this._draggableInstance.element&&(this._draggableInstance.destroy(),this._draggableInstance=null),this.selectable&&this.selectable.destroy(),this._userEvents&&(this._userEvents.destroy(),this._userEvents=null),this.minScreenResizeHandler&&e(window).off("resize",this.minScreenResizeHandler),this._destroyEditor(),this.element.off(N),this.wrapper&&this.wrapper.off(N),this._touchScroller&&this._touchScroller.destroy(),this._destroyPager(),t&&(t._dataMaps=null),this._autoExpandable=null,this._refreshHandler=this._errorHandler=this._progressHandler=this._dataSourceFetchProxy=null,this.thead=this.content=this.tbody=this.table=this.element=this.lockedHeader=this.lockedContent=null,this._statusTree=this._headerTree=this._contentTree=this._lockedHeaderColsTree=this._lockedContentColsTree=this._lockedHeaderTree=this._lockedContentTree=null,kendo.destroy(this.wrapper)},options:{name:"TreeList",columns:[],autoBind:!0,scrollable:!0,selectable:!1,sortable:!1,toolbar:null,height:null,columnMenu:!1,messages:{noRows:"No records to display",loading:"Loading...",requestFailed:"Request failed.",retry:"Retry",commands:{edit:"Edit",update:"Save",canceledit:"Cancel",create:"Add new record",createchild:"Add child record",destroy:"Delete",excel:"Export to Excel",pdf:"Export to PDF",search:"Search..."}},excel:{hierarchy:!0},resizable:!1,search:!1,filterable:!1,editable:!1,reorderable:!1,pageable:!1,renderAllRows:!0,rowTemplate:null,altRowTemplate:null},events:[P,E,L,z,O,q,K,W,B,U,$,G,he,ue,pe,fe,Y,F,V,X,Z,ee,te,ne,ie,re,ae,oe,se,le,de],getOptions:function(){this.options.dataSource=null;var n=w(!0,{},this.options);n.columns=kendo.deepExtend([],this.columns);var i=this.dataSource,r=i.options.data&&i._data;return i.options.data=null,n.dataSource=e.extend(!0,{},i.options),i.options.data=r,n.dataSource.data=r,n.dataSource.page=i.page(),n.dataSource.filter=e.extend(!0,{},i.filter()),n.dataSource.pageSize=i.pageSize(),n.dataSource.sort=i.sort(),n.dataSource.group=i.group(),n.dataSource.aggregate=i.aggregate(),n.dataSource.transport&&(n.dataSource.transport.dataSource=null),n.pageable&&n.pageable.pageSize&&(n.pageable.pageSize=i.pageSize()),n.$angular=t,n},setOptions:function(e){var t=this.getOptions();kendo.deepExtend(t,e),e.dataSource||(t.dataSource=this.dataSource);var n=this.wrapper,i=this._events,r=this.element;this.destroy(),this.options=null,n[0]!==r[0]&&(n.before(r),n.remove()),r.empty(),this.init(r,t,i),this._setEvents(t)},_destroyColumnAttachments:function(){var t=this;t.thead&&(this.angular("cleanup",(function(){return{elements:t.thead.get()}})),t.thead.add(t.lockedHeader).find("th").each((function(){var t=e(this),n=t.data("kendoFilterMenu"),i=t.data("kendoColumnSorter"),r=t.data("kendoColumnMenu");n&&n.destroy(),i&&i.destroy(),r&&r.destroy()})))},_toggle:function(n,i){var r=this,a=e.Deferred().resolve().promise(),o=n.loaded();if(r._isIncellEditable()&&r.editor&&(e(v()).change(),r.closeCell()),n._error&&(n.expanded=!1,n._error=t),!o&&n.expanded)return a;function s(){r._toggleData(),r._isPageable()?r.refresh():r._render(),r._syncLockedContentHeight()}return void 0===i&&(i=!n.expanded),n.expanded=i,o||(a=this.dataSource.load(n).always((function(){s()}))),s(),a},_toggleData:function(){this._isPageable()&&this._togglePageableData()},_togglePageableData:function(){var e,t=this,n=t.dataSource,i=n._getData(),r=n._defaultPageableQueryOptions();t._renderProgress(!0);var a=n._getChildrenMap()||n.childrenMap(n._getData());n._processDataItemsState(i,a),e=n._processPageableQuery(i,r),r.childrenMap=e.childrenMap,r.filteredChildrenMap=e.filteredChildrenMap,n._aggregateResult=n._calculateAggregates(e.dataToAggregate,r),n.view(e.data),n.filter()||n._calculateCollapsedTotal(),t._refreshPager(),t._renderProgress(!1)},_refreshPager:function(){var e=this.pager;e&&e.refresh()},expand:function(e){return this._toggle(this.dataItem(e),!0)},collapse:function(e){return this._toggle(this.dataItem(e),!1)},_toggleChildren:function(t){var n=e(t.target),i=this.dataItem(n);if(i){var r=i.expanded?B:W;this.trigger(r,{model:i})||this._toggle(i),t.preventDefault()}},_navigatable:function(){var t=this;if(t.options.navigatable){var n=t.table.add(t.lockedTable),i=t.thead.parent().add(e(">table",t.lockedHeader));t.options.scrollable&&(n=n.add(i),i.attr(J,-1)),i.on("keydown"+N,t._openHeaderMenu.bind(t)).find("a.k-link").attr("tabIndex",-1),this._navigatableTables=n,n.on(kendo.support.touch?"touchstart"+N:"mousedown"+N,ge+">:visible",t._tableClick.bind(t)).on("focus"+N,t._tableFocus.bind(t)).on("focusout"+N,t._tableBlur.bind(t)).on("keydown"+N,t._tableKeyDown.bind(t))}},_openHeaderMenu:function(e){e.altKey&&e.keyCode==d.DOWN&&(this.current().find(".k-grid-filter-menu, .k-grid-column-menu").click(),e.stopImmediatePropagation())},cellIndex:function(t){var n=0;return this.lockedTable&&!e.contains(this.lockedTable[0],t[0])&&(n=Ge(dt(this.columns)).length),e(t).parent().children().index(t)+n},_isActiveInTable:function(){var t=kendo._activeElement();return!!t&&(this.table[0]===t||e.contains(this.table[0],t)||this.lockedTable&&(this.lockedTable[0]===t||e.contains(this.lockedTable[0],t)))},_restoreCurrent:function(n,i){var r,a;n===t||n<0||(this._current&&this._current.removeClass("k-focus"),i?this._setCurrent(this.thead.find("th").eq(n)):(0,n=0,r=e(),this.lockedTable&&(r=this.lockedTable.find(">tbody>tr:visible").eq(0)),a=(r=r.add(this.tbody.children().eq(0))).find(">td:visible").eq(n),this._setCurrent(a)),this._current&&pt(this._current.closest("table")[0],!0))},current:function(e){return this._setCurrent(e,!0)},_setCurrent:function(t,n,i){var r=this,a=r._current;return t=e(t),i?t[0]&&(r._current=t,r._updateCurrentAttr(r._current,t),r._scrollCurrent(),n||this.trigger(le,{element:t})):(!t.length||a&&a[0]===t[0]||(this._updateCurrentAttr(a,t),this._scrollCurrent(),n||this.trigger(le,{element:t})),t&&t.length&&(this._lastCellIndex=t.parent().children(j).index(t))),r._current},_scrollCurrent:function(){var t=this._current,n=this.options.scrollable;if(t&&n){var i=t.parent(),r=i.closest("table").parent(),a=r.is(".k-grid-content-locked,.k-grid-header-locked"),o=r.is(".k-grid-content-locked,.k-grid-content"),s=e(this.content)[0];o&&this._scrollTo(this._relatedRow(i)[0],s),this.lockedContent&&(this.lockedContent[0].scrollTop=s.scrollTop),a||this._scrollTo(t[0],s)}},_findCurrentCell:function(){var t=this,n=t.current(),i=e(t.table).add(t.header).add(t.lockedTable).add(t.lockedHeader);return n&&i.find(n).length>0?n:i.find(A+Se.focused)},_scrollTo:function(t,n){var i=t.tagName.toLowerCase(),r="td"===i||"th"===i,a=e(t).closest("table")[0],o=t[r?"offsetWidth":"offsetHeight"],s=n[r?"scrollLeft":"scrollTop"],l=n[r?"clientWidth":"clientHeight"],d="relative"===e(t).css("position")&&ke&&r?Math.abs(a.offsetLeft-t.offsetLeft):t[r?"offsetLeft":"offsetTop"],c=d+o,h=0,u=0,p=0;ke&&r&&(m.msie||m.edge?u=a.offsetLeft:(m.mozilla||m.webkit&&m.version>85)&&(p=a.offsetLeft-kendo.support.scrollbar())),h=(s=Math.abs(s+u-p))>d?d:c>s+l?o<=l?c-l:d:s,h=Math.abs(h+u)+p,n[r?"scrollLeft":"scrollTop"]=h},_aria:function(){var e=this.element.attr("id")||"aria";e&&(this._elementId=e+"_active_element")},_currentDataIndex:function(e,n){var i=n.attr("data-index");if(!i)return t;var r=dt(this.columns).length;return r&&!e.closest("div").hasClass("k-grid-content-locked")[0]?i-r:i},_prevVerticalCell:function(t,n){var i,r=n.parent(),a=t.children(ge),o=a.index(r),s=this._currentDataIndex(t,n),l=j+","+Q;if(s||n.hasClass("k-header"))return(i=tt(n)).eq(i.length-2);if(s=Math.max(r.children(l).index(n),this._lastCellIndex||0),r.hasClass("k-filter-row"))return Le(t).filter(Re).eq(s);if(-1==o){if(!(r=t.find("tr.k-filter-row:visible"))[0])return Le(t).filter(Re).eq(s)}else r=0===o?e():a.eq(o-1);return(i=r.children(l)).length>s?i.eq(s):i.eq(0)},_nextVerticalCell:function(e,n){var i,r=n.parent(),a=e.children(ge),o=a.index(r),s=this._currentDataIndex(e,n),l=j+","+Q;if(-1!=o&&s===t&&n.hasClass("k-header"))return nt(n).eq(1);s=s?parseInt(s,10):r.children(l).index(n),s=Math.max(s,this._lastCellIndex||0),r=-1==o?a.eq(0):a.eq(o+n[0].rowSpan);var d=s;if(this._currentDataIndex(e,n)!==t)for(var c=r.children(":not(.k-group-cell):not(.k-hierarchy-cell)"),h=c.filter(":hidden"),u=0,p=h.length;u<p;u++)c.index(h[u])<s&&d--;return s=d,(i=r.children(l)).length>s?i.eq(s):i.eq(0)},_verticalContainer:function(e,t){var n=e.parent(),i=this._navigatableTables.length,r=Math.floor(i/2),a=T(n[0],this._navigatableTables);return t&&(r*=-1),((a+=r)>=0||a<i)&&(n=this._navigatableTables.eq(a)),n.find(t?"thead":"tbody")},_updateCurrentAttr:function(t,n){var i=e(t).data("headerId");e(t).removeClass(Se.focused).closest("table").removeAttr("aria-activedescendant"),i?(i=i.replace(this._elementId,""),e(t).attr("id",i)):e(t).removeAttr("id"),n.data("headerId",n.attr("id")).attr("id",this._elementId).addClass(Se.focused).closest("table").attr("aria-activedescendant",this._elementId),this._current=n},_tableKeyDown:function(t){var n=!1,i=this.current(),r=e(t.target),a=!t.isDefaultPrevented()&&!r.is(":button,a,:input,a>.k-icon,a>.k-svg-icon");i=i||e(this.lockedTable).add(this.table).find(ge+" > td:visible").first(),t.keyCode===d.F10&&(this.toolbar.find("[tabindex=0]:visible").first().trigger("focus"),n=!0),a&&t.keyCode==d.UP&&(n=this._moveUp(i,t.shiftKey)),a&&t.keyCode==d.DOWN&&(n=this._moveDown(i,t.shiftKey)),a&&t.keyCode==(ke?d.LEFT:d.RIGHT)&&(n=t.altKey?this._handleExpand(i):this._moveRight(i)),a&&t.keyCode==(ke?d.RIGHT:d.LEFT)&&(n=t.altKey?this._handleCollapse(i):this._moveLeft(i)),a&&t.keyCode==d.PAGEDOWN&&(n=this._handlePageDown()),a&&t.keyCode==d.PAGEUP&&(n=this._handlePageUp()),t.keyCode!=d.ENTER&&t.keyCode!=d.F2||(n=this._handleEnterKey(i,t.currentTarget,r)),t.keyCode==d.ESC&&(n=this._handleEscKey(i,t.currentTarget)),a&&t.keyCode==d.HOME&&(n=this._handleHome(i,t.ctrlKey)),a&&t.keyCode==d.END&&(n=this._handleEnd(i,t.ctrlKey)),t.keyCode==d.TAB&&(n=this._handleTabKey(i,t.currentTarget,t.shiftKey)),n&&(t.preventDefault(),t.stopPropagation())},_handleExpand:function(e){var t=e.parent(),n=this.dataItem(t);return!e.hasClass("k-header")&&(!(!n||!n.hasChildren||n.expanded||this.trigger(W,{model:n}))&&(this.expand(t),!0))},_handleCollapse:function(e){var t=this,n=e.parent(),i=t.dataItem(n);return!e.hasClass("k-header")&&(!(!(i&&i.hasChildren&&i.expanded)||t.trigger(B,{model:i}))&&(t.collapse(n),!0))},_handleHome:function(e,t){var n,i=e.parent(),r=i.parent(),a=this.lockedTable&&this.lockedTable.children("tbody")[0]===r[0],o=r[0]===this.tbody[0];if(t?n=this.lockedTable?this.lockedTable.find(ge+" > td:visible").first():this.table.find(ge+" > td:visible").first():(o||a)&&(o&&this.lockedTable&&(i=this._relatedRow(i)),n=i.children(_e).first()),n&&n.length)return this._setCurrent(n),!0},_handleEnd:function(e,t){var n,i=e.parent(),r=i.parent(),a=this.lockedTable&&this.lockedTable.children("tbody")[0]===r[0],o=r[0]===this.tbody[0];if(t?n=this.table.find(ve).last().children(_e).last():(o||a)&&(!o&&this.lockedTable&&(i=this._relatedRow(i)),n=i.children(_e).last()),n&&n.length)return this._setCurrent(n),!0},_handlePageDown:function(){var e=this;return!!e._isPageable()&&(e.dataSource._restorePageSizeAfterAddChild(),e.dataSource.page(e.dataSource.page()+1),!0)},_handlePageUp:function(){var e=this;return!!e._isPageable()&&(e.dataSource._restorePageSizeAfterAddChild(),e.dataSource.page(e.dataSource.page()-1),!0)},_handleEscKey:function(t,n){var i,r,a,o,s,l=kendo._activeElement(),d=this;return t&&t.parent().hasClass("k-grid-edit-row")?(d._isIncellEditable()?(r=t.parent(),o=t.index(),a=r.index(),s=r.closest("tbody"),d.closeCell(!0),d._setCurrent(s.children().eq(a).children().eq(o),!1,!0)):(i=e(t).parent().index(),l&&l.blur(),this.cancelRow(),i>=0&&this._setCurrent(this.items().eq(i).children(_e).first())),pt(n,!0),!0):!!t.has(l).length&&(pt(n,!0),!0)},_handleEnterKey:function(t,n,i){var r,a=this.options.editable,o=i.closest("[role=gridcell]");return i.is("table")||e.contains(t[0],i[0])||(t=o),t.is("th")?(t.find(".k-link").click(),!0):(r=t.find(":kendoFocusable").first())[0]&&t.hasClass("k-focus")?(r.trigger("focus"),!0):!(!a||i.is(":button,.k-button,textarea"))&&(o[0]||(o=t),this._handleEditing(o,!1,n),!0)},_handleTabKey:function(t,n,i){var r,a=this;return!(!a.options.editable||!a._isIncellEditable()||t.is("th"))&&((r=e(v()).closest(A+Se.editCell))[0]&&r[0]!==t[0]&&(t=r),(r=a._tabNext(t,n,i)).length?(a._handleEditing(t,r,r.closest("table")),!0):(a._preventPageSizeRestore=!1,!1))},_tabNext:function(e,t,n){var i=this,r=!0,a=n?e.prevAll(j).first():e.nextAll(":visible").first();return a.length||(a=e.parent(),i.lockedTable&&(r=n&&t==i.lockedTable[0]||!n&&t==i.table[0],a=i._relatedRow(a)),r&&(a=a[n?"prevAll":"nextAll"]("tr:not(.k-grouping-row):not(.k-detail-row):visible").first()),a=n?a.children(j).last():a.children(j).first(),i.dataSource._restorePageSizeAfterAddChild()),a},_handleEditing:function(t,n,i){var r,a,o,s,l=this,d=e(kendo._activeElement()),c=m.msie,h=l.options.editable&&!1!==l.options.editable.update,u=l._isIncellEditable(),p=e(n).parents("tr").index(),f=e(n).index(),g=e(t).parents("tr").index(),_=t.index();if(i=e(i),o=u?t.hasClass(Se.editCell):t.parent().hasClass("k-grid-edit-row"),l.editor){if((r=l.editor.wrapper)&&e.contains(r[0],d[0])&&(m.opera?d.trigger("blur").change().triggerHandler("blur"):(d.trigger("blur"),c&&d.trigger("blur"))),!l.editor)return void pt(i);if(!l.editor.end())return u?l._setCurrent(r):l._setCurrent(r.children().filter(_e).first()),void((a=r.find(":kendoFocusable").first()[0])&&a.focus());u?(l._preventPageSizeRestore=!0,l.closeCell(),l._preventPageSizeRestore=!1,0===e(l.table).add(l.lockedTable).find(A+Se.editCell).length&&l._setCurrent(i.find("tbody").children().eq(g).children().eq(_))):(l.saveRow(),o=!0)}if((n=e(n).length&&0===i.find(n).length?i.find("tbody").children().eq(p).children().eq(f):n)&&l._setCurrent(n),pt(i,!0),h)if(!o&&!n||n){var b=l.current().index();u?(l.editCell(l.current()),(s=e(l.table).add(l.lockedTable).find(A+Se.editCell)[0])?l._current=e(s):l._setCurrent(l._findCurrentCell())):(l.editRow(l.current().parent()),l.