{"version":3,"file":"kendo.taskboard.min.js","names":["factory","define","amd","$","kendo","extend","ToolBar","Item","ACTION","CHANGE","NS","TaskBoardToolBar","SearchTool","window","jQuery","ui","toolbar","init","element","options","that","this","_extendOptions","fn","call","_attachEvents","events","concat","defaultTools","addColumn","type","text","name","command","icon","rules","spacer","search","overflow","bind","_click","_change","tools","items","Object","keys","navigateOnTab","_extendToolsOptions","messages","length","map","tool","toolOptions","attr","isPlainObject","_validateRules","deepExtend","id","guid","attributes","title","buttons","_mapButtonGroups","menuButtons","_mapMenuButtons","hidden","button","states","split","i","ev","target","action","value","val","isToolEnabled","toolName","found","args","trigger","destroy","styles","searchbox","searchInputIcon","input","searchInput","renderIcon","addUidAttr","addIdAttr","addOverflowAttr","placeholder","append","_bindEvents","addClass","searchIcon","_inputHandler","_input","on","off","registerComponent","taskboard","undefined$1","Observable","DOT","CLICK","preventDefault","TaskBoardColumn","dataItem","_dataItem","sortableUniqueClass","sortableIdentifier","sortableSuffix","_render","isReorderable","_initSortable","empty","container","addCard","cardHtml","edit","editColumn","_renderEditHeader","getDataItem","cards","children","template","editTemplate","actionButton","builtinButtons","deleteColumn","defaultButtons","headerLabelId","uid","css","width","header","cardsContainer","columnCards","appendTo","_renderHeader","format","dataTextField","_buildActionsHtml","html","setTimeout","find","actions","disabled","spriteCssClass","_actionClick","closest","_textboxBlur","keyCode","ENTER","card","cardTitle","dirClass","isRtl","sortable","Sortable","ignore","ignoreDrag","connectWith","filter","hint","clone","dragHint","grabbingCursor","offsetWidth","height","offsetHeight","dragPlaceholder","move","_move","start","_start","end","_end","change","draggable","userEvents","unbind","_select","ignoreDragSelectors","event","is","columnElement","sender","parents","newIndex","oldIndex","TaskBoardNewColumn","newColumn","Column","NewColumn","headerText","ellipsis","textbox","TaskBoardCard","resources","headerTemplate","bodyTemplate","cardMenuButtonTemplate","categoryColor","_buildTemplate","moveCursor","cardMenu","_resources","borderDir","isDisabled","toggleClass","dataCategoryField","color","get","categoryBorder","cardMenuButton","selectable","isSelectable","key","resource","field","cardResources","getter","multiple","data","dataSource","view","resourceIndex","cardResource","valuePrimitive","dataValueField","dataIndex","resourceColor","dataColorField","result","push","dataTitleField","dataDescriptionField","Card","hbox","link","flatButton","body","actionsIcon","headerActions","ContextMenu","TaskBoardCardMenu","_overrideTemplates","_extendItems","_onSelect","_onOpen","_focus","templates","sprite","defaultItems","editCard","deleteCard","item","_append","_extendItem","isEmptyObject","CardMenu","TaskBoardCommand","Class","_confirm","content","okText","cancel","confirm","taskboardOptions","editable","confirmation","fakePromise","Deferred","resolve","kendoConfirm","buttonLayout","open","AddColumnCommand","exec","column","columns","each","index","enableByColumn","EditColumnCommand","DeleteColumnCommand","columnDS","columnsDataSource","deleteColumnConfirm","done","cancelChanges","remove","sync","SaveColumnCommand","columnSettings","set","CancelEditColumnCommand","MoveFocusCommand","columnIndex","cardElement","currentColumnIndex","direction","Math","max","min","_getColumnByElement","eq","_moveFromCardFocus","focusCard","currentIndex","seekFocusableCard","_getFocusableCard","focus","lastIndex","focusable","TaskBoardBaseCardCommand","_updateOrder","nextCard","dataOrderField","currentCard","cardIndex","idx","prevCard","SelectCardCommand","SaveChangesCommand","taskBoardOptions","receivedStatus","dataStatusField","targetColumn","_getColumn","activeElm","document","activeElement","pane","form","validate","then","DeleteCardCommand","deleteCardConfirm","fail","MoveCardCommand","EditCardCommand","_openPane","AddCardCommand","OpenPaneCommand","ClosePaneCommand","_closePane","SearchCommand","filters","searchOptions","operator","fields","_buildFilters","logic","Command","commands","Form","TaskBoardPane","_commandClick","buttonTemplate","contentTemplate","primary","delete","saveChanges","create","buttonsContainer","footerActions","footerActionButtons","_renderContent","_buildButtonsHtml","_buildHeaderTemplate","TaskBoardPreviewPane","previewPane","_contentTemplate","preview","TaskBoardEditPane","formSettings","label","buttonsTemplate","formLabelId","formData","TaskBoardCreatePane","columnStatusField","firstColumn","at","status","add","createNewCard","Pane","panes","Preview","Edit","Create","footerButton","baseButton","primaryButton","Keyboard","register","registerShortcut","selector","shortcut","isNaN","toUpperCase","charCodeAt","ctrlKey","shiftKey","altKey","handler","_handler","shortcuts","_getAction","_trigger","_compareShortcut","_getShortcutModifier","navigator","platform","indexOf","metaKey","KeyboardManager","TaskBoardStyles","wrapper","columnsContainer","selected","Widget","DataSource","isArray","Array","GENERIC","MOVE","MOVE_START","MOVE_END","SELECT","EXECUTE","ERROR","DATABINDING","DATABOUND","COLUMNSDATABINDING","COLUMNSDATABOUND","TaskBoard","_sortableIdentifier","_wrapper","_columnsDataSource","_initResources","_dataSource","_initToolbar","_initCardMenu","_initKeyboard","autoBind","load","notify","reorderable","previewCard","close","description","_columns","merge","itemsByStatus","itemsByColumn","columnElm","fetchPromises","_progress","fetch","when","apply","read","cardElm","getByUid","columnDataItem","columnByStatus","select","toggle","removeClass","_extendExecArgs","saveCard","model","_buildStates","_createNewModel","insert","before","executeCommand","saveColumn","keyboardManager","enable","readOnly","readOnlyByColumn","setDataSource","setColumnsDataSource","_renderCards","focusableElement","after","outerWidth","parseInt","ESC","headerElm","contentElm","colsContainer","toolbarElm","toolbarOptions","isEditable","_isEditable","_isReorderable","_isSelectable","isReadOnly","isSearchable","_isSearchable","notLocalColumns","transport","LocalTransport","support","commandName","commandOptions","console","warn","cardDataItem","draggableEvent","elm","ns","sort","dir","schema","defaultValue","_columnsChangeHandler","_columnsErrorHandler","_columnsDataSourceChange","_error","statusField","_moveEnd","_moveStart","_changeOrder","_tabindex","_changeHandler","_errorHandler","_clearColumns","_renderCard","cardMenuOptions","showOn","alignToAnchor","_addResource","_resourceDataSource","resourceDS","progress","_registerShortcuts","DELETE","UP","DOWN","LEFT","RIGHT","closePane","plugin"],"sources":["kendo.taskboard.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.toolbar', 'kendo.sortable', 'kendo.core', 'kendo.menu', 'kendo.dialog', 'kendo.form', 'kendo.data'], factory) :\n factory();\n})((function () {\n (function($, undefined$1) {\n var kendo = window.kendo,\n extend = $.extend,\n ToolBar = kendo.ui.ToolBar,\n Item = kendo.toolbar.Item,\n\n CLICK = \"click\",\n TOGGLE = \"toggle\",\n CLOSE = \"close\",\n ACTION = \"action\",\n CHANGE = \"change\",\n NS = \".taskBoardToolbar\";\n\n var TaskBoardToolbarStyles = {\n searchbox: \"k-searchbox k-textbox k-input k-input-md k-rounded-md k-input-solid\",\n searchIcon: \"k-input-icon k-icon k-i-search\",\n searchInput: \"k-input-inner\"\n };\n\n var TaskBoardToolBar = ToolBar.extend({\n init: function(element, options) {\n var that = this;\n\n that._extendOptions(options);\n\n ToolBar.fn.init.call(that, element, options);\n\n that._attachEvents();\n },\n\n events: ToolBar.fn.events.concat([\n ACTION\n ]),\n\n defaultTools: {\n addColumn: { type: \"button\", text: \"Add Column\", name: \"addColumn\", command: \"AddColumnCommand\", icon: \"plus\", rules: \"isEditable\" },\n spacer: { type: \"spacer\" },\n search: { type: \"TaskBoardSearch\", text: \"Search\", name: \"search\", command: \"SearchCommand\", icon: \"search\", overflow: \"never\", rules: \"isSearchable\" }\n },\n\n _attachEvents: function() {\n var that = this;\n\n that.bind(TOGGLE, that._click.bind(that));\n that.bind(CLOSE, that._click.bind(that));\n that.bind(CLICK, that._click.bind(that));\n that.bind(CHANGE, that._change.bind(that));\n },\n\n _extendOptions: function(options) {\n var that = this,\n tools = options.items ? options.items : Object.keys(that.defaultTools);\n\n options.navigateOnTab = true;\n\n that.options = options;\n\n that.options.items = that._extendToolsOptions(tools);\n },\n\n _extendToolsOptions: function(tools) {\n var that = this,\n messages = that.options.messages;\n\n if (!tools.length) {\n return;\n }\n\n return tools.map(function(tool) {\n var isBuiltInTool = $.isPlainObject(tool) && Object.keys(tool).length === 1 && tool.name,\n attr = {},\n toolOptions;\n\n\n tool = isBuiltInTool ? tool.name : tool;\n toolOptions = $.isPlainObject(tool) ? tool : extend({}, that.defaultTools[tool] || { name: tool, command: tool + \"Command\", type: \"button\" });\n\n if (!that._validateRules(toolOptions)) {\n return { hidden: true };\n }\n\n attr[kendo.attr(\"command\")] = toolOptions.command;\n attr[kendo.attr(\"options\")] = toolOptions.options;\n\n kendo.deepExtend(toolOptions, {\n id: toolOptions.id || toolOptions.name + \"-\" + kendo.guid(),\n name: toolOptions.name,\n text: messages[toolOptions.name] || toolOptions.name,\n attributes: extend({\n \"aria-label\": messages[toolOptions.name] || toolOptions.name,\n \"title\": messages[toolOptions.name]\n }, attr),\n overflow: toolOptions.overflow\n });\n\n if (toolOptions.type === \"buttonGroup\") {\n toolOptions.buttons = toolOptions.buttons.map(that._mapButtonGroups.bind(that));\n }\n\n if (toolOptions.type === \"splitButton\") {\n toolOptions.menuButtons = toolOptions.menuButtons.map(that._mapMenuButtons.bind(that));\n }\n\n return toolOptions;\n }, that);\n },\n\n _mapButtonGroups: function(button) {\n var that = this,\n messages = that.options.messages,\n attr = {};\n\n attr[kendo.attr(\"command\")] = button.command;\n attr[kendo.attr(\"options\")] = button.options;\n\n return kendo.deepExtend(button, {\n attributes: extend({}, button.attributes, {\n \"aria-label\": messages[button.name],\n \"title\": messages[button.name]\n }, attr)\n });\n },\n\n _mapMenuButtons: function(button) {\n var that = this,\n messages = that.options.messages,\n attr = {};\n\n attr[kendo.attr(\"command\")] = button.command;\n attr[kendo.attr(\"options\")] = button.options;\n\n return kendo.deepExtend(button,{\n text: messages[button.name],\n attributes: extend({}, button.attributes, {\n \"aria-label\": messages[button.name],\n \"title\": messages[button.name]\n }, attr)\n });\n },\n\n _validateRules: function(tool) {\n var that = this,\n states = that.options.states,\n rules = tool.rules ? tool.rules.split(\";\") : [];\n\n if (!rules.length) {\n return true;\n }\n\n for (var i = 0; i < rules.length; i++) {\n if (!states[rules[i]]) {\n return false;\n }\n }\n\n return true;\n },\n\n _click: function(ev) {\n var command = $(ev.target).attr(kendo.attr(\"command\")),\n options = $(ev.target).attr(kendo.attr(\"options\"));\n\n if (!command) {\n return;\n }\n\n this.action({\n command: command,\n options: options\n });\n },\n\n _change: function(ev) {\n var command = $(ev.target).attr(kendo.attr(\"command\")),\n options = $(ev.target).attr(kendo.attr(\"options\"));\n\n options = extend({}, options, { value: $(ev.target).val() });\n\n if (!command) {\n return;\n }\n\n this.action({\n command: command,\n options: options\n });\n },\n\n isToolEnabled: function(toolName) {\n var that = this,\n options = that.options,\n found = false;\n\n for (var i = 0; i < options.items.length; i++) {\n if (options.items[i].name == toolName) {\n found = true;\n break;\n }\n }\n\n return options.items[toolName] || found;\n },\n\n action: function(args) {\n this.trigger(ACTION, args);\n },\n\n destroy: function() {\n if (this.search) {\n this.search.destroy();\n }\n\n ToolBar.fn.destroy.call(this);\n }\n });\n\n var SearchTool = Item.extend({\n init: function(options, toolbar) {\n var that = this,\n styles = TaskBoardToolBar.styles,\n element = $(\"\"),\n icon = $(\"\"),\n input = $(\"\");\n\n that.element = element;\n that.input = input;\n that.icon = icon;\n that.options = options;\n that.options.type = \"taskBoardSearch\";\n that.toolbar = toolbar;\n\n that.attributes();\n that.renderIcon();\n that.addUidAttr();\n that.addIdAttr();\n that.addOverflowAttr();\n\n that.input.attr({\n placeholder: that.options.text,\n title: that.options.text\n });\n\n that.element.append(icon).append(that.input);\n\n that._bindEvents();\n that.toolbar.search = that;\n },\n attributes: function() {\n if (this.options.attributes) {\n this.input.attr(this.options.attributes);\n }\n },\n renderIcon: function() {\n if (this.options.icon) {\n this.icon.addClass(TaskBoardToolBar.styles.searchIcon);\n }\n },\n _bindEvents: function() {\n this._inputHandler = this._input.bind(this);\n this.input.on(\"input\" + NS, this._inputHandler);\n },\n _input: function(ev) {\n this.toolbar.trigger(CHANGE, { target: ev.target });\n },\n destroy: function() {\n this.element.off(NS);\n }\n });\n\n kendo.toolbar.registerComponent(\"TaskBoardSearch\", SearchTool);\n\n\n extend(kendo.ui, {\n taskboard: {\n ToolBar: TaskBoardToolBar\n }\n });\n\n extend(true, kendo.ui.taskboard.ToolBar, { styles: TaskBoardToolbarStyles });\n\n })(window.kendo.jQuery);\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n ui = kendo.ui,\n Observable = kendo.Observable,\n extend = $.extend,\n\n DOT = \".\",\n NS = DOT + \"kendoTaskBoardColumn\",\n\n CLICK = \"click\",\n BLUR = \"blur\",\n\n MOVE = \"move\",\n MOVE_START = \"moveStart\",\n MOVE_END = \"moveEnd\",\n CHANGE = \"change\",\n ACTION = \"action\";\n\n var TaskBoardColumnStyles = {\n element: \"k-taskboard-column\",\n header: \"k-taskboard-column-header\",\n headerText: \"k-taskboard-column-header-text\",\n ellipsis: \"k-text-ellipsis\",\n spacer: \"k-spacer\",\n actions: \"k-taskboard-column-header-actions\",\n cardsContainer: \"k-taskboard-column-cards-container\",\n columnCards: \"k-taskboard-column-cards\",\n actionButton: \"k-taskboard-column-action-button\",\n button: \"k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base\",\n card: \"k-taskboard-card\",\n cardTitle: \"k-card-title\",\n sortableSuffix: \"-kendosortable\",\n textbox: \"k-textbox k-input k-input-md k-rounded-md k-input-solid\",\n input: \"k-input-inner\",\n newColumn: \"k-taskboard-column-new\",\n editColumn: \"k-taskboard-column-edit\",\n disabled: \"k-disabled\",\n dragPlaceholder: \"k-taskboard-drag-placeholder\",\n dragHint: \"k-taskboard-drag-hint\",\n ignoreDrag: \"k-taskboard-drag-ignore\",\n grabbingCursor: \"k-cursor-grabbing\"\n };\n\n function preventDefault(ev) { ev.preventDefault(); }\n\n var TaskBoardColumn = Observable.extend({\n init: function(options, dataItem) {\n var that = this;\n\n that._dataItem = dataItem;\n that.options = extend(true, {}, options);\n\n that.sortableUniqueClass = that.options.sortableIdentifier + TaskBoardColumn.styles.sortableSuffix;\n that._render();\n that._attachEvents();\n\n if (options.states.isReorderable) {\n that._initSortable();\n }\n\n Observable.fn.init.call(that);\n },\n\n empty: function() {\n var that = this;\n that.container.empty();\n },\n\n addCard: function(cardHtml) {\n var that = this;\n that.container.append(cardHtml);\n },\n\n edit: function() {\n var that = this,\n styles = TaskBoardColumn.styles;\n\n that.element.addClass(styles.editColumn);\n that._renderEditHeader();\n },\n\n getDataItem: function() {\n return this._dataItem;\n },\n\n cards: function() {\n var that = this;\n\n return that.container.children();\n },\n\n template: '
#:{0}#
#:{0}#
\",\n defaultButtons: [ \"delete\", \"edit\" ]\n });\n\n var TaskBoardEditPane = TaskBoardPane.extend({\n init: function(taskboard, options, dataItem) {\n var that = this;\n\n options = extend({}, options.editable, {\n dataTitleField: options.dataTitleField,\n dataDescriptionField: options.dataDescriptionField,\n messages: options.messages,\n states: options.states\n });\n\n that.formSettings = extend(that.formSettings, {\n items: [\n { field: options.dataTitleField, label: options.messages[options.dataTitleField] },\n { field: options.dataDescriptionField, label: options.messages[options.dataDescriptionField] }\n ]\n }, options.form);\n\n TaskBoardPane.fn.init.call(that, taskboard, options, dataItem);\n\n that.element.addClass(TaskBoardPane.styles.edit);\n },\n defaultButtons: [ \"cancel\", \"saveChanges\" ],\n formSettings: {\n buttonsTemplate: \"\"\n },\n _buildHeaderTemplate: function() {\n var that = this;\n return kendo.format(that.headerTemplate, that.options.messages.edit + \" #:\" + that.options.dataTitleField + \"#\");\n },\n _renderContent: function() {\n var that = this,\n options = that.options,\n styles = TaskBoardPane.styles,\n formSettings = options.form || that.formSettings,\n formLabelId = kendo.guid(),\n element = $(\"\")\n .attr(\"role\", \"form\")\n .attr(\"aria-labelledby\", formLabelId);\n\n that.header.find(DOT + styles.headerText).attr(\"id\", formLabelId);\n\n that.content.append(element);\n\n that.form = new Form(element, extend({}, formSettings, {\n formData: that._dataItem\n }));\n\n that.form.element.find(\"input\").trigger(\"focus\");\n }\n });\n\n var TaskBoardCreatePane = TaskBoardEditPane.extend({\n init: function(taskboard, options, dataItem, resources, column) {\n var that = this,\n columnStatusField = options.columnSettings.dataStatusField,\n firstColumn = taskboard.columnsDataSource.view().at(0),\n status = column ? column[columnStatusField] : firstColumn[columnStatusField],\n clone = extend({}, dataItem);\n\n dataItem = taskboard.dataSource.add();\n dataItem.set(options.dataStatusField, status);\n\n for (var key in clone) {\n dataItem.set(key, clone[key]);\n }\n\n TaskBoardEditPane.fn.init.call(that, taskboard, options, dataItem, resources);\n },\n _buildHeaderTemplate: function() {\n var that = this;\n return kendo.format(that.headerTemplate, that.options.messages.createNewCard);\n },\n defaultButtons: [ \"cancel\", \"create\" ]\n });\n\n extend(kendo.ui.taskboard, {\n Pane: TaskBoardPane,\n panes: {\n Preview: TaskBoardPreviewPane,\n Edit: TaskBoardEditPane,\n Create: TaskBoardCreatePane\n }\n });\n\n extend(true, kendo.ui.taskboard.Pane, { styles: TaskBoardPaneStyles });\n\n })(window.kendo.jQuery);\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Observable = kendo.Observable,\n\n extend = $.extend,\n\n DOT = \".\",\n NS = DOT + \"kendoKeboardManager\",\n KEYDOWN = \"keydown\",\n ACTION = \"action\";\n\n\n var Keyboard = Observable.extend({\n init: function(element) {\n var that = this;\n\n that.register = {};\n that.element = element;\n\n that._attachEvents();\n\n Observable.fn.init.call(that);\n },\n\n registerShortcut: function(selector, shortcut, options) {\n var that = this;\n\n if (!that.register[selector]) {\n that.register[selector] = [];\n }\n\n if (shortcut.keyCode && isNaN(shortcut.keyCode) && shortcut.keyCode.toUpperCase) {\n shortcut.keyCode = shortcut.keyCode.toUpperCase().charCodeAt(0);\n }\n\n that.register[selector].push({\n shortcut: extend({\n keyCode: null,\n ctrlKey: false,\n shiftKey: false,\n altKey: false\n }, shortcut),\n options: options\n });\n\n },\n\n _attachEvents: function() {\n var that = this,\n handler = that._handler.bind(that);\n\n that.element.on(KEYDOWN + NS, handler);\n },\n\n _handler: function(ev) {\n var that = this,\n target = $(ev.target),\n shortcuts, action;\n\n for (var selector in that.register) {\n if (target.is(selector)) {\n shortcuts = that.register[selector];\n action = that._getAction(shortcuts, ev);\n\n if (action) {\n that._trigger(action, ev);\n break;\n }\n }\n }\n },\n\n _trigger: function(action, ev) {\n var that = this,\n target = $(ev.target);\n\n if (action.command) {\n that.trigger(ACTION, extend({}, ev, {\n command: action.command,\n options: extend({}, {\n target: target\n }, action.options)\n }));\n }\n\n if (action.handler) {\n action.handler(ev);\n }\n },\n\n _getAction: function(shortcuts, ev) {\n var that = this;\n\n for (var i = 0; i < shortcuts.length; i++) {\n if (that._compareShortcut(shortcuts[i].shortcut, ev)) {\n return shortcuts[i].options;\n }\n }\n },\n\n _compareShortcut: function(shortcut, ev) {\n var that = this;\n\n for (var key in shortcut) {\n var result = false;\n\n switch (key) {\n case \"ctrlKey\":\n result = shortcut[key] !== that._getShortcutModifier(ev);\n break;\n default:\n result = shortcut[key] !== ev[key];\n break;\n }\n\n if (result) {\n return false;\n }\n }\n\n return true;\n },\n\n _getShortcutModifier: function(ev) {\n var mac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;\n return mac ? ev.metaKey : ev.ctrlKey;\n },\n\n destroy: function() {\n var that = this;\n\n that.element.off(NS);\n }\n });\n\n extend(kendo.ui.taskboard, {\n KeyboardManager: Keyboard\n });\n\n })(window.kendo.jQuery);\n\n var __meta__ = {\n id: \"taskboard\",\n name: \"TaskBoard\",\n category: \"web\",\n description: \"The TaskBoard widget displays cards.\",\n depends: [\"data\", \"sortable\", \"dialog\", \"form\", \"menu\", \"toolbar\"]\n };\n\n var TaskBoardStyles = {\n wrapper: \"k-taskboard\",\n header: \"k-taskboard-header\",\n content: \"k-taskboard-content\",\n toolbar: \"k-taskboard-toolbar k-toolbar-flat\",\n columnsContainer: \"k-taskboard-columns-container\",\n card: \"k-taskboard-card\",\n column: \"k-taskboard-column\",\n selected: \"k-selected\",\n disabled: \"k-disabled\",\n ignoreDrag: \"k-taskboard-drag-ignore\"\n };\n\n var preventDefault = function(ev) { ev.preventDefault(); };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n Widget = kendo.ui.Widget,\n DataSource = kendo.data.DataSource,\n extend = $.extend,\n ui = kendo.ui,\n isArray = Array.isArray,\n isPlainObject = $.isPlainObject,\n\n GENERIC = \"_generic\",\n\n DOT = \".\",\n\n MOVE = \"move\",\n MOVE_START = \"moveStart\",\n MOVE_END = \"moveEnd\",\n SELECT = \"select\",\n EXECUTE = \"execute\",\n ACTION = \"action\",\n CHANGE = \"change\",\n ERROR = \"change\",\n DATABINDING = \"dataBinding\",\n DATABOUND = \"dataBound\",\n EDIT_CARD = \"editCard\",\n SAVE_CARD = \"saveCard\",\n DELETE_CARD = \"deleteCard\",\n EDIT_COLUMN = \"editColumn\",\n SAVE_COLUMN = \"saveColumn\",\n DELETE_COLUMN = \"deleteColumn\",\n\n COLUMNSDATABINDING = \"columnsDataBinding\",\n COLUMNSDATABOUND = \"columnsDataBound\";\n\n var TaskBoard = Widget.extend({\n init: function(element, options) {\n var that = this;\n\n Widget.fn.init.call(that, element, options);\n\n element = that.wrapper = that.element;\n\n that._sortableIdentifier = that.element.attr(\"id\") || kendo.guid();\n\n that._wrapper();\n that._columnsDataSource();\n that._initResources();\n that._dataSource();\n that._initToolbar();\n that._initCardMenu();\n that._initKeyboard();\n\n if (that.options.autoBind) {\n that.load();\n }\n\n kendo.notify(that);\n },\n\n events: [\n MOVE,\n MOVE_START,\n MOVE_END,\n CHANGE,\n EXECUTE,\n SELECT,\n DATABINDING,\n DATABOUND,\n COLUMNSDATABINDING,\n COLUMNSDATABOUND,\n EDIT_CARD,\n SAVE_CARD,\n DELETE_CARD,\n EDIT_COLUMN,\n SAVE_COLUMN,\n DELETE_COLUMN\n ],\n\n options: {\n name: \"TaskBoard\",\n autoBind: true,\n height: 600,\n width: \"100%\",\n toolbar: true,\n dataStatusField: \"status\",\n dataTitleField: \"title\",\n dataDescriptionField: \"description\",\n dataCategoryField: \"category\",\n dataOrderField: null,\n cardMenu: true,\n editable: true,\n selectable: true,\n reorderable: true,\n previewPane: true,\n search: {\n operator: \"contains\"\n },\n dataSource: [],\n columns: [],\n columnSettings: {\n dataStatusField: \"status\",\n dataTextField: \"text\",\n dataOrderField: null\n },\n resources: [],\n messages: {\n edit: \"Edit\",\n createNewCard: \"Create new card\",\n create: \"Create\",\n search: \"Search\",\n previewCard: \"Preview card\",\n addCard: \"Add card\",\n editCard: \"Edit card\",\n deleteCard: \"Delete Card\",\n addColumn: \"Add column\",\n editColumn: \"Edit column\",\n deleteColumn: \"Delete column\",\n close: \"Close\",\n cancel: \"Cancel\",\n \"delete\": \"Delete\",\n saveChanges: \"Save changes\",\n title: \"Title:\",\n description: \"Description:\",\n newColumn: \"New column\",\n deleteColumnConfirm: \"Are you sure you want to delete this column?\",\n deleteCardConfirm: \"Are you sure you want to delete this card?\"\n }\n },\n\n items: function() {\n var that = this,\n result = $([]);\n\n for (var key in that._columns) {\n $.merge(result, that._columns[key].cards());\n }\n\n return result;\n },\n\n itemsByStatus: function(status) {\n var that = this,\n result = that._getColumn(status).cards();\n\n return result;\n },\n\n itemsByColumn: function(columnElm) {\n var that = this,\n column = that._getColumnByElement(columnElm);\n\n if (column) {\n return column.cards();\n }\n },\n\n load: function() {\n var that = this,\n fetchPromises = [];\n\n that._progress(true);\n\n fetchPromises.push(that.columnsDataSource.fetch());\n\n for (var key in that.resources) {\n fetchPromises.push(that.resources[key].dataSource.fetch());\n }\n\n $.when.apply(null, fetchPromises)\n .then(that.dataSource.read.bind(that.dataSource));\n },\n\n dataItem: function(cardElm) {\n var that = this,\n dataSource = that.dataSource,\n uid;\n\n cardElm = $(cardElm);\n uid = cardElm.attr(kendo.attr(\"uid\"));\n\n return dataSource.getByUid(uid);\n },\n\n columnDataItem: function(columnElm) {\n var that = this,\n columnsDataSource = that.columnsDataSource,\n uid;\n\n columnElm = $(columnElm);\n uid = columnElm.attr(kendo.attr(\"uid\"));\n\n return columnsDataSource.getByUid(uid);\n },\n\n columns: function() {\n var that = this,\n result = $([]);\n\n for (var key in that._columns) {\n $.merge(result, that._columns[key].element);\n }\n\n return result;\n },\n\n columnByStatus: function(status) {\n return this._getColumn(status).element;\n },\n\n select: function(card, toggle) {\n var that = this;\n\n if (!card) {\n return that.element\n .find(DOT + TaskBoard.styles.card + DOT + TaskBoard.styles.selected).eq(0);\n }\n\n card = $(card);\n toggle = toggle !== false;\n\n if (toggle) {\n that.element\n .find(DOT + TaskBoard.styles.card + DOT + TaskBoard.styles.selected)\n .removeClass(TaskBoard.styles.selected);\n }\n\n card.toggleClass(TaskBoard.styles.selected, toggle);\n },\n\n previewCard: function(cardElement) {\n var that = this,\n options = that.options,\n args = that._extendExecArgs({ target: cardElement });\n\n if (options.previewPane) {\n that._openPane(extend({\n pane: \"Preview\"\n }, args));\n }\n },\n\n editCard: function(cardElement) {\n var that = this,\n options = that.options,\n args;\n\n cardElement = $(cardElement);\n args = that._extendExecArgs({ target: cardElement });\n\n if (options.editable) {\n that._openPane(extend({\n pane: \"Edit\"\n }, args));\n }\n },\n\n saveCard: function() {\n var that = this;\n\n that.dataSource.sync();\n },\n\n deleteCard: function(cardElement) {\n var that = this,\n card = that.dataItem(cardElement);\n\n that.dataSource.remove(card);\n that.dataSource.sync();\n },\n\n addCard: function(dataItem) {\n var that = this,\n options = that.options,\n args = { card: dataItem };\n\n if (options.editable) {\n that._openPane(extend({\n pane: \"Create\"\n }, args));\n }\n },\n\n addColumn: function(index, data) {\n var that = this,\n columnSettings = extend(true, {}, that.options.columnSettings, {\n messages: that.options.messages,\n states: that._buildStates(),\n sortableIdentifier: that._sortableIdentifier\n }),\n newColumn, model, column;\n\n if (isNaN(index) && !data) {\n data = index;\n index = null;\n }\n\n model = that.columnsDataSource._createNewModel(data);\n index = isNaN(index) || index === null ? that.columnsDataSource.data().length : index;\n column = that.columns().eq(index);\n that.columnsDataSource.insert(index, model);\n\n newColumn = new ui.taskboard.NewColumn(columnSettings, model);\n\n if (isNaN(index) || !column.length) {\n that.columnsContainer.append(newColumn.element);\n } else {\n column.before(newColumn.element);\n }\n\n newColumn.bind(ACTION, that.executeCommand.bind(that));\n },\n\n editColumn: function(columnElement) {\n var that = this;\n\n columnElement = $(columnElement);\n\n that._getColumnByElement(columnElement).edit();\n },\n\n saveColumn: function() {\n var that = this;\n\n that.columnsDataSource.sync();\n },\n\n deleteColumn: function(columnElement) {\n var that = this,\n column = that.columnDataItem(columnElement);\n\n that.columnsDataSource.remove(column);\n that.columnsDataSource.sync();\n },\n\n registerShortcut: function(selector, shortcut, options) {\n var that = this;\n\n that.keyboardManager.registerShortcut(selector, shortcut, options);\n },\n\n enable: function(cardElement, toggle) {\n cardElement = $(cardElement);\n\n cardElement.toggleClass(TaskBoard.styles.disabled, toggle === false);\n cardElement.attr(\"aria-disabled\", toggle === false);\n },\n\n enableByColumn: function(columnElement, toggle) {\n var that = this;\n\n columnElement = $(columnElement);\n\n that.itemsByColumn(columnElement).each(function(index, card) {\n that.enable(card, toggle);\n });\n },\n\n readOnly: function(cardElement, toggle) {\n cardElement = $(cardElement);\n\n toggle = toggle !== false;\n\n cardElement.find(\"[\" + kendo.attr(\"command\") + \"]\").toggleClass(TaskBoard.styles.disabled, toggle);\n cardElement.find(\"a,button\").toggleClass(TaskBoard.styles.disabled, toggle);\n\n cardElement.toggleClass(TaskBoard.styles.ignoreDrag, toggle);\n cardElement.attr(\"aria-readonly\", toggle);\n },\n\n readOnlyByColumn: function(columnElement, toggle) {\n var that = this;\n\n columnElement = $(columnElement);\n\n that.itemsByColumn(columnElement).each(function(index, card) {\n that.readOnly(card, toggle);\n });\n },\n\n setDataSource: function(dataSource) {\n var that = this;\n\n that.options.dataSource = dataSource;\n that._dataSource();\n\n if (that.options.autoBind) {\n that.dataSource.read();\n }\n },\n\n setColumnsDataSource: function(dataSource) {\n var that = this;\n\n that.options.columns = dataSource;\n that._columnsDataSource();\n\n if (that.options.autoBind) {\n that.columnsDataSource.fetch(function() {\n that._renderCards(that.dataSource.view());\n });\n }\n },\n\n _getColumn: function(status) {\n return this._columns[status];\n },\n\n _getColumnByElement: function(columnElement) {\n var that = this;\n\n columnElement = $(columnElement);\n\n for (var key in that._columns) {\n if (that._columns[key].element[0] === columnElement[0]) {\n return that._columns[key];\n }\n }\n },\n\n _openPane: function(options) {\n var that = this,\n pane = new ui.taskboard.panes[options.pane](that, extend({}, that.options, {\n states: that._buildStates()\n }), options.card, that.resources, options.column),\n focusableElement, keyboardManager;\n\n if (that.pane) {\n that._closePane();\n }\n\n that.pane = pane;\n that.content.after(that.pane.element);\n that.content.css(\"margin-right\",\n that.pane.element.outerWidth() -\n parseInt(that.content.css(\"paddingRight\"), 10));\n\n that.pane.bind(ACTION, that.executeCommand.bind(that));\n\n that.pane.keyboardManager = keyboardManager = new ui.taskboard.KeyboardManager(that.pane.element);\n\n keyboardManager.bind(ACTION, that.executeCommand.bind(that));\n\n keyboardManager.registerShortcut(\"*\", {\n keyCode: kendo.keys.ESC\n }, { command: \"ClosePaneCommand\" });\n\n keyboardManager.registerShortcut(\"*\", {\n keyCode: kendo.keys.ENTER\n }, { command: \"SaveChangesCommand\", options: {\n card: that.pane._dataItem\n } });\n\n focusableElement = that.pane.element.find(\"input\");\n\n if (!focusableElement.length) {\n focusableElement = that.pane.element.find(\"button\");\n }\n\n setTimeout(function() {\n focusableElement.eq(0).trigger(\"focus\");\n }, 0);\n },\n\n _closePane: function() {\n var that = this;\n\n if (that.pane) {\n that.pane.keyboardManager.destroy();\n that.pane.unbind(ACTION);\n that.pane.destroy();\n delete that.pane;\n\n that.content.css(\"margin-right\", \"\");\n }\n },\n\n _wrapper: function() {\n var that = this,\n options = that.options,\n styles = TaskBoard.styles,\n headerElm = \"\",\n contentElm = \"\",\n colsContainer = \"\";\n\n that.element.addClass(styles.wrapper)\n .width(options.width)\n .height(options.height)\n .attr(\"role\", \"application\");\n that.header = $(headerElm).appendTo(that.element);\n that.content = $(contentElm).appendTo(that.element);\n that.columnsContainer = $(colsContainer).appendTo(that.content);\n },\n\n _initToolbar: function() {\n var that = this,\n styles = TaskBoard.styles,\n options = that.options,\n toolbarElm = $(\"\"),\n toolbarOptions = isArray(options.toolbar) ? { items: options.toolbar } : options.toolbar;\n\n if (options.toolbar === false) {\n return;\n }\n\n toolbarOptions = extend({}, toolbarOptions, {\n taskboard: this,\n messages: options.messages,\n action: that.executeCommand.bind(that),\n states: that._buildStates()\n });\n\n that.header.append(toolbarElm);\n that.toolbar = new ui.taskboard.ToolBar(toolbarElm, toolbarOptions);\n },\n\n _buildStates: function() {\n var that = this;\n\n return {\n isEditable: that._isEditable(),\n isReorderable: that._isReorderable(),\n isSelectable: that._isSelectable(),\n isReadOnly: !that._isReorderable() && !that._isEditable(),\n isDisabled: !that._isReorderable() && !that._isEditable() && !that._isSelectable(),\n isSearchable: that._isSearchable(),\n notLocalColumns: !(that.columnsDataSource.transport instanceof kendo.data.LocalTransport),\n isRtl: kendo.support.isRtl(that.wrapper)\n };\n },\n\n _isSearchable: function() {\n return !!this.options.search;\n },\n\n _isEditable: function() {\n return !!this.options.editable;\n },\n\n _isReorderable: function() {\n return !!this.options.reorderable;\n },\n\n _isSelectable: function() {\n return !!this.options.selectable;\n },\n\n executeCommand: function(args) {\n var that = this,\n commandName = args.command,\n commandOptions = extend({ taskboard: this }, isPlainObject(args.options) ? that._extendExecArgs(args.options) : { value: args.options }),\n command = ui.taskboard.commands[commandName] && new ui.taskboard.commands[commandName](commandOptions);\n\n\n if (!that.trigger(EXECUTE, args)) {\n if (command) {\n command.exec();\n } else {\n window.console.warn(kendo.format(\"Trying to use {0} command, but such is not available in the kendo.ui.taskboard.commands namespace!\", commandName));\n }\n }\n },\n\n _extendExecArgs: function(args) {\n var that = this,\n target = args.draggableEvent ? args.item : args.target,\n columnElm, cardElm, columnDataItem, cardDataItem;\n\n if (args.card) {\n target = that.items().filter(function(idx, elm) {\n return $(elm).attr(kendo.attr(\"uid\")) === args.card.get(\"uid\");\n });\n }\n\n if (!target || !(target && target.length)) {\n return args;\n }\n\n columnElm = args.columnElement || (target.is(DOT + TaskBoard.styles.column) ? target : target.parents(DOT + TaskBoard.styles.column));\n columnDataItem = that.columnsDataSource.getByUid(columnElm.data(kendo.ns + \"uid\"));\n cardElm = target.is(DOT + TaskBoard.styles.card) ? target : target.closest(DOT + TaskBoard.styles.card);\n cardDataItem = that.dataSource.getByUid(cardElm.data(kendo.ns + \"uid\"));\n\n return extend(args, {\n card: cardDataItem,\n cardElement: cardElm.length ? cardElm : undefined$1,\n column: columnDataItem,\n columnElement: columnElm.length ? columnElm : undefined$1\n });\n },\n\n\n _select: function(card, toggle) {\n var that = this;\n\n if (toggle === null) {\n toggle = true;\n }\n\n if (!that.trigger(SELECT, { card: card })) {\n that.select(card, toggle);\n that.previewCard(card);\n }\n },\n\n _columnsDataSource: function() {\n var that = this,\n options = that.options,\n columnSettings = options.columnSettings,\n columnsDataSource = options.columns;\n\n columnsDataSource = isArray(columnsDataSource) ? { data: columnsDataSource } : columnsDataSource;\n\n if (columnSettings.dataOrderField && !columnsDataSource.sort) {\n columnsDataSource.sort = { field: columnSettings.dataOrderField, dir: \"asc\" };\n }\n\n if (!columnsDataSource.schema) {\n var fields = {};\n\n fields[columnSettings.dataStatusField] = { type: \"string\", defaultValue: function() { return kendo.guid().split(\"-\")[0]; } };\n fields[columnSettings.dataTextField] = { type: \"string\" };\n\n if (columnSettings.dataOrderField) {\n fields[columnSettings.dataOrderField] = { type: \"number\" };\n }\n\n columnsDataSource.schema = {\n model: {\n fields: fields\n }\n };\n }\n\n if (that.columnsDataSource && that._columnsChangeHandler) {\n that.columnsDataSource.unbind(CHANGE, that._columnsChangeHandler);\n that.columnsDataSource.unbind(CHANGE, that._columnsErrorHandler);\n } else {\n that._columnsChangeHandler = that._columnsDataSourceChange.bind(that);\n that._columnsErrorHandler = that._error.bind(that);\n }\n\n that.columnsDataSource = DataSource.create(columnsDataSource)\n .bind(CHANGE, that._columnsChangeHandler)\n .bind(ERROR, that._columnsErrorHandler);\n },\n\n _columnsDataSourceChange: function(ev) {\n var that = this,\n view = that.columnsDataSource.view(),\n columnSettings = extend(true, {}, that.options.columnSettings, {\n messages: that.options.messages,\n states: that._buildStates(),\n sortableIdentifier: that._sortableIdentifier\n }),\n statusField = columnSettings.dataStatusField;\n\n if (ev.action && ev.action !== \"sync\") {\n return;\n }\n\n if (that.trigger(COLUMNSDATABINDING, ev)) {\n return;\n }\n\n that._progress(true);\n\n that._columns = {};\n that.columnsContainer.html(\"\");\n\n for (var i = 0; i < view.length; i++) {\n var data = view[i];\n var status = data[statusField] || GENERIC;\n var column;\n\n column = that._columns[status] = new ui.taskboard.Column(columnSettings, data);\n that.columnsContainer.append(column.element);\n column.bind(ACTION, that.executeCommand.bind(that));\n column.bind(MOVE, that._move.bind(that));\n column.bind(MOVE_END, that._moveEnd.bind(that));\n column.bind(MOVE_START, that._moveStart.bind(that));\n column.bind(CHANGE, that._changeOrder.bind(that));\n that._tabindex(column.element);\n }\n\n if (ev.action === \"sync\" || ev.action === undefined$1) {\n that._renderCards(that.dataSource.view());\n }\n\n that._progress(false);\n that.trigger(COLUMNSDATABOUND, ev);\n },\n\n _move: function(ev) {\n this.trigger(MOVE, this._extendExecArgs(ev));\n },\n\n _moveEnd: function(ev) {\n this.trigger(MOVE_END, this._extendExecArgs(ev));\n },\n\n _moveStart: function(ev) {\n this.trigger(MOVE_START, this._extendExecArgs(ev));\n },\n\n _changeOrder: function(ev) {\n this.trigger(CHANGE, this._extendExecArgs(ev));\n },\n\n _dataSource: function() {\n var that = this,\n options = that.options,\n dataSource = options.dataSource;\n\n dataSource = isArray(dataSource) ? { data: dataSource } : dataSource;\n\n if (options.dataOrderField && !dataSource.sort) {\n dataSource.sort = { field: options.dataOrderField, dir: \"asc\" };\n }\n\n if (!dataSource.schema) {\n var fields = {};\n\n fields[options.dataStatusField] = { type: \"string\" };\n fields[options.dataTitleField] = { type: \"string\" };\n fields[options.dataDescriptionField] = { type: \"string\" };\n fields[options.dataCategoryField] = { type: \"string\" };\n\n if (options.dataOrderField) {\n fields[options.dataOrderField] = { type: \"number\" };\n }\n\n dataSource.schema = {\n model: {\n fields: fields\n }\n };\n }\n\n if (that.dataSource && that._changeHandler) {\n that.dataSource.unbind(CHANGE, that._changeHandler);\n that.dataSource.unbind(ERROR, that._errorHandler);\n } else {\n that._changeHandler = that._change.bind(that);\n that._errorHandler = that._error.bind(that);\n }\n\n that.dataSource = DataSource.create(dataSource)\n .bind(CHANGE, that._changeHandler);\n },\n\n _change: function(ev) {\n var that = this;\n\n if (ev.action && ev.action !== \"sync\") {\n return;\n }\n\n if (that.trigger(DATABINDING, ev)) {\n return;\n }\n\n that._progress(true);\n\n that._clearColumns();\n that._renderCards(that.dataSource.view());\n that._closePane();\n\n that.trigger(DATABOUND, ev);\n that._progress(false);\n },\n\n _error: function() {\n this._progress(false);\n },\n\n _renderCards: function(data) {\n var that = this;\n\n for (var i = 0; i < data.length; i++) {\n that._renderCard(data[i]);\n }\n },\n\n _renderCard: function(card) {\n var that = this,\n options = extend({}, that.options, { states: that._buildStates() }),\n statusField = options.dataStatusField,\n status = card[statusField] || GENERIC;\n\n if (status && that._columns[status]) {\n card = new ui.taskboard.Card(options, card, that.resources);\n that._columns[status].addCard(card.element);\n that._tabindex(card.element);\n }\n },\n\n _clearColumns: function() {\n var that = this;\n\n for (var key in that._columns) {\n that._columns[key].empty();\n }\n },\n\n _initCardMenu: function() {\n var that = this,\n options = that.options,\n cardMenuOptions = isArray(options.cardMenu) ? { items: options.cardMenu } : options.cardMenu;\n\n cardMenuOptions = extend({}, {\n messages: options.messages,\n target: that.columnsContainer,\n filter: \".k-taskboard-card-menu-button\",\n action: that.executeCommand.bind(that),\n showOn: \"click\",\n alignToAnchor: true,\n states: that._buildStates()\n }, cardMenuOptions);\n\n if (options.cardMenu === false) {\n return;\n }\n\n that.cardMenu = new ui.taskboard.CardMenu(\"