@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 16.3 kB
JavaScript
module.exports=function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var a={};return t.m=e,t.c=a,t.p="",t(0)}({0:function(e,t,a){e.exports=a(1457)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1067:function(e,t){e.exports=require("./kendo.data")},1457:function(e,t,a){var n,r,o;!function(s,define){r=[a(1458),a(1459),a(1460),a(1461),a(1462),a(1463),a(1464),a(1067)],n=s,o="function"==typeof n?n.apply(t,r):n,!(void 0!==o&&(e.exports=o))}(function(){var e={wrapper:"k-taskboard",header:"k-taskboard-header",content:"k-taskboard-content",toolbar:"k-taskboard-toolbar k-toolbar-flat",columnsContainer:"k-taskboard-columns-container",card:"k-taskboard-card",column:"k-taskboard-column",selected:"k-state-selected",disabled:"k-state-disabled",ignoreDrag:"k-taskboard-drag-ignore"},t=function(e){e.preventDefault()};return function(a,n){var r=window.kendo,o=r.ui.Widget,s=r.data.DataSource,d=a.extend,i=r.ui,c=a.proxy,l=Array.isArray,u=a.isPlainObject,m="_generic",g=".",h="move",b="moveStart",p="moveEnd",y="select",C="execute",f="action",_="change",v="change",S="dataBinding",k="dataBound",x="editCard",w="saveCard",E="deleteCard",D="editColumn",M="saveColumn",F="deleteColumn",T="columnsDataBinding",B="columnsDataBound",H=o.extend({init:function(e,t){var a=this;o.fn.init.call(a,e,t),e=a.wrapper=a.element,a._sortableIdentifier=a.element.attr("id")||r.guid(),a._wrapper(),a._columnsDataSource(),a._initResources(),a._dataSource(),a._initToolbar(),a._initCardMenu(),a._initKeyboard(),a.options.autoBind&&a.load(),r.notify(a)},events:[h,b,p,_,C,y,S,k,T,B,x,w,E,D,M,F],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?"}},items:function(){var e,t=this,n=a([]);for(e in t._columns)a.merge(n,t._columns[e].cards());return n},itemsByStatus:function(e){var t=this,a=t._getColumn(e).cards();return a},itemsByColumn:function(e){var t=this,a=t._getColumnByElement(e);if(a)return a.cards()},load:function(){var e,t=this,n=[];t._progress(!0),n.push(t.columnsDataSource.fetch());for(e in t.resources)n.push(t.resources[e].dataSource.fetch());a.when.apply(null,n).then(c(t.dataSource.read,t.dataSource))},dataItem:function(e){var t,n=this,o=n.dataSource;return e=a(e),t=e.attr(r.attr("uid")),o.getByUid(t)},columnDataItem:function(e){var t,n=this,o=n.columnsDataSource;return e=a(e),t=e.attr(r.attr("uid")),o.getByUid(t)},columns:function(){var e,t=this,n=a([]);for(e in t._columns)a.merge(n,t._columns[e].element);return n},columnByStatus:function(e){return this._getColumn(e).element},select:function(e,t){var r=this;return e?(e=a(e),t=t!==!1,t&&r.element.find(g+H.styles.card+g+H.styles.selected).removeClass(H.styles.selected),e.toggleClass(H.styles.selected,t),n):r.element.find(g+H.styles.card+g+H.styles.selected).eq(0)},previewCard:function(e){var t=this,a=t.options,n=t._extendExecArgs({target:e});a.previewPane&&t._openPane(d({pane:"Preview"},n))},editCard:function(e){var t,n=this,r=n.options;e=a(e),t=n._extendExecArgs({target:e}),r.editable&&n._openPane(d({pane:"Edit"},t))},saveCard:function(){var e=this;e.dataSource.sync()},deleteCard:function(e){var t=this,a=t.dataItem(e);t.dataSource.remove(a),t.dataSource.sync()},addCard:function(e){var t=this,a=t.options,n={card:e};a.editable&&t._openPane(d({pane:"Create"},n))},addColumn:function(e,t){var a,n,r,o=this,s=d(!0,{},o.options.columnSettings,{messages:o.options.messages,states:o._buildStates(),sortableIdentifier:o._sortableIdentifier});isNaN(e)&&!t&&(t=e,e=null),n=o.columnsDataSource._createNewModel(t),e=isNaN(e)||null===e?o.columnsDataSource.data().length:e,r=o.columns().eq(e),o.columnsDataSource.insert(e,n),a=new i.taskboard.NewColumn(s,n),isNaN(e)||!r.length?o.columnsContainer.append(a.element):r.before(a.element),a.bind(f,o.executeCommand.bind(o))},editColumn:function(e){var t=this;e=a(e),t._getColumnByElement(e).edit()},saveColumn:function(){var e=this;e.columnsDataSource.sync()},deleteColumn:function(e){var t=this,a=t.columnDataItem(e);t.columnsDataSource.remove(a),t.columnsDataSource.sync()},registerShortcut:function(e,t,a){var n=this;n.keyboardManager.registerShortcut(e,t,a)},enable:function(e,t){e=a(e),e.toggleClass(H.styles.disabled,t===!1),e.attr("aria-disabled",t===!1)},enableByColumn:function(e,t){var n=this;e=a(e),n.itemsByColumn(e).each(function(e,a){n.enable(a,t)})},readOnly:function(e,t){e=a(e),t=t!==!1,e.find("["+r.attr("command")+"]").toggleClass(H.styles.disabled,t),e.find("a,button").toggleClass(H.styles.disabled,t),e.toggleClass(H.styles.ignoreDrag,t),e.attr("aria-readonly",t)},readOnlyByColumn:function(e,t){var n=this;e=a(e),n.itemsByColumn(e).each(function(e,a){n.readOnly(a,t)})},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(e){var t,n=this;e=a(e);for(t in n._columns)if(n._columns[t].element[0]===e[0])return n._columns[t]},_openPane:function(e){var t,a,n=this,o=new i.taskboard.panes[e.pane](n,d({},n.options,{states:n._buildStates()}),e.card,n.resources,e.column);n.pane&&n._closePane(),n.pane=o,n.content.after(n.pane.element),n.content.css("margin-right",n.pane.element.outerWidth()-parseInt(n.content.css("paddingRight"),10)),n.pane.bind(f,n.executeCommand.bind(n)),n.pane.keyboardManager=a=new i.taskboard.KeyboardManager(n.pane.element),a.bind(f,n.executeCommand.bind(n)),a.registerShortcut("*",{keyCode:r.keys.ESC},{command:"ClosePaneCommand"}),a.registerShortcut("*",{keyCode:r.keys.ENTER},{command:"SaveChangesCommand",options:{card:n.pane._dataItem}}),t=n.pane.element.find("input"),t.length||(t=n.pane.element.find("button")),setTimeout(function(){t.eq(0).trigger("focus")},0)},_closePane:function(){var e=this;e.pane&&(e.pane.keyboardManager.destroy(),e.pane.unbind(f),e.pane.destroy(),delete e.pane,e.content.css("margin-right",""))},_wrapper:function(){var e=this,t=e.options,n=H.styles,r="<div class='"+n.header+"'></div>",o="<div class='"+n.content+"'></div>",s="<div class='"+n.columnsContainer+"'></div>";e.element.addClass(n.wrapper).width(t.width).height(t.height).attr("role","application"),e.header=a(r).appendTo(e.element),e.content=a(o).appendTo(e.element),e.columnsContainer=a(s).appendTo(e.content)},_initToolbar:function(){var e=this,t=H.styles,n=e.options,r=a("<div class='"+t.toolbar+"'></div>"),o=l(n.toolbar)?{items:n.toolbar}:n.toolbar;n.toolbar!==!1&&(o=d({},o,{taskboard:this,messages:n.messages,action:e.executeCommand.bind(e),states:e._buildStates()}),e.header.append(r),e.toolbar=new i.taskboard.ToolBar(r,o))},_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 r.data.LocalTransport),isRtl:r.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,a=e.command,n=d({taskboard:this},u(e.options)?t._extendExecArgs(e.options):{value:e.options}),o=i.taskboard.commands[a]&&new i.taskboard.commands[a](n);t.trigger(C,e)||(o?o.exec():window.console.warn(r.format("Trying to use {0} command, but such is not available in the kendo.ui.taskboard.commands namespace!",a)))},_extendExecArgs:function(e){var t,o,s,i,c=this,l=e.draggableEvent?e.item:e.target;return e.card&&(l=c.items().filter(function(t,n){return a(n).attr(r.attr("uid"))===e.card.get("uid")})),l&&l&&l.length?(t=e.columnElement||(l.is(g+H.styles.column)?l:l.parents(g+H.styles.column)),s=c.columnsDataSource.getByUid(t.data(r.ns+"uid")),o=l.is(g+H.styles.card)?l:l.closest(g+H.styles.card),i=c.dataSource.getByUid(o.data(r.ns+"uid")),d(e,{card:i,cardElement:o.length?o:n,column:s,columnElement:t.length?t:n})):e},_select:function(e,t){var a=this;null===t&&(t=!0),a.trigger(y,{card:e})||(a.select(e,t),a.previewCard(e))},_columnsDataSource:function(){var e,t=this,a=t.options,n=a.columnSettings,o=a.columns;o=l(o)?{data:o}:o,n.dataOrderField&&!o.sort&&(o.sort={field:n.dataOrderField,dir:"asc"}),o.schema||(e={},e[n.dataStatusField]={type:"string",defaultValue:function(){return r.guid().split("-")[0]}},e[n.dataTextField]={type:"string"},n.dataOrderField&&(e[n.dataOrderField]={type:"number"}),o.schema={model:{fields:e}}),t.columnsDataSource&&t._columnsChangeHandler?(t.columnsDataSource.unbind(_,t._columnsChangeHandler),t.columnsDataSource.unbind(_,t._columnsErrorHandler)):(t._columnsChangeHandler=c(t._columnsDataSourceChange,t),t._columnsErrorHandler=c(t._error,t)),t.columnsDataSource=s.create(o).bind(_,t._columnsChangeHandler).bind(v,t._columnsErrorHandler)},_columnsDataSourceChange:function(e){var t,a,r,o,s=this,l=s.columnsDataSource.view(),u=d(!0,{},s.options.columnSettings,{messages:s.options.messages,states:s._buildStates(),sortableIdentifier:s._sortableIdentifier}),g=u.dataStatusField;if(!(e.action&&"sync"!==e.action||s.trigger(T,e))){for(s._progress(!0),s._columns={},s.columnsContainer.html(""),t=0;t<l.length;t++)a=l[t],r=a[g]||m,o=s._columns[r]=new i.taskboard.Column(u,a),s.columnsContainer.append(o.element),o.bind(f,s.executeCommand.bind(s)),o.bind(h,c(s._move,s)),o.bind(p,c(s._moveEnd,s)),o.bind(b,c(s._moveStart,s)),o.bind(_,c(s._changeOrder,s)),s._tabindex(o.element);"sync"!==e.action&&e.action!==n||s._renderCards(s.dataSource.view()),s._progress(!1),s.trigger(B,e)}},_move:function(e){this.trigger(h,this._extendExecArgs(e))},_moveEnd:function(e){this.trigger(p,this._extendExecArgs(e))},_moveStart:function(e){this.trigger(b,this._extendExecArgs(e))},_changeOrder:function(e){this.trigger(_,this._extendExecArgs(e))},_dataSource:function(){var e,t=this,a=t.options,n=a.dataSource;n=l(n)?{data:n}:n,a.dataOrderField&&!n.sort&&(n.sort={field:a.dataOrderField,dir:"asc"}),n.schema||(e={},e[a.dataStatusField]={type:"string"},e[a.dataTitleField]={type:"string"},e[a.dataDescriptionField]={type:"string"},e[a.dataCategoryField]={type:"string"},a.dataOrderField&&(e[a.dataOrderField]={type:"number"}),n.schema={model:{fields:e}}),t.dataSource&&t._changeHandler?(t.dataSource.unbind(_,t._changeHandler),t.dataSource.unbind(v,t._errorHandler)):(t._changeHandler=c(t._change,t),t._errorHandler=c(t._error,t)),t.dataSource=s.create(n).bind(_,t._changeHandler)},_change:function(e){var t=this;e.action&&"sync"!==e.action||t.trigger(S,e)||(t._progress(!0),t._clearColumns(),t._renderCards(t.dataSource.view()),t._closePane(),t.trigger(k,e),t._progress(!1))},_error:function(){this._progress(!1)},_renderCards:function(e){var t,a=this;for(t=0;t<e.length;t++)a._renderCard(e[t])},_renderCard:function(e){var t=this,a=d({},t.options,{states:t._buildStates()}),n=a.dataStatusField,r=e[n]||m;r&&t._columns[r]&&(e=new i.taskboard.Card(a,e,t.resources),t._columns[r].addCard(e.element),t._tabindex(e.element))},_clearColumns:function(){var e,t=this;for(e in t._columns)t._columns[e].empty()},_initCardMenu:function(){var e=this,t=e.options,a=l(t.cardMenu)?{items:t.cardMenu}:t.cardMenu;a=d({},{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),t.cardMenu!==!1&&(e.cardMenu=new i.taskboard.CardMenu("<ul></ul>",a))},_initResources:function(){var e,t=this,a=t.options.resources;for(e=0;e<a.length;e++)t._addResource(a[e])},_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:e.valuePrimitive!==!1,multiple:e.multiple||!1,dataSource:t._resourceDataSource(e.dataSource)}},_resourceDataSource:function(e){var t=l(e)?{data:e}:e,a=r.data.DataSource.create(t);return a},_progress:function(e){var t=this;r.ui.progress(t.element,e)},_initKeyboard:function(){var e=this;e.keyboardManager=new i.taskboard.KeyboardManager(e.element),e.keyboardManager.bind(f,e.executeCommand.bind(e)),e._registerShortcuts()},_registerShortcuts:function(){var e=this,a=e._buildStates();a.isEditable&&(e.keyboardManager.registerShortcut(g+H.styles.column,{keyCode:r.keys.DELETE},{command:"DeleteColumnCommand"}),e.keyboardManager.registerShortcut(g+H.styles.column,{keyCode:"e",ctrlKey:!0},{command:"EditColumnCommand",handler:t}),e.keyboardManager.registerShortcut(g+H.styles.column,{keyCode:"a",ctrlKey:!0},{command:"AddCardCommand",handler:t}),e.keyboardManager.registerShortcut(g+H.styles.column+" *",{keyCode:r.keys.ESC},{command:"CancelEditColumnCommand"}),e.keyboardManager.registerShortcut(g+H.styles.card,{keyCode:r.keys.DELETE},{command:"DeleteCardCommand"}),e.keyboardManager.registerShortcut(g+H.styles.card,{keyCode:"e",ctrlKey:!0},{command:"EditCardCommand",handler:t})),a.isSelectable&&e.keyboardManager.registerShortcut(g+H.styles.card,{keyCode:r.keys.ENTER},{command:"SelectCardCommand",handler:t}),e.keyboardManager.registerShortcut(g+H.styles.card,{keyCode:r.keys.UP},{command:"MoveFocusCommand",options:{value:"up"},handler:t}),e.keyboardManager.registerShortcut(g+H.styles.card,{keyCode:r.keys.DOWN},{command:"MoveFocusCommand",options:{value:"down"},handler:t}),e.keyboardManager.registerShortcut(g+H.styles.card,{keyCode:r.keys.LEFT},{command:"MoveFocusCommand",options:{value:"left"},handler:t}),e.keyboardManager.registerShortcut(g+H.styles.card,{keyCode:r.keys.RIGHT},{command:"MoveFocusCommand",options:{value:"right"},handler:t}),e.keyboardManager.registerShortcut(g+H.styles.column,{keyCode:r.keys.LEFT},{command:"MoveFocusCommand",options:{value:"left"},handler:t}),e.keyboardManager.registerShortcut(g+H.styles.column,{keyCode:r.keys.RIGHT},{command:"MoveFocusCommand",options:{value:"right"},handler:t}),e.keyboardManager.registerShortcut(g+H.styles.column,{keyCode:r.keys.DOWN},{command:"MoveFocusCommand",options:{value:"down"},handler:t})},destroy:function(){var e,t=this;t._columnsChangeHandler&&(t.columnsDataSource.unbind(_,t._columnsChangeHandler),t.columnsDataSource.unbind(_,t._columnsErrorHandler)),t._changeHandler&&(t.dataSource.unbind(_,t._changeHandler),t.dataSource.unbind(v,t._errorHandler));for(e in t._columns)t._columns[e].destroy();t.toolbar&&t.toolbar.destroy(),t.cardMenu&&t.cardMenu.destroy(),t.keyboardManager&&t.keyboardManager.destroy(),t.pane&&t.closePane(),o.fn.destroy.call(t)}});r.ui.plugin(H),d(!0,H,{styles:e})}(window.kendo.jQuery),window.kendo},a(3))},1458:function(e,t){e.exports=require("./taskboard/toolbar")},1459:function(e,t){e.exports=require("./taskboard/column")},1460:function(e,t){e.exports=require("./taskboard/card")},1461:function(e,t){e.exports=require("./taskboard/cardmenu")},1462:function(e,t){e.exports=require("./taskboard/commands")},1463:function(e,t){e.exports=require("./taskboard/pane")},1464:function(e,t){e.exports=require("./taskboard/keyboard")}});