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