@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 43.2 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("kendo.sortable.js"),require("kendo.html.button.js"),require("kendo.core.js"),require("kendo.icons.js"),require("kendo.menu.js"),require("kendo.dialog.js"),require("kendo.form.js"),require("kendo.data.js"),require("kendo.toolbar.js"),require("kendo.textbox.js")):"function"==typeof define&&define.amd?define(["exports","kendo.sortable","kendo.html.button","kendo.core.min","kendo.icons","kendo.menu","kendo.dialog","kendo.form","kendo.data","kendo.toolbar","kendo.textbox"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Taskboard={}))}(this,(function(e){!function(e){var t=window.kendo,a=t.ui,n=t.Observable,o=t.htmlEncode,r=e.extend,s=".",i=".kendoTaskBoardColumn",d="click",l="action",c={element:"k-taskboard-column",header:"k-taskboard-column-header",headerText:"k-taskboard-column-header-text",ellipsis:"k-text-ellipsis",spacer:"k-spacer",actions:"k-taskboard-column-header-actions",cardsContainer:"k-taskboard-column-cards-container",columnCards:"k-taskboard-column-cards",actionButton:"k-taskboard-column-action-button",card:"k-taskboard-card",cardTitle:"k-card-title",sortableSuffix:"-kendosortable",textbox:"k-textbox k-input k-input-md k-rounded-md k-input-solid",input:"k-input-inner",newColumn:"k-taskboard-column-new",editColumn:"k-taskboard-column-edit",disabled:"k-disabled",dragPlaceholder:"k-taskboard-drag-placeholder",dragHint:"k-taskboard-drag-hint",ignoreDrag:"k-taskboard-drag-ignore",grabbingCursor:"k-cursor-grabbing"};function u(e){e.preventDefault()}var m=n.extend({init:function(e,t){var a=this;a._dataItem=t,a.options=r(!0,{},e),a.sortableUniqueClass=a.options.sortableIdentifier+m.styles.sortableSuffix,a._render(),a._attachEvents(),e.states.isReorderable&&a._initSortable(),n.fn.init.call(a)},empty:function(){this.container.empty()},addCard:function(e){this.container.append(e)},edit:function(){var e=m.styles;this.element.addClass(e.editColumn),this._renderEditHeader()},getDataItem:function(){return this._dataItem},cards:function(){return this.container.children()},template:e=>`<div class="${o(e.styles.headerText)} ${o(e.styles.ellipsis)}">${t.getter(e.dataTextField)(e)}</div><span class="${o(e.styles.spacer)}"></span>${e.buttons}`,editTemplate:e=>`<div class="${o(e.styles.headerText)} ${o(e.styles.ellipsis)}"><span class="${o(e.styles.textbox)}"><input class="${o(e.styles.input)}" placeholder="${o(t.getter(e.dataTextField)(e)?e.messages.editColumn:e.messages.newColumn)}" ${o(t.attr("command"))}="SaveColumnCommand" value="${o(t.getter(e.dataTextField)(e))}" /></span></div><span class="${o(e.styles.spacer)}"></span>${e.buttons}`,actionButton:({styles:e,icon:a,spriteCssClass:n,text:r,command:s,options:i})=>t.html.renderButton(`<button class="${o(e.actionButton)}" title="${o(r)}" ${o(t.attr("command"))}="${o(s)}" ${i?o(t.attr("options"))+"="+o(i):""}></button>`,{icon:o(a),iconClass:`k-button-icon ${o(n)}`,fillMode:"flat"}),builtinButtons:{editColumn:{name:"editColumn",icon:"pencil",text:"Edit Column",command:"EditColumnCommand",rules:"isEditable"},addCard:{name:"addCard",icon:"plus",text:"Add Card",command:"AddCardCommand",rules:"isEditable"},deleteColumn:{name:"deleteColumn",icon:"x",text:"Delete Column",command:"DeleteColumnCommand",rules:"isEditable"}},defaultButtons:["editColumn","addCard","deleteColumn"],_render:function(){var a=this,n=m.styles,o=t.guid(),r=e("<div class='"+n.element+"'></div>").attr(t.attr("uid"),a._dataItem.uid).css({width:a.options.width}).attr("role","list").attr("aria-labelledby",o),s=e("<div class='"+n.header+"'></div>"),i=e("<div class='"+n.cardsContainer+"'></div>"),d=e("<div class='"+n.columnCards+"'></div>");a.header=s.appendTo(r).attr("id",o),a._renderHeader(),i.appendTo(r),a.container=d.appendTo(i).addClass(a.sortableUniqueClass),a.element=r},_renderHeader:function(){var e=this,a=m.styles,n=e.options,o=n.template?n.template:e.template;e.header.append(t.template(o)(r(!0,{},{styles:a,buttons:e._buildActionsHtml(),dataTextField:n.dataTextField},e._dataItem)))},_renderEditHeader:function(){var e=this,a=m.styles,n=e.options,o=n.editTemplate?n.editTemplate:e.editTemplate;e.header.html(""),e.header.append(t.template(o)(r(!0,{},{styles:a,messages:n.messages,buttons:e._buildActionsHtml(),dataTextField:n.dataTextField},e._dataItem))),setTimeout((function(){e.header.find("input").trigger("focus")}),0),e.header.find(s+a.actions).addClass(a.disabled)},_buildActionsHtml:function(){for(var a=this,n=a.options,o=n.messages,s=n.buttons||a.defaultButtons,i=m.styles,d="<div class='"+i.actions+"'>",l=0;l<s.length;l++){var c=s[l];"string"==typeof(c=e.isPlainObject(c)&&1===Object.keys(c).length&&c.name?c.name:c)?c=r(!0,{},a.builtinButtons[c]||{spriteCssClass:c,command:c+"Command"},{text:o[c]||c}):e.isPlainObject(c)&&c.name&&(c=r(!0,c,{text:o[c.name]})),a._validateRules(c)&&(c.spriteCssClass=c.spriteCssClass||"",d+=t.template(a.actionButton)(r(!0,{},{styles:i,options:!1},c)))}return d+="</div>"},_validateRules:function(e){var t=this.options.states,a=e.rules?e.rules.split(";"):[];if(!a.length)return!0;for(var n=0;n<a.length;n++)if(!t[a[n]])return!1;return!0},_actionClick:function(a){var n=e(a.target).closest("["+t.attr("command")+"]"),o=n.attr(t.attr("command")),s=n.attr(t.attr("options"));s="string"==typeof s?{value:s}:s,o&&this.trigger(l,{command:o,options:r({target:n},s)})},_textboxBlur:function(a){var n=e(a.target).closest("["+t.attr("command")+"]"),o=n.attr(t.attr("command")),s=n.attr(t.attr("options"));s="string"==typeof s?{value:s}:s,o&&this.trigger(l,{command:o,options:r({target:n},s)})},_attachEvents:function(){var e=this;e.header.on(d+i,s+m.styles.actionButton,e._actionClick.bind(e)),e.header.on("blur"+i,s+m.styles.input,e._textboxBlur.bind(e)),e.header.on("keyup"+i,s+m.styles.input,(function(a){a.keyCode===t.keys.ENTER&&e._textboxBlur(a)})),e.container&&(e.container.on(d+i,s+m.styles.card+" ["+t.attr("command")+"]",e._actionClick.bind(e)),e.container.on(d+i,s+m.styles.card+" a."+m.styles.cardTitle,u))},_initSortable:function(){var t=this,n=t.options.states.isRtl?" k-rtl":"",o=t.container;t.container&&(t.sortable=new a.Sortable(o,{ignore:s+m.styles.ignoreDrag+" *",connectWith:s+t.sortableUniqueClass,filter:s+m.styles.card,hint:function(e){return e.clone().addClass(m.styles.dragHint+" "+m.styles.grabbingCursor+n).css({width:e[0].offsetWidth,height:e[0].offsetHeight})},placeholder:function(t){return e("<div></div>").addClass(m.styles.dragPlaceholder+" "+c.card).css({height:t[0].offsetHeight})},move:t._move.bind(t),start:t._start.bind(t),end:t._end.bind(t),change:t._change.bind(t)}),t.sortable.draggable.userEvents.unbind("select"),t.sortable.draggable.userEvents.bind("select",t._select.bind(t)))},_select:function(t){for(var a=m.ignoreDragSelectors,n=e(t.event.target),o=0;o<a.length;o++)if(n.is(a[o])){t.preventDefault();break}},_move:function(e){r(e,{columnElement:e.sender.element.parents(s+m.styles.element)}),this.trigger("move",e)},_start:function(e){r(e,{columnElement:e.sender.element.parents(s+m.styles.element)}),this.trigger("moveStart",e)},_end:function(e){const t={command:"MoveCardCommand",options:e};r(e,{columnElement:e.sender.element.parents(s+m.styles.element)}),this.trigger("moveEnd",e),"receive"===e.action&&e.newIndex>=0&&this.trigger(l,t)&&e.preventDefault()},_change:function(e){r(e,{columnElement:e.sender.element.parents(s+m.styles.element)}),this.trigger("change",e)},destroy:function(){var e=this;e.header.off(i),e.container.off(i),e.sortable&&e.sortable.destroy()}}),p=m.extend({_render:function(){var a=this,n=m.styles,o=e("<div class='"+n.element+"'></div>").addClass(n.newColumn).attr(t.attr("uid"),a._dataItem.uid),r=e("<div class='"+n.header+"'></div>");a.header=r.appendTo(o),a._renderEditHeader(),a.element=o}});r(t.ui,{taskboard:{Column:m,NewColumn:p}}),r(!0,t.ui.taskboard.Column,{styles:c,ignoreDragSelectors:["img"]})}(window.kendo.jQuery),function(e){var t=window.kendo,a=t.Observable,n=t.htmlEncode,o=e.extend,r=a.extend({init:function(e,t,n){var r=this;r._dataItem=t,r.resources=n,r.options=o(!0,{},e),r._render(),a.fn.init.call(r)},contentTemplate:e=>`<div class="${n(e.styles.header)} ${n(e.styles.hbox)}"><a class="${n(e.styles.title)} ${n(e.styles.link)}" href="#" ${e.selectable?t.attr("command")+"=SelectCardCommand":""}>${n(t.getter(e.dataTitleField)(e))}</a><span class="${n(e.styles.spacer)}"></span>${e.cardMenuButton}</div><div class="${n(e.styles.body)}"><p>${n(t.getter(e.dataDescriptionField)(e))}</p></div>`,cardMenuButtonTemplate:({styles:e})=>`<div class="${n(e.headerActions)}"><button aria-label="menu" class="${n(e.button)} ${n(e.flatButton)} ${n(e.cardMenuButton)}">`+t.ui.icon({icon:n(e.actionsIcon),iconClass:"k-button-icon"})+"</button></div>",_render:function(){var a,n=this,s=n.options,i=r.styles,d=s.template||n.contentTemplate,l=e("<div class='"+i.element+" "+i.card+" "+i.moveCursor+"'></div>"),c=s.cardMenu?n.cardMenuButtonTemplate:"",u=n._resources(n._dataItem),m=s.states.isRtl?"borderRightColor":"borderLeftColor";l.attr(t.attr("uid"),n._dataItem.uid).attr("aria-disabled",!s.states.isDisabled).attr("role","listitem").toggleClass(i.disabled,s.states.isDisabled),(a=u[s.dataCategoryField]&&u[s.dataCategoryField].color||n._dataItem.get(s.dataCategoryField))&&l.addClass(i.categoryBorder).css(m,a),l.append(t.template(d)(o(!0,{},{styles:i,cardMenuButton:t.template(c)({styles:i}),selectable:s.states.isSelectable,resources:u,dataTitleField:s.dataTitleField,dataDescriptionField:s.dataDescriptionField},n._dataItem))),n.element=l},_resources:function(e){var a=this,n={};if(!a.resources)return n;for(var o in a.resources){var r=a.resources[o],s=r.field,i=t.getter(s)(e);if(i){r.multiple||(i=[i]);for(var d=r.dataSource.view(),l=0;l<i.length;l++){var c=null,u=i[l];r.valuePrimitive||(u=t.getter(r.dataValueField)(u));for(var m=0;m<d.length;m++)if(d[m].get(r.dataValueField)==u){c=d[m];break}if(null!==c){var p=t.getter(r.dataColorField)(c),h={field:r.field,title:r.title,name:r.name,text:t.getter(r.dataTextField)(c),value:u,color:p};r.multiple?n[r.field]?n[r.field].push(h):n[r.field]=[h]:n[r.field]=h}}}}return n},_buildTemplate:function(){var e=this,a=e.options;return t.format(e.headerTemplate,a.dataTitleField)+t.format(e.bodyTemplate,a.dataDescriptionField)}});o(t.ui.taskboard,{Card:r}),o(!0,t.ui.taskboard.Card,{styles:{element:"k-taskboard-card",card:"k-card",header:"k-card-header",hbox:"k-hbox",title:"k-card-title",link:"k-link",spacer:"k-spacer",button:"k-button",cardMenuButton:"k-taskboard-card-menu-button k-icon-button",flatButton:"k-button-md k-rounded-md k-button-flat k-button-flat-base",body:"k-card-body",actionsIcon:"more-vertical",moveCursor:"k-cursor-move",categoryBorder:"k-taskboard-card-category",headerActions:"k-card-header-actions",disabled:"k-disabled"}})}(window.kendo.jQuery),function(e){var t=window.kendo,a=e.extend,n=(t.template,t.ui.ContextMenu),o=t.htmlEncode,r="action",s=n.extend({init:function(e,t){var a=this;n.fn.init.call(a,e,t),a._overrideTemplates(),a._extendItems(),a.bind("select",a._onSelect.bind(a)),a.bind("open",a._onOpen.bind(a)),a.bind("activate",a._focus.bind(a))},_overrideTemplates:function(){this.templates.sprite=({icon:e,spriteCssClass:a})=>`${e||a?t.ui.icon({icon:o(e||""),iconClass:o(a||"")}):""}`},defaultItems:{editCard:{name:"editCard",text:"Edit card",icon:"pencil",command:"EditCardCommand",rules:"isEditable"},deleteCard:{name:"deleteCard",text:"Delete card",icon:"trash",command:"DeleteCardCommand",rules:"isEditable"}},events:n.fn.events.concat([r]),_extendItems:function(){var t,a=this,n=a.options.items;if(n&&n.length)for(var o=0;o<n.length;o++)t=n[o],e.isPlainObject(t)&&1===Object.keys(t).length&&t.name&&(t=t.name),e.isPlainObject(t)?a._append(t):a.defaultItems[t]?(t=a.defaultItems[t],a._append(t)):"string"==typeof t&&(t={name:t,text:t,spriteCssClass:t,command:t+"Command"},a._append(t));else for(var r in a.defaultItems)t=a.defaultItems[r],a._append(t)},_append:function(e){var t=this;t._extendItem(e),t._validateRules(e)&&t.append(e)},_extendItem:function(e){var n=this.options.messages,o={};o[t.attr("command")]=e.command,e.options&&(o[t.attr("options")]=e.options),a(e,{text:n[e.name],icon:e.icon||"",spriteCssClass:e.spriteCssClass||"",attr:o,uid:t.guid()})},_validateRules:function(e){var t=this.options.states,a=e.rules?e.rules.split(";"):[];if(!a.length)return!0;for(var n=0;n<a.length;n++)if(!t[a[n]])return!1;return!0},_onSelect:function(n){var o=e(n.item).attr(t.attr("command")),r=e(n.item).attr(t.attr("options")),s=e(n.target);r="string"==typeof r?{value:r}:r,o&&this.action({command:o,options:a({target:s},r)})},_onOpen:function(t){!t.sender.options.items&&e.isEmptyObject(this.defaultItems)&&t.preventDefault()},_focus:function(e){e.sender&&e.sender.element.trigger("focus")},action:function(e){this.trigger(r,e)}});a(t.ui.taskboard,{CardMenu:s})}(window.kendo.jQuery),function(e){var t=window.kendo,a=e.extend,n=e.isPlainObject,o=t.Class.extend({init:function(e){this.options=e,this.taskboard=e.taskboard},_confirm:function(t,o,r,s){var i,d=this.taskboard.options;if(n(d.editable)&&!1===d.editable.confirmation){var l=e.Deferred();return l.resolve(),l}return(i=e("<div></div>").kendoConfirm(a({},{title:t,content:o,messages:{okText:r,cancel:s},buttonLayout:"normal"})).data("kendoConfirm")).open(),setTimeout((function(){i.element.trigger("focus")})),i.result}}),r=o.extend({exec:function(){var e=this.taskboard;e.trigger("editColumn",{column:null})||(e.columns().each((function(t,a){e.enableByColumn(a,!1)})),e.addColumn())}}),s=o.extend({exec:function(){var e=this.options,t=this.taskboard;t.trigger("editColumn",{column:e.column})||(t.columns().each((function(e,a){t.enableByColumn(a,!1)})),t.editColumn(e.columnElement))}}),i=o.extend({exec:function(){var e=this,t=e.options,a=e.taskboard,n=a.options.messages,o=a.columnsDataSource;e._confirm(n.deleteColumn,n.deleteColumnConfirm,n.delete,n.cancel).done((function(){a.trigger("deleteColumn",{column:t.column})?a.dataSource.cancelChanges():(o.remove(t.column),o.sync())}))}}),d=o.extend({exec:function(){var e=this.options,t=this.taskboard,a=t.options.columnSettings,n=t.columnsDataSource,o=e.column,r=e.target.val();t.trigger("saveColumn",{column:e.column})?t.dataSource.cancelChanges():(o.set(a.dataTextField,r),n.sync())}}),l=o.extend({exec:function(){this.taskboard.columnsDataSource.cancelChanges()}}),c=o.extend({exec:function(){var e,t,a=this,n=a.taskboard,o=a.options,r=o.cardElement,s=o.columnElement,i=n.columns(),d=s.index(),l=o.value;switch(l){case"left":e=Math.max(0,d-1);break;case"right":e=Math.min(i.length-1,d+1);break;default:e=d}a.columns=i,a.columnIndex=e,a.column=t=n._getColumnByElement(i.eq(e)),a.cards=t.cards(),r?a._moveFromCardFocus(l,r):s&&"down"===l?a.cards.eq(0).trigger("focus"):i.eq(e).trigger("focus")},_moveFromCardFocus:function(e,t){var a,n,o=this,r=t.index(),s=!1;switch(e){case"up":n=r-1;break;case"down":n=r+1;break;default:s=!0,n=r}!(a=o.cards.eq(n)).length&&s&&(a=o._getFocusableCard(n,e)),n>=0?a.trigger("focus"):o.options.columnElement.focus()},_getFocusableCard:function(e,t){var a=this,n=a.cards.length-1,o=a.cards.eq(Math.min(e,n));if(o.length)return o;if(!(a.columnIndex<=0||a.columnIndex>=a.columns.length-1)){switch(t){case"left":a.columnIndex=Math.max(0,a.columnIndex-1);break;case"right":a.columnIndex=Math.min(a.columns.length-1,a.columnIndex+1)}return a.column=a.taskboard._getColumnByElement(a.columns.eq(a.columnIndex)),a.cards=a.column.cards(),a._getFocusableCard(e,t)}}}),u=o.extend({_updateOrder:function(e,t){var a,n=this.taskboard,o=n.options.dataOrderField,r=this.options,s=r.card,i=r.cardElement?r.cardElement.index():e.cards().length,d=t,l=e.cards().map((function(e,t){return n.dataItem(t)})),c=l[i-1];s.set(o,d),c&&c.get(o)>=s.get(o)&&s.set(o,c.get(o)+1);for(var u=d+1;u<l.length&&(a=l[u]).get(o)<=s.get(o);u++)a.set(o,s.get(o)+1),s=a}}),m=o.extend({exec:function(){var e=this.taskboard,t=this.options.cardElement;e._select(t,!0),t.focus()}}),p=u.extend({exec:function(){var t=this,a=t.taskboard,n=a.options,o=t.options,r=o.card.get(n.dataStatusField),s=a._getColumn(r),i=e(document.activeElement);i.length&&i.trigger("change"),a.pane&&a.pane.form&&!a.pane.form.validate()||(a.trigger("saveCard",{card:o.card})?a.dataSource.cancelChanges():(s&&n.dataOrderField&&t._updateOrder(s,o.card.get(n.dataOrderField)),a.dataSource.sync().then((function(){a.columns().eq(0).trigger("focus")}))))}}),h=o.extend({exec:function(){var e=this,t=e.taskboard,a=t.options.messages,n=e.options;e._confirm(a.deleteCard,a.deleteCardConfirm,a.delete,a.cancel).done((function(){t.trigger("deleteCard",{card:n.card})?t.dataSource.cancelChanges():(t.dataSource.remove(n.card),t.dataSource.sync().then((function(){t.columns().eq(0).trigger("focus")})))})).fail((function(){n.cardElement.trigger("focus")}))}}),g=u.extend({exec:function(){var e=this,t=e.taskboard,a=t.options,n=a.columnSettings,o=e.options,r=o.column.get(n.dataStatusField);o.card.set(a.dataStatusField,r),a.dataOrderField&&e._updateOrder(t._getColumn(r),o.newIndex),t.dataSource.sync()}}),f=o.extend({exec:function(){var e=this.taskboard,t=this.options;e.trigger("editCard",{card:t.card})||e._openPane(a({pane:"Edit"},t))}}),b=o.extend({exec:function(){var e=this.taskboard,t=this.options;e.trigger("editCard",{card:null})||(e.dataSource.cancelChanges(),e._openPane(a({pane:"Create"},t)))}}),C=o.extend({exec:function(){var e=this.options;this.taskboard._openPane({pane:e.value,card:e.card,cardElement:e.cardElement,column:e.column,columnElement:e.columnElement})}}),v=o.extend({exec:function(){var e=this.taskboard;e._closePane(),e.dataSource.cancelChanges()}}),k=o.extend({exec:function(){var e,t=this,a=t.options.value,n=t.taskboard,o=n.options,r=o.search,s=r.operator,i=r&&r.fields||[o.dataTitleField,o.dataDescriptionField];e=t._buildFilters(i,s,a),n.dataSource.filter(e)},_buildFilters:function(e,t,a){return{logic:"or",filters:e.map((function(e){return{field:e,operator:t,value:a}}))}}});a(t.ui.taskboard,{Command:o,commands:{AddColumnCommand:r,EditColumnCommand:s,DeleteColumnCommand:i,SaveColumnCommand:d,CancelEditColumnCommand:l,OpenPaneCommand:C,ClosePaneCommand:v,SelectCardCommand:m,MoveFocusCommand:c,SaveChangesCommand:p,DeleteCardCommand:h,MoveCardCommand:g,EditCardCommand:f,AddCardCommand:b,SearchCommand:k}})}(window.kendo.jQuery),function(e){var t=window.kendo,a=e.extend,n=t.Observable,o=t.htmlEncode,r=t.ui.Form,s=".kendoTaskBoardPane",i=n.extend({init:function(e,o,r,i){var d=this;d.taskboard=e,d._dataItem=r,d.resources=i,d.options=a(!0,{},o),d._render(),d.element.on("click"+s,"["+t.attr("command")+"]",d._commandClick.bind(d)),n.fn.init.call(d)},headerTemplate:({styles:e,messages:a,fieldFormat:n})=>`<div class="${o(e.headerText)}">${n}</div><span class="${o(e.spacer)}"></span><div class="${o(e.headerActions)}">`+t.html.renderButton(`<button title="${o(a.close)}" ${o(t.attr("command"))}="ClosePaneCommand"></button>`,{icon:"x",iconClass:"k-button-icon",fillMode:"flat"})+"</div>",buttonTemplate:({styles:e,icon:a,spriteCssClass:n,text:r,fillMode:s,themeColor:i,command:d,options:l})=>t.html.renderButton(`<button title="${o(r)}" ${o(t.attr("command"))}="${o(d)}" ${o(t.attr("options"))}="${o(l)}">${o(r)}</button>`,{icon:o(a),iconClass:`k-button-icon ${o(n)}`,fillMode:s,themeColor:i}),contentTemplate:()=>"",builtinButtons:{edit:{name:"edit",icon:"pencil",text:"Edit",themeColor:"primary",command:"EditCardCommand",rules:"isEditable"},delete:{name:"delete",icon:"trash",text:"Delete",command:"DeleteCardCommand",rules:"isEditable",fillMode:"flat",themeColor:"primary"},cancel:{name:"cancel",icon:"cancel-outline",text:"Cancel",command:"ClosePaneCommand"},saveChanges:{name:"saveChanges",icon:"save",text:"Save",command:"SaveChangesCommand",themeColor:"primary",rules:"isEditable"},create:{name:"create",icon:"save",text:"Create",command:"SaveChangesCommand",themeColor:"primary",rules:"isEditable"}},defaultButtons:[],_render:function(){var t=this,a=i.styles,n=e("<div class='"+a.element+"'></div>"),o=e("<div class='"+a.header+"'></div>"),r=e("<div class='"+a.content+"'></div>"),s=e("<div class='"+a.footerActions+" "+a.footerActionButtons+"'></div>");t.header=o.appendTo(n),t._renderHeader(),t.content=r.appendTo(n),t._renderContent(),t.buttonsContainer=s.appendTo(n),t.buttonsContainer.append(t._buildButtonsHtml()),t.element=n},_renderHeader:function(){var e=this,n=i.styles,o=e.options,r=o.messages,s=o.headerTemplate?o.headerTemplate:e.headerTemplate,d=e._resources(e._dataItem);e.header.append(t.template(s)(a(!0,{},{styles:n,messages:r,resources:d,fieldFormat:e._buildHeaderTemplate(e._dataItem)},e._dataItem)))},_buildHeaderTemplate:function(e){return o(t.getter(this.options.dataTitleField)(e))},_renderContent:function(){var e=this,n=i.styles,o=e.options,r=o.messages,s=o.template||e.contentTemplate,d=e._resources(e._dataItem);e.content.append(t.template(s)(a(!0,{},{styles:n,messages:r,resources:d},e._dataItem)))},_resources:function(e){var a=this,n={};if(!a.resources)return n;for(var o in a.resources){var r=a.resources[o],s=r.field,i=t.getter(s)(e);if(i){r.multiple||(i=[i]);for(var d=r.dataSource.view(),l=0;l<i.length;l++){var c=null,u=i[l];r.valuePrimitive||(u=t.getter(r.dataValueField)(u));for(var m=0;m<d.length;m++)if(d[m].get(r.dataValueField)==u){c=d[m];break}if(null!==c){var p=t.getter(r.dataColorField)(c),h={field:r.field,title:r.title,name:r.name,text:t.getter(r.dataTextField)(c),value:u,color:p};r.multiple?n[r.field]?n[r.field].push(h):n[r.field]=[h]:n[r.field]=h}}}}return n},_buildButtonsHtml:function(){for(var n=this,o=n.options,r=o.messages,s=o.buttons||n.defaultButtons,d=i.styles,l="",c=0;c<s.length;c++){var u=s[c];if("string"==typeof(u=e.isPlainObject(u)&&1===Object.keys(u).length&&u.name?u.name:u)){if("spacer"===u){l+='<span class="k-spacer"></span>';continue}u=a(!0,{},n.builtinButtons[u]||{spriteCssClass:u,command:u+"Command"},{text:r[u]||u})}else e.isPlainObject(u)&&u.name&&(u=a(!0,u,{text:r[u.name]}));n._validateRules(u)&&(u.spriteCssClass=u.spriteCssClass||"",l+=t.template(n.buttonTemplate)(a(!0,{},{styles:d,messages:r,primary:!1,options:null},u)))}return l},_commandClick:function(n){var o=e(n.target).closest("["+t.attr("command")+"]"),r=o.attr(t.attr("command")),s=o.attr(t.attr("options")),i=this._dataItem;s="string"==typeof s?{value:s}:s,r&&this.trigger("action",{command:r,options:a({card:i},s)})},_validateRules:function(e){var t=this.options.states,a=e.rules?e.rules.split(";"):[];if(!a.length)return!0;for(var n=0;n<a.length;n++)if(!t[a[n]])return!1;return!0},destroy:function(){this.element.off(s),this.element.remove()}}),d=i.extend({init:function(e,n,r,s){var d=this;n=a({},n.previewPane,{dataTitleField:n.dataTitleField,dataDescriptionField:n.dataDescriptionField,messages:n.messages,states:n.states}),d.contentTemplate=e=>o(t.getter(n.dataDescriptionField)(e)),i.fn.init.call(d,e,n,r,s),d.element.addClass(i.styles.preview)},defaultButtons:["edit","spacer","delete"]}),l=i.extend({init:function(e,t,n){var o=this;t=a({},t.editable,{dataTitleField:t.dataTitleField,dataDescriptionField:t.dataDescriptionField,messages:t.messages,states:t.states}),o.formSettings=a(o.formSettings,{items:[{field:t.dataTitleField,label:t.messages[t.dataTitleField]},{field:t.dataDescriptionField,label:t.messages[t.dataDescriptionField]}]},t.form),i.fn.init.call(o,e,t,n),o.element.addClass(i.styles.edit)},defaultButtons:["saveChanges","cancel"],formSettings:{buttonsTemplate:()=>""},_buildHeaderTemplate:function(e){return`${this.options.messages.edit} ${o(t.getter(this.options.dataTitleField)(e))}`},_renderContent:function(){var n=this,o=n.options,s=i.styles,d=o.form||n.formSettings,l=t.guid(),c=e("<div></div>").attr("role","form").attr("aria-labelledby",l),u=!o.form||undefined===o.form.focusFirst||o.form.focusFirst;n.header.find("."+s.headerText).attr("id",l),n.content.append(c),n.form=new r(c,a({},d,{formData:n._dataItem,focusFirst:u}))}}),c=l.extend({init:function(e,t,n,o,r){var s=t.columnSettings.dataStatusField,i=e.columnsDataSource.view().at(0),d=r?r[s]:i[s],c=a({},n);for(var u in(n=e.dataSource.add()).set(t.dataStatusField,d),c)n.set(u,c[u]);l.fn.init.call(this,e,t,n,o)},_buildHeaderTemplate:function(e){return this.options.messages.createNewCard},defaultButtons:["create","cancel"]});a(t.ui.taskboard,{Pane:i,panes:{Preview:d,Edit:l,Create:c}}),a(!0,t.ui.taskboard.Pane,{styles:{element:"k-taskboard-pane",edit:"k-taskboard-edit-pane",preview:"k-taskboard-preview-pane",header:"k-taskboard-pane-header",headerText:"k-taskboard-pane-header-text",spacer:"k-spacer",headerActions:"k-taskboard-pane-header-actions",content:"k-taskboard-pane-content",footerActions:"k-taskboard-pane-actions",footerActionButtons:"k-actions k-hstack k-justify-content-start",baseButton:"k-button-solid-base",primaryButton:"k-button-solid-primary"}})}(window.kendo.jQuery),function(e){var t=window.kendo,a=t.Observable,n=e.extend,o=".kendoKeyboardManager",r=a.extend({init:function(e){var t=this;t.register={},t.element=e,t._attachEvents(),a.fn.init.call(t)},registerShortcut:function(e,t,a){var o=this;o.register[e]||(o.register[e]=[]),t.keyCode&&isNaN(t.keyCode)&&t.keyCode.toUpperCase&&(t.keyCode=t.keyCode.toUpperCase().charCodeAt(0)),o.register[e].push({shortcut:n({keyCode:null,ctrlKey:!1,shiftKey:!1,altKey:!1},t),options:a})},_attachEvents:function(){var e=this,t=e._handler.bind(e);e.element.on("keydown"+o,t)},_handler:function(t){var a,n,o=this,r=e(t.target);for(var s in o.register)if(r.is(s)&&(a=o.register[s],n=o._getAction(a,t))){o._trigger(n,t);break}},_trigger:function(t,a){var o=e(a.target);t.command&&this.trigger("action",n({},a,{command:t.command,options:n({},{target:o},t.options)})),t.handler&&t.handler(a)},_getAction:function(e,t){for(var a=0;a<e.length;a++)if(this._compareShortcut(e[a].shortcut,t))return e[a].options},_compareShortcut:function(e,t){for(var a in e){var n=!1;if("ctrlKey"===a)n=e[a]!==this._getShortcutModifier(t);else n=e[a]!==t[a];if(n)return!1}return!0},_getShortcutModifier:function(e){return navigator.platform.toUpperCase().indexOf("MAC")>=0?e.metaKey:e.ctrlKey},destroy:function(){this.element.off(o)}});n(t.ui.taskboard,{KeyboardManager:r})}(window.kendo.jQuery);var t={wrapper:"k-taskboard",header:"k-taskboard-header",content:"k-taskboard-content",toolbar:"k-taskboard-toolbar",columnsContainer:"k-taskboard-columns-container",card:"k-taskboard-card",column:"k-taskboard-column",selected:"k-selected",disabled:"k-disabled",ignoreDrag:"k-taskboard-drag-ignore"},a=function(e){e.preventDefault()};!function(e,n){var o=window.kendo,r=o.ui.Widget,s=o.data.DataSource,i=e.extend,d=o.ui,l=Array.isArray,c=e.isPlainObject,u="_generic",m=".",p="move",h="moveStart",g="moveEnd",f="select",b="execute",C="action",v="change",k="change",y="dataBinding",_="dataBound",x="columnsDataBinding",S="columnsDataBound",T=r.extend({init:function(e,t){var a=this;r.fn.init.call(a,e,t),e=a.wrapper=a.element,a._sortableIdentifier=a.element.attr("id")||o.guid(),a._wrapper(),a._columnsDataSource(),a._initResources(),a._dataSource(),a._initToolbar(),a._initCardMenu(),a._initKeyboard(),a.options.autoBind&&a.load(),o.notify(a)},events:[p,h,g,v,b,f,y,_,x,S,"editCard","saveCard","deleteCard","editColumn","saveColumn","deleteColumn"],options:{name:"TaskBoard",autoBind:!0,height:600,width:"100%",toolbar:!0,dataStatusField:"status",dataTitleField:"title",dataDescriptionField:"description",dataCategoryField:"category",dataOrderField:null,cardMenu:!0,editable:!0,selectable:!0,reorderable:!0,previewPane:!0,search:{operator:"contains"},dataSource:[],columns:[],columnSettings:{dataStatusField:"status",dataTextField:"text",dataOrderField:null},resources:[],messages:{edit:"Edit",createNewCard:"Create new card",create:"Create",search:"Search",previewCard:"Preview card",addCard:"Add card",editCard:"Edit card",deleteCard:"Delete Card",addColumn:"Add column",editColumn:"Edit column",deleteColumn:"Delete column",close:"Close",cancel:"Cancel",delete:"Delete",saveChanges:"Save changes",title:"Title:",description:"Description:",newColumn:"New column",deleteColumnConfirm:"Are you sure you want to delete this column?",deleteCardConfirm:"Are you sure you want to delete this card?"}},defaultTools:{addColumn:{type:"button",name:"addColumn",command:"AddColumnCommand",icon:"plus",rules:"isEditable"},spacer:{type:"spacer"},search:{type:"component",name:"search",command:"SearchCommand",options:'{ "field": "name", "operator": "startswith" }',rules:"isSearchable",overflow:"never",component:"TextBox",componentOptions:{placeholder:"search",icon:"search",commandOn:"input"}}},items:function(){var t=e([]);for(var a in this._columns)e.merge(t,this._columns[a].cards());return t},itemsByStatus:function(e){return this._getColumn(e).cards()},itemsByColumn:function(e){var t=this._getColumnByElement(e);if(t)return t.cards()},load:function(){var t=this,a=[];for(var n in t._progress(!0),a.push(t.columnsDataSource.fetch()),t.resources)a.push(t.resources[n].dataSource.fetch());e.when.apply(null,a).then(t.dataSource.read.bind(t.dataSource))},dataItem:function(t){var a,n=this.dataSource;return a=(t=e(t)).attr(o.attr("uid")),n.getByUid(a)},columnDataItem:function(t){var a,n=this.columnsDataSource;return a=(t=e(t)).attr(o.attr("uid")),n.getByUid(a)},columns:function(){var t=e([]);for(var a in this._columns)e.merge(t,this._columns[a].element);return t},columnByStatus:function(e){return this._getColumn(e).element},select:function(t,a){if(!t)return this.element.find(m+T.styles.card+m+T.styles.selected).eq(0);t=e(t),(a=!1!==a)&&this.element.find(m+T.styles.card+m+T.styles.selected).removeClass(T.styles.selected),t.toggleClass(T.styles.selected,a)},previewCard:function(e){var t=this,a=t.options,n=t._extendExecArgs({target:e});a.previewPane&&t._openPane(i({pane:"Preview"},n))},editCard:function(t){var a,n=this,o=n.options;t=e(t),a=n._extendExecArgs({target:t}),o.editable&&n._openPane(i({pane:"Edit"},a))},saveCard:function(){this.dataSource.sync()},deleteCard:function(e){var t=this,a=t.dataItem(e);t.dataSource.remove(a),t.dataSource.sync()},addCard:function(e){var t={card:e};this.options.editable&&this._openPane(i({pane:"Create"},t))},addColumn:function(e,t){var a,n,o,r=this,s=i(!0,{},r.options.columnSettings,{messages:r.options.messages,states:r._buildStates(),sortableIdentifier:r._sortableIdentifier});isNaN(e)&&!t&&(t=e,e=null),n=r.columnsDataSource._createNewModel(t),e=isNaN(e)||null===e?r.columnsDataSource.data().length:e,o=r.columns().eq(e),r.columnsDataSource.insert(e,n),a=new d.taskboard.NewColumn(s,n),isNaN(e)||!o.length?r.columnsContainer.append(a.element):o.before(a.element),a.bind(C,r.executeCommand.bind(r))},editColumn:function(t){t=e(t),this._getColumnByElement(t).edit()},saveColumn:function(){this.columnsDataSource.sync()},deleteColumn:function(e){var t=this,a=t.columnDataItem(e);t.columnsDataSource.remove(a),t.columnsDataSource.sync()},registerShortcut:function(e,t,a){this.keyboardManager.registerShortcut(e,t,a)},enable:function(t,a){(t=e(t)).toggleClass(T.styles.disabled,!1===a),t.attr("aria-disabled",!1===a)},enableByColumn:function(t,a){var n=this;t=e(t),n.itemsByColumn(t).each((function(e,t){n.enable(t,a)}))},readOnly:function(t,a){a=!1!==a,(t=e(t)).find("["+o.attr("command")+"]").toggleClass(T.styles.disabled,a),t.find("a,button").toggleClass(T.styles.disabled,a),t.toggleClass(T.styles.ignoreDrag,a),t.attr("aria-readonly",a)},readOnlyByColumn:function(t,a){var n=this;t=e(t),n.itemsByColumn(t).each((function(e,t){n.readOnly(t,a)}))},setDataSource:function(e){var t=this;t.options.dataSource=e,t._dataSource(),t.options.autoBind&&t.dataSource.read()},setColumnsDataSource:function(e){var t=this;t.options.columns=e,t._columnsDataSource(),t.options.autoBind&&t.columnsDataSource.fetch((function(){t._renderCards(t.dataSource.view())}))},_getColumn:function(e){return this._columns[e]},_getColumnByElement:function(t){var a=this;for(var n in t=e(t),a._columns)if(a._columns[n].element[0]===t[0])return a._columns[n]},_openPane:function(e){var t,a=this,n=new d.taskboard.panes[e.pane](a,i({},a.options,{states:a._buildStates()}),e.card,a.resources,e.column);a.pane&&a._closePane(),a.pane=n,a.content.after(a.pane.element),a.content.css("margin-right",a.pane.element.outerWidth()-parseInt(a.content.css("paddingRight"),10)),a.pane.bind(C,a.executeCommand.bind(a)),a.pane.keyboardManager=t=new d.taskboard.KeyboardManager(a.pane.element),t.bind(C,a.executeCommand.bind(a)),t.registerShortcut("*",{keyCode:o.keys.ESC},{command:"ClosePaneCommand"}),t.registerShortcut("*",{keyCode:o.keys.ENTER},{command:"SaveChangesCommand",options:{card:a.pane._dataItem}}),this.options.editable&&this.options.editable.form&&!1===this.options.editable.form.focusFirst&&setTimeout((function(){a.pane.element.find("button").eq(0).trigger("focus")}),0)},_closePane:function(){var e=this;e.pane&&(e.pane.keyboardManager.destroy(),e.pane.unbind(C),e.pane.destroy(),delete e.pane,e.content.css("margin-right",""))},_wrapper:function(){var t=this,a=t.options,n=T.styles,o="<div class='"+n.header+"'></div>",r="<div class='"+n.content+"'></div>",s="<div class='"+n.columnsContainer+"'></div>";t.element.addClass(n.wrapper).width(a.width).height(a.height).attr("role","application"),t.header=e(o).appendTo(t.element),t.content=e(r).appendTo(t.element),t.columnsContainer=e(s).appendTo(t.content)},_initToolbar:function(){var t,a=this,n=T.styles,r=a.options,s=e("<div class='"+n.toolbar+"'></div>"),i=l(r.toolbar)?{items:r.toolbar}:r.toolbar;!1!==r.toolbar&&(!0===i&&(i={}),t=i.items?i.items:Object.keys(a.defaultTools),t=a._processTools(t),i.tools=t,i.defaultTools=a.defaultTools,i.parentMessages=a.options.messages,a.header.append(s),a.toolbar=new o.ui.ToolBar(s,i),a.options.toolbar=a.toolbar.options,a.toolbar.bind("click",a._toolbarClick.bind(a)),a.toolbar.bind("toggle",a._toolbarClick.bind(a)),a.toolbar.bind(v,a._toolbarClick.bind(a)))},_processTools:function(e){var t,a=this,n=a._buildStates();return e.forEach((e=>{var o=e.rules||a.defaultTools[e]?a.defaultTools[e].rules:null;if(t=c(e)&&Object.keys(e).length>=1&&e.name&&a.defaultTools[e.name]){var r=i({},e);i(e,a.defaultTools[e.name],r)}if(t&&"search"==e.name&&i(e.componentOptions,{icon:e.icon||a.defaultTools[e.name].componentOptions.icon,placeholder:e.text||a.options.messages.search}),o&&(o=o.split(";")).length)for(var s=0;s<o.length;s++)n[o[s]]||(e.rules?e.hidden=!0:a.defaultTools[e].hidden=!0)})),e},_toolbarClick:function(t){var a=e(t.target).data("command"),n=e(t.target).data("options");n=i({},n,{value:e(t.target).val()}),a&&this.executeCommand({command:a,options:n})},_isToolEnabled:function(e){for(var t=this.options.toolbar.items||this.defaultTools,a=!1,n=0;n<t.length;n++)if(t[n].name==e){a=!0;break}return t[e]||a},_buildStates:function(){var e=this;return{isEditable:e._isEditable(),isReorderable:e._isReorderable(),isSelectable:e._isSelectable(),isReadOnly:!e._isReorderable()&&!e._isEditable(),isDisabled:!e._isReorderable()&&!e._isEditable()&&!e._isSelectable(),isSearchable:e._isSearchable(),notLocalColumns:!(e.columnsDataSource.transport instanceof o.data.LocalTransport),isRtl:o.support.isRtl(e.wrapper)}},_isSearchable:function(){return!!this.options.search},_isEditable:function(){return!!this.options.editable},_isReorderable:function(){return!!this.options.reorderable},_isSelectable:function(){return!!this.options.selectable},executeCommand:function(e){var t=e.command,a=i({taskboard:this},c(e.options)?this._extendExecArgs(e.options):{value:e.options}),n=d.taskboard.commands[t]&&new d.taskboard.commands[t](a);this.trigger(b,e)||(n?n.exec():window.console.warn(o.format("Trying to use {0} command, but such is not available in the kendo.ui.taskboard.commands namespace!",t)))},_extendExecArgs:function(t){var a,r,s,d,l=this,c=t.draggableEvent?t.item:t.target;return t.card&&(c=l.items().filter((function(a,n){return e(n).attr(o.attr("uid"))===t.card.get("uid")}))),c&&c&&c.length?(a=t.columnElement||(c.is(m+T.styles.column)?c:c.parents(m+T.styles.column)),s=l.columnsDataSource.getByUid(a.data(o.ns+"uid")),r=c.is(m+T.styles.card)?c:c.closest(m+T.styles.card),d=l.dataSource.getByUid(r.data(o.ns+"uid")),i(t,{card:d,cardElement:r.length?r:n,column:s,columnElement:a.length?a:n})):t},_select:function(e,t){var a=this;null===t&&(t=!0),a.trigger(f,{card:e})||(a.select(e,t),a.previewCard(e))},_columnsDataSource:function(){var e=this,t=e.options,a=t.columnSettings,n=t.columns;if(n=l(n)?{data:n}:n,a.dataOrderField&&!n.sort&&(n.sort={field:a.dataOrderField,dir:"asc"}),!n.schema){var r={};r[a.dataStatusField]={type:"string",defaultValue:function(){return o.guid().split("-")[0]}},r[a.dataTextField]={type:"string"},a.dataOrderField&&(r[a.dataOrderField]={type:"number"}),n.schema={model:{fields:r}}}e.columnsDataSource&&e._columnsChangeHandler?(e.columnsDataSource.unbind(v,e._columnsChangeHandler),e.columnsDataSource.unbind(v,e._columnsErrorHandler)):(e._columnsChangeHandler=e._columnsDataSourceChange.bind(e),e._columnsErrorHandler=e._error.bind(e)),e.columnsDataSource=s.create(n).bind(v,e._columnsChangeHandler).bind(k,e._columnsErrorHandler)},_columnsDataSourceChange:function(e){var t=this,a=t.columnsDataSource.view(),o=i(!0,{},t.options.columnSettings,{messages:t.options.messages,states:t._buildStates(),sortableIdentifier:t._sortableIdentifier}),r=o.dataStatusField;if(!(e.action&&"sync"!==e.action||t.trigger(x,e))){t._progress(!0),t._columns={},t.columnsContainer.html("");for(var s=0;s<a.length;s++){var l,c=a[s],m=c[r]||u;l=t._columns[m]=new d.taskboard.Column(o,c),t.columnsContainer.append(l.element),l.bind(C,t.executeCommand.bind(t)),l.bind(p,t._move.bind(t)),l.bind(g,t._moveEnd.bind(t)),l.bind(h,t._moveStart.bind(t)),l.bind(v,t._changeOrder.bind(t)),t._tabindex(l.element)}"sync"!==e.action&&e.action!==n||t._renderCards(t.dataSource.view()),t._progress(!1),t.trigger(S,e)}},_move:function(e){this.trigger(p,this._extendExecArgs(e))},_moveEnd:function(e){this.trigger(g,this._extendExecArgs(e))},_moveStart:function(e){this.trigger(h,this._extendExecArgs(e))},_changeOrder:function(e){this.trigger(v,this._extendExecArgs(e))},_dataSource:function(){var e=this,t=e.options,a=t.dataSource;if(a=l(a)?{data:a}:a,t.dataOrderField&&!a.sort&&(a.sort={field:t.dataOrderField,dir:"asc"}),!a.schema){var n={};n[t.dataStatusField]={type:"string"},n[t.dataTitleField]={type:"string"},n[t.dataDescriptionField]={type:"string"},n[t.dataCategoryField]={type:"string"},t.dataOrderField&&(n[t.dataOrderField]={type:"number"}),a.schema={model:{fields:n}}}e.dataSource&&e._changeHandler?(e.dataSource.unbind(v,e._changeHandler),e.dataSource.unbind(k,e._errorHandler)):(e._changeHandler=e._change.bind(e),e._errorHandler=e._error.bind(e)),e.dataSource=s.create(a).bind(v,e._changeHandler)},_change:function(e){var t=this;e.action&&"sync"!==e.action||t.trigger(y,e)||(t._progress(!0),t._clearColumns(),t._renderCards(t.dataSource.view()),t._closePane(),t.trigger(_,e),t._progress(!1))},_error:function(){this._progress(!1)},_renderCards:function(e){for(var t=0;t<e.length;t++)this._renderCard(e[t])},_renderCard:function(e){var t=this,a=i({},t.options,{states:t._buildStates()}),n=e[a.dataStatusField]||u;n&&t._columns[n]&&(e=new d.taskboard.Card(a,e,t.resources),t._columns[n].addCard(e.element),t._tabindex(e.element))},_clearColumns:function(){for(var e in this._columns)this._columns[e].empty()},_initCardMenu:function(){var e=this,t=e.options,a=l(t.cardMenu)?{items:t.cardMenu}:t.cardMenu;a=i({},{messages:t.messages,target:e.columnsContainer,filter:".k-taskboard-card-menu-button",action:e.executeCommand.bind(e),showOn:"click",alignToAnchor:!0,states:e._buildStates()},a),!1!==t.cardMenu&&(e.cardMenu=new d.taskboard.CardMenu("<ul></ul>",a))},_initResources:function(){for(var e=this.options.resources,t=0;t<e.length;t++)this._addResource(e[t])},_addResource:function(e){var t=this;t.resources||(t.resources={}),t.resources[e.field]={field:e.field,name:e.name,title:e.title||e.field,dataTextField:e.dataTextField||"text",dataValueField:e.dataValueField||"value",dataColorField:e.dataColorField||"color",valuePrimitive:!1!==e.valuePrimitive,multiple:e.multiple||!1,dataSource:t._resourceDataSource(e.dataSource)}},_resourceDataSource:function(e){var t=l(e)?{data:e}:e;return o.data.DataSource.create(t)},_progress:function(e){o.ui.progress(this.element,e)},_initKeyboard:function(){var e=this;e.keyboardManager=new d.taskboard.KeyboardManager(e.element),e.keyboardManager.bind(C,e.executeCommand.bind(e)),e._registerShortcuts()},_registerShortcuts:function(){var e=this,t=e._buildStates();t.isEditable&&(e.keyboardManager.registerShortcut(m+T.styles.column,{keyCode:o.keys.DELETE},{command:"DeleteColumnCommand"}),e.keyboardManager.registerShortcut(m+T.styles.column,{keyCode:"e",ctrlKey:!0},{command:"EditColumnCommand",handler:a}),e.keyboardManager.registerShortcut(m+T.styles.column,{keyCode:"a",ctrlKey:!0},{command:"AddCardCommand",handler:a}),e.keyboardManager.registerShortcut(m+T.styles.column+" *",{keyCode:o.keys.ESC},{command:"CancelEditColumnCommand"}),e.keyboardManager.registerShortcut(m+T.styles.card,{keyCode:o.keys.DELETE},{command:"DeleteCardCommand"}),e.keyboardManager.registerShortcut(m+T.styles.card,{keyCode:"e",ctrlKey:!0},{command:"EditCardCommand",handler:a})),t.isSelectable&&e.keyboardManager.registerShortcut(m+T.styles.card,{keyCode:o.keys.ENTER},{command:"SelectCardCommand",handler:a}),e.keyboardManager.registerShortcut(m+T.styles.card,{keyCode:o.keys.UP},{command:"MoveFocusCommand",options:{value:"up"},handler:a}),e.keyboardManager.registerShortcut(m+T.styles.card,{keyCode:o.keys.DOWN},{command:"MoveFocusCommand",options:{value:"down"},handler:a}),e.keyboardManager.registerShortcut(m+T.styles.card,{keyCode:o.keys.LEFT},{command:"MoveFocusCommand",options:{value:"left"},handler:a}),e.keyboardManager.registerShortcut(m+T.styles.card,{keyCode:o.keys.RIGHT},{command:"MoveFocusCommand",options:{value:"right"},handler:a}),e.keyboardManager.registerShortcut(m+T.styles.column,{keyCode:o.keys.LEFT},{command:"MoveFocusCommand",options:{value:"left"},handler:a}),e.keyboardManager.registerShortcut(m+T.styles.column,{keyCode:o.keys.RIGHT},{command:"MoveFocusCommand",options:{value:"right"},handler:a}),e.keyboardManager.registerShortcut(m+T.styles.column,{keyCode:o.keys.DOWN},{command:"MoveFocusCommand",options:{value:"down"},handler:a})},destroy:function(){var e=this;for(var t in e._columnsChangeHandler&&(e.columnsDataSource.unbind(v,e._columnsChangeHandler),e.columnsDataSource.unbind(v,e._columnsErrorHandler)),e._changeHandler&&(e.dataSource.unbind(v,e._changeHandler),e.dataSource.unbind(k,e._errorHandler)),e._columns)e._columns[t].destroy();e.toolbar&&e.toolbar.destroy(),e.cardMenu&&e.cardMenu.destroy(),e.keyboardManager&&e.keyboardManager.destroy(),e.pane&&e._closePane(),r.fn.destroy.call(e)}});o.ui.plugin(T),i(!0,T,{styles:t})}(window.kendo.jQuery);var n=kendo;e.__meta__={id:"taskboard",name:"TaskBoard",category:"web",description:"The TaskBoard widget displays cards.",depends:["data","sortable","dialog","form","menu","toolbar","textbox"]},e.default=n,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.taskboard.min.js.map