UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

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