@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.
10 lines • 161 kB
JavaScript
/*!
* filename: ej2-kanban.min.js
* version : 29.2.4
* Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
* Use of this code is subject to the terms of our license.
* A copy of the current license can be obtained at any time by e-mailing
* licensing@syncfusion.com. Any infringement will be prosecuted under
* applicable laws.
*/
this.ej=this.ej||{},this.ej.kanban=function(e,t,n,r,a,i,l,o){"use strict";var s="content-ready",d="data-ready",c=function(){function e(e){this.initload=!1,this.dataState={isPending:!1,resolver:null,isDataChanged:!1},this.parent=e,this.keyField=this.parent.cardSettings.headerField,this.dataState={isDataChanged:!1},this.isObservable=!1,this.initDataManager(e.dataSource,e.query),this.refreshDataManager()}return e.prototype.initDataManager=function(e,t){this.dataManager=e instanceof r.DataManager?e:new r.DataManager(e),this.query=t instanceof r.Query?t:new r.Query,this.kanbanData=new r.DataManager(this.parent.kanbanData)},e.prototype.isRemote=function(){return!0!==this.dataManager.dataSource.offline&&void 0!==this.dataManager.dataSource.url&&""!==this.dataManager.dataSource.url},e.prototype.columnKeyFields=function(){for(var e=[],t=0,n=this.parent.columns;t<n.length;t++){var r=n[t];if(r.keyField.toString().split(",").length>1)for(var a=0,i=r.keyField.toString().split(",");a<i.length;a++){var l=i[a];e.push(l.trim())}else e.push(r.keyField.toString())}return e},e.prototype.getQuery=function(e){var n=this.query.clone();if(this.isRemote()&&this.parent.enableVirtualization){for(var r="auto"===this.parent.cardHeight?100:parseInt(t.formatUnit(this.parent.cardHeight).split("px")[0],10),a="auto"===this.parent.height?2*Math.ceil(window.innerHeight/r):2*Math.ceil(parseInt(t.formatUnit(this.parent.height).split("px")[0],10)/r),i=this.columnKeyFields(),l=0;l<i.length;l++)n.where(this.parent.keyField,"equal",i[l]);n.take(a),t.isNullOrUndefined(e)&&(e="KanbanVirtualization"),n.addParams("KanbanVirtualization",e)}return n},e.prototype.getData=function(e){if(this.parent.dataSource&&"result"in this.parent.dataSource){var t=this.eventPromise({requestType:""},e);return this.isObservable=!0,t.promise}return this.dataManager.executeQuery(e)},e.prototype.setState=function(e){return this.dataState=e},e.prototype.getStateEventArgument=function(e){var n=new r.UrlAdaptor,a=new r.DataManager({url:"",adaptor:new r.UrlAdaptor}),i=n.processQuery(a,e),l=JSON.parse(i.data);return t.extend(l,i.pvtData)},e.prototype.eventPromise=function(e,n,a){var i=this,l=e,o=this.getStateEventArgument(n),s=new r.Deferred,d=new r.Deferred;if(void 0!==e.requestType&&!1!==this.dataState.isDataChanged)if(o.action=e,"cardChanged"===e.requestType||"cardRemoved"===e.requestType||"cardCreated"===e.requestType){var c=e;c.promise=d.promise,c.state=o,c.index=a,this.setState({isPending:!0,resolver:d.resolve}),l.endEdit=d.resolve,l.cancelEdit=d.reject,this.parent.trigger("dataSourceChanged",c),d.promise.then(function(){i.setState({isPending:!0,resolver:s.resolve}),i.parent.trigger("dataStateChange",o),c.addedRecords.forEach(function(e){i.parent.kanbanData.push(e)}),c.changedRecords.forEach(function(e){var n=i.parent.kanbanData.filter(function(t){return t[i.parent.cardSettings.headerField]===e[i.parent.cardSettings.headerField]})[0];t.extend(n,e)}),c.deletedRecords.forEach(function(e){var t=i.parent.kanbanData.findIndex(function(t){return t[i.parent.cardSettings.headerField]===e[i.parent.cardSettings.headerField]});i.parent.kanbanData.splice(t,1)})}).catch(function(){i.parent.hideSpinner()})}else this.setState({isPending:!0,resolver:s.resolve}),this.parent.trigger("dataStateChange",o);else this.setState({}),s.resolve(this.parent.dataSource);return s},e.prototype.getTable=function(){return this.parent.query?this.getQuery().fromTable:null},e.prototype.refreshDataManager=function(){var e=this;this.getData(this.getQuery()).then(function(t){return e.dataManagerSuccess(t)}).catch(function(t){return e.dataManagerFailure(t)})},e.prototype.dataManagerSuccess=function(e,t,n,r){var a=this;this.parent.isDestroyed||(t?(this.updateKanbanData(e),this.parent.enableVirtualization&&this.isRemote()&&this.parent.virtualLayoutModule.refresh()):this.parent.trigger("dataBinding",e,function(e){a.updateKanbanData(e),a.parent.notify(d,{processedData:a.parent.kanbanData}),a.parent.trigger("dataBound",null,function(){return a.parent.hideSpinner()})}),this.initload&&(this.parent.layoutModule.refresh(),this.parent.renderTemplates()),this.initload=!0)},e.prototype.updateKanbanData=function(e){var n=t.extend([],t.isNullOrUndefined(e.result.result)?e.result:e.result.result,null,!0);if(this.isRemote()&&this.parent.enableVirtualization&&n.length>0&&!t.isNullOrUndefined(e.result.count))for(var a=this.columnKeyFields(),i=0;i<a.length;i++)e.result.count[i].Key===a[i]&&(this.parent.columnDataCount[a[i]]=e.result.count[i].Value);this.parent.kanbanData=n,this.kanbanData=new r.DataManager(this.parent.kanbanData)},e.prototype.dataManagerFailure=function(e){var t=this;this.parent.isDestroyed||this.parent.trigger("actionFailure",{error:e},function(){return t.parent.hideSpinner()})},e.prototype.updateDataManager=function(e,n,r,a,i,l,o,s,d,c){var p=this;this.parent.showSpinner();var h,u={requestType:r,cancel:!1,addedRecords:n.addedRecords,changedRecords:n.changedRecords,deletedRecords:n.deletedRecords};this.setState({isDataChanged:!0}),this.eventPromise(u,this.query,i),this.parent.trigger("actionComplete",u,function(r){r.cancel||(h=p.syncDataSource(p.dataManager,e,n,a,l,o),p.dataManager.dataSource.offline?p.isObservable||(p.syncDataSource(p.kanbanData,e,n,a,l,o),i=s===d&&c?i-1:i,p.refreshUI(r,i,l),p.parent.enableVirtualization&&p.parent.virtualLayoutModule.refreshColumnData(s,d,r.requestType,a[p.parent.keyField])):h.then(function(e){p.parent.isDestroyed||(p.getData(p.getQuery()).then(function(e){return p.dataManagerSuccess(e,"DataSourceChange",r,i)}).catch(function(e){return p.dataManagerFailure(e)}),"cardCreated"===r.requestType?Array.isArray(e)?p.modifyArrayData(r.addedRecords,e):r.addedRecords[0]=t.extend(r.addedRecords[0],e):"cardChanged"===r.requestType?Array.isArray(e)?p.modifyArrayData(r.changedRecords,e):r.changedRecords[0]=t.extend(r.changedRecords[0],e):"cardRemoved"===r.requestType&&(Array.isArray(e)?p.modifyArrayData(r.deletedRecords,e):r.deletedRecords[0]=t.extend(r.deletedRecords[0],e)),i=s===d&&c?i-1:i,p.refreshUI(r,i,l),p.parent.enableVirtualization&&p.parent.virtualLayoutModule.refreshColumnData(s,d,r.requestType,a[p.parent.keyField]))}).catch(function(e){p.dataManagerFailure(e)}))})},e.prototype.syncDataSource=function(e,t,n,r,a,i){var l,o=this;switch(t){case"insert":return e.insert(r,this.getTable(),this.getQuery());case"update":return this.parent.enableVirtualization&&!this.parent.dataModule.isRemote()&&a?(l=e.remove(this.keyField,r,this.getTable(),this.getQuery()),l=e.insert(r,this.getTable(),this.getQuery(),e.dataSource.json.findIndex(function(e){return e[o.parent.cardSettings.headerField]===i}))):e.update(this.keyField,r,this.getTable(),this.getQuery());case"delete":return e.remove(this.keyField,r,this.getTable(),this.getQuery());case"batch":if(!this.parent.dataModule.isRemote()&&a&&this.parent.enableVirtualization&&r){for(d=0;d<r.length;d++)l=e.remove(this.keyField,r[d],this.getTable(),this.getQuery());for(var s=e.dataSource.json.findIndex(function(e){return e[o.parent.cardSettings.headerField]===i}),d=0;d<r.length;d++,s++)l=e.insert(r[d],this.getTable(),this.getQuery(),s);return l}return e.saveChanges(n,this.keyField,this.getTable(),this.getQuery());default:return l}},e.prototype.modifyArrayData=function(e,n){if(e.length===n.length)for(var r=0;r<n.length;r++)e[r]=t.extend(e[r],n[r]);return e},e.prototype.refreshUI=function(e,t,n){var r=this;this.parent.enableVirtualization?(this.parent.virtualLayoutModule.columnData=this.parent.virtualLayoutModule.getColumnCards(),e.addedRecords.forEach(function(a,i){r.parent.virtualLayoutModule.renderCardBasedOnIndex(a,t+i,n,e.requestType)}),e.changedRecords.forEach(function(a){r.parent.virtualLayoutModule.removeCard(a),r.parent.virtualLayoutModule.renderCardBasedOnIndex(a,t,n,e.requestType),r.parent.virtualLayoutModule.isSelectedCard&&r.parent.actionModule.SingleCardSelection(a),r.parent.sortSettings.field&&"Index"===r.parent.sortSettings.sortBy&&"Descending"===r.parent.sortSettings.direction&&t>0?--t:t++}),e.deletedRecords.forEach(function(e){r.parent.virtualLayoutModule.removeCard(e)}),this.parent.virtualLayoutModule.refresh()):(this.parent.layoutModule.columnData=this.parent.layoutModule.getColumnCards(),this.parent.swimlaneSettings.keyField&&(this.parent.layoutModule.kanbanRows=this.parent.layoutModule.getRows(),this.parent.layoutModule.swimlaneData=this.parent.layoutModule.getSwimlaneCards()),e.addedRecords.forEach(function(e,n){r.parent.swimlaneSettings.keyField&&!e[r.parent.swimlaneSettings.keyField]&&(e[r.parent.swimlaneSettings.keyField]=""),r.parent.layoutModule.renderCardBasedOnIndex(e,t+n)}),e.changedRecords.forEach(function(e){r.parent.swimlaneSettings.keyField&&!e[r.parent.swimlaneSettings.keyField]&&(e[r.parent.swimlaneSettings.keyField]=""),r.parent.layoutModule.removeCard(e),r.parent.layoutModule.renderCardBasedOnIndex(e,t),r.parent.layoutModule.isSelectedCard&&r.parent.actionModule.SingleCardSelection(e),r.parent.sortSettings.field&&"Index"===r.parent.sortSettings.sortBy&&"Descending"===r.parent.sortSettings.direction&&t>0?--t:t++}),e.deletedRecords.forEach(function(e){r.parent.layoutModule.removeCard(e)}),this.parent.layoutModule.refresh()),this.parent.renderTemplates(),this.parent.notify(s,{}),this.parent.trigger("dataBound",e,function(){return r.parent.hideSpinner()})},e}(),p=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),h=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},u=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return p(n,e),h([t.Property()],n.prototype,"keyField",void 0),h([t.Property()],n.prototype,"textField",void 0),h([t.Property(!1)],n.prototype,"showEmptyRow",void 0),h([t.Property(!0)],n.prototype,"showItemCount",void 0),h([t.Property(!1)],n.prototype,"allowDragAndDrop",void 0),h([t.Property()],n.prototype,"template",void 0),h([t.Property("Ascending")],n.prototype,"sortDirection",void 0),h([t.Property()],n.prototype,"sortComparer",void 0),h([t.Property(!0)],n.prototype,"showUnassignedRow",void 0),h([t.Property(!1)],n.prototype,"enableFrozenRows",void 0),n}(t.ChildProperty),g=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),m=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},f=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return g(n,e),m([t.Property(!0)],n.prototype,"showHeader",void 0),m([t.Property()],n.prototype,"headerField",void 0),m([t.Property()],n.prototype,"contentField",void 0),m([t.Property()],n.prototype,"tagsField",void 0),m([t.Property()],n.prototype,"grabberField",void 0),m([t.Property()],n.prototype,"footerCssField",void 0),m([t.Property()],n.prototype,"template",void 0),m([t.Property("Single")],n.prototype,"selectionType",void 0),n}(t.ChildProperty),y=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),v=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},b=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return y(n,e),v([t.Property()],n.prototype,"template",void 0),v([t.Property([])],n.prototype,"fields",void 0),v([t.Property(null)],n.prototype,"model",void 0),n}(t.ChildProperty),S=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),C=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},w=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return S(n,e),C([t.Property()],n.prototype,"keyField",void 0),C([t.Property()],n.prototype,"headerText",void 0),C([t.Property()],n.prototype,"template",void 0),C([t.Property(!1)],n.prototype,"allowToggle",void 0),C([t.Property(!0)],n.prototype,"isExpanded",void 0),C([t.Property()],n.prototype,"minCount",void 0),C([t.Property()],n.prototype,"maxCount",void 0),C([t.Property(!0)],n.prototype,"showItemCount",void 0),C([t.Property(!1)],n.prototype,"showAddButton",void 0),C([t.Property(!0)],n.prototype,"allowDrag",void 0),C([t.Property(!0)],n.prototype,"allowDrop",void 0),C([t.Property([])],n.prototype,"transitionColumns",void 0),n}(t.ChildProperty),E=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),k=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},O=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return E(n,e),k([t.Property()],n.prototype,"text",void 0),k([t.Property()],n.prototype,"keyFields",void 0),n}(t.ChildProperty),x=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),D=function(e,t,n,r){var a,i=arguments.length,l=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,n,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(l=(i<3?a(l):i>3?a(t,n,l):a(t,n))||l);return i>3&&l&&Object.defineProperty(t,n,l),l},A=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return x(n,e),D([t.Property("Index")],n.prototype,"sortBy",void 0),D([t.Property()],n.prototype,"field",void 0),D([t.Property("Ascending")],n.prototype,"direction",void 0),n}(t.ChildProperty),F="e-kanban-header",M="e-kanban-content",T="e-kanban-border",j="e-show-add-button",q=function(){function e(e){this.parent=e,this.columnToggleArray=[],this.selectionArray=[],this.lastCardSelection=null,this.lastSelectionRow=null,this.lastCard=null,this.selectedCardsElement=[],this.selectedCardsData=[],this.hideColumnKeys=[]}return e.prototype.clickHandler=function(e){var n=t.closest(e.target,".e-card,.e-header-icon,.e-content-row.e-swimlane-row,.e-show-add-button,.e-frozen-swimlane-row,.e-content-row:not(.e-swimlane-row) .e-content-cells");if(n)if(n.classList.contains("e-card"))this.parent.allowKeyboard&&this.parent.keyboardModule.cardTabIndexRemove(),this.cardClick(e);else if(n.classList.contains("e-header-icon"))this.columnExpandCollapse(e);else if(n.classList.contains("e-content-row")&&n.classList.contains("e-swimlane-row"))this.rowExpandCollapse(e);else if(n.classList.contains(j))this.addButtonClick(n);else if(n.classList.contains("e-frozen-swimlane-row")){var r=[].slice.call(this.parent.element.querySelectorAll(".e-swimlane-row")),a=this.parent.layoutModule.frozenSwimlaneRow.querySelector(".e-icons");this.rowExpandCollapse(e,r[this.parent.layoutModule.frozenOrder]),!!a.classList.contains("e-swimlane-row-collapse")?t.classList(a,["e-swimlane-row-expand"],["e-swimlane-row-collapse"]):t.classList(a,["e-swimlane-row-collapse"],["e-swimlane-row-expand"])}},e.prototype.addButtonClick=function(e){var n=this,r={};if(0===this.parent.kanbanData.length)r[this.parent.cardSettings.headerField]=1;else if("number"==typeof this.parent.kanbanData[0][this.parent.cardSettings.headerField]){var a=this.parent.kanbanData.map(function(e){return parseInt(e[n.parent.cardSettings.headerField],10)});r[this.parent.cardSettings.headerField]=Math.max.apply(Math,a)+1}if(r[this.parent.keyField]=t.closest(e,".e-content-cells").getAttribute("data-key"),"Index"===this.parent.sortSettings.sortBy&&(r[this.parent.sortSettings.field]=1,t.closest(e,".e-content-cells").querySelector(".e-card"))){var i="Ascending"===this.parent.sortSettings.direction?e.nextElementSibling.classList.contains(T)?e.nextElementSibling.nextElementSibling.lastElementChild:e.nextElementSibling.lastElementChild:e.nextElementSibling.classList.contains(T)?e.nextElementSibling.nextElementSibling.firstElementChild:e.nextElementSibling.firstElementChild,l=this.parent.getCardDetails(i);r[this.parent.sortSettings.field]=l[this.parent.sortSettings.field]+1}0!==this.parent.kanbanData.length&&this.parent.swimlaneSettings.keyField&&t.closest(e,".e-content-row").previousElementSibling&&(r[this.parent.swimlaneSettings.keyField]=t.closest(e,".e-content-row").previousElementSibling.getAttribute("data-key")),this.parent.openDialog("Add",r)},e.prototype.doubleClickHandler=function(e){t.closest(e.target,".e-card")&&this.cardDoubleClick(e)},e.prototype.cardClick=function(e,n){var r=this,a=t.closest(n||e.target,".e-card"),i=this.parent.getCardDetails(a);if(i){this.parent.activeCardData={data:i,element:a};var l={data:i,element:a,cancel:!1,event:e};this.parent.trigger("cardClick",l,function(n){if(!n.cancel){if(a.classList.contains("e-selection")&&"click"===e.type)t.removeClass([a],"e-selection"),r.parent.enableVirtualization?r.parent.virtualLayoutModule.disableAttributeSelection(a):r.parent.layoutModule.disableAttributeSelection(a);else{var i=e.ctrlKey;r.parent.isAdaptive&&r.parent.touchModule&&(i=r.parent.touchModule.mobilePopup&&r.parent.touchModule.tabHold||i),r.cardSelection(a,i,e.shiftKey)}r.parent.isAdaptive&&r.parent.touchModule&&r.parent.touchModule.updatePopupContent();var l=t.closest(a,".e-content-cells");r.parent.allowKeyboard&&([].slice.call(l.querySelectorAll(".e-card")).forEach(function(e){e.setAttribute("tabindex","0")}),r.parent.keyboardModule.addRemoveTabIndex("Remove"))}})}},e.prototype.cardDoubleClick=function(e){var n=this,r=t.closest(e.target,".e-card"),a=this.parent.getCardDetails(r);this.parent.activeCardData={data:a,element:r},this.cardSelection(r,!1,!1);var i={data:a,element:r,cancel:!1,event:e};this.parent.trigger("cardDoubleClick",i,function(e){e.cancel||n.parent.dialogModule.openDialog("Edit",i.data)})},e.prototype.rowExpandCollapse=function(e,n){var r=this,a=e instanceof HTMLElement?e:e.target,i=t.isNullOrUndefined(n)?a:n,l={cancel:!1,target:a,requestType:"rowExpandCollapse"};this.parent.trigger("actionBegin",l,function(e){if(!e.cancel){var n,l=t.closest(i,".e-swimlane-row"),o=l.getAttribute("data-key"),d=r.parent.element.querySelector(".e-content-row:nth-child("+(l.rowIndex+2)+")"),c=l.querySelector(".e-swimlane-row-expand,.e-swimlane-row-collapse"),p=!!l.classList.contains("e-collapsed");p?(t.removeClass([d,l],"e-collapsed"),t.classList(c,["e-swimlane-row-expand"],["e-swimlane-row-collapse"]),r.parent.swimlaneToggleArray.splice(r.parent.swimlaneToggleArray.indexOf(o),1),n="0"):(t.addClass([d,l],"e-collapsed"),t.classList(c,["e-swimlane-row-collapse"],["e-swimlane-row-expand"]),r.parent.swimlaneToggleArray.push(o),n="-1"),c.setAttribute("aria-label",p?o+" Expand":o+" Collapse"),l.setAttribute("aria-expanded",p.toString()),d.setAttribute("aria-expanded",p.toString()),[].slice.call(d.querySelectorAll(".e-content-cells")).forEach(function(e){e.setAttribute("tabindex",n)}),r.parent.notify(s,{}),r.parent.trigger("actionComplete",{target:a,requestType:"rowExpandCollapse"})}})},e.prototype.columnExpandCollapse=function(e){var n=this,r=e instanceof HTMLElement?e:e.target,a={cancel:!1,target:r,requestType:"columnExpandCollapse"};this.parent.trigger("actionBegin",a,function(e){if(!e.cancel){var a=t.closest(r,".e-header-cells"),i=a.cellIndex;n.columnToggle(a);var l=n.parent.element.querySelectorAll(".e-header-cells.e-collapsed").length;if(l===n.parent.columns.length-n.hideColumnKeys.length){var o=".e-header-cells:not(.e-stacked-header-cell):nth-child("+(i+1===l?1:i+2)+")",d=n.parent.element.querySelector(o);t.addClass([d],"e-collapsed"),n.columnToggle(d)}n.parent.notify(s,{}),n.parent.trigger("actionComplete",{target:r,requestType:"columnExpandCollapse"})}})},e.prototype.columnToggle=function(e){var n=this,r=e.cellIndex,a=[].slice.call(this.parent.element.querySelectorAll(".e-content-row:not(.e-swimlane-row)")),i=".e-kanban-table col:nth-child("+(r+1)+")",l=e.querySelector(".e-column-expand,.e-column-collapse"),o=[].slice.call(this.parent.element.querySelectorAll(i));if(e.classList.contains("e-collapsed")){t.removeClass(o,"e-collapsed"),this.parent.isAdaptive&&(this.parent.enableVirtualization?o.forEach(function(e){return e.style.width=t.formatUnit(n.parent.virtualLayoutModule.getWidth())}):o.forEach(function(e){return e.style.width=t.formatUnit(n.parent.layoutModule.getWidth())})),t.classList(l,["e-column-expand"],["e-column-collapse"]);for(var s=0,d=a;s<d.length;s++)!function(n){var a=n.querySelector(".e-content-cells:nth-child("+(r+1)+")");t.removeClass([a,e],"e-collapsed"),t.remove(a.querySelector(".e-collapse-header-text")),e.setAttribute("aria-expanded","true"),a.setAttribute("aria-expanded","true"),[].slice.call(a.parentElement.querySelectorAll(".e-collapsed")).forEach(function(e){var t=e.querySelector(".e-collapse-header-text");t.style.height="auto",t&&a.getBoundingClientRect().height<t.getBoundingClientRect().height+10&&(t.style.height=a.getBoundingClientRect().height-4+"px")})}(g=d[s]);0===this.parent.kanbanData.length&&0===a.length&&(t.removeClass([e],"e-collapsed"),e.setAttribute("aria-expanded","true")),this.columnToggleArray.splice(this.columnToggleArray.indexOf(e.getAttribute("data-key")),1),this.parent.columns[r].setProperties({isExpanded:!0},!0),e.querySelector(".e-header-icon").setAttribute("aria-label",e.getAttribute("data-key")+" Expand")}else{t.addClass(o,"e-collapsed"),this.parent.isAdaptive&&o.forEach(function(e){return e.style.width=t.formatUnit(50)}),t.classList(l,["e-column-collapse"],["e-column-expand"]);for(var c=e.getAttribute("data-key"),p=this,h=0,u=a;h<u.length;h++){var g=u[h];!function(n){var r=n.querySelector('.e-content-cells[data-key="'+c+'"]'),a=r.cellIndex,i=void 0;if(p.parent.enableVirtualization){var l=p.parent.dataModule.isRemote()?p.parent.columnDataCount[p.parent.columns[a].keyField]:p.parent.virtualLayoutModule.columnData[p.parent.columns[a].keyField].length;i=(p.parent.columns[a].showItemCount?"["+l+"] ":"")+p.parent.columns[a].headerText}else i=(p.parent.columns[a].showItemCount?"["+r.querySelectorAll(".e-card").length+"] ":"")+p.parent.columns[a].headerText;r.appendChild(t.createElement("div",{className:"e-collapse-header-text",innerHTML:i})),t.addClass([r,e],"e-collapsed"),e.setAttribute("aria-expanded","false"),r.setAttribute("aria-expanded","false"),[].slice.call(r.parentElement.querySelectorAll(".e-collapsed")).forEach(function(e){var t=e.querySelector(".e-collapse-header-text");t&&r.getBoundingClientRect().height<t.getBoundingClientRect().height+10&&(t.style.height=r.getBoundingClientRect().height-4+"px")})}(g)}0===this.parent.kanbanData.length&&0===a.length&&(t.addClass([e],"e-collapsed"),e.setAttribute("aria-expanded","false")),this.columnToggleArray.push(e.getAttribute("data-key")),this.parent.columns[r].setProperties({isExpanded:!1},!0),e.querySelector(".e-header-icon").setAttribute("aria-label",c+" Collapse")}},e.prototype.cardSelection=function(e,n,r){var a=this;if(e){var i=this.parent.getSelectedCards();if("None"!==this.parent.cardSettings.selectionType){var l=t.closest(e,".e-content-row");if((t.isNullOrUndefined(this.lastSelectionRow)?l.rowIndex:this.lastSelectionRow.rowIndex)!==l.rowIndex&&(n||r)&&"Multiple"===this.parent.cardSettings.selectionType)return;if(0===i.length||n&&"Single"!==this.parent.cardSettings.selectionType||(t.removeClass(i,"e-selection"),this.parent.enableVirtualization?this.parent.virtualLayoutModule.disableAttributeSelection(i):this.parent.layoutModule.disableAttributeSelection(i),i.forEach(function(e){a.selectionArray.splice(a.selectionArray.indexOf(e.getAttribute("data-id")),1),a.selectedCardsElement.splice(a.selectedCardsElement.indexOf(e),1),a.selectedCardsData.splice(a.selectedCardsData.indexOf(a.parent.getCardDetails(e),1))})),i.length>0&&r&&"Multiple"===this.parent.cardSettings.selectionType){var o=[],s=void 0,d=void 0,c=void 0,p=[].slice.call(l.querySelectorAll(".e-card"));p.forEach(function(e){return o.push(e.getAttribute("data-id"))});var h=e.getAttribute("data-id"),u=this.lastCard.getAttribute("data-id"),g=d=o.indexOf(h),m=s=o.indexOf(u),f=g>m?"next":"prev";for("prev"===f&&(s=g,d=m),c=s;c<=d;c++){var y=p[c];t.addClass([y],"e-selection"),y.setAttribute("aria-selected","true"),y.setAttribute("tabindex","0"),this.selectionArray.push(y.getAttribute("data-id")),this.selectedCardsElement.push(y),this.selectedCardsData.push(this.parent.getCardDetails(y)),this.lastCardSelection=y,"prev"===f&&(this.lastCardSelection=p[s])}}else if(t.addClass([e],"e-selection"),e.setAttribute("aria-selected","true"),e.setAttribute("tabindex","0"),this.selectionArray.push(e.getAttribute("data-id")),this.selectedCardsElement.push(e),this.selectedCardsData.push(this.parent.getCardDetails(e)),this.lastCard=this.lastCardSelection=e,this.lastSelectionRow=t.closest(e,".e-content-row"),this.lastSelectionRow.previousElementSibling){var v=this.lastSelectionRow.previousElementSibling.querySelector(".e-swimlane-row-expand,.e-swimlane-row-collapse");v&&v.classList.contains("e-swimlane-row-collapse")&&this.rowExpandCollapse(v)}}}},e.prototype.addColumn=function(e,n){var r=t.createInstance(w,[this.parent,"columns",e,!0]);this.parent.columns.splice(n,0,r),this.parent.notify(d,{processedData:this.parent.kanbanData})},e.prototype.deleteColumn=function(e){var n=this.parent.element.querySelectorAll(".e-header-cells").item(e);n&&n.classList.contains("e-toggle-header")&&this.columnToggleArray.splice(this.columnToggleArray.indexOf(n.getAttribute("data-key"),0)),this.parent.columns.splice(e,1),0===this.parent.columns.length?(t.detach(this.parent.element.querySelector("."+F)),t.detach(this.parent.element.querySelector("."+M))):this.parent.notify(d,{processedData:this.parent.kanbanData})},e.prototype.showColumn=function(e){var t=this.hideColumnKeys.indexOf(e.toString());-1!==t&&(this.hideColumnKeys.splice(t,1),this.parent.notify(d,{processedData:this.parent.kanbanData}))},e.prototype.hideColumn=function(e){this.hideColumnKeys.push(e.toString()),this.parent.notify(d,{processedData:this.parent.kanbanData})},e.prototype.SingleCardSelection=function(e){if("None"!==this.parent.cardSettings.selectionType&&e[this.parent.cardSettings.headerField]){var n=this.parent.element.querySelector('.e-card[data-id="'+e[this.parent.cardSettings.headerField].toString()+'"]');n&&(t.addClass([n],"e-selection"),n.setAttribute("aria-selected","true"),n.setAttribute("tabindex","0"))}},e}(),R=function(){function e(e){this.parent=e}return e.prototype.addCard=function(e,t){var n=this,r={cancel:!1,requestType:"cardCreate",addedRecords:e instanceof Array?e:[e],changedRecords:[],deletedRecords:[]};this.parent.trigger("actionBegin",r,function(r){if(!r.cancel){var a=[];n.parent.sortSettings.field&&"Index"===n.parent.sortSettings.sortBy&&(e instanceof Array?a=e:a.push(e),a.forEach(function(e,t){if(!e[n.parent.sortSettings.field]){var r=n.parent.getColumnData(e[n.parent.keyField]);"Ascending"===n.parent.sortSettings.direction&&r.length>0?e[n.parent.sortSettings.field]=r[r.length-1][n.parent.sortSettings.field]+t+1:"Descending"===n.parent.sortSettings.direction&&r.length>0&&(e[n.parent.sortSettings.field]=r[0][n.parent.sortSettings.field]+t+1),0===r.length&&(e[n.parent.sortSettings.field]=1)}}),e instanceof Array||t||"Descending"!==n.parent.sortSettings.direction||n.parent.getColumnData(a[0][n.parent.keyField]).filter(function(e,r){e[n.parent.sortSettings.field]===a[0][n.parent.sortSettings.field]&&(t=r+1)}),0===t||t||"Descending"!==n.parent.sortSettings.direction||(t=0),a=n.priorityOrder(a,t));var i={addedRecords:e instanceof Array?e:[e],changedRecords:n.parent.sortSettings.field&&"Index"===n.parent.sortSettings.sortBy?a:[],deletedRecords:[]},l=e instanceof Array||a.length>0?"batch":"insert";n.parent.dataModule.updateDataManager(l,i,"cardCreated",e,t)}})},e.prototype.getIndexFromData=function(e){var n=this.parent.element.querySelector('.e-card[data-id="'+e[this.parent.cardSettings.headerField]+'"]'),r=t.closest(n,".e-content-cells");return[].slice.call(r.querySelectorAll(".e-card")).indexOf(n)},e.prototype.updateCard=function(e,n,r,a,i,l,o){var s=this,d={requestType:"cardChange",cancel:!1,addedRecords:[],changedRecords:e instanceof Array?e:[e],deletedRecords:[]};n=t.isNullOrUndefined(n)?this.getIndexFromData(d.changedRecords[0]):n,this.parent.trigger("actionBegin",d,function(t){if(!t.cancel){if(s.parent.sortSettings.field&&"Index"===s.parent.sortSettings.sortBy){var d=[];e instanceof Array?d=e:d.push(e),e=s.priorityOrder(d,n)}var c={addedRecords:[],changedRecords:e instanceof Array?e:[e],deletedRecords:[]},p=e instanceof Array?"batch":"update";s.parent.dataModule.updateDataManager(p,c,"cardChanged",e,n,r,a,i,l,o)}})},e.prototype.deleteCard=function(e){var t=this,n={addedRecords:[],changedRecords:[],deletedRecords:[]};n.deletedRecords="string"==typeof e||"number"==typeof e?this.parent.kanbanData.filter(function(n){return n[t.parent.cardSettings.headerField]===e}):e instanceof Array?e:[e];var r={requestType:"cardRemove",cancel:!1,addedRecords:[],changedRecords:[],deletedRecords:n.deletedRecords};this.parent.trigger("actionBegin",r,function(e){if(!e.cancel){var r=n.deletedRecords.length>1?"batch":"delete",a=n.deletedRecords;t.parent.dataModule.updateDataManager(r,n,"cardRemoved",a[0])}})},e.prototype.priorityOrder=function(e,n){for(var r,a=this,i=e.map(function(e){return e[a.parent.cardSettings.headerField]}),l=e[e.length-1][this.parent.sortSettings.field],o=e.map(function(e){return e[a.parent.keyField]}),s=[],d=[],c=this,p=0,h=o.filter(function(e,t){return o.indexOf(e)===t}).sort();p<h.length;p++)!function(o){var p=e.filter(function(e){return e[a.parent.keyField]===o});r=c.parent.enableVirtualization?c.parent.virtualLayoutModule.getColumnData(o):c.parent.layoutModule.getColumnData(o);for(var h=0,u=p;h<u.length;h++){var g=u[h];if(c.parent.swimlaneSettings.keyField){var m=c.parent.getSwimlaneData(g[c.parent.swimlaneSettings.keyField]);r=c.parent.getColumnData(o,m)}}if(p.forEach(function(e){return s.push(e)}),!t.isNullOrUndefined(n)){for(var f=0;f<i.length;f++)!function(e){r.filter(function(t,r){t[a.parent.cardSettings.headerField]===i[e]&&r<=n&&d.push(r)})}(f);if(d.length>0&&(n+=d.length),"Ascending"===c.parent.sortSettings.direction)for(y=n;y<r.length;y++)-1===i.indexOf(r[y][c.parent.cardSettings.headerField])&&(r[y][c.parent.sortSettings.field]=++l,s.push(r[y]));else for(var y=n-1;y>=0;y--)-1===i.indexOf(r[y][c.parent.cardSettings.headerField])&&(r[y][c.parent.sortSettings.field]=++l,s.push(r[y]))}}(h[p]);return s},e}(),L=function(){function e(e){this.insertClone="afterend",this.parent=e,this.dragObj={element:null,cloneElement:null,instance:null,targetClone:null,draggedClone:null,targetCloneMulti:null,selectedCards:[],pageX:0,pageY:0,navigationInterval:null,cardDetails:[],modifiedData:[]},this.dragEdges={left:!1,right:!1,top:!1,bottom:!1},this.isDragging=!1,this.isExternalDrop=!1}return e.prototype.wireDragEvents=function(e){var n;null!=!this.parent.element&&0===this.parent.externalDropId.length&&(n=this.parent.element.querySelector("."+M)),this.dragObj.instance=new t.Draggable(e,{clone:!0,enableTapHold:this.parent.isAdaptive,enableTailMode:!0,cursorAt:{top:-10,left:-10},dragArea:n,dragStart:this.dragStart.bind(this),drag:this.drag.bind(this),dragStop:this.dragStop.bind(this),enableAutoScroll:!1,helper:this.dragHelper.bind(this)})},e.prototype.dragHelper=function(e){if(this.parent.isAdaptive&&this.parent.touchModule.mobilePopup&&this.parent.touchModule.mobilePopup.element.classList.contains("e-popup-open")&&this.parent.touchModule.mobilePopup.hide(),this.dragObj.element=t.closest(e.sender.target,".e-card"),t.isNullOrUndefined(this.dragObj.element))return null;this.dragObj.element.style.width=t.formatUnit(this.dragObj.element.offsetWidth);var n=t.createElement("div",{innerHTML:this.dragObj.element.outerHTML});return this.dragObj.cloneElement=n.children.item(0),t.addClass([this.dragObj.cloneElement],"e-cloned-card"),this.dragObj.element.parentElement.appendChild(this.dragObj.cloneElement),this.dragObj.targetCloneMulti=t.createElement("div",{className:"e-target-multi-clone"}),this.dragObj.targetClone=t.createElement("div",{className:"e-target-dropped-clone",styles:"width:100%;height:"+t.formatUnit(this.dragObj.element.offsetHeight)}),this.dragObj.modifiedData=[],this.dragObj.cloneElement},e.prototype.dragStart=function(e){var n=this;if(this.dragObj.selectedCards=this.dragObj.element,this.borderElm=this.parent.element.querySelectorAll("."+T),this.dragObj.element.classList.contains("e-selection")){var r=t.closest(this.dragObj.element,".e-content-row");this.dragObj.selectedCards=[].slice.call(r.querySelectorAll(".e-card.e-selection:not(.e-cloned-card)")),this.dragObj.selectedCards.forEach(function(e){n.dragObj.cardDetails.push(n.parent.getCardDetails(e))})}else this.dragObj.cardDetails=[this.parent.getCardDetails(this.dragObj.element)];!t.isNullOrUndefined(this.dragObj.selectedCards)&&!t.isNullOrUndefined(this.dragObj.selectedCards.length)&&this.dragObj.selectedCards.length>=1?this.dragObj.selectedCards[0].closest(".e-content-cells").classList.add("e-dragged-column"):t.isNullOrUndefined(this.dragObj.selectedCards)||t.isNullOrUndefined(this.dragObj.selectedCards.closest(".e-content-cells"))||this.dragObj.selectedCards.closest(".e-content-cells").classList.add("e-dragged-column");var a={cancel:!1,data:this.dragObj.cardDetails,event:e,element:this.dragObj.selectedCards};this.parent.trigger("dragStart",a,function(r){if(r.cancel)return n.removeElement(n.dragObj.cloneElement),n.dragObj.instance.intDestroy(e),n.dragObj.element=null,n.dragObj.targetClone=null,n.dragObj.draggedClone=null,n.dragObj.cloneElement=null,void(n.dragObj.targetCloneMulti=null);if(n.dragObj.element.classList.contains("e-selection")){if(n.dragObj.selectedCards.forEach(function(e){n.draggedClone(e)}),n.dragObj.selectedCards.length>1){n.dragObj.cloneElement.innerHTML="";var a=t.createElement("div",{className:"e-multi-card-text",innerHTML:n.dragObj.selectedCards.length+" "+n.parent.localeObj.getConstant("cards")});n.dragObj.cloneElement.appendChild(a),t.classList(n.dragObj.cloneElement,["e-multi-card-clone"],["e-selection"]),n.parent.enableVirtualization?n.parent.virtualLayoutModule.disableAttributeSelection(n.dragObj.cloneElement):n.parent.layoutModule.disableAttributeSelection(n.dragObj.cloneElement),n.dragObj.cloneElement.style.width="90px"}}else n.draggedClone(n.dragObj.element);t.EventHandler.add(document.body,"keydown",n.keydownHandler,n),n.parent.notify(s,{})})},e.prototype.draggedClone=function(e){this.dragObj.draggedClone=t.createElement("div",{className:"e-target-dragged-clone",styles:"width:"+t.formatUnit(e.offsetWidth-1)+";height:"+t.formatUnit(e.offsetHeight)}),e.insertAdjacentElement("afterend",this.dragObj.draggedClone),t.addClass([e],"e-kanban-dragged-card")},e.prototype.drag=function(e){var n=this;if(e.target){var r=t.closest(e.target,".e-kanban .e-card");t.isNullOrUndefined(r)||!this.parent.enableVirtualization||t.isNullOrUndefined(e.target.previousElementSibling)||t.isNullOrUndefined(e.target.previousElementSibling.querySelector(".e-target-dropped-clone"))||(r=e.target.previousElementSibling.querySelector(".e-target-dropped-clone").nextElementSibling);var a=e.target;t.isNullOrUndefined(e.target.parentElement)||("SPAN"===e.target.nodeName&&e.target.classList.contains("e-empty-card")?a=e.target.parentElement:"DIV"===e.target.nodeName&&e.target.classList.contains("e-kanban-border")&&this.parent.element.querySelector(".e-target-dropped-clone")!==e.target.nextElementSibling.firstChild&&(a=e.target.parentElement));var i,l,o,d=r||a,c=t.closest(d,".e-content-row:not(.e-swimlane-row) .e-content-cells.e-droppable");if(d.nextElementSibling&&d.nextElementSibling.lastChild&&(o=d.nextElementSibling.lastChild.previousElementSibling),this.externalDrop(d),this.kanbanObj=this.parent.isExternalKanbanDrop?this.parent.externalDropObj:this.parent,this.calculateArgs(e),c&&"not-allowed"!==document.body.style.cursor){var p=this.getColumnKey(c),h=p.split(",");this.multiCloneRemove();var u=p===this.getColumnKey(t.closest(this.dragObj.draggedClone,".e-content-cells"));if(1===h.length||u)if(d.classList.contains("e-target-dragged-clone")&&this.removeElement(this.dragObj.targetClone,this.kanbanObj),d.classList.contains("e-card")||"beforebegin"===this.insertClone){var g=d.classList.contains("e-target-dragged-clone")&&d.previousElementSibling.classList.contains("e-kanban-dragged-card")?null:d.previousElementSibling;if(this.insertClone="afterend",t.isNullOrUndefined(g)){var m=d.classList.contains("e-target-dragged-clone")?this.dragObj.pageY/2:this.dragObj.pageY,f=d.classList.contains("e-target-dragged-clone")?d.offsetHeight:d.offsetHeight/2,y=this.kanbanObj.element.getBoundingClientRect().top+window.scrollY;(m-=y)-(d.getBoundingClientRect().top+window.scrollY-y)<f&&(this.insertClone="beforebegin")}d.classList.contains("e-card")&&(this.parent.enableVirtualization&&(this.insertClone=this.isTargetElementVisible(d)?this.insertClone:"beforebegin"),d.insertAdjacentElement(this.insertClone,this.dragObj.targetClone))}else if(d.classList.contains("e-content-cells")&&!t.closest(d,".e-swimlane-row")){if(0!==d.querySelectorAll(".e-kanban-dragged-card").length&&0===d.querySelectorAll(".e-card:not(.e-kanban-dragged-card):not(.e-cloned-card)").length)return;d.querySelector(".e-card-wrapper").appendChild(this.dragObj.targetClone)}else!d.classList.contains("e-card-wrapper")&&!d.classList.contains("e-card-virtual-wrapper")||t.closest(d,".e-swimlane-row")||0!==c.querySelectorAll(".e-card").length?!(d.classList.contains(T)&&!t.closest(d,".e-swimlane-row")&&d.nextElementSibling&&d.nextElementSibling.classList.contains("e-card-wrapper")&&this.dragObj.targetClone)||o&&o.classList.contains("e-target-dropped-clone")||this.parent.enableVirtualization||this.isTargetElementVisible(d.nextElementSibling)||d.nextElementSibling.appendChild(this.dragObj.targetClone):d.appendChild(this.dragObj.targetClone);else h.length>1&&(c.classList.contains("e-dropping")||c.firstChild&&c.firstChild.classList.contains("e-dropping"))&&this.multiCloneCreate(h,c);this.kanbanObj.notify(s,{})}0===this.kanbanObj.element.querySelectorAll(".e-dropping").length&&this.cellDropping();var v=!1;c&&(v=c.classList.contains("e-collapsed")&&c.classList.contains("e-dropping"),"true"!==c.getAttribute("aria-expanded")&&c.parentElement.hasAttribute("aria-expanded")||(i=c.getBoundingClientRect(),this.updateDimension(i)),l=c.querySelector("."+T)),d&&"TABLE"===d.tagName&&!t.isNullOrUndefined(d.querySelector(".e-content-row"))&&(i=d.querySelector(".e-content-row").getBoundingClientRect(),this.updateDimension(i,d)),v&&(this.toggleVisible(d),t.addClass([c],"e-toggle-visible"));var b=[].slice.call(this.kanbanObj.element.querySelectorAll(".e-toggle-visible"));b.length>0&&!d.classList.contains("e-toggle-visible")&&!t.closest(d,".e-toggle-visible")&&(this.toggleVisible(d,b.slice(-1)[0]),t.removeClass(b,"e-toggle-visible")),this.kanbanObj.notify(s,{});var S=t.closest(d,".e-column-key");if(S){var C=[].slice.call(this.kanbanObj.element.querySelectorAll(".e-column-key:not(.e-disabled)")).filter(function(e){return n.getColumnKey(e)===n.getColumnKey(S)});C.length>0&&(t.addClass(C,"e-multi-active"),C[0].previousElementSibling&&t.addClass([C[0].previousElementSibling],"e-multi-bottom-border"))}document.body.style.cursor=c&&c.classList.contains("e-dropping")||c&&l&&l.classList.contains("e-dropping")?"":"not-allowed",!r||t.closest(r,".e-content-cells").classList.contains("e-dropping")||c&&l&&l.classList.contains("e-dropping")||(r.style.cursor="not-allowed",document.body.style.cursor="not-allowed"),this.isExternalDrop&&"not-allowed"===document.body.style.cursor&&(document.body.style.cursor=""),"not-allowed"===document.body.style.cursor&&(this.removeElement(this.dragObj.targetClone,this.kanbanObj),this.multiCloneRemove()),this.updateScrollPosition();var w={data:this.dragObj.cardDetails,event:e,element:this.dragObj.selectedCards};this.kanbanObj.trigger("drag",w),this.parent.isExternalKanbanDrop=!1,this.isExternalDrop=!1}},e.prototype.removeElement=function(e,n){(n=n||this.parent).element.getElementsByClassName(e.className).length>0&&t.remove(e)},e.prototype.isTargetElementVisible=function(e){var n=t.closest(e,".e-card-wrapper");if(!t.isNullOrUndefined(n)){var r=n.getBoundingClientRect().bottom;return!(e.getBoundingClientRect().bottom>r)}return!0},e.prototype.externalDrop=function(e){var n=this;this.parent.externalDropId.forEach(function(r){var a=t.closest(e,r);if(a)if(a.classList.contains("e-kanban")){n.parent.externalDropObj=document.querySelector(r).ej2_instances[0],n.parent.isExternalKanbanDrop=!0;var i=[].slice.call(n.parent.externalDropObj.element.querySelectorAll(".e-content-row:not(.e-swimlane-row):not(.e-collapsed) .e-content-cells"));t.addClass(i,"e-dropping")}else n.isExternalDrop=!0})},e.prototype.multiCloneCreate=function(e,n){var r=n.offsetHeight,a=n.querySelector(".e-limits");a&&(r-=a.offsetHeight),this.dragObj.targetCloneMulti.style.height=t.formatUnit(r),n.querySelector("."+j)&&t.addClass([n.querySelector("."+j)],"e-multi-card-wrapper"),t.addClass([n.querySelector(".e-card-wrapper")],"e-multi-card-wrapper"),n.querySelector(".e-card-wrapper").style.height="auto",n.style.borderStyle="none",this.removeElement(this.dragObj.targetClone);for(var i=0,l=e;i<l.length;i++){var o=l[i],s=t.closest(this.dragObj.draggedClone,".e-content-cells"),d=this.kanbanObj.columns[s.cellIndex].transitionColumns,c=this.allowedTransition(this.dragObj.element.getAttribute("data-key"),o,d),p=c?"":" e-disabled",h=t.createElement("div",{className:"e-column-key"+p,attrs:{"data-key":o.trim()}}),u=t.createElement("div",{className:"e-text",innerHTML:o.trim()});n.appendChild(this.dragObj.targetCloneMulti).appendChild(h).appendChild(u),h.style.cursor=c?"":"not-allowed",h.style.lineHeight=h.style.height=t.formatUnit(r/e.length),u.style.top=t.formatUnit(r/2-u.offsetHeight/2)}},e.prototype.allowedTransition=function(e,t,n){for(var r=!0,a=t.split(","),i=0;i<a.length;i++){if(e===a[i].trim())return!0;if(n){if(1===n.length&&0===n[0].length)return!0;for(var l=0;l<n.length;l++){if(a[i].trim()===n[l].trim())return!0;r=!1}}}return r},e.prototype.cellDropping=function(){var e=this,n=t.closest(this.dragObj.draggedClone,".e-content-cells"),r=t.closest(this.dragObj.draggedClone,".e-content-row");if(n&&n.classList.contains("e-drop")&&t.addClass([n],"e-dropping"),this.addDropping(r,n),this.kanbanObj.swimlaneSettings.keyField&&this.kanbanObj.swimlaneSettings.allowDragAndDrop){var a=[].slice.call(this.kanbanObj.element.querySelectorAll(".e-content-row:not(.e-swimlane-row):not(.e-collapsed)"));[].slice.call(a).forEach(function(t){r!==t&&e.addDropping(t,n)})}},e.prototype.addDropping=function(e,n){var r=this;if(n&&this.borderElm&&0!==this.borderElm.length){n.classList.contains("e-dropping")&&t.removeClass([n],"e-dropping");var a=n.getBoundingClientRect();this.updateDimension(a)}else n&&e&&[].slice.call(e.children).forEach(function(e){var a=r.kanbanObj.columns[n.cellIndex].transitionColumns;e!==n&&e.classList.contains("e-drop")&&r.allowedTransition(n.getAttribute("data-key"),e.getAttribute("data-key"),a)&&t.addClass([e],"e-dropping")})},e.prototype.updateDimension=function(e,n){[].slice.call(this.borderElm).forEach(function(r){!r.parentElement||"true"!==r.parentElement.getAttribute("aria-expanded")&&r.parentElement.hasAttribute("aria-expanded")||t.addClass([r],"e-dropping");var a=r.previousElementSibling;r.style.height=parseInt(e.height.toString(),10)-(a&&a.classList.contains(j)?a.offsetHeight+a.offsetTop:0)+"px",n&&"TABLE"===n.tagName||(r.style.width=parseInt(e.width.toString(),10)+"px"),r.style.left=r.parentElement.getBoundingClientRect().left-t.closest(r,".e-kanban").getBoundingClientRect().left+"px"})},e.prototype.keydownHandler=function(e){"Escape"===e.code&&this.dragObj.cloneElement&&(t.EventHandler.remove(this.dragObj.cloneElement,"keydown",this.keydownHandler),this.dragObj.element.removeAttribute("aria-grabbed"),this.dragStopClear(),this.dragStopPostClear())},e.prototype.dragStop=function(e){var n=this,r=t.closest(this.dragObj.targetClone,".e-content-cells");this.parent.enableVirtualization&&!t.isNullOrUndefined(r)&&r.classList.add("e-dropped-column");var a,i,l,o;if(t.EventHandler.remove(document.body,"keydown",this.keydownHandler),[].slice.call(this.borderElm).forEach(function(e){e.classList.remove("e-dropping")}),this.dragObj.targetClone.parentElement){var s=(o=this.dragObj.selectedCards&&this.dragObj.selectedCards.length>1&&"Index"===this.parent.sortSettings.sortBy)?".e-card:not(.e-cloned-card),.e-target-dropped-clone":".e-card:not(.e-kanban-dragged-card, .e-cloned-card),.e-target-dropped-clone";i=[].slice.call(this.dragObj.targetClone.parentElement.querySelectorAll(s)).indexOf(this.dragObj.targetClone),this.parent.enableVirtualization&&!t.isNullOrUndefined(this.dragObj.targetClone.nextElementSibling)&&(l=this.dragObj.targetClone.nextElementSibling.getAttribute("data-id"))}if(!t.isNullOrUndefined(this.kanbanObj)&&this.kanbanObj.element.querySelector(".e-target-multi-clone")&&(a=t.closest(e.target,".e-column-key:not(.e-disabled)")),r||a){var d;r?d=this.getColumnKey(r):(d=this.getColumnKey(a),r=t.closest(a,".e-content-cells")),this.dragObj.selectedCards instanceof HTMLElement?this.updateDroppedData(this.dragObj.selectedCards,d,r):this.dragObj.selectedCards.forEach(function(e){n.updateDroppedData(e,d,r)}),this.parent.sortSettings.field&&"Index"===this.parent.sortSettings.sortBy&&this.changeOrder(this.dragObj.modifiedData,e.helper)}0===this.dragObj.modifiedData.length&&(this.dragObj.modifiedData=this.dragObj.cardDetails);var c={cancel:!1,data:this.dragObj.modifiedData,event:e,element:this.dragObj.selectedCards,dropIndex:i};this.parent.trigger("dragStop",c,function(e){if(n.dragStopClear(),!e.cancel&&(r||a)){var t=e.data instanceof Array&&e.data.length>1?e.data:e.data[0],i=void 0,s=void 0;n.parent.enableVirtualization&&(i=r.closest(".e-kanban").querySelector(".e-dragged-column").getAttribute("data-key"),s=r.getAttribute("data-key")),n.parent.crudModule.updateCard(t,e.dropIndex,!0,l,i,s,o),n.parent.enableVirtualization&&(n.parent.virtualLayoutModule.refreshColumnData(i,s),n.parent.virtualLayoutModule.ensureColumnNotEmpty(i))}n.removeEmptyTrElement(),n.dragStopPostClear()})},e.prototype.removeEmptyTrElement=function(){if(!this.parent.swimlaneSettings.showEmptyRow)for(var e=this.parent.element.querySelectorAll(".e-content-row.e-swimlane-row"),n=0;n<e.length;n++){var r=e[n].nextElementSibling.querySelectorAll(".e-card-wrapper .e-card");t.isNullOrUndefined(e[n].nextElementSibling)||0!==r.length||(t.detach(e[n].nextElementSibling),t.detach(e[n]))}},e.prototype.dragStopClear=function(){this.removeElement(this.dragObj.draggedClone),this.removeElement(this.dragObj.targetClone,this.kanbanObj),this.removeElement(this.dragObj.cloneElement),[].slice.call(this.parent.element.querySelectorAll(".e-target-dragged-clone")).forEach(function(e){t.remove(e)}),this.dragObj.element.style.removeProperty("width"),this.multiCloneRemove(),this.dragObj.selectedCards instanceof HTMLElement?t.removeClass([this.dragObj.selectedCards],"e-kanban-dragged-card"):t.removeClass(this.dragObj.selectedCards,"e-kanban-dragged-card"),clearInterval(this.dragObj.navigationInterval),this.dragObj.navigationInterval=null,"not-allowed"===document.body.style.cursor&&(document.body.style.cursor=""),[].slice.call(this.parent.element.querySelectorAll(".e-card[style]")).forEach(function(e){e.style.cursor=""});