@syncfusion/ej2-kanban
Version:
The Kanban board is an efficient way to visualize the workflow at each stage along its path to completion. The most important features available are Swim lane, filtering, and editing.
12 lines • 162 kB
JavaScript
/*!
* filename: ej2-kanban.min.js
* version : 30.2.4
* Copyright Syncfusion Inc. 2001 - 2024. 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.
*/
this.ej=this.ej||{},this.ej.kanban=function(e,t,n,r,a,i,l,o){"use strict";var s="content-ready",d="data-ready",c=function(){function e(e){this.initload=!1,this.dataState={isPending:!1,resolver:null,isDataChanged:!1},this.parent=e,this.keyField=this.parent.cardSettings.headerField,this.dataState={isDataChanged:!1},this.isObservable=!1,this.initDataManager(e.dataSource,e.query),this.refreshDataManager()}return e.prototype.initDataManager=function(e,t){this.dataManager=e instanceof r.DataManager?e:new r.DataManager(e),this.query=t instanceof r.Query?t:new r.Query,this.kanbanData=new r.DataManager(this.parent.kanbanData)},e.prototype.isRemote=function(){return!0!==this.dataManager.dataSource.offline&&void 0!==this.dataManager.dataSource.url&&""!==this.dataManager.dataSource.url},e.prototype.columnKeyFields=function(){for(var e=[],t=0,n=this.parent.columns;t<n.length;t++){var r=n[t];if(r.keyField.toString().split(",").length>1)for(var a=0,i=r.keyField.toString().split(",");a<i.length;a++){var l=i[a];e.push(l.trim())}else e.push(r.keyField.toString())}return e},e.prototype.getQuery=function(e){var n=this.query.clone();if(this.isRemote()&&this.parent.enableVirtualization){for(var r="auto"===this.parent.cardHeight?100:parseInt(t.formatUnit(this.parent.cardHeight).split("px")[0],10),a="auto"===this.parent.height?2*Math.ceil(window.innerHeight/r):2*Math.ceil(parseInt(t.formatUnit(this.parent.height).split("px")[0],10)/r),i=this.columnKeyFields(),l=0;l<i.length;l++)n.where(this.parent.keyField,"equal",i[l]);n.take(a),t.isNullOrUndefined(e)&&(e="KanbanVirtualization"),n.addParams("KanbanVirtualization",e)}return n},e.prototype.getData=function(e){if(this.parent.dataSource&&"result"in this.parent.dataSource){var t=this.eventPromise({requestType:""},e);return this.isObservable=!0,t.promise}return this.dataManager.executeQuery(e)},e.prototype.setState=function(e){return this.dataState=e},e.prototype.getStateEventArgument=function(e){var n=new r.UrlAdaptor,a=new r.DataManager({url:"",adaptor:new r.UrlAdaptor}),i=n.processQuery(a,e),l=JSON.parse(i.data);return t.extend(l,i.pvtData)},e.prototype.eventPromise=function(e,n,a){var i=this,l=e,o=this.getStateEventArgument(n),s=new r.Deferred,d=new r.Deferred;if(void 0!==e.requestType&&!1!==this.dataState.isDataChanged)if(o.action=e,"cardChanged"===e.requestType||"cardRemoved"===e.requestType||"cardCreated"===e.requestType){var c=e;c.promise=d.promise,c.state=o,c.index=a,this.setState({isPending:!0,resolver:d.resolve}),l.endEdit=d.resolve,l.cancelEdit=d.reject,this.parent.trigger("dataSourceChanged",c),d.promise.then(function(){i.setState({isPending:!0,resolver:s.resolve}),i.parent.trigger("dataStateChange",o),c.addedRecords.forEach(function(e){i.parent.kanbanData.push(e)}),c.changedRecords.forEach(function(e){var n=i.parent.kanbanData.filter(function(t){return t[i.parent.cardSettings.headerField]===e[i.parent.cardSettings.headerField]})[0];t.extend(n,e)}),c.deletedRecords.forEach(function(e){var t=i.parent.kanbanData.findIndex(function(t){return t[i.parent.cardSettings.headerField]===e[i.parent.cardSettings.headerField]});i.parent.kanbanData.splice(t,1)})}).catch(function(){i.parent.hideSpinner()})}else this.setState({isPending:!0,resolver:s.resolve}),this.parent.trigger("dataStateChange",o);else this.setState({}),s.resolve(this.parent.dataSource);return s},e.prototype.getTable=function(){return this.parent.query?this.getQuery().fromTable:null},e.prototype.refreshDataManager=function(){var e=this;this.getData(this.getQuery()).then(function(t){return e.dataManagerSuccess(t)}).catch(function(t){return e.dataManagerFailure(t)})},e.prototype.dataManagerSuccess=function(e,t,n,r){var a=this;this.parent.isDestroyed||(t?(this.updateKanbanData(e),this.parent.enableVirtualization&&this.isRemote()&&this.parent.virtualLayoutModule.refresh()):this.parent.trigger("dataBinding",e,function(e){a.updateKanbanData(e),a.parent.notify(d,{processedData:a.parent.kanbanData}),a.parent.trigger("dataBound",null,function(){return a.parent.hideSpinner()})}),this.initload&&(this.parent.layoutModule.refresh(),this.parent.renderTemplates()),this.initload=!0)},e.prototype.updateKanbanData=function(e){var n=t.extend([],t.isNullOrUndefined(e.result.result)?e.result:e.result.result,null,!0);if(this.isRemote()&&this.parent.enableVirtualization&&n.length>0&&!t.isNullOrUndefined(e.result.count))for(var a=this.columnKeyFields(),i=0;i<a.length;i++)e.result.count[i].Key===a[i]&&(this.parent.columnDataCount[a[i]]=e.result.count[i].Value);this.parent.kanbanData=n,this.kanbanData=new r.DataManager(this.parent.kanbanData)},e.prototype.dataManagerFailure=function(e){var t=this;this.parent.isDestroyed||this.parent.trigger("actionFailure",{error:e},function(){return t.parent.hideSpinner()})},e.prototype.updateDataManager=function(e,n,r,a,i,l,o,s,d,c){var p=this;this.parent.showSpinner();var h,u={requestType:r,cancel:!1,addedRecords:n.addedRecords,changedRecords:n.changedRecords,deletedRecords:n.deletedRecords};this.setState({isDataChanged:!0}),this.eventPromise(u,this.query,i),this.parent.trigger("actionComplete",u,function(r){r.cancel||(h=p.syncDataSource(p.dataManager,e,n,a,l,o),p.dataManager.dataSource.offline?p.isObservable||(p.syncDataSource(p.kanbanData,e,n,a,l,o),i=s===d&&c?i-1:i,p.refreshUI(r,i,l),p.parent.enableVirtualization&&p.parent.virtualLayoutModule.refreshColumnData(s,d,r.requestType,a[p.parent.keyField])):h.then(function(e){p.parent.isDestroyed||(p.getData(p.getQuery()).then(function(e){return p.dataManagerSuccess(e,"DataSourceChange",r,i)}).catch(function(e){return p.dataManagerFailure(e)}),"cardCreated"===r.requestType?Array.isArray(e)?p.modifyArrayData(r.addedRecords,e):r.addedRecords[0]=t.extend(r.addedRecords[0],e):"cardChanged"===r.requestType?Array.isArray(e)?p.modifyArrayData(r.changedRecords,e):r.changedRecords[0]=t.extend(r.changedRecords[0],e):"cardRemoved"===r.requestType&&(Array.isArray(e)?p.modifyArrayData(r.deletedRecords,e):r.deletedRecords[0]=t.extend(r.deletedRecords[0],e)),i=s===d&&c?i-1:i,p.refreshUI(r,i,l),p.parent.enableVirtualization&&p.parent.virtualLayoutModule.refreshColumnData(s,d,r.requestType,a[p.parent.keyField]))}).catch(function(e){p.dataManagerFailure(e)}))})},e.prototype.syncDataSource=function(e,t,n,r,a,i){var l,o=this;switch(t){case"insert":return e.insert(r,this.getTable(),this.getQuery());case"update":return this.parent.enableVirtualization&&!this.parent.dataModule.isRemote()&&a?(l=e.remove(this.keyField,r,this.getTable(),this.getQuery()),l=e.insert(r,this.getTable(),this.getQuery(),e.dataSource.json.findIndex(function(e){return e[o.parent.cardSettings.headerField]===i}))):e.update(this.keyField,r,this.getTable(),this.getQuery());case"delete":return e.remove(this.keyField,r,this.getTable(),this.getQuery());case"batch":if(!this.parent.dataModule.isRemote()&&a&&this.parent.enableVirtualization&&r){for(d=0;d<r.length;d++)l=e.remove(this.keyField,r[d],this.getTable(),this.getQuery());for(var s=e.dataSource.json.findIndex(function(e){return e[o.parent.cardSettings.headerField]===i}),d=0;d<r.length;d++,s++)l=e.insert(r[d],this.getTable(),this.getQuery(),s);return l}return e.saveChanges(n,this.keyField,this.getTable(),this.getQuery());default:return l}},e.prototype.modifyArrayData=function(e,n){if(e.length===n.length)for(var r=0;r<n.length;r++)e[r]=t.extend(e[r],n[r]);return e},e.prototype.refreshUI=function(e,t,n){var r=this;this.parent.enableVirtualization?(this.parent.virtualLayoutModule.columnData=this.parent.virtualLayoutModule.getColumnCards(),e.addedRecords.forEach(function(a,i){r.parent.virtualLayoutModule.renderCardBasedOnIndex(a,t+i,n,e.requestType)}),e.changedRecords.forEach(function(a){r.parent.virtualLayoutModule.removeCard(a),r.parent.virtualLayoutModule.renderCardBasedOnIndex(a,t,n,e.requestType),r.parent.virtualLayoutModule.isSelectedCard&&r.parent.actionModule.SingleCardSelection(a),r.parent.sortSettings.field&&"Index"===r.parent.sortSettings.sortBy&&"Descending"===r.parent.sortSettings.direction&&t>0?--t:t++}),e.deletedRecords.forEach(function(e){r.parent.virtualLayoutModule.removeCard(e)}),this.parent.virtualLayoutModule.refresh()):(this.parent.layoutModule.columnData=this.parent.layoutModule.getColumnCards(),this.parent.swimlaneSettings.keyField&&(this.parent.layoutModule.kanbanRows=this.parent.layoutModule.getRows(),this.parent.layoutModule.swimlaneData=this.parent.layoutModule.getSwimlaneCards()),e.addedRecords.forEach(function(e,n){r.parent.swimlaneSettings.keyField&&!e[r.parent.swimlaneSettings.keyField]&&(e[r.parent.swimlaneSettings.keyField]=""),r.parent.layoutModule.renderCardBasedOnIndex(e,t+n)}),e.changedRecords.forEach(function(e){r.parent.swimlaneSettings.keyField&&!e[r.parent.swimlaneSettings.keyField]&&(e[r.parent.swimlaneSettings.keyField]=""),r.parent.layoutModule.removeCard(e),r.parent.layoutModule.renderCardBasedOnIndex(e,t),r.parent.layoutModule.isSelectedCard&&r.parent.actionModule.SingleCardSelection(e),r.parent.sortSettings.field&&"Index"===r.parent.sortSettings.sortBy&&"Descending"===r.parent.sortSettings.direction&&t>0?--t:t++}),e.deletedRecords.forEach(function(e){r.parent.layoutModule.removeCard(e)}),this.parent.layoutModule.refresh()),this.parent.renderTemplates(),this.parent.notify(s,{}),this.parent.trigger("dataBound",e,function(){return r.parent.hideSpinner()})},e}(),p=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),h=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},u=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return p(n,e),h([t.Property()],n.prototype,"keyField",void 0),h([t.Property()],n.prototype,"textField",void 0),h([t.Property(!1)],n.prototype,"showEmptyRow",void 0),h([t.Property(!0)],n.prototype,"showItemCount",void 0),h([t.Property(!1)],n.prototype,"allowDragAndDrop",void 0),h([t.Property()],n.prototype,"template",void 0),h([t.Property("Ascending")],n.prototype,"sortDirection",void 0),h([t.Property()],n.prototype,"sortComparer",void 0),h([t.Property(!0)],n.prototype,"showUnassignedRow",void 0),h([t.Property(!1)],n.prototype,"enableFrozenRows",void 0),n}(t.ChildProperty),g=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),m=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},f=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return g(n,e),m([t.Property(!0)],n.prototype,"showHeader",void 0),m([t.Property()],n.prototype,"headerField",void 0),m([t.Property()],n.prototype,"contentField",void 0),m([t.Property()],n.prototype,"tagsField",void 0),m([t.Property()],n.prototype,"grabberField",void 0),m([t.Property()],n.prototype,"footerCssField",void 0),m([t.Property()],n.prototype,"template",void 0),m([t.Property("Single")],n.prototype,"selectionType",void 0),n}(t.ChildProperty),y=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),v=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},b=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return y(n,e),v([t.Property()],n.prototype,"template",void 0),v([t.Property([])],n.prototype,"fields",void 0),v([t.Property(null)],n.prototype,"model",void 0),n}(t.ChildProperty),S=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),C=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},w=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return S(n,e),C([t.Property()],n.prototype,"keyField",void 0),C([t.Property()],n.prototype,"headerText",void 0),C([t.Property()],n.prototype,"template",void 0),C([t.Property(!1)],n.prototype,"allowToggle",void 0),C([t.Property(!0)],n.prototype,"isExpanded",void 0),C([t.Property()],n.prototype,"minCount",void 0),C([t.Property()],n.prototype,"maxCount",void 0),C([t.Property(!0)],n.prototype,"showItemCount",void 0),C([t.Property(!1)],n.prototype,"showAddButton",void 0),C([t.Property(!0)],n.prototype,"allowDrag",void 0),C([t.Property(!0)],n.prototype,"allowDrop",void 0),C([t.Property([])],n.prototype,"transitionColumns",void 0),n}(t.ChildProperty),E=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),k=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},O=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return E(n,e),k([t.Property()],n.prototype,"text",void 0),k([t.Property()],n.prototype,"keyFields",void 0),n}(t.ChildProperty),x=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),D=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},A=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return x(n,e),D([t.Property("Index")],n.prototype,"sortBy",void 0),D([t.Property()],n.prototype,"field",void 0),D([t.Property("Ascending")],n.prototype,"direction",void 0),n}(t.ChildProperty),F="e-kanban-header",M="e-kanban-content",T="e-kanban-border",j="e-show-add-button",q=function(){function e(e){this.parent=e,this.columnToggleArray=[],this.selectionArray=[],this.lastCardSelection=null,this.lastSelectionRow=null,this.lastCard=null,this.selectedCardsElement=[],this.selectedCardsData=[],this.hideColumnKeys=[]}return e.prototype.clickHandler=function(e){var n=t.closest(e.target,".e-card,.e-header-icon,.e-content-row.e-swimlane-row,.e-show-add-button,.e-frozen-swimlane-row,.e-content-row:not(.e-swimlane-row) .e-content-cells");if(n)if(n.classList.contains("e-card"))this.parent.allowKeyboard&&this.parent.keyboardModule.cardTabIndexRemove(),this.cardClick(e);else if(n.classList.contains("e-header-icon"))this.columnExpandCollapse(e);else if(n.classList.contains("e-content-row")&&n.classList.contains("e-swimlane-row"))this.rowExpandCollapse(e);else if(n.classList.contains(j))this.addButtonClick(n);else if(n.classList.contains("e-frozen-swimlane-row")){var r=[].slice.call(this.parent.element.querySelectorAll(".e-swimlane-row")),a=this.parent.layoutModule.frozenSwimlaneRow.querySelector(".e-icons");this.rowExpandCollapse(e,r[this.parent.layoutModule.frozenOrder]),!!a.classList.contains("e-swimlane-row-collapse")?t.classList(a,["e-swimlane-row-expand"],["e-swimlane-row-collapse"]):t.classList(a,["e-swimlane-row-collapse"],["e-swimlane-row-expand"])}},e.prototype.addButtonClick=function(e){var n=this,r={};if(0===this.parent.kanbanData.length)r[this.parent.cardSettings.headerField]=1;else if("number"==typeof this.parent.kanbanData[0][this.parent.cardSettings.headerField]){var a=this.parent.kanbanData.map(function(e){return parseInt(e[n.parent.cardSettings.headerField],10)});r[this.parent.cardSettings.headerField]=Math.max.apply(Math,a)+1}if(r[this.parent.keyField]=t.closest(e,".e-content-cells").getAttribute("data-key"),"Index"===this.parent.sortSettings.sortBy&&(r[this.parent.sortSettings.field]=1,t.closest(e,".e-content-cells").querySelector(".e-card"))){var i="Ascending"===this.parent.sortSettings.direction?e.nextElementSibling.classList.contains(T)?e.nextElementSibling.nextElementSibling.lastElementChild:e.nextElementSibling.lastElementChild:e.nextElementSibling.classList.contains(T)?e.nextElementSibling.nextElementSibling.firstElementChild:e.nextElementSibling.firstElementChild,l=this.parent.getCardDetails(i);r[this.parent.sortSettings.field]=l[this.parent.sortSettings.field]+1}0!==this.parent.kanbanData.length&&this.parent.swimlaneSettings.keyField&&t.closest(e,".e-content-row").previousElementSibling&&(r[this.parent.swimlaneSettings.keyField]=t.closest(e,".e-content-row").previousElementSibling.getAttribute("data-key")),this.parent.openDialog("Add",r)},e.prototype.doubleClickHandler=function(e){t.closest(e.target,".e-card")&&this.cardDoubleClick(e)},e.prototype.cardClick=function(e,n){var r=this,a=t.closest(n||e.target,".e-card"),i=this.parent.getCardDetails(a);if(i){this.parent.activeCardData={data:i,element:a};var l={data:i,element:a,cancel:!1,event:e};this.parent.trigger("cardClick",l,function(n){if(!n.cancel){if(a.classList.contains("e-selection")&&"click"===e.type)t.removeClass([a],"e-selection"),r.parent.enableVirtualization?r.parent.virtualLayoutModule.disableAttributeSelection(a):r.parent.layoutModule.disableAttributeSelection(a);else{var i=e.ctrlKey;r.parent.isAdaptive&&r.parent.touchModule&&(i=r.parent.touchModule.mobilePopup&&r.parent.touchModule.tabHold||i),r.cardSelection(a,i,e.shiftKey)}r.parent.isAdaptive&&r.parent.touchModule&&r.parent.touchModule.updatePopupContent();var l=t.closest(a,".e-content-cells");r.parent.allowKeyboard&&([].slice.call(l.querySelectorAll(".e-card")).forEach(function(e){e.setAttribute("tabindex","0")}),r.parent.keyboardModule.addRemoveTabIndex("Remove"))}})}},e.prototype.cardDoubleClick=function(e){var n=this,r=t.closest(e.target,".e-card"),a=this.parent.getCardDetails(r);this.parent.activeCardData={data:a,element:r},this.cardSelection(r,!1,!1);var i={data:a,element:r,cancel:!1,event:e};this.parent.trigger("cardDoubleClick",i,function(e){e.cancel||n.parent.dialogModule.openDialog("Edit",i.data)})},e.prototype.rowExpandCollapse=function(e,n){var r=this,a=e instanceof HTMLElement?e:e.target,i=t.isNullOrUndefined(n)?a:n,l={cancel:!1,target:a,requestType:"rowExpandCollapse"};this.parent.trigger("actionBegin",l,function(e){if(!e.cancel){var n,l=t.closest(i,".e-swimlane-row"),o=l.getAttribute("data-key"),d=r.parent.element.querySelector(".e-content-row:nth-child("+(l.rowIndex+2)+")"),c=l.querySelector(".e-swimlane-row-expand,.e-swimlane-row-collapse"),p=!!l.classList.contains("e-collapsed");p?(t.removeClass([d,l],"e-collapsed"),t.classList(c,["e-swimlane-row-expand"],["e-swimlane-row-collapse"]),r.parent.swimlaneToggleArray.splice(r.parent.swimlaneToggleArray.indexOf(o),1),n="0"):(t.addClass([d,l],"e-collapsed"),t.classList(c,["e-swimlane-row-collapse"],["e-swimlane-row-expand"]),r.parent.swimlaneToggleArray.push(o),n="-1"),c.setAttribute("aria-label",p?o+" Expand":o+" Collapse"),l.setAttribute("aria-expanded",p.toString()),d.setAttribute("aria-expanded",p.toString()),[].slice.call(d.querySelectorAll(".e-content-cells")).forEach(function(e){e.setAttribute("tabindex",n)}),r.parent.notify(s,{}),r.parent.trigger("actionComplete",{target:a,requestType:"rowExpandCollapse"})}})},e.prototype.columnExpandCollapse=function(e){var n=this,r=e instanceof HTMLElement?e:e.target,a={cancel:!1,target:r,requestType:"columnExpandCollapse"};this.parent.trigger("actionBegin",a,function(e){if(!e.cancel){var a=t.closest(r,".e-header-cells"),i=a.cellIndex;n.columnToggle(a);var l=n.parent.element.querySelectorAll(".e-header-cells.e-collapsed").length;if(l===n.parent.columns.length-n.hideColumnKeys.length){var o=".e-header-cells:not(.e-stacked-header-cell):nth-child("+(i+1===l?1:i+2)+")",d=n.parent.element.querySelector(o);t.addClass([d],"e-collapsed"),n.columnToggle(d)}n.parent.notify(s,{}),n.parent.trigger("actionComplete",{target:r,requestType:"columnExpandCollapse"})}})},e.prototype.columnToggle=function(e){var n=this,r=e.cellIndex,a=[].slice.call(this.parent.element.querySelectorAll(".e-content-row:not(.e-swimlane-row)")),i=".e-kanban-table col:nth-child("+(r+1)+")",l=e.querySelector(".e-column-expand,.e-column-collapse"),o=[].slice.call(this.parent.element.querySelectorAll(i));if(e.classList.contains("e-collapsed")){t.removeClass(o,"e-collapsed"),this.parent.isAdaptive&&(this.parent.enableVirtualization?o.forEach(function(e){return e.style.width=t.formatUnit(n.parent.virtualLayoutModule.getWidth())}):o.forEach(function(e){return e.style.width=t.formatUnit(n.parent.layoutModule.getWidth())})),t.classList(l,["e-column-expand"],["e-column-collapse"]);for(var s=0,d=a;s<d.length;s++)!function(n){var a=n.querySelector(".e-content-cells:nth-child("+(r+1)+")");t.removeClass([a,e],"e-collapsed"),t.remove(a.querySelector(".e-collapse-header-text")),e.setAttribute("aria-expanded","true"),a.setAttribute("aria-expanded","true"),[].slice.call(a.parentElement.querySelectorAll(".e-collapsed")).forEach(function(e){var t=e.querySelector(".e-collapse-header-text");t.style.height="auto",t&&a.getBoundingClientRect().height<t.getBoundingClientRect().height+10&&(t.style.height=a.getBoundingClientRect().height-4+"px")})}(g=d[s]);0===this.parent.kanbanData.length&&0===a.length&&(t.removeClass([e],"e-collapsed"),e.setAttribute("aria-expanded","true")),this.columnToggleArray.splice(this.columnToggleArray.indexOf(e.getAttribute("data-key")),1),this.parent.columns[r].setProperties({isExpanded:!0},!0),e.querySelector(".e-header-icon").setAttribute("aria-label",e.getAttribute("data-key")+" Expand")}else{t.addClass(o,"e-collapsed"),this.parent.isAdaptive&&o.forEach(function(e){return e.style.width=t.formatUnit(50)}),t.classList(l,["e-column-collapse"],["e-column-expand"]);for(var c=e.getAttribute("data-key"),p=this,h=0,u=a;h<u.length;h++){var g=u[h];!function(n){var r=n.querySelector('.e-content-cells[data-key="'+c+'"]'),a=r.cellIndex,i=void 0;if(p.parent.enableVirtualization){var l=p.parent.dataModule.isRemote()?p.parent.columnDataCount[p.parent.columns[a].keyField]:p.parent.virtualLayoutModule.columnData[p.parent.columns[a].keyField].length;i=(p.parent.columns[a].showItemCount?"["+l+"] ":"")+p.parent.columns[a].headerText}else i=(p.parent.columns[a].showItemCount?"["+r.querySelectorAll(".e-card").length+"] ":"")+p.parent.columns[a].headerText;r.appendChild(t.createElement("div",{className:"e-collapse-header-text",innerHTML:i})),t.addClass([r,e],"e-collapsed"),e.setAttribute("aria-expanded","false"),r.setAttribute("aria-expanded","false"),[].slice.call(r.parentElement.querySelectorAll(".e-collapsed")).forEach(function(e){var t=e.querySelector(".e-collapse-header-text");t&&r.getBoundingClientRect().height<t.getBoundingClientRect().height+10&&(t.style.height=r.getBoundingClientRect().height-4+"px")})}(g)}0===this.parent.kanbanData.length&&0===a.length&&(t.addClass([e],"e-collapsed"),e.setAttribute("aria-expanded","false")),this.columnToggleArray.push(e.getAttribute("data-key")),this.parent.columns[r].setProperties({isExpanded:!1},!0),e.querySelector(".e-header-icon").setAttribute("aria-label",c+" Collapse")}},e.prototype.cardSelection=function(e,n,r){var a=this;if(e){var i=this.parent.getSelectedCards();if("None"!==this.parent.cardSettings.selectionType){var l=t.closest(e,".e-content-row");if((t.isNullOrUndefined(this.lastSelectionRow)?l.rowIndex:this.lastSelectionRow.rowIndex)!==l.rowIndex&&(n||r)&&"Multiple"===this.parent.cardSettings.selectionType)return;if(0===i.length||n&&"Single"!==this.parent.cardSettings.selectionType||(t.removeClass(i,"e-selection"),this.parent.enableVirtualization?this.parent.virtualLayoutModule.disableAttributeSelection(i):this.parent.layoutModule.disableAttributeSelection(i),i.forEach(function(e){a.selectionArray.splice(a.selectionArray.indexOf(e.getAttribute("data-id")),1),a.selectedCardsElement.splice(a.selectedCardsElement.indexOf(e),1),a.selectedCardsData.splice(a.selectedCardsData.indexOf(a.parent.getCardDetails(e),1))})),i.length>0&&r&&"Multiple"===this.parent.cardSettings.selectionType){var o=[],s=void 0,d=void 0,c=void 0,p=[].slice.call(l.querySelectorAll(".e-card"));p.forEach(function(e){return o.push(e.getAttribute("data-id"))});var h=e.getAttribute("data-id"),u=this.lastCard.getAttribute("data-id"),g=d=o.indexOf(h),m=s=o.indexOf(u),f=g>m?"next":"prev";for("prev"===f&&(s=g,d=m),c=s;c<=d;c++){var y=p[c];t.addClass([y],"e-selection"),y.setAttribute("aria-selected","true"),y.setAttribute("tabindex","0"),this.selectionArray.push(y.getAttribute("data-id")),this.selectedCardsElement.push(y),this.selectedCardsData.push(this.parent.getCardDetails(y)),this.lastCardSelection=y,"prev"===f&&(this.lastCardSelection=p[s])}}else if(t.addClass([e],"e-selection"),e.setAttribute("aria-selected","true"),e.setAttribute("tabindex","0"),this.selectionArray.push(e.getAttribute("data-id")),this.selectedCardsElement.push(e),this.selectedCardsData.push(this.parent.getCardDetails(e)),this.lastCard=this.lastCardSelection=e,this.lastSelectionRow=t.closest(e,".e-content-row"),this.lastSelectionRow.previousElementSibling){var v=this.lastSelectionRow.previousElementSibling.querySelector(".e-swimlane-row-expand,.e-swimlane-row-collapse");v&&v.classList.contains("e-swimlane-row-collapse")&&this.rowExpandCollapse(v)}}}},e.prototype.addColumn=function(e,n){var r=t.createInstance(w,[this.parent,"columns",e,!0]);this.parent.columns.splice(n,0,r),this.parent.notify(d,{processedData:this.parent.kanbanData})},e.prototype.deleteColumn=function(e){var n=this.parent.element.querySelectorAll(".e-header-cells").item(e);n&&n.classList.contains("e-toggle-header")&&this.columnToggleArray.splice(this.columnToggleArray.indexOf(n.getAttribute("data-key"),0)),this.parent.columns.splice(e,1),0===this.parent.columns.length?(t.detach(this.parent.element.querySelector("."+F)),t.detach(this.parent.element.querySelector("."+M))):this.parent.notify(d,{processedData:this.parent.kanbanData})},e.prototype.showColumn=function(e){var t=this.hideColumnKeys.indexOf(e.toString());-1!==t&&(this.hideColumnKeys.splice(t,1),this.parent.notify(d,{processedData:this.parent.kanbanData}))},e.prototype.hideColumn=function(e){this.hideColumnKeys.push(e.toString()),this.parent.notify(d,{processedData:this.parent.kanbanData})},e.prototype.SingleCardSelection=function(e){if("None"!==this.parent.cardSettings.selectionType&&e[this.parent.cardSettings.headerField]){var n=this.parent.element.querySelector('.e-card[data-id="'+e[this.parent.cardSettings.headerField].toString()+'"]');n&&(t.addClass([n],"e-selection"),n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0"))}},e}(),R=function(){function e(e){this.parent=e}return e.prototype.addCard=function(e,n){var r=this,a={cancel:!1,requestType:"cardCreate",addedRecords:e instanceof Array?e:[e],changedRecords:[],deletedRecords:[]};this.parent.trigger("actionBegin",a,function(a){if(!a.cancel){var i=[];if(r.parent.sortSettings.field&&"Index"===r.parent.sortSettings.sortBy&&(e instanceof Array?i=e:i.push(e),i.forEach(function(e,t){if(!e[r.parent.sortSettings.field]){var n=r.parent.getColumnData(e[r.parent.keyField]);"Ascending"===r.parent.sortSettings.direction&&n.length>0?e[r.parent.sortSettings.field]=n[n.length-1][r.parent.sortSettings.field]+t+1:"Descending"===r.parent.sortSettings.direction&&n.length>0&&(e[r.parent.sortSettings.field]=n[0][r.parent.sortSettings.field]+t+1),0===n.length&&(e[r.parent.sortSettings.field]=1)}}),e instanceof Array||n||"Descending"!==r.parent.sortSettings.direction||r.parent.getColumnData(i[0][r.parent.keyField]).filter(function(e,t){e[r.parent.sortSettings.field]===i[0][r.parent.sortSettings.field]&&(n=t+1)}),0===n||n||"Descending"!==r.parent.sortSettings.direction||(n=0),i=r.priorityOrder(i,n)),r.parent.enableHtmlSanitizer){var l=r.parent.cardSettings.contentField;r.parent.enableHtmlSanitizer&&"string"==typeof l&&(e[l]=t.SanitizeHtmlHelper.sanitize(e[l]))}var o={addedRecords:e instanceof Array?e:[e],changedRecords:r.parent.sortSettings.field&&"Index"===r.parent.sortSettings.sortBy?i:[],deletedRecords:[]},s=e instanceof Array||i.length>0?"batch":"insert";r.parent.dataModule.updateDataManager(s,o,"cardCreated",e,n)}})},e.prototype.getIndexFromData=function(e){var n=this.parent.element.querySelector('.e-card[data-id="'+e[this.parent.cardSettings.headerField]+'"]'),r=t.closest(n,".e-content-cells");return[].slice.call(r.querySelectorAll(".e-card")).indexOf(n)},e.prototype.updateCard=function(e,n,r,a,i,l,o){var s=this,d={requestType:"cardChange",cancel:!1,addedRecords:[],changedRecords:e instanceof Array?e:[e],deletedRecords:[]};n=t.isNullOrUndefined(n)?this.getIndexFromData(d.changedRecords[0]):n,this.parent.trigger("actionBegin",d,function(t){if(!t.cancel){if(s.parent.sortSettings.field&&"Index"===s.parent.sortSettings.sortBy){var d=[];e instanceof Array?d=e:d.push(e),e=s.priorityOrder(d,n)}var c={addedRecords:[],changedRecords:e instanceof Array?e:[e],deletedRecords:[]},p=e instanceof Array?"batch":"update";s.parent.dataModule.updateDataManager(p,c,"cardChanged",e,n,r,a,i,l,o)}})},e.prototype.deleteCard=function(e){var t=this,n={addedRecords:[],changedRecords:[],deletedRecords:[]};n.deletedRecords="string"==typeof e||"number"==typeof e?this.parent.kanbanData.filter(function(n){return n[t.parent.cardSettings.headerField]===e}):e instanceof Array?e:[e];var r={requestType:"cardRemove",cancel:!1,addedRecords:[],changedRecords:[],deletedRecords:n.deletedRecords};this.parent.trigger("actionBegin",r,function(e){if(!e.cancel){var r=n.deletedRecords.length>1?"batch":"delete",a=n.deletedRecords;t.parent.dataModule.updateDataManager(r,n,"cardRemoved",a[0])}})},e.prototype.priorityOrder=function(e,n){for(var r,a=this,i=e.map(function(e){return e[a.parent.cardSettings.headerField]}),l=e[e.length-1][this.parent.sortSettings.field],o=e.map(function(e){return e[a.parent.keyField]}),s=[],d=[],c=this,p=0,h=o.filter(function(e,t){return o.indexOf(e)===t}).sort();p<h.length;p++)!function(o){var p=e.filter(function(e){return e[a.parent.keyField]===o});r=c.parent.enableVirtualization?c.parent.virtualLayoutModule.getColumnData(o):c.parent.layoutModule.getColumnData(o);for(var h=0,u=p;h<u.length;h++){var g=u[h];if(c.parent.swimlaneSettings.keyField){var m=c.parent.getSwimlaneData(g[c.parent.swimlaneSettings.keyField]);r=c.parent.getColumnData(o,m)}}if(p.forEach(function(e){return s.push(e)}),!t.isNullOrUndefined(n)){for(var f=0;f<i.length;f++)!function(e){r.filter(function(t,r){t[a.parent.cardSettings.headerField]===i[e]&&r<=n&&d.push(r)})}(f);if(d.length>0&&(n+=d.length),"Ascending"===c.parent.sortSettings.direction)for(y=n;y<r.length;y++)-1===i.indexOf(r[y][c.parent.cardSettings.headerField])&&(r[y][c.parent.sortSettings.field]=++l,s.push(r[y]));else for(var y=n-1;y>=0;y--)-1===i.indexOf(r[y][c.parent.cardSettings.headerField])&&(r[y][c.parent.sortSettings.field]=++l,s.push(r[y]))}}(h[p]);return s},e}(),L=function(){function e(e){this.insertClone="afterend",this.parent=e,this.dragObj={element:null,cloneElement:null,instance:null,targetClone:null,draggedClone:null,targetCloneMulti:null,selectedCards:[],pageX:0,pageY:0,navigationInterval:null,cardDetails:[],modifiedData:[]},this.dragEdges={left:!1,right:!1,top:!1,bottom:!1},this.isDragging=!1,this.isExternalDrop=!1}return e.prototype.wireDragEvents=function(e){var n;null!=!this.parent.element&&0===this.parent.externalDropId.length&&(n=this.parent.element.querySelector("."+M)),this.dragObj.instance=new t.Draggable(e,{clone:!0,enableTapHold:this.parent.isAdaptive,enableTailMode:!0,cursorAt:{top:-10,left:-10},dragArea:n,dragStart:this.dragStart.bind(this),drag:this.drag.bind(this),dragStop:this.dragStop.bind(this),enableAutoScroll:!1,helper:this.dragHelper.bind(this)})},e.prototype.dragHelper=function(e){if(this.parent.isAdaptive&&this.parent.touchModule.mobilePopup&&this.parent.touchModule.mobilePopup.element.classList.contains("e-popup-open")&&this.parent.touchModule.mobilePopup.hide(),this.dragObj.element=t.closest(e.sender.target,".e-card"),t.isNullOrUndefined(this.dragObj.element))return null;this.dragObj.element.style.width=t.formatUnit(this.dragObj.element.offsetWidth);var n=t.createElement("div",{innerHTML:this.dragObj.element.outerHTML});return this.dragObj.cloneElement=n.children.item(0),t.addClass([this.dragObj.cloneElement],"e-cloned-card"),this.dragObj.element.parentElement.appendChild(this.dragObj.cloneElement),this.dragObj.targetCloneMulti=t.createElement("div",{className:"e-target-multi-clone"}),this.dragObj.targetClone=t.createElement("div",{className:"e-target-dropped-clone",styles:"width:100%;height:"+t.formatUnit(this.dragObj.element.offsetHeight)}),this.dragObj.modifiedData=[],this.dragObj.cloneElement},e.prototype.dragStart=function(e){var n=this;if(this.dragObj.selectedCards=this.dragObj.element,this.borderElm=this.parent.element.querySelectorAll("."+T),this.dragObj.element.classList.contains("e-selection")){var r=t.closest(this.dragObj.element,".e-content-row");this.dragObj.selectedCards=[].slice.call(r.querySelectorAll(".e-card.e-selection:not(.e-cloned-card)")),this.dragObj.selectedCards.forEach(function(e){n.dragObj.cardDetails.push(n.parent.getCardDetails(e))})}else this.dragObj.cardDetails=[this.parent.getCardDetails(this.dragObj.element)];!t.isNullOrUndefined(this.dragObj.selectedCards)&&!t.isNullOrUndefined(this.dragObj.selectedCards.length)&&this.dragObj.selectedCards.length>=1?this.dragObj.selectedCards[0].closest(".e-content-cells").classList.add("e-dragged-column"):t.isNullOrUndefined(this.dragObj.selectedCards)||t.isNullOrUndefined(this.dragObj.selectedCards.closest(".e-content-cells"))||this.dragObj.selectedCards.closest(".e-content-cells").classList.add("e-dragged-column");var a={cancel:!1,data:this.dragObj.cardDetails,event:e,element:this.dragObj.selectedCards};this.parent.trigger("dragStart",a,function(r){if(r.cancel)return n.removeElement(n.dragObj.cloneElement),n.dragObj.instance.intDestroy(e),n.dragObj.element=null,n.dragObj.targetClone=null,n.dragObj.draggedClone=null,n.dragObj.cloneElement=null,void(n.dragObj.targetCloneMulti=null);if(n.dragObj.element.classList.contains("e-selection")){if(n.dragObj.selectedCards.forEach(function(e){n.draggedClone(e)}),n.dragObj.selectedCards.length>1){n.dragObj.cloneElement.innerHTML="";var a=t.createElement("div",{className:"e-multi-card-text",innerHTML:n.dragObj.selectedCards.length+" "+n.parent.localeObj.getConstant("cards")});n.dragObj.cloneElement.appendChild(a),t.classList(n.dragObj.cloneElement,["e-multi-card-clone"],["e-selection"]),n.parent.enableVirtualization?n.parent.virtualLayoutModule.disableAttributeSelection(n.dragObj.cloneElement):n.parent.layoutModule.disableAttributeSelection(n.dragObj.cloneElement),n.dragObj.cloneElement.style.width="90px"}}else n.draggedClone(n.dragObj.element);t.EventHandler.add(document.body,"keydown",n.keydownHandler,n),n.parent.notify(s,{})})},e.prototype.draggedClone=function(e){this.dragObj.draggedClone=t.createElement("div",{className:"e-target-dragged-clone",styles:"width:"+t.formatUnit(e.offsetWidth-1)+";height:"+t.formatUnit(e.offsetHeight)}),e.insertAdjacentElement("afterend",this.dragObj.draggedClone),t.addClass([e],"e-kanban-dragged-card")},e.prototype.drag=function(e){var n=this;if(e.target){var r=t.closest(e.target,".e-kanban .e-card");t.isNullOrUndefined(r)||!this.parent.enableVirtualization||t.isNullOrUndefined(e.target.previousElementSibling)||t.isNullOrUndefined(e.target.previousElementSibling.querySelector(".e-target-dropped-clone"))||(r=e.target.previousElementSibling.querySelector(".e-target-dropped-clone").nextElementSibling);var a=e.target;t.isNullOrUndefined(e.target.parentElement)||("SPAN"===e.target.nodeName&&e.target.classList.contains("e-empty-card")?a=e.target.parentElement:"DIV"===e.target.nodeName&&e.target.classList.contains("e-kanban-border")&&this.parent.element.querySelector(".e-target-dropped-clone")!==e.target.nextElementSibling.firstChild&&(a=e.target.parentElement));var i,l,o,d=r||a,c=t.closest(d,".e-content-row:not(.e-swimlane-row) .e-content-cells.e-droppable");if(d.nextElementSibling&&d.nextElementSibling.lastChild&&(o=d.nextElementSibling.lastChild.previousElementSibling),this.externalDrop(d),this.kanbanObj=this.parent.isExternalKanbanDrop?this.parent.externalDropObj:this.parent,this.calculateArgs(e),c&&"not-allowed"!==document.body.style.cursor){var p=this.getColumnKey(c),h=p.split(",");this.multiCloneRemove();var u=p===this.getColumnKey(t.closest(this.dragObj.draggedClone,".e-content-cells"));if(1===h.length||u)if(d.classList.contains("e-target-dragged-clone")&&this.removeElement(this.dragObj.targetClone,this.kanbanObj),d.classList.contains("e-card")||"beforebegin"===this.insertClone){var g=d.classList.contains("e-target-dragged-clone")&&d.previousElementSibling.classList.contains("e-kanban-dragged-card")?null:d.previousElementSibling;if(this.insertClone="afterend",t.isNullOrUndefined(g)){var m=d.classList.contains("e-target-dragged-clone")?this.dragObj.pageY/2:this.dragObj.pageY,f=d.classList.contains("e-target-dragged-clone")?d.offsetHeight:d.offsetHeight/2,y=this.kanbanObj.element.getBoundingClientRect().top+window.scrollY;(m-=y)-(d.getBoundingClientRect().top+window.scrollY-y)<f&&(this.insertClone="beforebegin")}d.classList.contains("e-card")&&(this.parent.enableVirtualization&&(this.insertClone=this.isTargetElementVisible(d)?this.insertClone:"beforebegin"),d.insertAdjacentElement(this.insertClone,this.dragObj.targetClone))}else if(d.classList.contains("e-content-cells")&&!t.closest(d,".e-swimlane-row")){if(0!==d.querySelectorAll(".e-kanban-dragged-card").length&&0===d.querySelectorAll(".e-card:not(.e-kanban-dragged-card):not(.e-cloned-card)").length)return;d.querySelector(".e-card-wrapper").appendChild(this.dragObj.targetClone)}else!d.classList.contains("e-card-wrapper")&&!d.classList.contains("e-card-virtual-wrapper")||t.closest(d,".e-swimlane-row")||0!==c.querySelectorAll(".e-card").length?!(d.classList.contains(T)&&!t.closest(d,".e-swimlane-row")&&d.nextElementSibling&&d.nextElementSibling.classList.contains("e-card-wrapper")&&this.dragObj.targetClone)||o&&o.classList.contains("e-target-dropped-clone")||this.parent.enableVirtualization||this.isTargetElementVisible(d.nextElementSibling)||d.nextElementSibling.appendChild(this.dragObj.targetClone):d.appendChild(this.dragObj.targetClone);else h.length>1&&(c.classList.contains("e-dropping")||c.firstChild&&c.firstChild.classList.contains("e-dropping"))&&this.multiCloneCreate(h,c);this.kanbanObj.notify(s,{})}0===this.kanbanObj.element.querySelectorAll(".e-dropping").length&&this.cellDropping();var v=!1;c&&(v=c.classList.contains("e-collapsed")&&c.classList.contains("e-dropping"),"true"!==c.getAttribute("aria-expanded")&&c.parentElement.hasAttribute("aria-expanded")||(i=c.getBoundingClientRect(),this.updateDimension(i)),l=c.querySelector("."+T)),d&&"TABLE"===d.tagName&&!t.isNullOrUndefined(d.querySelector(".e-content-row"))&&(i=d.querySelector(".e-content-row").getBoundingClientRect(),this.updateDimension(i,d)),v&&(this.toggleVisible(d),t.addClass([c],"e-toggle-visible"));var b=[].slice.call(this.kanbanObj.element.querySelectorAll(".e-toggle-visible"));b.length>0&&!d.classList.contains("e-toggle-visible")&&!t.closest(d,".e-toggle-visible")&&(this.toggleVisible(d,b.slice(-1)[0]),t.removeClass(b,"e-toggle-visible")),this.kanbanObj.notify(s,{});var S=t.closest(d,".e-column-key");if(S){var C=[].slice.call(this.kanbanObj.element.querySelectorAll(".e-column-key:not(.e-disabled)")).filter(function(e){return n.getColumnKey(e)===n.getColumnKey(S)});C.length>0&&(t.addClass(C,"e-multi-active"),C[0].previousElementSibling&&t.addClass([C[0].previousElementSibling],"e-multi-bottom-border"))}document.body.style.cursor=c&&c.classList.contains("e-dropping")||c&&l&&l.classList.contains("e-dropping")?"":"not-allowed",!r||t.closest(r,".e-content-cells").classList.contains("e-dropping")||c&&l&&l.classList.contains("e-dropping")||(r.style.cursor="not-allowed",document.body.style.cursor="not-allowed"),this.isExternalDrop&&"not-allowed"===document.body.style.cursor&&(document.body.style.cursor=""),"not-allowed"===document.body.style.cursor&&(this.removeElement(this.dragObj.targetClone,this.kanbanObj),this.multiCloneRemove()),this.updateScrollPosition();var w={data:this.dragObj.cardDetails,event:e,element:this.dragObj.selectedCards};this.kanbanObj.trigger("drag",w),this.parent.isExternalKanbanDrop=!1,this.isExternalDrop=!1}},e.prototype.removeElement=function(e,n){(n=n||this.parent).element.getElementsByClassName(e.className).length>0&&t.remove(e)},e.prototype.isTargetElementVisible=function(e){var n=t.closest(e,".e-card-wrapper");if(!t.isNullOrUndefined(n)){var r=n.getBoundingClientRect().bottom;return!(e.getBoundingClientRect().bottom>r)}return!0},e.prototype.externalDrop=function(e){var n=this;this.parent.externalDropId.forEach(function(r){var a=t.closest(e,r);if(a)if(a.classList.contains("e-kanban")){n.parent.externalDropObj=document.querySelector(r).ej2_instances[0],n.parent.isExternalKanbanDrop=!0;var i=[].slice.call(n.parent.externalDropObj.element.querySelectorAll(".e-content-row:not(.e-swimlane-row):not(.e-collapsed) .e-content-cells"));t.addClass(i,"e-dropping")}else n.isExternalDrop=!0})},e.prototype.multiCloneCreate=function(e,n){var r=n.offsetHeight,a=n.querySelector(".e-limits");a&&(r-=a.offsetHeight),this.dragObj.targetCloneMulti.style.height=t.formatUnit(r),n.querySelector("."+j)&&t.addClass([n.querySelector("."+j)],"e-multi-card-wrapper"),t.addClass([n.querySelector(".e-card-wrapper")],"e-multi-card-wrapper"),n.querySelector(".e-card-wrapper").style.height="auto",n.style.borderStyle="none",this.removeElement(this.dragObj.targetClone);for(var i=0,l=e;i<l.length;i++){var o=l[i],s=t.closest(this.dragObj.draggedClone,".e-content-cells"),d=this.kanbanObj.columns[s.cellIndex].transitionColumns,c=this.allowedTransition(this.dragObj.element.getAttribute("data-key"),o,d),p=c?"":" e-disabled",h=t.createElement("div",{className:"e-column-key"+p,attrs:{"data-key":o.trim()}}),u=t.createElement("div",{className:"e-text",innerHTML:o.trim()});n.appendChild(this.dragObj.targetCloneMulti).appendChild(h).appendChild(u),h.style.cursor=c?"":"not-allowed",h.style.lineHeight=h.style.height=t.formatUnit(r/e.length),u.style.top=t.formatUnit(r/2-u.offsetHeight/2)}},e.prototype.allowedTransition=function(e,t,n){for(var r=!0,a=t.split(","),i=0;i<a.length;i++){if(e===a[i].trim())return!0;if(n){if(1===n.length&&0===n[0].length)return!0;for(var l=0;l<n.length;l++){if(a[i].trim()===n[l].trim())return!0;r=!1}}}return r},e.prototype.cellDropping=function(){var e=this,n=t.closest(this.dragObj.draggedClone,".e-content-cells"),r=t.closest(this.dragObj.draggedClone,".e-content-row");if(n&&n.classList.contains("e-drop")&&t.addClass([n],"e-dropping"),this.addDropping(r,n),this.kanbanObj.swimlaneSettings.keyField&&this.kanbanObj.swimlaneSettings.allowDragAndDrop){var a=[].slice.call(this.kanbanObj.element.querySelectorAll(".e-content-row:not(.e-swimlane-row):not(.e-collapsed)"));[].slice.call(a).forEach(function(t){r!==t&&e.addDropping(t,n)})}},e.prototype.addDropping=function(e,n){var r=this;if(n&&this.borderElm&&0!==this.borderElm.length){n.classList.contains("e-dropping")&&t.removeClass([n],"e-dropping");var a=n.getBoundingClientRect();this.updateDimension(a)}else n&&e&&[].slice.call(e.children).forEach(function(e){var a=r.kanbanObj.columns[n.cellIndex].transitionColumns;e!==n&&e.classList.contains("e-drop")&&r.allowedTransition(n.getAttribute("data-key"),e.getAttribute("data-key"),a)&&t.addClass([e],"e-dropping")})},e.prototype.updateDimension=function(e,n){[].slice.call(this.borderElm).forEach(function(r){!r.parentElement||"true"!==r.parentElement.getAttribute("aria-expanded")&&r.parentElement.hasAttribute("aria-expanded")||t.addClass([r],"e-dropping");var a=r.previousElementSibling;r.style.height=parseInt(e.height.toString(),10)-(a&&a.classList.contains(j)?a.offsetHeight+a.offsetTop:0)+"px",n&&"TABLE"===n.tagName||(r.style.width=parseInt(e.width.toString(),10)+"px"),r.style.left=r.parentElement.getBoundingClientRect().left-t.closest(r,".e-kanban").getBoundingClientRect().left+"px"})},e.prototype.keydownHandler=function(e){"Escape"===e.code&&this.dragObj.cloneElement&&(t.EventHandler.remove(this.dragObj.cloneElement,"keydown",this.keydownHandler),this.dragObj.element.removeAttribute("aria-grabbed"),this.dragStopClear(),this.dragStopPostClear())},e.prototype.dragStop=function(e){var n=this,r=t.closest(this.dragObj.targetClone,".e-content-cells");this.parent.enableVirtualization&&!t.isNullOrUndefined(r)&&r.classList.add("e-dropped-column");var a,i,l,o;if(t.EventHandler.remove(document.body,"keydown",this.keydownHandler),[].slice.call(this.borderElm).forEach(function(e){e.classList.remove("e-dropping")}),this.dragObj.targetClone.parentElement){var s=(o=this.dragObj.selectedCards&&this.dragObj.selectedCards.length>1&&"Index"===this.parent.sortSettings.sortBy)?".e-card:not(.e-cloned-card),.e-target-dropped-clone":".e-card:not(.e-kanban-dragged-card, .e-cloned-card),.e-target-dropped-clone";i=[].slice.call(this.dragObj.targetClone.parentElement.querySelectorAll(s)).indexOf(this.dragObj.targetClone),this.parent.enableVirtualization&&!t.isNullOrUndefined(this.dragObj.targetClone.nextElementSibling)&&(l=this.dragObj.targetClone.nextElementSibling.getAttribute("data-id"))}if(!t.isNullOrUndefined(this.kanbanObj)&&this.kanbanObj.element.querySelector(".e-target-multi-clone")&&(a=t.closest(e.target,".e-column-key:not(.e-disabled)")),r||a){var d;r?d=this.getColumnKey(r):(d=this.getColumnKey(a),r=t.closest(a,".e-content-cells")),this.dragObj.selectedCards instanceof HTMLElement?this.updateDroppedData(this.dragObj.selectedCards,d,r):this.dragObj.selectedCards.forEach(function(e){n.updateDroppedData(e,d,r)}),this.parent.sortSettings.field&&"Index"===this.parent.sortSettings.sortBy&&this.changeOrder(this.dragObj.modifiedData,e.helper)}0===this.dragObj.modifiedData.length&&(this.dragObj.modifiedData=this.dragObj.cardDetails);var c={cancel:!1,data:this.dragObj.modifiedData,event:e,element:this.dragObj.selectedCards,dropIndex:i};this.parent.trigger("dragStop",c,function(e){if(n.dragStopClear(),!e.cancel&&(r||a)){var t=e.data instanceof Array&&e.data.length>1?e.data:e.data[0],i=void 0,s=void 0;n.parent.enableVirtualization&&(i=r.closest(".e-kanban").querySelector(".e-dragged-column").getAttribute("data-key"),s=r.getAttribute("data-key")),n.parent.crudModule.updateCard(t,e.dropIndex,!0,l,i,s,o),n.parent.enableVirtualization&&(n.parent.virtualLayoutModule.refreshColumnData(i,s),n.parent.virtualLayoutModule.ensureColumnNotEmpty(i))}n.removeEmptyTrElement(),n.dragStopPostClear()})},e.prototype.removeEmptyTrElement=function(){if(!this.parent.swimlaneSettings.showEmptyRow)for(var e=this.parent.element.querySelectorAll(".e-content-row.e-swimlane-row"),n=0;n<e.length;n++){var r=e[n].nextElementSibling.querySelectorAll(".e-card-wrapper .e-card");t.isNullOrUndefined(e[n].nextElementSibling)||0!==r.length||(t.detach(e[n].nextElementSibling),t.detach(e[n]))}},e.prototype.dragStopClear=function(){this.removeElement(this.dragObj.draggedClone),this.removeElement(this.dragObj.targetClone,this.kanbanObj),this.removeElement(this.dragObj.cloneElement),[].slice.call(this.parent.element.querySelectorAll(".e-target-dragged-clone")).forEach(function(e){t.remove(e)}),this.dragObj.element.style.removeProperty("width"),this.multiCloneRemove(),this.dragObj.selectedCards instanceof HTMLElement?t.removeClass([this.dragObj.selectedCards],"e-kanban-dragged-card"):t.removeClass(this.dragObj.selectedCards,"e-kanban-dragged-card"),clearInterval(this.dragObj.navigationInterval),this.dragObj.navigationInterval=null,"not-allowed"===document.body.style.cursor&&(document.body.style.cursor=""),[].slice.call(this.parent.element.querySelectorAll(".e-card[style]")).forEach(function(e){e.style.cursor=""});var e=".e-content-row:not(.e-swimlane-row)";[].slice.call(this.parent.element.querySelectorAll(e+" .e-content-cells")).forEach(function(e){return t.removeClass([e],"e-dropping")}),this.parent.externalDropObj&&[].slice.call(this.parent.externalDropObj.element.querySelectorAll(e+" .e-content-cells")).forEach(function(e){return t.removeClass([e],"e-dropping")})},e.prototype.dragStopPostClear=function(){this.parent.isAdaptive&&(this.parent.touchModule.tabHold=!1),this.parent.element.querySelector(".e-dragged-column")&&this.parent.element.querySelector(".e-dragged-column").classList.remove("e-dragged-column"),this.parent.element.querySelector(".e-dropped-column")&&this.parent.element.querySelector(".e-dropped-column").classList.remove("e-dropped-column"),this.dragObj.cardDetails=this.dragObj.modifiedData=[],this.isDragging=!1,this.parent.isExternalKanbanDrop=!1,this.parent.externalDropObj=null},e.prototype.updateDroppedData=function(e,n,r){var a=this.parent.getCardDetails(e),i=t.extend({},a,null,!0);if(1===n.split(",").length&&(i[this.parent.keyField]=n),this.parent.swimlaneSettings.keyField&&this.parent.swimlaneSettings.allowDragAndDrop){var l=t.closest(r,".e-content-row").previousElementSibling;if(this.parent.isAdaptive){var o=this.parent.layoutModule.kanbanRows[this.parent.layoutModule.swimlaneIndex].keyField;i[this.parent.swimlaneSettings.keyField]=o}else i[this.parent.swimlaneSettings.keyField]=this.getColumnKey(l)}this.dragObj.modifiedData.push(i)},e.prototype.changeOrder=function(e,t){var n,r=this,a=!1;if(!(n="Ascending"===this.kanbanObj.sortSettings.direction?t===this.dragObj.targetClone.previousElementSibling&&this.dragObj.targetClone.previousElementSibling&&this.dragObj.targetClone.previousElementSibling.previousElementSibling?this.dragObj.targetClone.previousElementSibling.previousElementSibling:this.dragObj.targetClone.previousElementSibling:this.dragObj.targetClone.nextElementSibling)||n.classList.contains("e-kanban-dragged-card")||n.classList.contains("e-cloned-card")||n.classList.contains("e-target-dragged-clone"))if(this.dragObj.targetClone.nextElementSibling&&"Ascending"===this.kanbanObj.sortSettings.direction)n=this.dragObj.targetClone.nextElementSibling;else{if(!this.dragObj.targetClone.previousElementSibling||"Descending"!==this.kanbanObj.sortSettings.direction)return;n=this.dragObj.targetClone.previousElementSibling}else a=!0;if(n.classList.contains("e-card")){var i=this.kanbanObj.getCardDetails(n)[this.kanbanObj.sortSettings.field];e.length>1&&"Descending"===this.kanbanObj.sortSettings.direction&&(e=e.reverse()),e.forEach(function(e,t){a?e[r.kanbanObj.sortSettings.field]=++i:1!==i&&t<=e[r.kanbanObj.sortSettings.field]?e[r.kanbanObj.sortSettings.field]=--i:1===i&&(e[r.kanbanObj.sortSettings.field]=t+1)})}},e.prototype.toggleVisible=function(e,n){var r=this;[].slice.call(this.kanbanObj.element.querySelectorAll(".e-header-cells:not(.e-stacked-header-cell)")).forEach(function(t){r.getColumnKey(t)===r.getColumnKey(n||e)&&r.kanbanObj.actionModule.columnToggle(t)});var a=t.closest(this.dragObj.draggedClone,".e-content-cells");if(a){var i=t.formatUnit(a.offsetWidth-16);this.dragObj.draggedClone.style.width=i,this.dragObj.cloneElement.style.width=i}},e.prototype.multiCloneRemove=function(){var e=t.isNullOrUndefined(this.kanbanObj)?[]:[].slice.call(this.kanbanObj.element.querySelectorAll(".e-target-multi-clone"));e.length>0&&([].slice.call(this.kanbanObj.element.querySelectorAll(".e-column-key")).forEach(function(e){return t.remove(e)}),e.forEach(function(e){var n=t.closest(e,".e-content-cells");n&&(n.style.borderStyle="",n.querySelector("."+j)&&t.removeClass([n.querySelector("."+j)],"e-multi-card-wrapper"),t.removeClass([n.querySelector(".e-card-wrapper")],"e-multi-card-wrapper"))}),this.removeElement(this.dragObj.targetCloneMulti,this.kanbanObj))},e.prototype.calculateArgs=function(e){var t=this.getPageCoordinates(e);this.dragObj.pageY=t.pageY,this.dragObj.pageX=t.pageX,this.isDragging=!0,this.kanbanObj.isAdaptive&&this.kanbanObj.tooltipModule&&this.kanbanObj.tooltipModule.tooltipObj.close()},e.prototype.getPageCoordinates=function(e){var t=e.event;return t&&t.changedTouches?t.changedTouches[0]:e.changedTouches?e.changedTouches[0]:t||e},e.prototype.getColumnKey=function(e){return e&&e.getAttribute("data-key")?e.getAttribute("data-key").trim():""},e.prototype.updateScrollPosition=function(){var e=this;t.isNullOrUndefined(this.dragObj.navigationInterval)&&(this.dragObj.navigationInterval=window.setInterval(function(){e.autoScroll()},100))},e.prototype.autoScrollValidation=function(){var e=this.dragObj.pageY,t=this.dragObj.pageX,n={left:!1,right:!1,top:!1,bottom:!1},r=this.kanbanObj.element.querySelector("."+M).getBoundingClientRect();e<r.top+30+window.pageYOffset&&e>r.top+window.pageYOffset&&(n.top=!0),e>r.bottom-30+window.pageYOffset&&e<r.bottom+window.pageYOffset&&(n.bottom=!0),t<r.left+30+window.pageXOffset&&t>r.left+window.pageXOffset&&(n.left=!0),t>r.right-30+window.pageXOffset&&t<r.right+window.pageXOffset&&(n.right=!0),this.dragEdges=n},e.prototype.autoScroll=function(){this.autoScrollValidation();if(this.kanbanObj.isAdaptive){var e;if(this.dragEdges.top||this.dragEdges.bottom?e=this.dragObj.targetClone?t.closest(this.dragObj.targetClone,".e-card-wrapper"):t.closest(this.dragObj.draggedClone,".e-card-wrapper"):(this.dragEdges.right||this.dragEdges.left)&&(e=this.kanbanObj.element.querySelector("."+M)),e){var n=e.offsetHeight<=e.scrollHeight,r=e.offsetWidth<=e.scrollWidth,a=e.scrollTop>=0&&e.scrollTop+e.offsetHeight<=e.scrollHeight,i=e.scrollLeft>=0&&e.scrollLeft+e.offsetWidth<=e.scrollWidth;n&&a&&(this.dragEdges.top||this.dragEdges.bottom)&&(e.scrollTop+=this.dragEdges.top?-66:30),r&&i&&(this.dragEdges.left||this.dragEdges.right)&&((this.parent.enableVirtualization?this.kanbanObj.virtualLayoutModule.getWidth():this.kanbanObj.layoutModule.getWidth())*(this.kanbanObj.columns.length-1)>e.scrollLeft||this.dragEdges.left)&&(e.scrollLeft+=this.dragEdges.left?-30:30)}}else{var l=this.kanbanObj.element.querySelector("."+M),o=this.dragObj.targetClone.parentElement,s=l.offsetHeight<=l.scrollHeight,d=l.offsetWidth<=l.scrollWidth,c=s&&l.scrollTop>=0&&l.scrollTop+l.offsetHeight<=l.scrollHeight,p=d&&l.scrollLeft>=0&&l.scrollLeft+l.offsetWidth<=l.scrollWidth;c&&(this.dragEdges.top||this.dragEdges.bottom)&&(l.scrollTop+=this.dragEdges.top?-30:30,this.parent.swimlaneSettings.enableFrozenRows&&(this.dragObj.cloneElement.style.top=this.dragEdges.top?parseInt(this.dragObj.cloneElement.style.top,10)-30+"px":parseInt(this.dragObj.cloneElement.style.top,10)+30+"px"),o&&(o.scrollTop+=this.dragEdges.top?-30:30)),p&&(this.dragEdges.left||this.dragEdges.right)&&(l.scrollLeft+=this.dragEdges.left?-30:30,o&&(o.scrollLeft+=this.dragEdges.left?-30:30)),this.dragObj.pageY-window.scrollY<30?window.scrollTo(window.scrollX,window.scrollY-30):window.innerHeight-(this.dragObj.pageY-window.scrollY)<30&&window.scrollTo(window.scrollX,window.scrollY+30)}},e.prototype.unWireDragEvents=function(e){if(!t.isNullOrUndefined(e)&&!t.isNullOrUndefined(e.ej2_instances[0])){var n=e.ej2_instances[0];n&&!n.isDestroyed&&n.destroy()}},e}(),P=function(){function e(e){this.preventUpdate=!1,this.parent=e}return e.prototype.openDialog=function(e,t){this.action=e,this.parent.activeCardData.data=t,this.renderDialog(t,e),this.dialogObj.show()},e.prototype.closeDialog=function(){this.dialogObj.hide()},e.prototype.renderDialog=function(e,r){this.element=t.createElement("div",{id:this.parent.element.id+"_dialog_wrapper"}),this.parent.element.appendChild(this.element);var a={buttons:this.getDialogButtons(r),content:this.getDialogContent(e,r),cssClass:"e-kanban-dialog",enableRtl:this.parent.enableRtl,header:this.parent.localeObj.getConstant("Add"===r?"addTitle":"Edit"===r?"editTitle":"deleteTitle"),height:"auto",isModal:!0,showCloseIcon:!0,width:"Delete"===r?400:350,visible:!1,beforeOpen:this.onBeforeDialogOpen.bind(this),beforeClose:this.onBeforeDialogClose.bind(this)};this.dialogObj=new n.Dialog(t.extend(a,"Delete"!==r?this.parent.dialogSettings.model||{}:{}),this.element),"Delete"!==r&&this.applyFormValidation(),this.dialogObj.element.querySelector(".e-dlg-closeicon-btn").title=this.parent.localeObj.getConstant("close")},e.prototype.getDialogContent=function(e,n){if("Delete"===n)return this.parent.localeObj.getConstant("deleteContent");var r=t.createElement("div",{className:"e-kanban-form-wrapper"}),a=t.createElement("form",{id:this.parent.element.id+"EditForm",className:"e-kanban-form",attrs:{onsubmit:"return false;"}});if(this.parent.dialogSettings.template){e&&(this.destroyComponents(),[].slice.call(a.childNodes).forEach(function(e){return t.remove(e)}));var i=this.parent.element.id+"_dialogTemplate",l=this.parent.templateParser(this.parent.dialogSettings.template)(e,this.parent,"dialogTemplate",i,!1);t.append(l,a),this.parent.renderTemplates()}else{var o=t.createElement("div",{className:"e-kanban-dialog-content"});a.appendChild(o);var s=t.createElement("table");o.appendChild(s);for(var d=0,c=this.getDialogFields();d<c.length;d++){var p=c[d],h=t.createElement("tr");s.appendChild(h),h.appendChild(t.createElement("td",{className:"e-label",innerHTML:p.text?p.text:p.key}));var u=t.createElement("td");h.appendChild(u),u.appendChild(this.renderComponents(p))}}return r.appendChild(a),r},e.prototype.getDialogFields=function(){var e=this.parent.dialogSettings.fields;return 0===e.length&&(e=[{text:"ID",key:this.parent.cardSettings.headerField,type:"TextBox"},{key:this.parent.keyField,type:"DropDown"},{key:this.parent.cardSettings.contentField,type:"TextArea"}],this.parent.sortSettings.field&&e.splice(e.length-1,0,{key:this.parent.sortSettings.field,type:"TextBox"}),this.parent.swimlaneSettings.keyField&&e.splice(e.length-1,0,{key:this.parent.swimlaneSettings.keyField,type:"DropDown"})),e},e.prototype.getDialogButtons=function(e){var t="Delete"===e?"e-dialog-yes":"Add"===e?"e-dialog-add":"e-dialog-edit",n="Delete"===e?"e-dialog-no":"e-dialog-cancel",r=[{buttonModel:{cssClass:"e-flat "+t,isPrimary:!0,content:this.parent.localeObj.getConstant("Add"===e||"Edit"===e?"save":"yes")},click:this.dialogButtonClick.bind(this)},{buttonModel:{cssClass:"e-flat "+n,isPrimary:!1,content:this.parent.localeObj.getConstant("Add"===e||"Edit"===e?"cancel":"no")},click:this.dialogButtonClick.bind(this)}];if("Edit"===e){var a={buttonModel:{cssClass:"e-flat e-dialog-delete",isPrimary:!1,content:this.parent.localeObj.getConstant("delete")},click:this.dialogButtonClick.bind(this)};r.splice(0,0,a)}return r},e.prototype.renderComponents=function(e){var n=t.createElement("div",{className:e.key+"_wrapper"}),r=t.createElement("input",{className:"e-field",attrs:{name:e.key}});n.appendChild(r);var l,o,s,d=this.parent.activeCardData.data?this.parent.activeCardData.data[e.key]:null;switch(e.type){case"DropDown":if(e.key===this.parent.keyField){var c=this.parent.enableVirtualization?this.parent.virtualLayoutModule.columnKeys:this.parent.layoutModule.columnKeys;if(this.parent.actionModule.hideColumnKeys.length>0){c=[];for(var p=0;p<this.parent.columns.length;p++)(this.parent.enableVirtualization?this.parent.virtualLayoutModule.isColumnVisible(this.parent.columns[p]):this.parent.layoutModule.isColumnVisible(this.parent.columns[p]))&&(c="number"==typeof this.parent.columns[p].keyField?c.concat(this.parent.columns[p].keyField.toString()):c.concat(this.parent.columns[p].keyField.split(",").map(function(e){return e.trim()})))}o={dataSource:c,value:d?d.toString():d}}else e.key===this.parent.swimlaneSettings.keyField&&(o={dataSource:[].slice.call(this.parent.enableVirtualization?this.parent.virtualLayoutModule.kanbanRows:this.parent.layoutModule.kanbanRows),fields:{text:"textField",value:"keyField"},value:d});s=new a.DropDownList(o);break;case"Numeric":s=new i.NumericTextBox({value:d});break;case"TextBox":s=new i.TextBox({value:d}),d&&this.parent.cardSettings.headerField===e.key&&(s.enabled=!1);break;case"TextArea":t.remove(r),l=t.createElement("div"),r=t.createElement("textarea",{className:"e-field",attrs:{name:e.key,rows:"3","aria-label":this.parent.cardSettings.contentField},innerHTML:d}),n.appendChild(l).appendChild(r)}return s&&s.appendTo(r),n},e.prototype.onBeforeDialogOpen=function(e){var t=this,n={data:this.parent.activeCardData.data,cancel:!1,element:this.element,target:this.parent.activeCardData.element,requestType:this.action};this.storeElement=document.activeElement,parseInt(e.maxHeight,10)<=250&&(e.maxHeight="250px"),this.parent.trigger("dialogOpen",n,function(n){e.cancel=n.cancel,n.cancel&&t.destroy()})},e.prototype.onBeforeDialogClose=function(e){var n=this,r=this.getFormElements(),a={};if(e.isInteracted&&(this.preventUpdate=!0),!this.preventUpdate)for(var i=0,l=r;i<l.length;i++){var o=l[i],s=o.name||this.getColumnName(o);if(!t.isNullOrUndefined(s)&&""!==s){var d=this.getValueFromElement(o);s===this.parent.cardSettings.headerField&&(d="string"===this.getIDType()?d:parseInt(d,10)),a[s]=d}}this.preventUpdate=!1;var c={data:a=t.extend(this.parent.activeCardData.data,a),cancel:!1,element:this.element,requestType:this.action};this.parent.trigger("dialogClose",c,function(t){e.cancel=t.cancel,t.cancel||(n.cardData=c.data,n.destroy(),n.parent.actionModule.SingleCardSelection(n.cardData))})},e.prototype.getIDType=function(){return 0!==this.parent.kanbanData.length?typeof this.parent.kanbanData[0][this.parent.cardSettings.headerField]:"string"},e.prototype.applyFormValidation=function(){for(var e=this,t=this.element.querySelector(".e-kanban-form"),n={},r=0,a=this.parent.dialogSettings.fields;r<a.length;r++){var l=a[r];n[l.key]=l.validationRules&&Object.keys(l.validationRules).length>0?l.validationRules:null}this.formObj=new i.FormValidator(t,{rules:n,customPlacement:function(t,n){var r=n.getAttribute("for");e.element.querySelector("#"+r+"_Error")||e.createTooltip(t,n,r,"")},validationComplete:function(t){var n=e.element.querySelector("#"+t.inputName+"_Error");n&&(n.style.display="failure"===t.status?"":"none")}})},e.prototype.createTooltip=function(e,n,r,a){var i,l,o=e.parentElement.getBoundingClientRect();this.element.classList.contains("e-kanban-dialog")?(i=this.element,l=this.element.getBoundingClientRect()):l=(i=this.element.querySelector(".e-kanban-dialog .e-dlg-content")).getBoundingClientRect();var s=t.createElement("div",{className:"e-tooltip-wrap e-popup e-kanban-error",id:r+"_Error",styles:"display:"+a+";top:"+(o.bottom-l.top+i.scrollTop+9)+"px;left:"+(o.left-l.left+i.scrollLeft+o.width/2)+"px;"}),d=t.createElement("div",{className:"e-tip-content"});d.appendChild(n);var c=t.createElement("div",{className:"e-arrow-tip e-tip-top"});c.appendChild(t.createElement("div",{className:"e-arrow-tip-outer e-tip-top"})),c.appendChild(t.createElement("div",{className:"e-arrow-tip-inner e-tip-top"})),s.appendChild(d),s.appendChild(c),i.appendChild(s),s.style.left=parseInt(s.style.left,10)-s.offsetWidth/2+"px"},e.prototype.destroyToolTip=function(){this.element&&this.element.querySelectorAll(".e-kanban-error").forEach(function(e){return t.remove(e)}),this.formObj&&this.formObj.element&&this.formObj.reset()},e.prototype.dialogButtonClick=function(e){var n=e.target.cloneNode(!0);t.isNullOrUndefined(e.keyCode)||13!==e.keyCode||(n=this.dialogObj.element.querySelector(".e-footer-content button.e-primary").cloneNode(!0));var r=this.formObj.element.id;if(document.getElementById(r)&&this.formObj.validate()&&(n.classList.contains("e-dialog-edit")||n.classList.contains("e-dialog-add"))&&(this.dialogObj.hide(),!t.isNullOrUndefined(this.cardData))){if(n.classList.contains("e-dialog-edit")){var a=this.parent.activeCardData,i=void 0;a.data[this.parent.keyField]===this.cardData[this.parent.keyField]&&a.element&&(i=[].slice.call(a.element.parentElement.children).indexOf(a.element)),this.parent.enableHtmlSanitizer&&"string"==typeof this.cardData[this.parent.cardSettings.contentField]&&(this.cardData[this.parent.cardSettings.contentField]=t.SanitizeHtmlHelper.sanitize(this.cardData[this.parent.cardSettings.contentField])),this.parent.crudModule.updateCard(this.cardData,i)}n.classList.contains("e-dialog-add")&&this.parent.crudModule.addCard(this.cardData),this.parent.actionModule.SingleCardSelection(this.cardData),this.cardData=null}n.classList.contains("e-dialog-edit")||n.classList.contains("e-dialog-add")||(n.classList.contains("e-dialog-cancel")&&(this.preventUpdate=!0),this.dialogObj.hide(),n.classList.contains("e-dialog-yes")?this.parent.crudModule.deleteCard(this.parent.activeCardData.data):n.classList.contains("e-dialog-no")?this.openDialog("Edit",this.parent.activeCardData.data):n.classList.contains("e-dialog-delete")&&this.openDialog("Delete",this.parent.activeCardData.data))},e.prototype.getFormElements=function(){for(var e=[],t=0,n=[].slice.call(this.element.querySelectorAll(".e-field"));t<n.length;t++){var r=n[t];r.classList.contains("e-control")?e.push(r):r.querySelector(".e-control")?e.push(r.querySelector(".e-control")):e.push(r)}return e},e.prototype.getColumnName=function(e){var n=e.getAttribute("data-name")||"";if(""===n){var r=!1,a="";e.classList.contains("e-dropdownlist")||e.classList.contains("e-multiselect")?(a=e.classList.contains("e-dropdownlist")?"e-ddl":"e-multiselect",r=!0):e.classList.contains("e-numerictextbox")&&(a="e-numeric");var i=r?"."+a+":not(.e-control)":"."+a,l=t.closest(e,i)||e.querySelector("."+a);if(l){var o=l.querySelector("[name]");o&&(n=o.name)}}return n},e.prototype.getValueFromElement=function(e){return e.classList.contains("e-dropdownlist")?e.ej2_instances[0].value:e.classList.contains("e-multiselect")?e.ej2_instances[0].value:e.classList.contains("e-checkbox")?e.ej2_instances[0].checked:"checkbox"===e.type?e.checked:e.value},e.prototype.destroyComponents=function(){for(var e=0,t=this.getFormElements();e<t.length;e++){var n=t[e].ej2_instances;n&&n.length>0&&n.forEach(function(e){return e.destroy()}),this.parent.isReact&&this.formObj&&this.formObj.element.remove()}},e.prototype.destroy=function(){this.destroyToolTip(),this.destroyComponents(),this.dialogObj&&(this.dialogObj.destroy(),this.storeElement.focus(),this.dialogObj=null,t.remove(this.element),this.element=null)},e}(),H=function(){function e(e){this.keyConfigs={firstCardSelection:"36",lastCardSelection:"35",upArrow:"38",downArrow:"40",rightArrow:"39",leftArrow:"37",multiSelectionEnter:"ctrl+13",multiSelectionSpace:"ctrl+32",multiSelectionByUpArrow:"shift+38",multiSelectionByDownArrow:"shift+40",shiftTab:"shift+tab",enter:"13",tab:"tab",delete:"46",escape:"27",space:"32"},this.parent=e,this.parent.element.tabIndex=-1===this.parent.element.tabIndex?0:this.parent.element.tabIndex,this.keyboardModule=new t.KeyboardEvents(this.parent.element,{keyAction:this.keyActionHandler.bind(this),keyConfigs:this.keyConfigs,eventName:"keydown"}),this.multiSelection=!1}return e.prototype.keyActionHandler=function(e){var n=this,r=this.parent.element.querySelectorAll(".e-card.e-selection").item(0);if(r||t.closest(document.activeElement,".e-kanban")){var a,i=[];switch(e.action){case"upArrow":case"downArrow":case"multiSelectionByUpArrow":case"multiSelectionByDownArrow":e.preventDefault(),this.processUpDownArrow(e.action,r);break;case"rightArrow":case"leftArrow":this.processLeftRightArrow(e);break;case"firstCardSelection":case"lastCardSelection":this.processCardSelection(e.action,r);break;case"multiSelectionEnter":case"multiSelectionSpace":document.activeElement&&this.parent.actionModule.cardSelection(document.activeElement,!0,!1);break;case"space":case"enter":this.processEnter(e,r);break;case"escape":if(document.activeElement.classList.contains("e-card")||document.activeElement.classList.contains(j))if(document.activeElement.classList.contains("e-selection"))t.removeClass([document.activeElement],"e-selection"),document.activeElement.focus();else{var l=t.closest(document.activeElement,".e-content-cells"),o=[].slice.call(l.querySelectorAll(".e-card"));t.removeClass(o,"e-selection"),l.focus(),this.cardTabIndexRemove(),this.addRemoveTabIndex("Add")}break;case"tab":case"shiftTab":a=t.closest(document.activeElement,".e-content-cells"),document.activeElement.classList.contains("e-card")&&(document.activeElement.nextElementSibling||"tab"!==e.action||e.preventDefault(),!document.activeElement.previousElementSibling&&a.querySelector("."+j)&&"tab"===e.action&&t.addClass([a.querySelector("."+j)],"e-show-add-focus")),document.activeElement.classList.contains(j)&&(!a.querySelector(".e-card")&&"tab"===e.action||"shiftTab"===e.action)&&e.preventDefault(),document.activeElement.classList.contains("e-kanban")&&(this.cardTabIndexRemove(),this.parent.keyboardModule.addRemoveTabIndex("Add"));break;case"delete":[].slice.call(this.parent.element.querySelectorAll(".e-card.e-selection")).forEach(function(e){i.push(n.parent.getCardDetails(e))}),this.parent.crudModule.deleteCard(i)}}},e.prototype.processCardSelection=function(e,n){if(n){t.removeClass([n],"e-selection"),this.parent.enableVirtualization?this.parent.virtualLayoutModule.disableAttributeSelection(n):this.parent.layoutModule.disableAttributeSelection(n);var r=this.parent.actionModule.selectionArray;r.splice(r.indexOf(n.getAttribute("data-id")),1)}this.cardTabIndexRemove();var a=[].slice.call(this.parent.element.querySelectorAll(".e-card")),i="firstCardSelection"===e?a[0]:a[a.length-1];this.parent.actionModule.cardSelection(i,!1,!1),this.addRemoveTabIndex("Remove"),i.focus(),[].slice.call(t.closest(i,".e-content-cells").querySelectorAll(".e-card")).forEach(function(e){e.setAttribute("tabindex","0")})},e.prototype.processLeftRightArrow=function(e){document.activeElement.classList.contains("e-content-cells")&&("rightArrow"===e.action&&document.activeElement.nextElementSibling?document.activeElement.nextElementSibling.focus():"leftArrow"===e.action&&document.activeElement.previousElementSibling&&document.activeElement.previousElementSibling.focus())},e.prototype.processUpDownArrow=function(e,n){if("upArrow"===e&&document.activeElement){if(document.activeElement.classList.contains("e-card")&&document.activeElement.previousElementSibling)document.activeElement.previousElementSibling.focus();else if(document.activeElement.classList.contains(j)){document.activeElement.setAttribute("tabindex","-1"),t.removeClass([document.activeElement],"e-show-add-focus");var r=t.closest(document.activeElement,".e-content-cells");r.querySelectorAll(".e-card").length>0&&[].slice.call(r.querySelectorAll(".e-card")).slice(-1)[0].focus()}this.removeSelection()}else if("downArrow"===e&&document.activeElement&&document.activeElement.classList.contains("e-card")){if(document.activeElement.nextElementSibling)document.activeElement.nextElementSibling.focus();else if(t.closest(document.activeElement,".e-card-wrapper").nextElementSibling){var a=t.closest(document.activeElement,".e-card-wrapper").nextElementSibling;a.setAttribute("tabindex","0"),t.addClass([a],"e-show-add-focus"),a.focus()}this.removeSelection()}if(("multiSelectionByUpArrow"===e||"multiSelectionByDownArrow"===e)&&n&&"Multiple"===this.parent.cardSettings.selectionType){var i=void 0;(i="multiSelectionByUpArrow"===e?document.activeElement.previousElementSibling:document.activeElement.nextElementSibling)&&(this.parent.actionModule.cardSelection(i,!1,!0),i.focus(),this.multiSelection=!0)}},e.prototype.removeSelection=function(){if(this.multiSelection){var e=this.parent.getSelectedCards();e.length>0&&(t.removeClass(e,"e-selection"),this.parent.enableVirtualization?this.parent.virtualLayoutModule.disableAttributeSelection(e):this.parent.layoutModule.disableAttributeSelection(e)),this.multiSelection=!1}},e.prototype.cardTabIndexRemove=function(){[].slice.call(this.parent.element.querySelectorAll(".e-card")).forEach(function(e){e.setAttribute("tabindex","-1")}),[].slice.call(this.parent.element.querySelectorAll("."+j)).forEach(function(e){e.setAttribute("tabindex","-1"),t.removeClass([e],"e-show-add-focus")})},e.prototype.processEnter=function(e,t){"space"===e.action&&e.preventDefault();var n=e.target;if(n.classList.contains("e-header-icon")&&this.parent.actionModule.columnExpandCollapse(e),(n.classList.contains("e-swimlane-row-expand")||n.classList.contains("e-swimlane-row-collapse"))&&this.parent.actionModule.rowExpandCollapse(e),document.activeElement.classList.contains("e-card")&&this.parent.actionModule.cardSelection(document.activeElement,!1,!1),document.activeElement.classList.contains(j)&&(this.parent.dialogModule.dialogObj||this.parent.actionModule.addButtonClick(document.activeElement),document.activeElement.focus()),n.classList.contains("e-content-cells")){var r=[].slice.call(n.querySelectorAll(".e-card"));this.addRemoveTabIndex("Remove"),r.length>0&&(n.querySelector(".e-card").focus(),r.forEach(function(e){e.setAttribute("tabindex","0")})),n.querySelector("."+j)&&(n.querySelector("."+j).setAttribute("tabindex","0"),n.querySelector("."+j).focus())}t===document.activeElement&&1===this.parent.element.querySelectorAll(".e-selection").length&&(this.parent.activeCardData={data:this.parent.getCardDetails(t),element:t},this.parent.dialogModule.dialogObj||this.parent.dialogModule.openDialog("Edit",this.parent.getCardDetails(t)),t.focus())},e.prototype.addRemoveTabIndex=function(e){var t="Add"===e?"0":"-1",n=[].slice.call(this.parent.element.querySelectorAll(".e-header-icon"));n.length>0&&n.forEach(function(e){e.setAttribute("tabindex",t)});var r=[].slice.call(this.parent.element.querySelectorAll(".e-swimlane-row-expand"));r.length>0&&r.forEach(function(e){e.setAttribute("tabindex",t)});[].slice.call(this.parent.element.querySelectorAll(".e-content-row:not(.e-swimlane-row) .e-content-cells")).forEach(function(e){e.setAttribute("tabindex",t)})},e.prototype.destroy=function(){this.keyboardModule.destroy()},e}(),N=function(){function e(e){this.parent=e,this.renderTooltip()}return e.prototype.renderTooltip=function(){this.tooltipObj=new n.Tooltip({cssClass:this.parent.cssClass+" e-kanban-tooltip",enableRtl:this.parent.enableRtl,mouseTrail:!this.parent.isAdaptive,offsetY:5,position:"BottomCenter",showTipPointer:!0,target:".e-tooltip-text",beforeRender:this.onBeforeRender.bind(this),beforeClose:this.onBeforeClose.bind(this)}),this.tooltipObj.appendTo(this.parent.element),this.tooltipObj.isStringTemplate=!0},e.prototype.onBeforeRender=function(e){if(this.parent.dragAndDropModule.isDragging)return void(e.cancel=!0);var n;if(this.parent.tooltipTemplate){n=t.createElement("div");var r=t.closest(e.target,".e-card"),a=this.parent.getCardDetails(r),i=this.parent.element.id+"_tooltipTemplate",l=this.parent.templateParser(this.parent.tooltipTemplate)(a,this.parent,"tooltipTemplate",i,!1);t.append(l,n),this.parent.renderTemplates()}else n=t.initializeCSPTemplate(function(){return'<div class="e-card-header-caption">'+e.target.innerText+"</div>"});this.tooltipObj.setProperties({content:n},!0)},e.prototype.onBeforeClose=function(){this.parent.resetTemplates(["tooltipTemplate"])},e.prototype.destroy=function(){this.tooltipObj.destroy(),t.addClass([this.parent.element],"e-control"),this.tooltipObj=null},e}(),I=function(){function e(e){this.parent=e,this.tabHold=!1}return e.prototype.wireTouchEvents=function(){this.element=this.parent.element.querySelector("."+M),this.touchObj=new t.Touch(this.element,{tapHold:this.tapHoldHandler.bind(this)})},e.prototype.tapHoldHandler=function(e){this.tabHold=!0;var n=t.closest(e.originalEvent.target,".e-card");n&&"Multiple"===this.parent.cardSettings.selectionType&&(this.parent.actionModule.cardSelection(n,!0,!1),this.mobilePopup||(this.renderMobilePopup(),this.mobilePopup.show()),this.updatePopupContent())},e.prototype.renderMobilePopup=function(){if("Multiple"===this.parent.cardSettings.selectionType){var e=t.createElement("div",{className:"e-mobile-popup-wrapper e-popup-close",innerHTML:'<div class="e-popup-header"><button class="e-close"></button></div><div class="e-popup-content"></div>'});document.body.appendChild(e),t.addClass([e],"e-device"),this.mobilePopup=new n.Popup(e,{targetType:"container",enableRtl:this.parent.enableRtl,hideAnimation:{name:"ZoomOut"},showAnimation:{name:"ZoomIn"},collision:{X:"fit",Y:"fit"},position:{X:"left",Y:"top"},viewPortElement:document.body,zIndex:1004,close:this.popupClose.bind(this)});var r=this.mobilePopup.element.querySelector(".e-close"),a=new l.Button({cssClass:"e-flat e-round e-small",enableRtl:this.parent.enableRtl,iconCss:"e-icons e-close-icon"});a.appendTo(r),a.isStringTemplate=!0,t.EventHandler.add(r,"click",this.closeClick,this)}},e.prototype.getPopupContent=function(){var e,t=this.parent.getSelectedCards();return t.length>1?e="("+t.length+") "+this.parent.localeObj.getConstant("cardsSelected"):1===t.length&&(e=" "+this.parent.getCardDetails(t[0])[this.parent.cardSettings.headerField]),e},e.prototype.updatePopupContent=function(){if(this.mobilePopup){var e=this.getPopupContent();e?this.mobilePopup.element.querySelector(".e-popup-content").textContent=e:this.mobilePopup.hide()}},e.prototype.closeClick=function(){this.parent.touchModule.mobilePopup.hide()},e.prototype.popupClose=function(){this.popupDestroy()},e.prototype.popupDestroy=function(){if(this.mobilePopup&&this.mobilePopup.element){var e=this.mobilePopup.element.querySelector(".e-control.e-btn").ej2_instances[0];e&&e.destroy(),this.mobilePopup.destroy(),t.remove(this.mobilePopup.element),this.mobilePopup=null}},e.prototype.unWireTouchEvents=function(){this.touchObj&&this.touchObj.destroy(),this.touchObj=null,this.element=null},e.prototype.destroy=function(){this.popupDestroy(),this.unWireTouchEvents(),this.tabHold=!1},e}(),B=function(){function e(e){this.parent=e}return e.prototype.renderSwimlaneHeader=function(){var e=t.createElement("div",{className:"e-swimlane-header",innerHTML:'<div class="e-swimlane-header-toolbar"><div class="e-toolbar-menu"><div class="e-icons e-icon-menu"></div></div><div class="e-toolbar-level-title"><div class="e-toolbar-swimlane-name"></div></div></div>'});this.parent.element.appendChild(e),t.EventHandler.add(e.querySelector(".e-icon-menu"),"click",this.menuClick,this)},e.prototype.renderSwimlaneTree=function(){var e=this.parent.element.querySelector(".e-swimlane-header").offsetHeight,r=window.innerHeight-e;this.popupOverlay=t.createElement("div",{className:"e-swimlane-overlay",styles:"height: "+r+"px;"});var a=t.createElement("div",{className:"e-swimlane-content",styles:"top:"+e+"px;"}),i=t.createElement("div",{className:"e-swimlane-resource e-popup-close",styles:"height: "+r+"px;"});a.appendChild(i),a.appendChild(this.popupOverlay),this.parent.element.appendChild(a);var l=t.createElement("div",{className:"e-swimlane-tree"});i.appendChild(l);var s=this.parent.enableVirtualization?this.parent.virtualLayoutModule.kanbanRows:this.parent.layoutModule.kanbanRows;this.treeViewObj=new o.TreeView({cssClass:this.parent.cssClass,enableRtl:this.parent.enableRtl,fields:{dataSource:s,id:"keyField",text:"textField"},nodeTemplate:this.parent.swimlaneSettings.template,nodeClicked:this.treeSwimlaneClick.bind(this),drawNode:this.drawNode.bind(this)}),this.treeViewObj.appendTo(l);var d={targetType:"relative",actionOnScroll:"none",enableRtl:this.parent.enableRtl,zIndex:10,hideAnimation:{name:"SlideLeftOut",duration:500},showAnimation:{name:"SlideLeftIn",duration:500},viewPortElement:this.parent.element.querySelector("."+M)};d.content=this.treeViewObj.element,this.treePopup=new n.Popup(i,d)},e.prototype.menuClick=function(){if(this.parent.element.querySelector(".e-swimlane-resource").classList.contains("e-popup-open"))this.treePopup.hide(),t.removeClass([this.popupOverlay],"e-enable");else{var e=[].slice.call(this.treeViewObj.element.querySelectorAll(".e-list-item"));t.removeClass(e,"e-active"),t.addClass([e[this.parent.layoutModule.swimlaneIndex]],"e-active"),this.treePopup.show(),t.addClass([this.popupOverlay],"e-enable")}},e.prototype.treeSwimlaneClick=function(e){this.treePopup.hide();var t=[].slice.call(this.treeViewObj.element.querySelectorAll(".e-list-item"));this.parent.layoutModule.swimlaneIndex=t.indexOf(e.node),this.parent.layoutModule.scrollLeft=0,this.parent.notify(d,{processedData:this.parent.kanbanData}),e.event.preventDefault()},e.prototype.hidePopup=function(){this.treePopup.hide(),t.removeClass([this.popupOverlay],"e-enable")},e.prototype.getWidth=function(){return 80*window.innerWidth/100},e.prototype.drawNode=function(e){if(this.parent.swimlaneSettings.template&&this.parent.isReact){var n=this.parent.element.id+"_treeviewTemplate",r=this.parent.templateParser(this.parent.swimlaneSettings.template)(e.nodeData,this.parent,"nodeTemplate",n,!1);t.append(r,e.node.querySelector(".e-list-text"))}},e}(),U=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),z=function(e){function n(t){var n=e.call(this,t)||this;return n.kanbanRows=[],n.parent=t,n.columnKeys=[],n.swimlaneIndex=0,n.swimlaneData={},n.scrollLeft=0,n.frozenOrder=0,n.parent.on(d,n.initRender,n),n.parent.on(s,n.scrollUiUpdate,n),n}return U(n,e),n.prototype.initRender=function(){if(0!==this.parent.columns.length){if(this.columnData=this.getColumnCards(),this.kanbanRows=this.getRows(),this.swimlaneData=this.getSwimlaneCards(),this.parent.isAdaptive){var e=this.parent.element.querySelector("."+M);e&&(this.scrollLeft=e.scrollLeft)}this.destroy(),this.parent.on(d,this.initRender,this),this.parent.on(s,this.scrollUiUpdate,this),this.parent.isAdaptive&&this.parent.swimlaneSettings.keyField&&0!==this.parent.kanbanData.length&&this.renderSwimlaneHeader();var n=t.createElement("div",{className:F});this.parent.element.appendChild(n),this.renderHeader(n),this.renderContent(),this.renderCards(),this.renderValidation(),this.parent.renderTemplates(),this.parent.notify(s,{}),this.wireEvents(),this.parent.isInitialRender&&(this.parent.isInitialRender=!1)}},n.prototype.renderHeader=function(e){var n=t.createElement("div",{className:this.parent.swimlaneSettings.keyField?"e-swimlane":""});e.appendChild(n);var r=t.createElement("table",{className:"e-kanban-table e-header-table"});n.appendChild(r),this.renderColGroup(r);var a=t.createElement("thead"),i=t.createElement("tbody",{className:"e-hide",innerHTML:"<tr><td></td></tr>",attrs:{role:"rowgroup"}});r.appendChild(i),r.appendChild(a),this.parent.stackedHeaders.length>0&&a.appendChild(this.createStackedRow(this.parent.stackedHeaders));var l=t.createElement("tr",{className:"e-header-row"});a.appendChild(l);for(var o=this,s=0,d=this.parent.columns;s<d.length;s++)!function(e){if(o.isColumnVisible(e)){var n=o.parent.actionModule.columnToggleArray.indexOf(e.keyField.toString()),r=t.createElement("th",{className:-1===n?"e-header-cells":"e-header-cells e-collapsed",attrs:{"data-role":"kanban-column","data-key":e.keyField.toString(),scope:"col"}}),a=[];e.allowToggle&&(a.push("e-toggle-header"),e.isExpanded||a.push("e-collapsed")),t.addClass([r],a);var i=t.createElement("div",{className:"e-header-wrap"});r.appendChild(i),o.columnData=o.getColumnCards(o.parent.kanbanData);var s=o.columnData[e.keyField].length,d=t.createElement("div",{className:"e-header-title"});if(i.appendChild(d),e.template){var c={keyField:e.keyField,headerText:e.headerText,minCount:e.minCount,maxCount:e.maxCount,allowToggle:e.allowToggle,isExpanded:e.isExpanded,showItemCount:e.showItemCount,count:s};t.addClass([r],"e-template");var p=o.parent.element.id+"_columnTemplate",h=o.parent.templateParser(e.template)(c,o.parent,"columnTemplate",p,!1);t.append(h,d)}else{var u=t.createElement("div",{className:"e-header-text",innerHTML:e.headerText});if(d.appendChild(u),e.showItemCount){var g=t.createElement("div",{className:"e-item-count",innerHTML:"- "+s.toString()+" "+o.parent.localeObj.getConstant("items")});d.appendChild(g)}}if(e.allowToggle){var m=!(!e.isExpanded||-1!==n),f=m?"e-column-expand":"e-column-collapse",y=t.createElement("div",{className:"e-header-icon e-icons "+f,attrs:{tabindex:"0",role:"button"}});y.setAttribute("aria-label",m?e.keyField+" Expand":e.keyField+" Collapse"),r.setAttribute("aria-expanded",m.toString()),i.appendChild(y)}var v={data:[{keyField:e.keyField,textField:e.headerText,count:s}],element:l,cancel:!1,requestType:"headerRow"};o.parent.trigger("queryCellInfo",v,function(e){e.cancel||l.appendChild(r)})}}(d[s])},n.prototype.renderContent=function(){var e=t.createElement("div",{className:M});this.parent.element.appendChild(e);var n=t.createElement("div",{className:this.parent.swimlaneSettings.keyField?"e-swimlane":""});e.appendChild(n);var r=t.createElement("table",{className:"e-kanban-table e-content-table",attrs:{role:"presentation"}});n.appendChild(r),this.renderColGroup(r);for(var a=t.createElement("thead",{className:"e-hide",attrs:{role:"none"}}),i=0,l=this.parent.columns;i<l.length;i++){var o=l[i],s=t.createElement("th",{id:o.keyField,innerHTML:o.keyField,attrs:{scope:"col"}});s.style.display="none",a.appendChild(s)}r.appendChild(a);var d=t.createElement("tbody",{attrs:{role:"treegrid","aria-label":"Kanban Content"}});r.appendChild(d);var c=!1;this.swimlaneRow=this.kanbanRows,this.initializeSwimlaneTree();for(var p=0,h=this.swimlaneRow;p<h.length;p++){var u=h[p];this.parent.swimlaneSettings.keyField&&0!==this.parent.swimlaneToggleArray.length&&(c=-1!==this.parent.swimlaneToggleArray.indexOf(u.keyField)),this.parent.swimlaneSettings.keyField&&!this.parent.isAdaptive&&this.renderSwimlaneRow(d,u,c),this.renderSingleContent(d,u,c)}},n.prototype.renderSingleContent=function(e,n,r){for(var a=r?"e-content-row e-collapsed":"e-content-row",i=t.createElement("tr",{className:a,attrs:{role:"row","aria-label":n.keyField+"row content"}}),l=0,o=this.parent.columns;l<o.length;l++){var s=o[l];if(this.isColumnVisible(s)){var d=this.parent.actionModule.columnToggleArray.indexOf(s.keyField.toString()),c=-1===d?"e-content-cells":"e-content-cells e-collapsed",p=(s.allowDrag?" e-drag":"")+(s.allowDrop?" e-drop e-droppable":""),h=t.createElement("td",{className:c+p,attrs:{"data-role":"kanban-column","data-key":s.keyField.toString(),tabindex:"0","aria-describedby":s.keyField.toString(),role:"gridcell"}});if(s.allowToggle&&!s.isExpanded||-1!==d){t.addClass([h],"e-collapsed");var u=(s.showItemCount?"["+this.getColumnData(s.keyField,this.swimlaneData[n.keyField]).length+"] ":"")+s.headerText;h.appendChild(t.createElement("div",{className:"e-collapse-header-text",innerHTML:u})),h.setAttribute("aria-expanded","false")}if(s.showAddButton){var g=t.createElement("div",{className:j,attrs:{tabindex:"-1"}});g.appendChild(t.createElement("div",{className:"e-show-add-icon e-icons"})),h.appendChild(g)}i.appendChild(h)}}var m={data:[{keyField:n.keyField,textField:n.textField,count:n.count}],element:i,cancel:!1,requestType:"contentRow"};this.parent.trigger("queryCellInfo",m,function(t){t.cancel||(e.classList.contains("e-swimlane-row")?e.insertAdjacentElement("beforebegin",i):e.appendChild(i))})},n.prototype.initializeSwimlaneTree=function(){if(this.parent.swimlaneSettings.keyField&&this.parent.isAdaptive&&0!==this.parent.kanbanData.length){var e=this.parent.element.querySelector(".e-toolbar-swimlane-name");if(this.swimlaneRow=[this.kanbanRows[this.swimlaneIndex]],this.renderSwimlaneTree(),this.parent.swimlaneSettings.template){var n=this.swimlaneData[this.swimlaneRow[0].keyField].length,r=t.extend({},this.swimlaneRow[0],{count:n},!0),a=this.parent.templateParser(this.parent.swimlaneSettings.template)(r,this.parent,"swimlaneTemplate","",!1);e.appendChild(a[0])}else if(e.innerHTML=this.swimlaneRow[0].textField,this.parent.swimlaneSettings.showItemCount){var n=this.swimlaneData[this.swimlaneRow[0].keyField].length,i=this.parent.element.querySelector(".e-swimlane-header-toolbar"),l=void 0,o=void 0;t.isNullOrUndefined(i)||(l=t.createElement("div",{className:"e-toolbar-swimlane-item-count"}),o=t.createElement("div",{className:"e-item-count"}),l.appendChild(o),i.appendChild(l)),o.innerHTML="- "+n+" "+this.parent.localeObj.getConstant("items")}}},n.prototype.renderSwimlaneRow=function(e,n,r){var a=r?" e-collapsed":"",i=t.createElement("tr",{className:"e-content-row e-swimlane-row"+a,attrs:{"aria-label":n.keyField+" row header",role:"row","data-key":n.keyField,"aria-expanded":(!r).toString()}}),l=this.parent.columns.length-this.parent.actionModule.hideColumnKeys.length,o=t.createElement("td",{className:"e-content-cells",attrs:{"data-role":"kanban-column",role:"gridcell",colspan:l.toString()}}),s=t.createElement("div",{className:"e-swimlane-header"});o.appendChild(s);var d=r?"e-swimlane-row-collapse":"e-swimlane-row-expand",c=t.createElement("div",{className:"e-icons "+d,attrs:{tabindex:"0",role:"button","aria-label":r?n.keyField+" Collapse":n.keyField+" Expand"}});s.appendChild(c);var p=t.createElement("div",{className:"e-header-wrap"});s.appendChild(p);var h=this.swimlaneData[n.keyField].length;if(this.parent.swimlaneSettings.template){var u=t.extend({},n,{count:h},!0);t.addClass([o],"e-template");var g=this.parent.element.id+"_swimlaneTemplate",m=this.parent.templateParser(this.parent.swimlaneSettings.template)(u,this.parent,"swimlaneTemplate",g,!1);t.append(m,p)}else p.appendChild(t.createElement("div",{className:"e-swimlane-text",innerHTML:n.textField,attrs:{"data-role":n.textField}}));this.parent.swimlaneSettings.showItemCount&&s.appendChild(t.createElement("div",{className:"e-item-count",innerHTML:"- "+h.toString()+" "+this.parent.localeObj.getConstant("items")})),i.appendChild(o);var f={data:[{keyField:n.keyField,textField:n.textField,count:n.count}],element:i,cancel:!1,requestType:"swimlaneRow"};this.parent.trigger("queryCellInfo",f,function(t){t.cancel||(e.classList.contains("e-swimlane-row")?e.insertAdjacentElement("beforebegin",i):e.appendChild(i))})},n.prototype.renderCards=function(){var e=this,n=this.swimlaneRow,r=[].slice.call(this.parent.element.querySelectorAll(".e-content-row:not(.e-swimlane-row)")),a=[].slice.call(this.parent.element.querySelectorAll(".e-content-row.e-swimlane-row")),i=[],l=!1;r.forEach(function(r,o){for(var s=0,d=0,c=e.parent.columns;d<c.length;d++)!function(a){if(e.isColumnVisible(a)){var i=e.parent.swimlaneSettings.keyField?e.getColumnData(a.keyField,e.parent.swimlaneSettings.showEmptyRow&&t.isNullOrUndefined(e.swimlaneData[n[o].keyField])?[]:e.swimlaneData[n[o].keyField]):e.columnData[a.keyField];s+=i.length;var d=r.querySelector('[data-key="'+a.keyField+'"]'),c=t.createElement("div",{className:"e-card-wrapper",attrs:{role:"listbox",tabindex:"0","aria-label":a.keyField.toString()}});if(a.transitionColumns.length>0&&(l=!0),!l&&t.isNullOrUndefined(e.parent.swimlaneSettings.keyField)){var p=t.createElement("div",{className:T});d.appendChild(p)}if(d.appendChild(c),e.parent.enableHtmlSanitizer&&i.length>0&&e.parent.cardSettings&&e.parent.cardSettings.contentField&&"string"==typeof i[0][e.parent.cardSettings.contentField]&&(i[0][e.parent.cardSettings.contentField]=t.SanitizeHtmlHelper.sanitize(i[0][e.parent.cardSettings.contentField])),i.length>0)for(var h=0,u=i;h<u.length;h++)!function(n){var r=n[e.parent.cardSettings.headerField],a=e.parent.actionModule.selectionArray.indexOf(r),i=e.renderCard(n);-1!==a&&(i.setAttribute("aria-selected","true"),t.addClass([i],"e-selection"));var l={data:n,element:i,cancel:!1};e.parent.trigger("cardRendered",l,function(e){e.cancel||c.appendChild(i)})}(u[h]);else c.appendChild(e.renderEmptyCard())}}(c[d]);0===s&&(i.push(r),a.length>0&&i.push(a[o]))}),this.parent.swimlaneSettings.showEmptyRow||0!==this.parent.kanbanData.length||this.parent.showEmptyColumn||i.forEach(function(e){return t.remove(e)})},n.prototype.renderCard=function(e){var n=t.createElement("div",{className:"e-card",attrs:{"data-id":e[this.parent.cardSettings.headerField],"data-key":e[this.parent.keyField],"aria-selected":"false",tabindex:"-1",role:"option","aria-roledescription":"Card"}});if("auto"!==this.parent.cardHeight&&(n.style.height=t.formatUnit(this.parent.cardHeight)),this.parent.cardSettings.template){t.addClass([n],"e-template");var r=this.parent.element.id+"_cardTemplate",a=this.parent.templateParser(this.parent.cardSettings.template)(e,this.parent,"cardTemplate",r,!1);t.append(a,n)}else{var i=this.parent.enableTooltip?" e-tooltip-text":"";if(this.parent.cardSettings.showHeader){var l=t.createElement("div",{className:"e-card-header"}),o=t.createElement("div",{className:"e-card-header-caption"}),s=t.createElement("div",{className:"e-card-header-title"+i,innerHTML:e[this.parent.cardSettings.headerField]||""});l.appendChild(o),o.appendChild(s),n.appendChild(l)}var d=t.createElement("div",{className:"e-card-content"+i,innerHTML:e[this.parent.cardSettings.contentField]||""});if(n.appendChild(d),this.parent.cardSettings.tagsField&&e[this.parent.cardSettings.tagsField]){for(var c=t.createElement("div",{className:"e-card-tags"}),p=0,h=e[this.parent.cardSettings.tagsField].toString().split(",");p<h.length;p++){var u=h[p];c.appendChild(t.createElement("div",{className:"e-card-tag e-card-label",innerHTML:u}))}n.appendChild(c)}if(this.parent.cardSettings.grabberField&&e[this.parent.cardSettings.grabberField]&&(t.addClass([n],"e-card-color"),n.style.borderLeftColor=e[this.parent.cardSettings.grabberField]),this.parent.cardSettings.footerCssField){for(var g=t.createElement("div",{className:"e-card-footer"}),m=0,f=e[this.parent.cardSettings.footerCssField].split(",");m<f.length;m++){var y=f[m];g.appendChild(t.createElement("div",{className:y.trim()+" e-card-footer-css"}))}n.appendChild(g)}}return n},n.prototype.renderEmptyCard=function(){return t.createElement("span",{className:"e-empty-card",innerHTML:this.parent.localeObj.getConstant("noCard"),attrs:{"aria-label":this.parent.localeObj.getConstant("noCard"),role:"option"}})},n.prototype.renderColGroup=function(e){var n=this,r=t.createElement("colgroup");this.parent.columns.forEach(function(e){if(n.isColumnVisible(e)){var a=n.parent.actionModule.columnToggleArray.indexOf(e.keyField.toString()),i=e.allowToggle&&!e.isExpanded,l=-1===a?i?"e-collapsed":"":"e-collapsed",o=t.createElement("col",{className:l,attrs:{"data-key":e.keyField.toString()}});if(n.parent.isAdaptive){var s=i?t.formatUnit(50):t.formatUnit(n.getWidth());o.style.width=s}r.appendChild(o)}}),e.appendChild(r)},n.prototype.getRows=function(){var e=this,n=[];return this.parent.swimlaneSettings.keyField?(this.parent.kanbanData.map(function(r){if(e.parent.swimlaneSettings.showEmptyRow||!(t.isNullOrUndefined(r[e.parent.keyField])||""===r[e.parent.keyField]||r[e.parent.keyField]&&-1===e.columnKeys.indexOf(r[e.parent.keyField].toString()))){var a=r[e.parent.swimlaneSettings.textField]||r[e.parent.swimlaneSettings.keyField],i=r[e.parent.swimlaneSettings.keyField];if(!r[e.parent.swimlaneSettings.keyField]){if(!e.parent.swimlaneSettings.showUnassignedRow)return;a=e.parent.localeObj.getConstant("unassigned"),i=""}n.push({keyField:i,textField:a})}}),n=n.filter(function(e,t,n){return t===n.map(function(e){return e.keyField}).indexOf(e.keyField)}),(n=this.swimlaneSorting(n)).forEach(function(t){t.count=e.parent.kanbanData.filter(function(n){return e.columnKeys.indexOf(n[e.parent.keyField])>-1&&n[e.parent.swimlaneSettings.keyField]===t.keyField}).length}),0===n.length&&n.push({keyField:"",textField:""})):n.push({keyField:"",textField:""}),n},n.prototype.swimlaneSorting=function(e){return this.parent.swimlaneSettings.sortComparer?e=this.parent.swimlaneSettings.sortComparer.call(this.parent,e):(e.sort(function(e,t){return e.textField.localeCompare(t.textField,void 0,{numeric:!0})}),"Descending"===this.parent.swimlaneSettings.sortDirection&&e.reverse()),e},n.prototype.createStackedRow=function(e){var n=t.createElement("tr",{className:"e-header-row e-stacked-header-row"}),r=[];this.parent.columns.forEach(function(t){for(var n="",a=0,i=e;a<i.length;a++){var l=i[a];-1!==l.keyFields.indexOf(t.keyField.toString())&&(n=l.text)}r.push(n)});for(var a=0;a<r.length;a++){for(var i=1,l=a+1;l<r.length&&(""!==r[a]&&""!==r[l]&&r[a]===r[l]);l++)i++;var o=t.createElement("div",{className:"e-header-text",innerHTML:r[a]}),s=t.createElement("th",{className:"e-header-cells e-stacked-header-cell",attrs:{colspan:i.toString(),scope:"col"}});n.appendChild(s).appendChild(o),a+=i-1}return n},n.prototype.scrollUiUpdate=function(){var e=this,n=this.parent.element.querySelector("."+F),r=this.parent.element.querySelector("."+M),a=this.parent.element.offsetHeight-n.offsetHeight;if(this.parent.isAdaptive){a=window.innerHeight-(n.offsetHeight+25);var i=this.parent.element.querySelector(".e-swimlane-header");i&&(a-=i.offsetHeight),[].slice.call(this.parent.element.querySelectorAll(".e-content-cells")).forEach(function(n){var r=n.querySelector(".e-card-wrapper");r.classList.contains("e-multi-card-wrapper")||(r.style.height=t.formatUnit(a),t.EventHandler.add(n,"touchmove",e.onAdaptiveScroll,e))})}"auto"!==this.parent.height&&"100%"!==this.parent.height&&(r.style.height=t.formatUnit(a)),[].slice.call(n.children).forEach(function(n){var a=0,i=r.offsetWidth-r.clientWidth;i>0&&(a=i,r.offsetHeight-r.clientHeight>0&&(n.style.width=t.formatUnit(r.clientWidth))),e.parent.enableRtl?n.style.paddingLeft=t.formatUnit(a):n.style.paddingRight=t.formatUnit(a)}),this.updateScrollPosition()},n.prototype.onContentScroll=function(e){var n=e.target,r=this.parent.element.querySelector("."+F);[].slice.call(r.children).forEach(function(e){e.scrollLeft=n.scrollLeft}),this.parent.scrollPosition.content={left:n.scrollLeft,top:n.scrollTop},!t.isNullOrUndefined(this.parent.swimlaneSettings.keyField)&&this.parent.swimlaneSettings.enableFrozenRows&&this.frozenRows(e)},n.prototype.addFrozenSwimlaneDataKey=function(e){var n=e.getAttribute("data-key");t.isNullOrUndefined(n)||this.frozenSwimlaneRow.setAttribute("data-key",n)},n.prototype.frozenRows=function(e){var n=this.parent.element.querySelector(".e-swimlane-row"),r=this.parent.element.querySelector("."+F),a=this.parent.element.querySelector("."+M);if(t.isNullOrUndefined(this.frozenSwimlaneRow)){this.frozenSwimlaneRow=t.createElement("div",{className:"e-frozen-swimlane-row"});var i=t.createElement("div",{className:"e-frozen-row"});this.frozenSwimlaneRow.appendChild(i),this.parent.element.insertBefore(this.frozenSwimlaneRow,this.parent.element.firstElementChild),i.appendChild(n.querySelector(".e-swimlane-header").cloneNode(!0)),this.addFrozenSwimlaneDataKey(n),t.setStyleAttribute(this.frozenSwimlaneRow,{height:t.formatUnit(n.getBoundingClientRect().height),width:t.formatUnit(a.querySelector(".e-swimlane").getBoundingClientRect().width),top:t.formatUnit(r.getBoundingClientRect().height.toString())}),t.setStyleAttribute(r,{position:"relative",top:t.formatUnit(-this.frozenSwimlaneRow.getBoundingClientRect().height)}),t.setStyleAttribute(a,{position:"relative",top:t.formatUnit(-this.frozenSwimlaneRow.getBoundingClientRect().height)})}else{var l=[].slice.call(this.parent.element.querySelectorAll(".e-swimlane-row")),o=l[this.frozenOrder],s=l[this.frozenOrder-1],d=l[this.frozenOrder+1],c=void 0,p=void 0,h=void 0;o&&(c=o.getBoundingClientRect().top+o.getBoundingClientRect().height),s&&(p=s.getBoundingClientRect().top+s.getBoundingClientRect().height),d&&(h=d.getBoundingClientRect().top+d.getBoundingClientRect().height);var u=a.getBoundingClientRect().top+this.frozenSwimlaneRow.getBoundingClientRect().height,g=this.frozenSwimlaneRow.querySelector(".e-frozen-row");h&&u>=h&&this.frozenOrder<l.length-1?(g&&(t.remove(g.querySelector(".e-swimlane-header")),g.appendChild(d.querySelector(".e-swimlane-header").cloneNode(!0)),this.addFrozenSwimlaneDataKey(d)),++this.frozenOrder):p&&u<c&&u>p&&this.frozenOrder>0&&(g&&(t.remove(g.querySelector(".e-swimlane-header")),g.appendChild(s.querySelector(".e-swimlane-header").cloneNode(!0)),this.addFrozenSwimlaneDataKey(s)),--this.frozenOrder)}e&&0===e.target.scrollTop&&this.removeFrozenRows()},n.prototype.removeFrozenRows=function(){t.remove(this.frozenSwimlaneRow),this.frozenSwimlaneRow=null;var e=this.parent.element.querySelector("."+F),n=this.parent.element.querySelector("."+M);t.setStyleAttribute(e,{position:"",top:""}),t.setStyleAttribute(n,{position:"",top:""}),this.parent.scrollPosition.content={left:this.parent.scrollPosition.content.left,top:0},n.scrollTop=0,this.frozenOrder=0},n.prototype.onColumnScroll=function(e){var t=e.target;if(t.offsetParent){var n=t.offsetParent.getAttribute("data-key");this.parent.scrollPosition.column[""+n]={left:t.scrollLeft,top:t.scrollTop}}},n.prototype.onAdaptiveScroll=function(e){this.parent.touchModule.tabHold&&!this.parent.touchModule.mobilePopup&&e.preventDefault()},n.prototype.isColumnVisible=function(e){var t=this,n=!1;return"number"==typeof e.keyField?n=-1===this.parent.actionModule.hideColumnKeys.indexOf(e.keyField.toString()):e.keyField.split(",").forEach(function(e){n=-1===t.parent.actionModule.hideColumnKeys.indexOf(e)}),n},n.prototype.renderLimits=function(e,n){var r=t.createElement("div",{className:"e-limits"});e.minCount&&r.appendChild(t.createElement("div",{className:"e-min-count",innerHTML:this.parent.localeObj.getConstant("min")+": "+e.minCount.toString()})),e.maxCount&&r.appendChild(t.createElement("div",{className:"e-max-count",innerHTML:this.parent.localeObj.getConstant("max")+": "+e.maxCount.toString()})),r.childElementCount>0&&(n.querySelector(".e-card-wrapper")?n.insertBefore(r,n.firstElementChild):n.appendChild(r))},n.prototype.renderValidation=function(){var e=this;this.parent.columns.forEach(function(n){if(n.minCount||n.maxCount){var r=e.columnData[n.keyField],a='[data-key="'+n.keyField+'"]',i=e.parent.element.querySelector(".e-header-cells"+a),l=[].slice.call(e.parent.element.querySelectorAll(".e-content-cells"+a));if("Swimlane"===e.parent.constraintType&&e.parent.swimlaneSettings.keyField)e.swimlaneRow.forEach(function(a,i){e.renderLimits(n,l[i]);var o=r.filter(function(t){return t[e.parent.swimlaneSettings.keyField]===a.keyField}),s=e.getValidationClass(n,o.length);s&&t.addClass([l[i]],s)});else{e.renderLimits(n,i);var o=e.getValidationClass(n,r.length);o&&t.addClass(l.concat(i),o)}}})},n.prototype.getValidationClass=function(e,t){var n;return e.maxCount&&t>e.maxCount?n="e-max-color":e.minCount&&t<e.minCount&&(n="e-min-color"),n},n.prototype.refreshValidation=function(){[].slice.call(this.parent.element.querySelectorAll(".e-limits")).forEach(function(e){t.remove(e)});var e=[].slice.call(this.parent.element.querySelectorAll(".e-min-color"));t.removeClass(e,"e-min-color");var n=[].slice.call(this.parent.element.querySelectorAll(".e-max-color"));t.removeClass(n,"e-max-color"),this.renderValidation()},n.prototype.getColumnData=function(e,t){var n=this;void 0===t&&(t=this.parent.kanbanData);var r=[];if("number"==typeof e){var a=t.filter(function(t){return t[n.parent.keyField]===e});r=r.concat(a)}else for(var i=0,l=e.split(",");i<l.length;i++)!function(e){var a=t.filter(function(t){return t[n.parent.keyField]===e.trim()});r=r.concat(a)}(l[i]);return this.sortCategory(r),r},n.prototype.sortCategory=function(e){var t=this.parent.cardSettings.headerField,n=this.parent.sortSettings.direction;switch(this.parent.sortSettings.sortBy){case"DataSourceOrder":this.sortOrder(t,n,e);break;case"Custom":case"Index":this.parent.sortSettings.field&&(t=this.parent.sortSettings.field),this.sortOrder(t,n,e)}return e},n.prototype.sortOrder=function(e,t,n){var r=!0;if(this.parent.kanbanData.length>0&&(r="number"==typeof this.parent.kanbanData[0][""+e]),!r&&"Index"===this.parent.sortSettings.sortBy)return n;var a,i;return n=n.sort(function(t,n){return r?(a=t[""+e],i=n[""+e]):(a=t[""+e]?t[""+e].toLowerCase():"",i=n[""+e]?n[""+e].toLowerCase():""),a>i?1:i>a?-1:0}),"Descending"===t&&n.reverse(),n},n.prototype.documentClick=function(e){if(e.target.classList.contains("e-swimlane-overlay")&&this.parent.element.querySelector(".e-swimlane-resource").classList.contains("e-popup-open")&&(this.treePopup.hide(),t.removeClass([this.popupOverlay],"e-enable")),!t.closest(e.target,".e-kanban")){var n=[].slice.call(this.parent.element.querySelectorAll(".e-card.e-selection"));t.removeClass(n,"e-selection"),this.disableAttributeSelection(n)}},n.prototype.disableAttributeSelection=function(e){e instanceof Element?e.setAttribute("aria-selected","false"):e.forEach(function(e){e.setAttribute("aria-selected","false")})},n.prototype.getColumnCards=function(e){var t=this,n={};return this.columnKeys=[],this.parent.columns.forEach(function(r){var a="number"==typeof r.keyField;t.columnKeys=a?t.columnKeys.concat(r.keyField.toString()):t.columnKeys.concat(r.keyField.split(",").map(function(e){return e.trim()}));var i=t.getColumnData(r.keyField,e);n[r.keyField]=i}),n},n.prototype.getSwimlaneCards=function(){var e=this,n={};return this.parent.swimlaneSettings.keyField&&this.kanbanRows.forEach(function(r){return n[r.keyField]=e.parent.kanbanData.filter(function(n){return!t.isNullOrUndefined(n[e.parent.keyField])&&e.columnKeys.indexOf(n[e.parent.keyField].toString())>-1&&(!n[e.parent.swimlaneSettings.keyField]&&e.parent.swimlaneSettings.showUnassignedRow?"":n[e.parent.swimlaneSettings.keyField])===r.keyField})}),n},n.prototype.refreshHeaders=function(){var e=this.parent.element.querySelector("."+F);[].slice.call(e.children).forEach(function(e){return t.remove(e)}),this.renderHeader(e)},n.prototype.refreshCards=function(){this.parent.resetTemplates(["cardTemplate"]),[].slice.call(this.parent.element.querySelectorAll(".e-card-wrapper")).forEach(function(e){return t.remove(e)}),this.renderCards(),this.wireDragEvent(),this.parent.renderTemplates()},n.prototype.refresh=function(){var e=this,n=!1;this.parent.columns.forEach(function(r){if(r.showItemCount){r&&r.template&&!n&&!t.Browser.isDevice&&(e.refreshHeaders(),n=!0);var a='.e-header-cells[data-key="'+r.keyField+'"] .e-item-count',i=e.parent.element.querySelector(a);if(i){var l=0;if("number"==typeof r.keyField)l=[].slice.call(e.parent.element.querySelectorAll('.e-card[data-key="'+r.keyField+'"]')).length;else for(var o=0,s=r.keyField.split(",");o<s.length;o++){var d=s[o];l=[].slice.call(e.parent.element.querySelectorAll('.e-card[data-key="'+d.trim()+'"]')).length+l}i.innerHTML="- "+l+" "+e.parent.localeObj.getConstant("items")}}}),this.parent.swimlaneSettings.keyField&&[].slice.call(this.parent.element.querySelectorAll(".e-swimlane-row")).forEach(function(t){var n=t.getAttribute("data-key"),r=t.querySelector(".e-item-count");if(r&&n){var a=[].slice.call(t.nextElementSibling.querySelectorAll(".e-card"));r.innerHTML="- "+a.length+" "+e.parent.localeObj.getConstant("items")}}),this.refreshValidation()},n.prototype.updateScrollPosition=function(){var e=this,n=this.parent.element.querySelector("."+M);n&&(t.Browser.isIE?(n.scrollTop=this.parent.scrollPosition.content.top,n.scrollLeft=this.parent.scrollPosition.content.left):n.scrollTo(this.parent.scrollPosition.content.left,this.parent.scrollPosition.content.top)),[].slice.call(this.parent.element.querySelectorAll(".e-card-wrapper")).forEach(function(n){if(n.offsetParent){var r=e.parent.scrollPosition.column[n.offsetParent.getAttribute("data-key")];r&&(t.Browser.isIE?(n.scrollTop=r.top,n.scrollLeft=r.left):n.scrollTo(r.left,r.top))}})},n.prototype.renderCardBasedOnIndex=function(e,n){var r=this,a=e[this.parent.keyField],i=this.parent.element.querySelector(".e-content-row:not(.e-swimlane-row)");if(this.parent.swimlaneSettings.keyField&&!this.parent.isAdaptive){var l='.e-content-row.e-swimlane-row[data-key="'+e[this.parent.swimlaneSettings.keyField]+'"]';if(this.parent.element.querySelector(l))i=this.parent.element.querySelector(l).nextElementSibling;else{if(-1!==this.columnKeys.indexOf(a)&&-1===this.parent.actionModule.hideColumnKeys.indexOf(a)){var o=this.kanbanRows.findIndex(function(t){return t.keyField===e[r.parent.swimlaneSettings.keyField]}),s=[].slice.call(this.parent.element.querySelectorAll(".e-swimlane-row")),d=this.parent.element.querySelector(".e-content-table tbody");s[o]&&(d=s[o]),this.renderSwimlaneRow(d,this.kanbanRows[o],!1),this.renderSingleContent(d,this.kanbanRows[o],!1)}t.isNullOrUndefined(this.parent.element.querySelector(l))||(i=this.parent.element.querySelector(l).nextElementSibling),[].slice.call(i.children).forEach(function(e){var n=t.createElement("div",{className:"e-card-wrapper"});e.appendChild(n),n.appendChild(r.renderEmptyCard())})}}if("Index"!==this.parent.sortSettings.sortBy){var c=this.parent.cardSettings.headerField;if("Custom"===this.parent.sortSettings.sortBy&&(c=this.parent.sortSettings.field),t.isNullOrUndefined(this.parent.swimlaneSettings.keyField))n=this.getColumnData(a,this.parent.kanbanData).findIndex(function(t){return t[""+c]===e[""+c]});else{var p=this.parent.getSwimlaneData(e[this.parent.swimlaneSettings.keyField]);n=this.getColumnData(a,p).findIndex(function(t){return t[""+c]===e[""+c]})}}else"Index"===this.parent.sortSettings.sortBy&&this.parent.sortSettings.field&&"Ascending"===this.parent.sortSettings.direction&&(n=e[this.parent.sortSettings.field]-1);if(i){var h=[].slice.call(i.children).filter(function(e){return-1!==e.getAttribute("data-key").replace(/\s/g,"").split(",").indexOf(a.toString().replace(/\s/g,""))})[0];if(!t.isNullOrUndefined(h)){var u=h.querySelector(".e-card-wrapper"),g=u.querySelector(".e-empty-card");g&&t.remove(g);var m=this.renderCard(e);this.parent.allowDragAndDrop&&h.classList.contains("e-drag")&&(this.parent.dragAndDropModule.wireDragEvents(m),t.addClass([m],"e-droppable"));var f={data:e,element:m,cancel:!1};this.parent.trigger("cardRendered",f,function(e){e.cancel||(t.isNullOrUndefined(n)||0===u.children.length?u.appendChild(m):u.insertBefore(m,u.childNodes[n]))})}}},n.prototype.removeCard=function(e){var n=e[this.parent.cardSettings.headerField],r=this.parent.element.querySelector('.e-card[data-id="'+n+'"]');if(r){this.isSelectedCard=!!r.classList.contains("e-selection");var a=r.parentElement;t.remove(r),0===a.querySelectorAll(".e-card:not(.e-cloned-card)").length&&a.appendChild(this.renderEmptyCard())}},n.prototype.wireEvents=function(){var e=this;t.EventHandler.add(this.parent.element,"click",this.parent.actionModule.clickHandler,this.parent.actionModule),t.EventHandler.add(this.parent.element,"dblclick",this.parent.actionModule.doubleClickHandler,this.parent.actionModule),t.EventHandler.add(document,t.Browser.touchStartEvent,this.documentClick,this);var n=this.parent.element.querySelector("."+M);t.EventHandler.add(n,"scroll",this.onContentScroll,this),[].slice.call(this.parent.element.querySelectorAll(".e-card-wrapper")).forEach(function(n){e.parent.isInitialRender&&n.offsetParent&&(e.parent.scrollPosition.column[n.offsetParent.getAttribute("data-key")]={left:0,top:0}),t.EventHandler.add(n,"scroll",e.onColumnScroll,e)}),this.parent.isAdaptive&&(this.parent.touchModule.wireTouchEvents(),n.scrollLeft=this.scrollLeft),this.wireDragEvent()},n.prototype.unWireEvents=function(){var e=this;t.EventHandler.remove(this.parent.element,"click",this.parent.actionModule.clickHandler),t.EventHandler.remove(this.parent.element,"dblclick",this.parent.actionModule.doubleClickHandler),t.EventHandler.remove(document,t.Browser.touchStartEvent,this.documentClick);var n=this.parent.element.querySelector("."+M);n&&(t.EventHandler.remove(n,"scroll",this.onContentScroll),this.parent.allowDragAndDrop&&this.unWireDragEvent());var r=[].slice.call(this.parent.element.querySelectorAll(".e-card-wrapper"));r.length>0&&r.forEach(function(n){t.EventHandler.remove(n,"scroll",e.onColumnScroll)}),this.parent.isAdaptive&&this.parent.touchModule.unWireTouchEvents()},n.prototype.wireDragEvent=function(){var e=this;if(this.parent.allowDragAndDrop){var n=[].slice.call(this.parent.element.querySelectorAll(".e-content-cells.e-drag .e-card"));t.addClass(n,"e-droppable"),n.forEach(function(t){return e.parent.dragAndDropModule.wireDragEvents(t)})}},n.prototype.unWireDragEvent=function(){var e=this,n=[].slice.call(this.parent.element.querySelectorAll(".e-content-cells.e-drag .e-card"));t.removeClass(n,"e-droppable"),n.forEach(function(t){return e.parent.dragAndDropModule.unWireDragEvents(t)})},n.prototype.destroy=function(){this.parent.resetTemplates(),this.parent.off(d,this.initRender),this.parent.off(s,this.scrollUiUpdate),this.unWireEvents();var e=this.parent.element.querySelector("."+F);e&&t.remove(e);var n=this.parent.element.querySelector("."+M);n&&t.remove(n),this.treeViewObj&&(this.treeViewObj.destroy(),this.treeViewObj=null),this.treePopup&&(this.treePopup.destroy(),this.treePopup=null);var r=this.parent.element.querySelector(".e-swimlane-header");r&&t.remove(r);var a=this.parent.element.querySelector(".e-swimlane-content");a&&t.remove(a);var i=this.parent.element.querySelector(".e-frozen-swimlane-row");i&&(t.remove(i),this.frozenSwimlaneRow=null)},n}(B),V=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),_=function(e){function n(t){var n=e.call(this,t)||this;return n.parent=t,n.kanbanRows=[],n.scrollStatus={},n.offsets={},n.tempOffsets={},n.offsetKeys=[],n.columnKeys=[],n.scrollLeft=0,n.frozenOrder=0,n.winResize=n.windowResize.bind(n),n.parent.enableVirtualization&&(n.parent.on(d,n.initRender,n),n.parent.on(s,n.scrollUiUpdate,n)),n}return V(n,e),n.prototype.initRender=function(){if(this.isSwimlane=!t.isNullOrUndefined(this.parent.swimlaneSettings.keyField)&&this.parent.swimlaneSettings.keyField.trim().length>1,this.query=this.parent.query instanceof r.Query?this.parent.query:new r.Query,0!==this.parent.columns.length){if(this.cardHeight=this.cardHeightCalculate(),this.columnData=this.getColumnCards(),this.kanbanRows=this.getRows(),this.parent.isAdaptive){var e=this.parent.element.querySelector("."+M);e&&(this.scrollLeft=e.scrollLeft)}this.destroy(),this.parent.on(d,this.initRender,this),this.parent.on(s,this.scrollUiUpdate,this);var n=t.createElement("div",{className:F});this.parent.element.appendChild(n),this.renderHeader(n),this.isSwimlane||(this.renderContent(),this.renderCards()),this.renderValidation(),this.parent.renderTemplates(),this.parent.notify(s,{}),this.wireEvents(),this.parent.isInitialRender&&(this.parent.isInitialRender=!1)}},n.prototype.cardHeightCalculate=function(){return"auto"===this.parent.cardHeight?108:parseInt(t.formatUnit(this.parent.cardHeight).split("px")[0],10)+8},n.prototype.renderHeader=function(e){var n=t.createElement("div",{className:this.parent.swimlaneSettings.keyField?"e-swimlane":""});e.appendChild(n);var r=t.createElement("table",{className:"e-kanban-table e-header-table",attrs:{role:"presentation"}});n.appendChild(r),this.renderColGroup(r);var a=t.createElement("thead");r.appendChild(a),this.parent.stackedHeaders.length>0&&a.appendChild(this.createStackedRow(this.parent.stackedHeaders));var i=t.createElement("tr",{className:"e-header-row"});a.appendChild(i);for(var l=this,o=0,s=this.parent.columns;o<s.length;o++)!function(e){if(l.isColumnVisible(e)){var n=l.parent.actionModule.columnToggleArray.indexOf(e.keyField.toString()),r=t.createElement("th",{className:-1===n?"e-header-cells":"e-header-cells e-collapsed",attrs:{"data-role":"kanban-column","data-key":e.keyField.toString()}}),a=[];e.allowToggle&&(a.push("e-toggle-header"),e.isExpanded||a.push("e-collapsed")),t.addClass([r],a);var o=t.createElement("div",{className:"e-header-wrap"});r.appendChild(o);var s=l.parent.dataModule.isRemote()?l.parent.columnDataCount[e.keyField]:l.columnData[e.keyField].length,d=t.createElement("div",{className:"e-header-title"});if(o.appendChild(d),e.template){var c={keyField:e.keyField,headerText:e.headerText,minCount:e.minCount,maxCount:e.maxCount,allowToggle:e.allowToggle,isExpanded:e.isExpanded,showItemCount:e.showItemCount,count:s};t.addClass([r],"e-template");var p=l.parent.element.id+"_columnTemplate",h=l.parent.templateParser(e.template)(c,l.parent,"columnTemplate",p,!1);t.append(h,d)}else{var u=t.createElement("div",{className:"e-header-text",innerHTML:e.headerText});if(d.appendChild(u),e.showItemCount){var g=t.createElement("div",{className:"e-item-count",innerHTML:"- "+s.toString()+" "+l.parent.localeObj.getConstant("items")});d.appendChild(g)}}if(e.allowToggle){var m=!(!e.isExpanded||-1!==n),f=m?"e-column-expand":"e-column-collapse",y=t.createElement("div",{className:"e-header-icon e-icons "+f,attrs:{tabindex:"0"}});y.setAttribute("aria-label",m?e.keyField+" Expand":e.keyField+" Collapse"),r.setAttribute("aria-expanded",m.toString()),o.appendChild(y)}var v={data:[{keyField:e.keyField,textField:e.headerText,count:s}],element:i,cancel:!1,requestType:"headerRow"};l.parent.trigger("queryCellInfo",v,function(e){e.cancel||i.appendChild(r)})}}(s[o])},n.prototype.renderContent=function(){var e=t.createElement("div",{className:M});this.parent.element.appendChild(e);var n=t.createElement("div",{className:this.parent.swimlaneSettings.keyField?"e-swimlane":""});e.appendChild(n);var r=t.createElement("table",{className:"e-kanban-table e-content-table",attrs:{role:"presentation"}});n.appendChild(r),this.renderColGroup(r);var a=t.createElement("tbody");r.appendChild(a);for(var i=!1,l=0,o=this.kanbanRows;l<o.length;l++){var s=o[l];this.parent.swimlaneSettings.keyField&&0!==this.parent.swimlaneToggleArray.length&&(i=-1!==this.parent.swimlaneToggleArray.indexOf(s.keyField)),this.renderSingleContent(a,s,i)}},n.prototype.renderSingleContent=function(e,n,r){for(var a=r?"e-content-row e-collapsed":"e-content-row",i=t.createElement("tr",{className:a,attrs:{"aria-expanded":"true"}}),l=0,o=this.parent.columns;l<o.length;l++){var s=o[l];if(this.isColumnVisible(s)){var d=this.parent.actionModule.columnToggleArray.indexOf(s.keyField.toString()),c=-1===d?"e-content-cells":"e-content-cells e-collapsed",p=(s.allowDrag?" e-drag":"")+(s.allowDrop?" e-drop e-droppable":""),h=t.createElement("td",{className:c+p,attrs:{"data-role":"kanban-column","data-key":s.keyField.toString(),"aria-expanded":"true",tabindex:"0",role:"navigation"}});if(s.allowToggle&&!s.isExpanded||-1!==d){t.addClass([h],"e-collapsed");var u=(s.showItemCount?"["+(this.parent.dataModule.isRemote()?this.parent.columnDataCount[s.keyField]:this.getColumnData(s.keyField).length)+"] ":"")+s.headerText;h.appendChild(t.createElement("div",{className:"e-collapse-header-text",innerHTML:u})),h.setAttribute("aria-expanded","false")}if(s.showAddButton){var g=t.createElement("div",{className:j,attrs:{tabindex:"-1"}});g.appendChild(t.createElement("div",{className:"e-show-add-icon e-icons"})),h.appendChild(g)}if(i.appendChild(h),this.parent.enableVirtualization){var m=this.parent.element.querySelector(".e-kanban-header").getBoundingClientRect().height;if("auto"===this.parent.height)h.style.height=window.innerHeight-(m+this.parent.element.getBoundingClientRect().top+15)+"px";else if("string"==typeof this.parent.height&&this.parent.height.endsWith("%")&&this.parent.element.parentElement&&(""!==this.parent.element.parentElement.style.height||""!==this.parent.element.parentElement.style.minHeight)){var f=this.parent.element.parentElement.clientHeight*(parseFloat(this.parent.height)/100);h.style.height=f-(m+15)+"px"}else h.style.height=parseInt(t.formatUnit(this.parent.height).split("px")[0],10)-(m+15)+"px"}}}var y={data:[{keyField:n.keyField,textField:n.textField,count:n.count}],element:i,cancel:!1,requestType:"contentRow"};this.parent.trigger("queryCellInfo",y,function(t){t.cancel||(e.classList.contains("e-swimlane-row")?e.insertAdjacentElement("beforebegin",i):e.appendChild(i))})},n.prototype.windowResize=function(){for(var e=this.parent.element.querySelectorAll(".e-content-cells"),n=this.parent.element.querySelector(".e-kanban-header").getBoundingClientRect().height,r=0;r<e.length;r++)"auto"===this.parent.height?e[r].style.height=window.innerHeight-(n+this.parent.element.getBoundingClientRect().top+15)+"px":e[r].style.height=parseInt(t.formatUnit(this.parent.height).split("px")[0],10)-(n+15)+"px"},n.prototype.refreshColumnData=function(e,n,r,a){var i=this,l=[].slice.call(this.parent.element.querySelectorAll(".e-content-row:not(.e-swimlane-row)")),o=("cardChanged"===r||"cardCreated"===r||"cardRemoved"===r)&&!t.isNullOrUndefined(a);l.forEach(function(t){for(var r=0,a=i.parent.columns;r<a.length;r++)!function(r){if(i.isColumnVisible(r)&&(r.keyField===e||r.keyField===n)||o){var a=0,l=[],s=i.getColumnCards()[r.keyField],d=i.parent.dataModule.isRemote()?i.parent.columnDataCount[r.keyField]:s.length,c=i.cardHeight*d;l=Array.apply(null,Array(d)).map(function(){return++a});var p=t.querySelector('[data-key="'+r.keyField+'"]'),h=Math.ceil(parseInt(p.style.height.split("px")[0],10)/i.cardHeight);i.offsets[1]=h*i.cardHeight;for(var u=1;u<l.length;u++)i.offsets[l[u]]=i.offsets[l[u-1]]+h*i.cardHeight,i.tempOffsets[l[u]]=0|i.offsets[l[u]-1];var g=p.querySelector(".e-card-wrapper"),m=d%2==0?d-2:d-1,f=i.getInfoFromView(i.scrollStatus[r.keyField]),y=i.getTranslateY(f),v=g.querySelector(".e-card-virtual-wrapper");v.style.maxHeight=d*i.cardHeight+"px",i.setPadding(y,v,d),i.currentStatus={column:r.keyField,columnOverAllHeight:c,columnHeight:parseInt(p.style.height.split("px")[0],10),previousScrollTop:i.scrollStatus[r.keyField].currentScrollTop,currentScrollTop:g.scrollTop,scrollDirection:i.scrollStatus[r.keyField].scrollDirection,currentBlockIndex:i.scrollStatus[r.keyField].currentBlockIndex,oldBlockIndex:i.scrollStatus[r.keyField].oldBlockIndex,offsets:i.offsets,tempOffsets:i.tempOffsets,totalColumnData:d,singleIndexCardCount:h,maxBlock:m},i.scrollStatus[r.keyField]=i.currentStatus}}(a[r])})},n.prototype.renderCards=function(){var e=this,n=[].slice.call(this.parent.element.querySelectorAll(".e-content-row:not(.e-swimlane-row)")),r=[].slice.call(this.parent.element.querySelectorAll(".e-content-row.e-swimlane-row")),a=[],i=!1;n.forEach(function(n,l){for(var o=0,s=0,d=e.parent.columns;s<d.length;s++)!function(r){if(e.isColumnVisible(r)){var a=0,l=[];e.offsets={},e.tempOffsets={};var s=e.columnData[r.keyField],d=e.parent.dataModule.isRemote()?e.parent.columnDataCount[r.keyField]:s.length;o+=d;var c=e.cardHeight*d+7,p=n.querySelector('[data-key="'+r.keyField+'"]'),h=Math.ceil(parseFloat(p.style.height.split("px")[0])/e.cardHeight),u=h>d?d:Math.floor(d/h);l=Array.apply(null,Array(d)).map(function(){return++a}),e.offsets[1]=h*e.cardHeight+7;for(v=1;v<l.length;v++)e.offsets[l[v]]=e.offsets[l[v-1]]+h*e.cardHeight,e.tempOffsets[l[v]]=0|e.offsets[l[v]-1];var g=t.createElement("div",{className:"e-card-wrapper",attrs:{role:"listbox"}}),m=t.createElement("div",{className:"e-card-virtual-wrapper",attrs:{role:"listbox"}});g.appendChild(m);var f=u%2==0?u:u+1;if(e.currentStatus={column:r.keyField,columnOverAllHeight:c,columnHeight:parseInt(p.style.height.split("px")[0],10),previousScrollTop:null,currentScrollTop:g.scrollTop,scrollDirection:null,currentBlockIndex:[1,2],oldBlockIndex:[1,2],offsets:e.offsets,tempOffsets:e.tempOffsets,totalColumnData:d,singleIndexCardCount:h,maxBlock:f},e.scrollStatus[r.keyField]=e.currentStatus,r.transitionColumns.length>0&&(i=!0),!i&&t.isNullOrUndefined(e.parent.swimlaneSettings.keyField)){var y=t.createElement("div",{className:T});p.appendChild(y)}if(p.appendChild(g),d>0){for(var v=0;v<2*h&&v<s.length;v++)!function(n){var r=s[n][e.parent.cardSettings.headerField],a=e.parent.actionModule.selectionArray.indexOf(r),i=e.renderCard(s[n]);-1!==a&&(i.setAttribute("aria-selected","true"),t.addClass([i],"e-selection"));var l={data:s[n],element:i,cancel:!1};e.parent.trigger("cardRendered",l,function(e){e.cancel||m.appendChild(i)})}(v);m.style.maxHeight=e.cardHeight*d+"px"}else m.appendChild(e.renderEmptyCard());e.setPadding(0,m,d)}}(d[s]);0===o&&(a.push(n),r.length>0&&a.push(r[l]))}),this.parent.swimlaneSettings.showEmptyRow||0!==this.parent.kanbanData.length||this.parent.showEmptyColumn||a.forEach(function(e){return t.remove(e)})},n.prototype.renderCard=function(e){var n=t.createElement("div",{className:"e-card",attrs:{"data-id":e[this.parent.cardSettings.headerField],"data-key":e[this.parent.keyField],"aria-selected":"false",tabindex:"-1",role:"option"}});if(n.style.height=this.cardHeight-8+"px",this.parent.cardSettings.template){t.addClass([n],"e-template");var r=this.parent.element.id+"_cardTemplate",a=this.parent.templateParser(this.parent.cardSettings.template)(e,this.parent,"cardTemplate",r,!1);t.append(a,n)}else{var i=this.parent.enableTooltip?" e-tooltip-text":"";if(this.parent.cardSettings.showHeader){var l=t.createElement("div",{className:"e-card-header"}),o=t.createElement("div",{className:"e-card-header-caption"}),s=t.createElement("div",{className:"e-card-header-title"+i,innerHTML:e[this.parent.cardSettings.headerField]||""});l.appendChild(o),o.appendChild(s),n.appendChild(l)}var d=t.createElement("div",{className:"e-card-content"+i,innerHTML:e[this.parent.cardSettings.contentField]||""});if(n.appendChild(d),this.parent.cardSettings.tagsField&&e[this.parent.cardSettings.tagsField]){for(var c=t.createElement("div",{className:"e-card-tags"}),p=0,h=e[this.parent.cardSettings.tagsField].toString().split(",");p<h.length;p++){var u=h[p];c.appendChild(t.createElement("div",{className:"e-card-tag e-card-label",innerHTML:u}))}n.appendChild(c)}if(this.parent.cardSettings.grabberField&&e[this.parent.cardSettings.grabberField]&&(t.addClass([n],"e-card-color"),n.style.borderLeftColor=e[this.parent.cardSettings.grabberField]),this.parent.cardSettings.footerCssField){for(var g=t.createElement("div",{className:"e-card-footer"}),m=0,f=e[this.parent.cardSettings.footerCssField].split(",");m<f.length;m++){var y=f[m];g.appendChild(t.createElement("div",{className:y.trim()+" e-card-footer-css"}))}n.appendChild(g)}}return n},n.prototype.renderEmptyCard=function(){return t.createElement("span",{className:"e-empty-card",innerHTML:this.parent.localeObj.getConstant("noCard")})},n.prototype.renderColGroup=function(e){var n=this,r=t.createElement("colgroup");this.parent.columns.forEach(function(e){if(n.isColumnVisible(e)){var a=n.parent.actionModule.columnToggleArray.indexOf(e.keyField.toString()),i=e.allowToggle&&!e.isExpanded,l=-1===a?i?"e-collapsed":"":"e-collapsed",o=t.createElement("col",{className:l,attrs:{"data-key":e.keyField.toString()},styles:n.parent.isAdaptive?"width: "+(i?t.formatUnit(50):t.formatUnit(n.getWidth())):""});r.appendChild(o)}}),e.appendChild(r)},n.prototype.getRows=function(){var e=[];return e.push({keyField:"",textField:""}),e},n.prototype.createStackedRow=function(e){var n=t.createElement("tr",{className:"e-header-row e-stacked-header-row"}),r=[];this.parent.columns.forEach(function(t){for(var n="",a=0,i=e;a<i.length;a++){var l=i[a];-1!==l.keyFields.indexOf(t.keyField.toString())&&(n=l.text)}r.push(n)});for(var a=0;a<r.length;a++){for(var i=1,l=a+1;l<r.length&&(""!==r[a]&&""!==r[l]&&r[a]===r[l]);l++)i++;var o=t.createElement("div",{className:"e-header-text",innerHTML:r[a]}),s=t.createElement("th",{className:"e-header-cells e-stacked-header-cell",attrs:{colspan:i.toString()}});n.appendChild(s).appendChild(o),a+=i-1}return n},n.prototype.scrollUiUpdate=function(){var e=this,n=this.parent.element.querySelector("."+F),r=this.parent.element.querySelector("."+M),a=this.parent.element.offsetHeight-n.offsetHeight;if(this.parent.isAdaptive){a=window.innerHeight-(n.offsetHeight+25);var i=this.parent.element.querySelector(".e-swimlane-header");i&&(a-=i.offsetHeight),[].slice.call(this.parent.element.querySelectorAll(".e-content-cells")).forEach(function(n){var r=n.querySelector(".e-card-wrapper");r.classList.contains("e-multi-card-wrapper")||(r.style.height=t.formatUnit(a),t.EventHandler.add(n,"touchmove",e.onAdaptiveScroll,e))})}"auto"!==this.parent.height&&"100%"!==this.parent.height&&(r.style.height=t.formatUnit(a)),[].slice.call(n.children).forEach(function(n){var a=0;r.offsetWidth-r.clientWidth>0&&(a=17,r.offsetHeight-r.clientHeight>0&&(n.style.width=t.formatUnit(r.clientWidth))),e.parent.enableRtl?n.style.paddingLeft=t.formatUnit(a):n.style.paddingRight=t.formatUnit(a)}),this.updateScrollPosition()},n.prototype.onContentScroll=function(e){var t=e.target,n=this.parent.element.querySelector("."+F);[].slice.call(n.children).forEach(function(e){e.scrollLeft=t.scrollLeft}),this.parent.scrollPosition.content={left:t.scrollLeft,top:t.scrollTop}},n.prototype.getOffset=function(e,t){return Math.min(0|t.offsets[e],0|t.offsets[t.maxBlock])},n.prototype.getTranslateY=function(e){var t=(e.newBlockIndex[0]||1)-1,n=this.getOffset(t,e),r=this.getOffset(e.newBlockIndex[e.newBlockIndex.length-1],e);return n>e.currentScrollTop?this.getOffset(t-1,e):r<e.currentScrollTop+e.columnHeight?this.getOffset(t+1,e):n},n.prototype.setPadding=function(e,t,n,r,a){r&&"down"===a?(t.style.paddingTop=e+"px",t.style.paddingBottom="0px"):(t.style.paddingTop=e+"px",t.style.paddingBottom=this.cardHeight*n-e+"px")},n.prototype.getData=function(e,t,n,a){var i=this.query.clone(),l=new r.Predicate(e,"equal",t,!0);return i.where(l),i.take(n),i.skip(a),i.addParams("KanbanVirtualScroll","KanbanVirtualScroll"),this.parent.dataSource&&"result"in this.parent.dataSource?this.eventPromise({requestType:""},i).promise:this.parent.dataModule.dataManager.executeQuery(i)},n.prototype.eventPromise=function(e,t){var n=this.getStateEventArgument(t),a=new r.Deferred;return n.updateData=a.resolve,n.action=e,a},n.prototype.getStateEventArgument=function(e){var n=new r.UrlAdaptor,a=new r.DataManager({url:"",adaptor:new r.UrlAdaptor}),i=n.processQuery(a,e),l=JSON.parse(i.data);return t.extend(l,i.pvtData)},n.prototype.dataManagerSuccess=function(e,n){var r,a=this;return n?r=t.extend([],t.isNullOrUndefined(e.result.result)?e.result:e.result.result,null,!0):this.parent.trigger("dataBinding",e,function(e){r=t.extend([],t.isNullOrUndefined(e.result.result)?e.result:e.result.result,null,!0),a.parent.trigger("dataBound",null,function(){return a.parent.hideSpinner()})}),r},n.prototype.dataManagerFailure=function(e){var t=this;this.parent.isDestroyed||this.parent.trigger("actionFailure",{error:e},function(){return t.parent.hideSpinner()})},n.prototype.onColScrollShowSkeleton=function(e){var t=e.target;if(!(this.parent.element.querySelectorAll(".e-card-skeleton-wrapper").length>0)){var n=t.parentElement.getAttribute("data-key"),r=this.scrollStatus[n].previousScrollTop,a=t.parentElement.clientHeight;(t.scrollTop-r>a||r-t.scrollTop>a)&&this.showSkeleton(t,this.scrollStatus[n].singleIndexCardCount)}},n.prototype.showSkeleton=function(e,n){var r=t.createElement("div",{className:"e-card-virtual-skeleton-wrapper",attrs:{role:"listbox"}});e.parentElement.insertBefore(r,e),r.style.position="absolute",r.style.zIndex="10";for(var a=0;a<n;a++){var i=t.createElement("div",{className:"e-card-skeleton-wrapper"}),l=t.createElement("span",{className:"e-skeleton e-skeleton-text e-shimmer-wave"});l.style.height=this.cardHeight+"px",t.isNullOrUndefined(e.querySelector(".e-card"))||(l.style.width=e.querySelector(".e-card").getBoundingClientRect().width+"px"),i.appendChild(l),r.appendChild(i)}},n.prototype.hideSkeleton=function(e){setTimeout(function(){for(var n=e.querySelectorAll(".e-card-virtual-skeleton-wrapper"),r=0;r<n.length;r++)t.detach(n[r])},50)},n.prototype.onColumnScroll=function(e){var n,r=this,a=e.target,i=a.scrollTop;if(a.offsetParent&&(n=a.offsetParent.getAttribute("data-key"),this.parent.scrollPosition.column[n]={left:a.scrollLeft,top:a.scrollTop}),this.parent.enableVirtualization){var l=a,o=0,s=this.getColumnCards()[n],d=this.parent.dataModule.isRemote()?this.parent.columnDataCount[n]:s.length;o+=d;var c=this.cardHeight*o,p=[],h=[];if(this.checkScrollDirection(n,i),"fast"===this.findScrollSpeed(a,n)&&i>c)return void this.hideSkeleton(l.parentElement);var u=this.scrollStatus[n].maxBlock,g=this.scrollStatus[n].currentBlockIndex.indexOf(u)>-1,m=e.timeStamp-this.scrollStatus[n].previousTimeStamps<300;if(g&&!t.isNullOrUndefined(this.scrollStatus[n].previousTimeStamps)&&m)return void this.hideSkeleton(l.parentElement);this.scrollStatus[n].previousTimeStamps=e.timeStamp;var f=this.getInfoFromView(this.scrollStatus[n]);p=f.currentBlockIndex.filter(function(e){return-1===f.newBlockIndex.indexOf(e)}),h=f.newBlockIndex.filter(function(e){return-1===f.currentBlockIndex.indexOf(e)});var y=i+a.clientHeight>=c,v=y?c-l.querySelector(".e-card-virtual-wrapper").childElementCount*this.cardHeight:this.getTranslateY(f),b=l.querySelector(".e-card-virtual-wrapper");if(p.length>0){var S=void 0,C=void 0;1===p[0]?(S=0,C=p.length*this.scrollStatus[n].singleIndexCardCount-1):C=(S=(p[0]-1)*this.scrollStatus[n].singleIndexCardCount)+p.length*this.scrollStatus[n].singleIndexCardCount,this.removeCardsOnScroll(b,"down"===this.scrollStatus[n].scrollDirection,S,C)}if(h.length>0)if(this.parent.dataModule.isRemote()){var w=(h[0]-1)*this.scrollStatus[n].singleIndexCardCount,E=[];this.getData(this.parent.keyField,n,this.scrollStatus[n].singleIndexCardCount*h.length,w).then(function(e){E=r.dataManagerSuccess(e),r.scrollCardInsert(n,b,a,i,l,"down"===r.scrollStatus[n].scrollDirection?0:E.length-1,!0,E,null)}).catch(function(e){return r.dataManagerFailure(e)})}else{var w="down"===this.scrollStatus[n].scrollDirection?(h[0]-1)*this.scrollStatus[n].singleIndexCardCount:(h[0]-1)*this.scrollStatus[n].singleIndexCardCount+this.scrollStatus[n].singleIndexCardCount*h.length-1,k="down"===this.scrollStatus[n].scrollDirection?w+this.scrollStatus[n].singleIndexCardCount*h.length:(h[0]-1)*this.scrollStatus[n].singleIndexCardCount;this.scrollCardInsert(n,b,a,i,l,w,!1,s,k)}this.scrollStatus[n].currentBlockIndex=this.scrollStatus[n].newBlockIndex,this.setPadding(v,b,d,y,this.scrollStatus[n].scrollDirection),f.currentBlockIndex=f.newBlockIndex,this.parent.renderTemplates(),this.hideSkeleton(l.parentElement)}},n.prototype.checkScrollDirection=function(e,t){this.scrollStatus[e].previousScrollTop=this.scrollStatus[e].currentScrollTop,this.scrollStatus[e].currentScrollTop=t,t>this.scrollStatus[e].previousScrollTop?this.scrollStatus[e].scrollDirection="down":this.scrollStatus[e].scrollDirection="up"},n.prototype.findScrollSpeed=function(e,t){return"down"===this.scrollStatus[t].scrollDirection&&e.scrollTop-this.scrollStatus[t].previousScrollTop>e.clientHeight?"fast":"up"===this.scrollStatus[t].scrollDirection&&this.scrollStatus[t].previousScrollTop-e.scrollTop>e.clientHeight?"fast":"slow"},n.prototype.removeCardsOnScroll=function(e,n,r,a){var i=e.parentElement.parentElement.getAttribute("data-key");if(!(this.scrollStatus[i].totalColumnData<=30))for(var l=r;l<a;l++){for(var o=n?e.firstChild:e.lastChild;!t.isNullOrUndefined(o)&&(o.classList.contains("e-kanban-dragged-card")||o.classList.contains("e-target-dragged-clone")||o.classList.contains("e-target-dropped-clone")||o.classList.contains("e-cloned-card"));)o=n?o.nextSibling:o.previousSibling;t.isNullOrUndefined(o)||t.detach(o)}},n.prototype.scrollCardInsert=function(e,n,r,a,i,l,o,s,d){var c=this,p=o?s.length:d,h=o?0:d;if(s.length>0){for(var u=this,g=l;"down"===this.scrollStatus[e].scrollDirection?g<p:g>=h;"down"===this.scrollStatus[e].scrollDirection?g++:g--)!function(r){if(!t.isNullOrUndefined(s[r])){var a=s[r][u.parent.cardSettings.headerField],i=u.parent.actionModule.selectionArray.indexOf(a),l=u.renderCard(s[r]);-1!==i&&(l.setAttribute("aria-selected","true"),t.addClass([l],"e-selection"));var o={data:s[r],element:l,cancel:!1};u.parent.trigger("cardRendered",o,function(r){r.cancel||("down"===c.scrollStatus[e].scrollDirection?n.appendChild(l):n.insertBefore(l,n.firstChild),c.parent.dragAndDropModule.wireDragEvents(l),t.addClass([l],"e-droppable"))})}}(g);r.scrollTop=a}else i.appendChild(this.renderEmptyCard())},n.prototype.ensureColumnNotEmpty=function(e){var n=this.scrollStatus[e].singleIndexCardCount,r=this.columnData[e],a=this.parent.element.querySelector('.e-content-row:not(.e-swimlane-row) [data-key="'+e+'"]').querySelector(".e-card-virtual-wrapper"),i=a.querySelectorAll(".e-card");if(i.length>0){var l=i[i.length-1].getAttribute("data-id"),o=i[0].getAttribute("data-id"),s=void 0,d=void 0;if(i.length<2*n){for(c=0;c<r.length;c++)l===r[c][this.parent.cardSettings.headerField].toString()&&(s=c),o===r[c][this.parent.cardSettings.headerField].toString()&&(d=c);for(var c=i.length;c<2*n;c++){var p=s===r.length-1,h=s<r.length?s+1:d-1;if(h<=r.length){var u=r[h];if(!t.isNullOrUndefined(u)){var g=this.renderCard(u);this.triggerCardRendering(g,h,r,a,p),p?d=h:s=h}}}}}},n.prototype.triggerCardRendering=function(e,n,r,a,i){var l=this,o=r[n][this.parent.cardSettings.headerField];-1!==this.parent.actionModule.selectionArray.indexOf(o)&&(e.setAttribute("aria-selected","true"),t.addClass([e],"e-selection"));var s={data:r[n],element:e,cancel:!1};this.parent.trigger("cardRendered",s,function(n){n.cancel||(i?a.insertBefore(e,a.querySelectorAll(".e-card")[0]):a.appendChild(e),l.parent.dragAndDropModule.wireDragEvents(e),t.addClass([e],"e-droppable"))})},n.prototype.ensureBlocks=function(e){var t=e.newBlockIndex[e.block],n=Math.ceil(e.totalColumnData/e.singleIndexCardCount),r=Math.max;return("down"===e.scrollDirection?t>=n?[r(t,1),--t,--t].reverse():t+1>=n?[r(t-1,1),t,++t]:[r(t,1),++t,++t]:t===n?[r(t-2,1),r(t-1,1),t]:[r(t-1,1),t,t+1]).filter(function(e){return e>0})},n.prototype.getInfoFromView=function(e){var t=!1,n=e;n.page=this.getPageFromTop(e),n.newBlockIndex=this.getBlockIndexes(n.page);var r=this.ensureBlocks(n);if(n.newBlockIndex.toString()!==r.toString()){var a=r[r.length-1];-1===n.newBlockIndex.indexOf(a)&&(t=!0)}return n.newBlockIndex=t?r:n.newBlockIndex,n},n.prototype.getBlockIndexes=function(e){return[e+(e-1),2*e]},n.prototype.getPageFromTop=function(e){var t=this,n=e.totalColumnData,r=0;return this.offsetKeys=Object.keys(e.offsets),this.offsetKeys.some(function(a){var i=Number(a),l=e.currentScrollTop<=e.offsets[parseInt(a,10)]||i===n&&e.currentScrollTop>e.offsets[parseInt(a,10)];if(l){var o=Math.ceil(n/e.singleIndexCardCount);t.offsetKeys.length%2!=0&&i.toString()===t.offsetKeys[t.offsetKeys.length-2]&&e.currentScrollTop<=e.offsets[t.offsetKeys.length-1]&&(i=i+1>o?o:i+1),i=i>o?o:i,e.block=i%2==0?1:0,r=Math.max(1,Math.min(t.getPage(i,o),o))}return l}),r},n.prototype.getPage=function(e,t){return e+1>t?e%2==0?e/2:(e-1)/2:e%2==0?e/2:(e+1)/2},n.prototype.onAdaptiveScroll=function(e){this.parent.touchModule.tabHold&&!this.parent.touchModule.mobilePopup&&e.preventDefault()},n.prototype.isColumnVisible=function(e){var t=this,n=!1;return"number"==typeof e.keyField?n=-1===this.parent.actionModule.hideColumnKeys.indexOf(e.keyField.toString()):e.keyField.split(",").forEach(function(e){n=-1===t.parent.actionModule.hideColumnKeys.indexOf(e)}),n},n.prototype.renderLimits=function(e,n){var r=t.createElement("div",{className:"e-limits"});e.minCount&&r.appendChild(t.createElement("div",{className:"e-min-count",innerHTML:this.parent.localeObj.getConstant("min")+": "+e.minCount.toString()})),e.maxCount&&r.appendChild(t.createElement("div",{className:"e-max-count",innerHTML:this.parent.localeObj.getConstant("max")+": "+e.maxCount.toString()})),r.childElementCount>0&&(n.querySelector(".e-card-wrapper")?n.insertBefore(r,n.firstElementChild):n.appendChild(r))},n.prototype.renderValidation=function(){var e=this;this.parent.columns.forEach(function(n){if(n.minCount||n.maxCount){var r=e.columnData[n.keyField],a='[data-key="'+n.keyField+'"]',i=e.parent.element.querySelector(".e-header-cells"+a),l=[].slice.call(e.parent.element.querySelectorAll(".e-content-cells"+a));e.renderLimits(n,i);var o=e.getValidationClass(n,r.length);o&&t.addClass(l.concat(i),o)}})},n.prototype.getValidationClass=function(e,t){var n;return e.maxCount&&t>e.maxCount?n="e-max-color":e.minCount&&t<e.minCount&&(n="e-min-color"),n},n.prototype.refreshValidation=function(){[].slice.call(this.parent.element.querySelectorAll(".e-limits")).forEach(function(e){t.remove(e)});var e=[].slice.call(this.parent.element.querySelectorAll(".e-min-color"));t.removeClass(e,"e-min-color");var n=[].slice.call(this.parent.element.querySelectorAll(".e-max-color"));t.removeClass(n,"e-max-color"),this.renderValidation()},n.prototype.getColumnData=function(e,t){var n=this;void 0===t&&(t=this.parent.kanbanData);var r=[];if("number"==typeof e){var a=t.filter(function(t){return t[n.parent.keyField]===e});r=r.concat(a)}else for(var i=0,l=e.split(",");i<l.length;i++)!function(e){var a=t.filter(function(t){return t[n.parent.keyField]===e.trim()});r=r.concat(a)}(l[i]);return this.sortCategory(r),r},n.prototype.sortCategory=function(e){var t=this.parent.cardSettings.headerField,n=this.parent.sortSettings.direction;switch(this.parent.sortSettings.sortBy){case"DataSourceOrder":this.sortOrder(t,n,e);break;case"Custom":case"Index":this.parent.sortSettings.field&&(t=this.parent.sortSettings.field),this.sortOrder(t,n,e)}return e},n.prototype.sortOrder=function(e,t,n){var r=!0;if(this.parent.kanbanData.length>0&&(r="number"==typeof this.parent.kanbanData[0][e]),!r&&"Index"===this.parent.sortSettings.sortBy)return n;var a,i;return n=n.sort(function(t,n){return r?(a=t[e],i=n[e]):(a=t[e].toLowerCase(),i=n[e].toLowerCase()),a>i?1:i>a?-1:0}),"Descending"===t&&n.reverse(),n},n.prototype.documentClick=function(e){if(e.target.classList.contains("e-swimlane-overlay")&&this.parent.element.querySelector(".e-swimlane-resource").classList.contains("e-popup-open")&&(this.treePopup.hide(),t.removeClass([this.popupOverlay],"e-enable")),!t.closest(e.target,".e-kanban")){var n=[].slice.call(this.parent.element.querySelectorAll(".e-card.e-selection"));t.removeClass(n,"e-selection"),this.disableAttributeSelection(n)}},n.prototype.disableAttributeSelection=function(e){e instanceof Element?e.setAttribute("aria-selected","false"):e.forEach(function(e){e.setAttribute("aria-selected","false")})},n.prototype.getColumnCards=function(e){var t=this,n={};return this.columnKeys=[],this.parent.columns.forEach(function(r){var a="number"==typeof r.keyField;t.columnKeys=a?t.columnKeys.concat(r.keyField.toString()):t.columnKeys.concat(r.keyField.split(",").map(function(e){return e.trim()}));var i=t.getColumnData(r.keyField,e);n[r.keyField]=i}),n},n.prototype.refreshHeaders=function(){var e=this.parent.element.querySelector("."+F);[].slice.call(e.children).forEach(function(e){return t.remove(e)}),this.renderHeader(e)},n.prototype.refreshCards=function(){this.parent.resetTemplates(["cardTemplate"]),[].slice.call(this.parent.element.querySelectorAll(".e-card-virtual-wrapper")).forEach(function(e){return t.remove(e)}),this.renderCards(),this.wireDragEvent(),this.parent.renderTemplates()},n.prototype.refresh=function(){var e=this,t=!1;this.parent.columns.forEach(function(n){if(n.showItemCount){n&&n.template&&!t&&(e.refreshHeaders(),t=!0);var r='.e-header-cells[data-key="'+n.keyField+'"] .e-item-count',a=e.parent.element.querySelector(r);if(a){var i=e.parent.dataModule.isRemote()?e.parent.columnDataCount[n.keyField]:e.columnData[n.keyField].length,l=0;if("number"==typeof n.keyField)l=[].slice.call(e.parent.element.querySelectorAll('.e-card[data-key="'+n.keyField+'"]')).length;else for(var o=0,s=n.keyField.split(",");o<s.length;o++){var d=s[o];l=[].slice.call(e.parent.element.querySelectorAll('.e-card[data-key="'+d.trim()+'"]')).length+l}a.innerHTML="- "+i+" "+e.parent.localeObj.getConstant("items")}}}),this.refreshValidation()},n.prototype.updateScrollPosition=function(){var e=this,n=this.parent.element.querySelector("."+M);n&&(t.Browser.isIE?(n.scrollTop=this.parent.scrollPosition.content.top,n.scrollLeft=this.parent.scrollPosition.content.left):n.scrollTo(this.parent.scrollPosition.content.left,this.parent.scrollPosition.content.top)),[].slice.call(this.parent.element.querySelectorAll(".e-card-wrapper")).forEach(function(n){if(n.offsetParent){var r=e.parent.scrollPosition.column[n.offsetParent.getAttribute("data-key")];r&&(t.Browser.isIE?(n.scrollTop=r.top,n.scrollLeft=r.left):n.scrollTo(r.left,r.top))}})},n.prototype.renderCardBasedOnIndex=function(e,n,r,a){var i=this,l=e[this.parent.keyField],o=this.parent.element.querySelector(".e-content-row:not(.e-swimlane-row)");if("Index"!==this.parent.sortSettings.sortBy){var s=this.parent.cardSettings.headerField;if("Custom"===this.parent.sortSettings.sortBy&&(s=this.parent.sortSettings.field),t.isNullOrUndefined(this.parent.swimlaneSettings.keyField))n=this.getColumnData(l,this.parent.kanbanData).findIndex(function(t){return t[s]===e[s]});else{var d=this.parent.getSwimlaneData(e[this.parent.swimlaneSettings.keyField]);n=this.getColumnData(l,d).findIndex(function(t){return t[s]===e[s]})}}else"Index"===this.parent.sortSettings.sortBy&&this.parent.sortSettings.field&&"Ascending"===this.parent.sortSettings.direction&&(n=e[this.parent.sortSettings.field]-1);if(o){var c=[].slice.call(o.children).filter(function(e){return-1!==e.getAttribute("data-key").replace(/\s/g,"").split(",").indexOf(l.toString().replace(/\s/g,""))})[0],p=c.querySelector(".e-card-virtual-wrapper"),h=p.querySelector(".e-empty-card");h&&t.remove(h);var u=this.renderCard(e);this.parent.allowDragAndDrop&&c.classList.contains("e-drag")&&(this.parent.dragAndDropModule.wireDragEvents(u),t.addClass([u],"e-droppable"));var g={data:e,element:u,cancel:!1};this.parent.trigger("cardRendered",g,function(e){var o=!!r||p.childNodes.length<i.scrollStatus[l].singleIndexCardCount;(!e.cancel&&o||!t.isNullOrUndefined(a))&&(t.isNullOrUndefined(n)||0===p.children.length?p.appendChild(u):p.insertBefore(u,p.childNodes[n]))})}},n.prototype.removeCard=function(e){var n=e[this.parent.cardSettings.headerField],r=this.parent.element.querySelector('.e-card[data-id="'+n+'"]');if(r){this.isSelectedCard=!!r.classList.contains("e-selection");var a=r.parentElement;t.remove(r),0===a.querySelectorAll(".e-card:not(.e-cloned-card)").length&&a.appendChild(this.renderEmptyCard())}},n.prototype.wireEvents=function(){var e=this;t.EventHandler.add(this.parent.element,"click",this.parent.actionModule.clickHandler,this.parent.actionModule),t.EventHandler.add(this.parent.element,"dblclick",this.parent.actionModule.doubleClickHandler,this.parent.actionModule),t.EventHandler.add(document,t.Browser.touchStartEvent,this.documentClick,this),window.addEventListener("resize",this.winResize);var n=this.parent.element.querySelector("."+M);t.EventHandler.add(n,"scroll",this.onContentScroll,this),[].slice.call(this.parent.element.querySelectorAll(".e-card-wrapper")).forEach(function(n){e.parent.isInitialRender&&n.offsetParent&&(e.parent.scrollPosition.column[n.offsetParent.getAttribute("data-key")]={left:0,top:0}),t.EventHandler.add(n,"scroll",e.onColScrollShowSkeleton,e),t.EventHandler.add(n,"scroll",t.debounce(e.onColumnScroll,200),e)}),this.parent.isAdaptive&&(this.parent.touchModule.wireTouchEvents(),n.scrollLeft=this.scrollLeft),this.wireDragEvent()},n.prototype.unWireEvents=function(){var e=this;t.EventHandler.remove(this.parent.element,"click",this.parent.actionModule.clickHandler),t.EventHandler.remove(this.parent.element,"dblclick",this.parent.actionModule.doubleClickHandler),t.EventHandler.remove(document,t.Browser.touchStartEvent,this.documentClick),window.removeEventListener("resize",this.winResize),this.winResize=null;var n=this.parent.element.querySelector("."+M);n&&(t.EventHandler.remove(n,"scroll",this.onContentScroll),t.EventHandler.remove(n,"scroll",this.onColScrollShowSkeleton),this.parent.allowDragAndDrop&&this.unWireDragEvent());var r=[].slice.call(this.parent.element.querySelectorAll(".e-card-wrapper"));r.length>0&&r.forEach(function(n){t.EventHandler.remove(n,"scroll",t.debounce(e.onColumnScroll,200))}),this.parent.isAdaptive&&this.parent.touchModule.unWireTouchEvents()},n.prototype.wireDragEvent=function(){var e=this;if(this.parent.allowDragAndDrop){var n=[].slice.call(this.parent.element.querySelectorAll(".e-content-cells.e-drag .e-card"));t.addClass(n,"e-droppable"),n.length>0&&n.forEach(function(t){return e.parent.dragAndDropModule.wireDragEvents(t)})}},n.prototype.unWireDragEvent=function(){var e=this,n=[].slice.call(this.parent.element.querySelectorAll(".e-content-cells.e-drag .e-card"));t.removeClass(n,"e-droppable"),n.length>0&&n.forEach(function(t){return e.parent.dragAndDropModule.unWireDragEvents(t)})},n.prototype.destroy=function(){this.parent.resetTemplates(),this.parent.off(d,this.initRender),this.parent.off(s,this.scrollUiUpdate),this.unWireEvents();var e=this.parent.element.querySelector("."+F);e&&t.remove(e);var n=this.parent.element.querySelector("."+M);n&&t.remove(n),this.treeViewObj&&(this.treeViewObj.destroy(),this.treeViewObj=null),this.treePopup&&(this.treePopup.destroy(),this.treePopup=null);var r=this.parent.element.querySelector(".e-swimlane-header");r&&t.remove(r);var a=this.parent.element.querySelector(".e-swimlane-content");a&&t.remove(a)},n}(B),K=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),W=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},Y=function(e){function r(t,n){var r=e.call(this,t,n)||this;return r.columnDataCount={},r.needsID=!0,r}return K(r,e),r.prototype.preRender=function(){this.isAdaptive=t.Browser.isDevice,this.kanbanData=[],this.enablePersistence&&this.swimlaneToggleArray||(this.swimlaneToggleArray=[]),this.activeCardData={data:null,element:null};var e={items:"items",min:"Min",max:"Max",cardsSelected:"Cards Selected",addTitle:"Add New Card",editTitle:"Edit Card Details",deleteTitle:"Delete Card",deleteContent:"Are you sure you want to delete this card?",save:"Save",delete:"Delete",cancel:"Cancel",yes:"Yes",no:"No",close:"Close",noCard:"No cards to display",unassigned:"Unassigned",cards:"Cards"};this.localeObj=new t.L10n(this.getModuleName(),e,this.locale),this.scrollPosition={content:{left:0,top:0},column:{}},this.isInitialRender=!0},r.prototype.requiredModules=function(){return[]},r.prototype.getPersistData=function(){return this.dataSource.length>0?this.addOnPersist(["columns","dataSource","swimlaneToggleArray"]):this.addOnPersist(["columns","kanbanData","swimlaneToggleArray"])},r.prototype.getModuleName=function(){return"kanban"},r.prototype.render=function(){var e=["e-kanban"],r=[];this.enableRtl?e.push("e-rtl"):r.push("e-rtl"),this.isAdaptive?e.push("e-device"):r.push("e-device"),this.cssClass&&e.push(this.cssClass),t.classList(this.element,e,r),this.element.style.width=t.formatUnit(this.width),this.element.style.height=t.formatUnit(this.height),this.element.setAttribute("role","application"),this.element.setAttribute("aria-label","Kanban Board"),n.createSpinner({target:this.element}),this.showSpinner(),this.initializeModules()},r.prototype.onPropertyChanged=function(e,n){for(var r=0,a=Object.keys(e);r<a.length;r++)switch(a[r]){case"cssClass":n.cssClass&&t.removeClass([this.element],n.cssClass),e.cssClass&&t.addClass([this.element],e.cssClass);break;case"enableRtl":case"locale":this.refresh();break;case"width":this.element.style.width=t.formatUnit(e.width),this.element.querySelector("."+F).firstElementChild.style.width="auto",this.notify(s,{});break;case"height":this.element.style.height=t.formatUnit(e.height),this.element.querySelector("."+M).style.height="auto",this.notify(s,{});break;case"dataSource":case"query":this.dataModule&&this.dataModule.setState({isDataChanged:!1}),this.dataModule=new c(this);break;case"columns":case"constraintType":this.notify(d,{processedData:this.kanbanData});break;case"swimlaneSettings":this.onSwimlaneSettingsPropertyChanged(e.swimlaneSettings,n.swimlaneSettings);break;case"cardSettings":this.onCardSettingsPropertyChanged(e.cardSettings,n.cardSettings);break;case"allowDragAndDrop":e.allowDragAndDrop?this.enableVirtualization?this.virtualLayoutModule.wireDragEvent():this.layoutModule.wireDragEvent():this.enableVirtualization?this.virtualLayoutModule.unWireDragEvent():this.layoutModule.unWireDragEvent();break;case"enableTooltip":this.tooltipModule&&(this.tooltipModule.destroy(),this.tooltipModule=null),e.enableTooltip&&(this.tooltipModule=new N(this),this.enableVirtualization?this.virtualLayoutModule.refreshCards():this.layoutModule.refreshCards());break;case"dialogSettings":e.dialogSettings&&(this.dialogModule=new P(this));break;case"allowKeyboard":this.keyboardModule&&(this.keyboardModule.destroy(),this.keyboardModule=null),e.allowKeyboard&&(this.keyboardModule=new H(this));break;case"stackedHeaders":this.enableVirtualization?this.virtualLayoutModule.refreshHeaders():this.layoutModule.refreshHeaders();break;case"sortSettings":this.notify(d,{processedData:this.kanbanData})}},r.prototype.onSwimlaneSettingsPropertyChanged=function(e,t){for(var n=0,r=Object.keys(e);n<r.length;n++)switch(r[n]){case"keyField":case"textField":case"showEmptyRow":case"showItemCount":case"template":case"sortDirection":this.notify(d,{processedData:this.kanbanData});break;case"enableFrozenRows":this.layoutModule.frozenSwimlaneRow&&!this.swimlaneSettings.enableFrozenRows&&this.layoutModule.removeFrozenRows()}},r.prototype.onCardSettingsPropertyChanged=function(e,n){for(var r=[],a=0,i=Object.keys(e);a<i.length;a++)switch(i[a]){case"showHeader":case"headerField":case"contentField":case"template":case"tagsField":case"grabberField":case"footerCssField":this.enableVirtualization?this.virtualLayoutModule.refreshCards():this.layoutModule.refreshCards();break;case"selectionType":(r=this.getSelectedCards()).length>0&&(t.removeClass(r,"e-selection"),this.enableVirtualization?this.virtualLayoutModule.disableAttributeSelection(r):this.layoutModule.disableAttributeSelection(r))}},r.prototype.initializeModules=function(){this.dataModule=new c(this),this.enableVirtualization?this.virtualLayoutModule=new _(this):this.layoutModule=new z(this),this.allowKeyboard&&(this.keyboardModule=new H(this)),this.actionModule=new q(this),this.crudModule=new R(this),this.dragAndDropModule=new L(this),this.dialogModule=new P(this),this.enableTooltip&&(this.tooltipModule=new N(this)),(t.Browser.isDevice||t.Browser.isTouch)&&(this.touchModule=new I(this))},r.prototype.renderTemplates=function(){this.isReact&&this.renderReactTemplates()},r.prototype.resetTemplates=function(e){this.isReact&&this.clearTemplate(e)},r.prototype.destroyModules=function(){this.layoutModule&&(this.layoutModule.destroy(),this.layoutModule=null),this.keyboardModule&&(this.keyboardModule.destroy(),this.keyboardModule=null),this.virtualLayoutModule&&(this.virtualLayoutModule.destroy(),this.virtualLayoutModule=null),this.touchModule&&(this.touchModule.destroy(),this.touchModule=null),this.tooltipModule&&(this.tooltipModule.destroy(),this.tooltipModule=null),this.dialogModule=null,this.actionModule=null,this.crudModule=null,this.dataModule=null,this.dragAndDropModule=null},r.prototype.templateParser=function(e){if(e)try{return"function"==typeof e?t.compile(e):document.querySelectorAll(e).length?t.compile(document.querySelector(e).innerHTML.trim()):t.compile(e)}catch(n){return t.compile(e)}},r.prototype.getCardDetails=function(e){var t=this,n="number"==typeof this.kanbanData[0][this.cardSettings.headerField]?parseInt(e.getAttribute("data-id"),10):e.getAttribute("data-id");return this.kanbanData.filter(function(e){return e[t.cardSettings.headerField]===n})[0]},r.prototype.getColumnData=function(e,t){return this.enableVirtualization?this.virtualLayoutModule.getColumnCards(t)[""+e]||[]:this.layoutModule.getColumnCards(t)[""+e]||[]},r.prototype.getSwimlaneData=function(e){return this.layoutModule.getSwimlaneCards()[""+e]||[]},r.prototype.getSelectedCards=function(){return[].slice.call(this.element.querySelectorAll(".e-card.e-selection"))},r.prototype.showSpinner=function(){n.showSpinner(this.element)},r.prototype.hideSpinner=function(){n.hideSpinner(this.element)},r.prototype.openDialog=function(e,t){this.dialogModule.openDialog(e,t)},r.prototype.closeDialog=function(){this.dialogModule.closeDialog()},r.prototype.addCard=function(e,t){this.crudModule.addCard(e,t)},r.prototype.updateCard=function(e,t){this.crudModule.updateCard(e,t)},r.prototype.deleteCard=function(e){this.crudModule.deleteCard(e)},r.prototype.addColumn=function(e,t){this.actionModule.addColumn(e,t)},r.prototype.deleteColumn=function(e){this.actionModule.deleteColumn(e)},r.prototype.showColumn=function(e){this.actionModule.showColumn(e)},r.prototype.hideColumn=function(e){this.actionModule.hideColumn(e)},r.prototype.refreshUI=function(e,t){t=t||0,this.dataModule.refreshUI(e,t)},r.prototype.refreshHeader=function(){this.resetTemplates(["columnTemplate"]),this.enableVirtualization?this.virtualLayoutModule.refreshHeaders():this.layoutModule.refreshHeaders(),this.renderTemplates()},r.prototype.destroy=function(){this.destroyModules(),[].slice.call(this.element.childNodes).forEach(function(e){t.detach(e)});var n=["e-kanban"];this.cssClass&&(n=n.concat(this.cssClass.split(" "))),t.removeClass([this.element],n),e.prototype.destroy.call(this)},W([t.Property()],r.prototype,"cssClass",void 0),W([t.Property("auto")],r.prototype,"width",void 0),W([t.Property("auto")],r.prototype,"height",void 0),W([t.Property("auto")],r.prototype,"cardHeight",void 0),W([t.Property()],r.prototype,"enableVirtualization",void 0),W([t.Property([])],r.prototype,"dataSource",void 0),W([t.Property()],r.prototype,"query",void 0),W([t.Property()],r.prototype,"keyField",void 0),W([t.Property("Column")],r.prototype,"constraintType",void 0),W([t.Property([])],r.prototype,"externalDropId",void 0),W([t.Collection([],w)],r.prototype,"columns",void 0),W([t.Property(!0)],r.prototype,"allowKeyboard",void 0),W([t.Property(!0)],r.prototype,"enableHtmlSanitizer",void 0),W([t.Collection([],O)],r.prototype,"stackedHeaders",void 0),W([t.Complex({},u)],r.prototype,"swimlaneSettings",void 0),W([t.Complex({},f)],r.prototype,"cardSettings",void 0),W([t.Complex({},A)],r.prototype,"sortSettings",void 0),W([t.Complex({},b)],r.prototype,"dialogSettings",void 0),W([t.Property(!0)],r.prototype,"allowDragAndDrop",void 0),W([t.Property(!1)],r.prototype,"enableTooltip",void 0),W([t.Property(!1)],r.prototype,"showEmptyColumn",void 0),W([t.Property(!1)],r.prototype,"enablePersistence",void 0),W([t.Property()],r.prototype,"tooltipTemplate",void 0),W([t.Event()],r.prototype,"actionBegin",void 0),W([t.Event()],r.prototype,"actionComplete",void 0),W([t.Event()],r.prototype,"actionFailure",void 0),W([t.Event()],r.prototype,"created",void 0),W([t.Event()],r.prototype,"dataBinding",void 0),W([t.Event()],r.prototype,"dataBound",void 0),W([t.Event()],r.prototype,"cardClick",void 0),W([t.Event()],r.prototype,"cardDoubleClick",void 0),W([t.Event()],r.prototype,"queryCellInfo",void 0),W([t.Event()],r.prototype,"cardRendered",void 0),W([t.Event()],r.prototype,"dragStart",void 0),W([t.Event()],r.prototype,"drag",void 0),W([t.Event()],r.prototype,"dragStop",void 0),W([t.Event()],r.prototype,"dialogOpen",void 0),W([t.Event()],r.prototype,"dialogClose",void 0),W([t.Event()],r.prototype,"dataStateChange",void 0),W([t.Event()],r.prototype,"dataSourceChanged",void 0),r=W([t.NotifyPropertyChanges],r)}(t.Component);return e.Kanban=Y,e.actionBegin="actionBegin",e.actionComplete="actionComplete",e.actionFailure="actionFailure",e.bottomSpace=25,e.cardClick="cardClick",e.cardDoubleClick="cardDoubleClick",e.cardRendered="cardRendered",e.cardSpace=16,e.contentReady=s,e.dataBinding="dataBinding",e.dataBound="dataBound",e.dataReady=d,e.dataSourceChanged="dataSourceChanged",e.dataStateChange="dataStateChange",e.dialogClose="dialogClose",e.dialogOpen="dialogOpen",e.documentClick="document-click",e.drag="drag",e.dragStart="dragStart",e.dragStop="dragStop",e.queryCellInfo="queryCellInfo",e.toggleWidth=50,e}({},ej.base,ej.popups,ej.data,ej.dropdowns,ej.inputs,ej.buttons,ej.navigations),this.ejs=ej;
//# sourceMappingURL=ej2-kanban.min.js.map