UNPKG

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