@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 7.96 kB
JavaScript
module.exports=function(n){var a={};function s(t){if(a[t])return a[t].exports;var e=a[t]={exports:{},id:t,loaded:!1};return n[t].call(e.exports,e,e.exports,s),e.loaded=!0,e.exports}return s.m=n,s.c=a,s.p="",s(0)}({0:function(t,e,n){t.exports=n(1744)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},1733:function(t,e){t.exports=require("../kendo.sortable")},1744:function(t,e,n){var a;n(3),n=[n(1733)],void 0===(e="function"==typeof(a=function(){var l=window.kendo.jQuery,e=void 0,u=window.kendo,s=u.ui,a=u.Observable,c=l.extend,r=".",n=r+"kendoTaskBoardColumn",t="click",i="blur",d="move",p="moveStart",b="moveEnd",f="change",o="action",h={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",button:"k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base",card:"k-taskboard-card",cardTitle:"k-card-title",sortableSuffix:"-kendosortable",textbox:"k-textbox k-input k-input-md k-rounded-md k-input-solid",input:"k-input-inner",newColumn:"k-taskboard-column-new",editColumn:"k-taskboard-column-edit",disabled:"k-state-disabled",dragPlaceholder:"k-taskboard-drag-placeholder",dragHint:"k-taskboard-drag-hint",ignoreDrag:"k-taskboard-drag-ignore",grabbingCursor:"k-cursor-grabbing"};function v(t){t.preventDefault()}var m=a.extend({init:function(t,e){var n=this;n._dataItem=e;n.options=c(true,{},t);n.sortableUniqueClass=n.options.sortableIdentifier+m.styles.sortableSuffix;n._render();n._attachEvents();if(t.states.isReorderable)n._initSortable();a.fn.init.call(n)},empty:function(){var t=this;t.container.empty()},addCard:function(t){var e=this;e.container.append(t)},edit:function(){var t=this,e=m.styles;t.element.addClass(e.editColumn);t._renderEditHeader()},getDataItem:function(){return this._dataItem},cards:function(){var t=this;return t.container.children()},template:'<div class="#: styles.headerText # #: styles.ellipsis #">{0}</div>'+'<span class="#: styles.spacer #"></span>'+"#=buttons#",editTemplate:'<div class="#: styles.headerText # #: styles.ellipsis #">'+'<span class="#: styles.textbox #">'+'<input class="#: styles.input #" placeholder="#: {0} ? messages.editColumn : messages.newColumn #" #:kendo.attr("command")#="SaveColumnCommand" value="#:{0}#" />'+"</span>"+"</div>"+'<span class="#: styles.spacer #"></span>'+"#=buttons#",actionButton:'<button class="#: styles.actionButton # #: styles.button #" title="#:text#" #:kendo.attr("command")#="#:command#" #if(options){##:kendo.attr("options")#="#:options#"#}#>'+'<i class="k-button-icon #:icon# #:spriteCssClass#"></i>'+"</button>",builtinButtons:{editColumn:{name:"editColumn",icon:"edit",text:"Edit Column",command:"EditColumnCommand",rules:"isEditable"},addCard:{name:"addCard",icon:"add",text:"Add Card",command:"AddCardCommand",rules:"isEditable"},deleteColumn:{name:"deleteColumn",icon:"close",text:"Delete Column",command:"DeleteColumnCommand",rules:"isEditable"}},defaultButtons:["editColumn","addCard","deleteColumn"],_render:function(){var t=this,e=m.styles,n=u.guid(),a=l("<div class='"+e.element+"'></div>").attr(u.attr("uid"),t._dataItem.uid).css({width:t.options.width}).attr("role","list").attr("aria-labelledby",n),s=l("<div class='"+e.header+"'></div>"),r=l("<div class='"+e.cardsContainer+"'></div>"),o=l("<div class='"+e.columnCards+"'></div>");t.header=s.appendTo(a).attr("id",n);t._renderHeader();r.appendTo(a);t.container=o.appendTo(r).addClass(t.sortableUniqueClass);t.element=a},_renderHeader:function(){var t=this,e=m.styles,n=t.options,a=n.template?n.template:u.format(t.template,"#:"+n.dataTextField+"#");t.header.append(u.template(a)(c(true,{},{styles:e,buttons:t._buildActionsHtml()},t._dataItem)))},_renderEditHeader:function(){var t=this,e=m.styles,n=t.options,a=n.editTemplate?n.editTemplate:u.format(t.editTemplate,n.dataTextField);t.header.html("");t.header.append(u.template(a)(c(true,{},{styles:e,messages:n.messages,buttons:t._buildActionsHtml()},t._dataItem)));setTimeout(function(){t.header.find("input").trigger("focus")},0);t.header.find(r+e.actions).addClass(e.disabled)},_buildActionsHtml:function(){var t=this,e=t.options,n=e.messages,a=e.buttons||t.defaultButtons,s=m.styles,r="<div class='"+s.actions+"'>";for(var o=0;o<a.length;o++){var i=a[o];i=l.isPlainObject(i)&&Object.keys(i).length===1&&i.name?i.name:i;if(typeof i==="string")i=c(true,{},t.builtinButtons[i]||{spriteCssClass:i,command:i+"Command"},{text:n[i]||i});else if(l.isPlainObject(i)&&i.name)i=c(true,i,{text:n[i.name]});if(!t._validateRules(i))continue;var d=i.icon?"k-icon k-i-"+i.icon:"";i.icon=d;i.spriteCssClass=i.spriteCssClass||"";r+=u.template(t.actionButton)(c(true,{},{styles:s,options:false},i))}r+="</div>";return r},_validateRules:function(t){var e=this,n=e.options.states,a=t.rules?t.rules.split(";"):[];if(!a.length)return true;for(var s=0;s<a.length;s++)if(!n[a[s]])return false;return true},_actionClick:function(t){var e=this,n=l(t.target).closest("["+u.attr("command")+"]"),a=n.attr(u.attr("command")),s=n.attr(u.attr("options"));s=typeof s==="string"?{value:s}:s;if(!a)return;e.trigger(o,{command:a,options:c({target:n},s)})},_textboxBlur:function(t){var e=this,n=l(t.target).closest("["+u.attr("command")+"]"),a=n.attr(u.attr("command")),s=n.attr(u.attr("options"));s=typeof s==="string"?{value:s}:s;if(!a)return;e.trigger(o,{command:a,options:c({target:n},s)})},_attachEvents:function(){var e=this;e.header.on(t+n,r+m.styles.actionButton,e._actionClick.bind(e));e.header.on(i+n,r+m.styles.input,e._textboxBlur.bind(e));e.header.on("keyup"+n,r+m.styles.input,function(t){if(t.keyCode===u.keys.ENTER)e._textboxBlur(t)});if(e.container){e.container.on(t+n,r+m.styles.card+" ["+u.attr("command")+"]",e._actionClick.bind(e));e.container.on(t+n,r+m.styles.card+" a."+m.styles.cardTitle,v)}},_initSortable:function(){var t=this,e=t.options.states.isRtl,n=e?" k-rtl":"",a=t.container;if(!t.container)return;t.sortable=new s.Sortable(a,{ignore:r+m.styles.ignoreDrag+" *",connectWith:r+t.sortableUniqueClass,filter:r+m.styles.card,hint:function(t){return t.clone().addClass(m.styles.dragHint+" "+m.styles.grabbingCursor+n).css({width:t[0].offsetWidth,height:t[0].offsetHeight})},placeholder:function(t){return l("<div></div>").addClass(m.styles.dragPlaceholder).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){var e=m.ignoreDragSelectors;var n=l(t.event.target);for(var a=0;a<e.length;a++)if(n.is(e[a])){t.preventDefault();break}},_move:function(t){c(t,{columnElement:t.sender.element.parents(r+m.styles.element)});this.trigger(d,t)},_start:function(t){c(t,{columnElement:t.sender.element.parents(r+m.styles.element)});this.trigger(p,t)},_end:function(t){c(t,{columnElement:t.sender.element.parents(r+m.styles.element)});this.trigger(b,t)},_change:function(t){var e=this;c(t,{columnElement:t.sender.element.parents(r+m.styles.element)});e.trigger(f,t);if(t.action==="receive"&&t.newIndex>=0||t.action==="sort"&&t.newIndex!==t.oldIndex)e.trigger(o,{command:"MoveCardCommand",options:t})},destroy:function(){var t=this;t.header.off(n);t.container.off(n);if(t.sortable)t.sortable.destroy()}}),g=m.extend({_render:function(){var t=this,e=m.styles,n=l("<div class='"+e.element+"'></div>").addClass(e.newColumn).attr(u.attr("uid"),t._dataItem.uid),a=l("<div class='"+e.header+"'></div>");t.header=a.appendTo(n);t._renderEditHeader();t.element=n}});return c(u.ui.taskboard,{Column:m,NewColumn:g}),c(true,u.ui.taskboard.Column,{styles:h,ignoreDragSelectors:["img"]}),window.kendo})?a.apply(e,n):a)||(t.exports=e)}});