UNPKG

@progress/kendo-ui

Version:

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

1 lines 12.7 kB
module.exports=function(t){function e(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}({0:function(t,e,i){t.exports=i(1266)},3:function(t,e){t.exports=function(){throw Error("define cannot be used indirect")}},1059:function(t,e){t.exports=require("./kendo.data")},1089:function(t,e){t.exports=require("./kendo.popup")},1191:function(t,e){t.exports=require("./kendo.numerictextbox")},1195:function(t,e){t.exports=require("./kendo.window")},1259:function(t,e){t.exports=require("./kendo.gantt.data")},1266:function(t,e,i){var n,o,s;!function(a,define){o=[i(1059),i(1089),i(1195),i(1259),i(1267),i(1268),i(1191)],n=a,s="function"==typeof n?n.apply(e,o):n,!(void 0!==s&&(t.exports=s))}(function(){return function(t,e){var i=window.kendo,n=i.ui,o=i.support.browser,s=i.Observable,a=n.Widget,r=i._outerWidth,d=t.extend({F10:121},i.keys),l=t.proxy,c=t.extend,p=t.isPlainObject,u=".kendoGantt",f="p0",h="tabIndex",m="click",v="width",g="string",b="aria-activedescendant",k="action-option-focused",y=".",w={down:{origin:"bottom left",position:"top left"},up:{origin:"top left",position:"bottom left"}},x=i.template('<div class="#=styles.popupWrapper#"><ul class="#=styles.popupList#" role="listbox">#for(var i = 0, l = actions.length; i < l; i++){#<li class="#=styles.item#" data-action="#=actions[i].data#" role="option">#=actions[i].text#</span>#}#</ul></div>'),_={buttonDelete:"k-gantt-delete",buttonCancel:"k-gantt-cancel",buttonSave:"k-gantt-update",focused:"k-state-focused",gridContent:"k-grid-content",hovered:"k-state-hover",item:"k-item",popupWrapper:"k-list-container",popupList:"k-list k-reset",popup:{form:"k-popup-edit-form",editForm:"k-gantt-edit-form",formContainer:"k-edit-form-container",resourcesFormContainer:"k-resources-form-container",message:"k-popup-message",buttonsContainer:"k-edit-buttons k-state-default",button:"k-button",editField:"k-edit-field",editLabel:"k-edit-label",resourcesField:"k-gantt-resources"},primary:"k-primary",toolbar:{appendButton:"k-gantt-create"}},C=function(e,n){var o={name:n.field,title:n.title},s=n.model.fields[n.field].validation;s&&p(s)&&s.message&&(o[i.attr("dateCompare-msg")]=s.message),t('<input type="text" required '+i.attr("type")+'="date" '+i.attr("role")+'="datetimepicker" '+i.attr("bind")+'="value:'+n.field+'" '+i.attr("validate")+"='true' />").attr(o).appendTo(e),t("<span "+i.attr("for")+'="'+n.field+'" class="k-invalid-msg"/>').hide().appendTo(e)},F=function(e,i){t('<a href="#" class="'+i.styles.button+'">'+i.messages.assignButton+"</a>").click(i.click).appendTo(e)},T=s.extend({init:function(t,e){s.fn.init.call(this),this.element=t,this.options=c(!0,{},this.options,e),this._popup()},options:{direction:"down",navigatable:!1},destroy:function(){clearTimeout(this._focusTimeout),this.popup.destroy(),this.element.off(u),this.list.off(u),this.unbind()},_adjustListWidth:function(){var t,e,i=this.list,n=i[0].style.width,s=this.element,a=r(i);!i.data(v)&&n||(t=window.getComputedStyle?window.getComputedStyle(s[0],null):0,e=t?parseFloat(t.width):r(s),t&&(o.mozilla||o.msie)&&(e+=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight)+parseFloat(t.borderLeftWidth)+parseFloat(t.borderRightWidth)),n="border-box"!==i.css("box-sizing")?e-(r(i)-i.width()):e,a>n&&(n=a),i.css({fontFamily:s.css("font-family"),width:n}).data(v,n))},_current:function(t){var e=this.list.find(y+_.focused),i=e[t]();i.length&&(e.removeClass(_.focused).removeAttr("id"),i.addClass(_.focused).attr("id",k),this.list.find("ul").removeAttr(b).attr(b,k))},_popup:function(){var e=this,n="li"+y+_.item,o=this.options.messages.actions,s=this.options.navigatable;this.list=t(x({styles:_,actions:[{data:"add",text:o.addChild},{data:"insert-before",text:o.insertBefore},{data:"insert-after",text:o.insertAfter}]})),this.element.append(this.list),this.popup=new i.ui.Popup(this.list,c({anchor:this.element,open:function(){e._adjustListWidth()},animation:this.options.animation},w[this.options.direction])),this.element.on(m+u,function(n){var o=t(this),a=o.attr(i.attr("action"));n.preventDefault(),a?e.trigger("command",{type:a}):(e.popup.open(),s&&e.list.find("li:first").addClass(_.focused).attr("id",k).end().find("ul").attr({TABINDEX:0,"aria-activedescendant":k}).focus())}),this.list.find(n).hover(function(){t(this).addClass(_.hovered)},function(){t(this).removeClass(_.hovered)}).end().on(m+u,n,function(){e.trigger("command",{type:t(this).attr(i.attr("action"))}),e.popup.close()}),s&&(this.popup.bind("close",function(){e.list.find(n).removeClass(_.focused).end().find("ul").attr(h,0),e.element.parents("["+i.attr("role")+'="gantt"]').find(y+_.gridContent+" > table:first").focus()}),this.list.find("ul").on("keydown"+u,function(t){var i=t.keyCode;switch(i){case d.UP:t.preventDefault(),e._current("prev");break;case d.DOWN:t.preventDefault(),e._current("next");break;case d.ENTER:e.list.find(y+_.focused).click();break;case d.ESC:t.preventDefault(),e.popup.close()}}))}}),D={desktop:{dateRange:C,resources:F}},B=i.Observable.extend({init:function(t,e){i.Observable.fn.init.call(this),this.element=t,this.options=c(!0,{},this.options,e),this.createButton=this.options.createButton},fields:function(e,i,n){var o,s=this,a=this.options,r=a.messages.editor,d=a.resources,l=function(t){t.preventDefault(),d.editor(s.container.find(y+_.popup.resourcesField),i)};return a.editable.template?o=t.map(i.fields,function(t,e){return{field:e}}):(o=[{field:"title",title:r.title},{field:"start",title:r.start,editor:e.dateRange},{field:"end",title:r.end,editor:e.dateRange},{field:"percentComplete",title:r.percentComplete,format:f}],n&&o.splice.apply(o,[1,0].concat([{field:"plannedStart",title:r.plannedStart,editor:e.dateRange},{field:"plannedEnd",title:r.plannedEnd,editor:e.dateRange}])),i.get(d.field)&&o.push({field:d.field,title:r.resources,messages:r,editor:e.resources,click:l,styles:_.popup})),o},_buildEditTemplate:function(t,e,n){var o,s,a,r,d=this.options.resources,l=this.options.editable.template,p=c({},i.Template,this.options.templateSettings),u=p.paramName,f=_.popup,h="";if(l)typeof l===g&&(l=i.unescape(l)),h+=i.template(l,p)(t);else for(o=0,s=e.length;o<s;o++)a=e[o],h+='<div class="'+f.editLabel+'"><label for="'+a.field+'">'+(a.title||a.field||"")+"</label></div>",a.field===d.field&&(h+='<div class="'+f.resourcesField+'" style="display:none"></div>'),!t.editable||t.editable(a.field)?(n.push(a),h+="<div "+i.attr("container-for")+'="'+a.field+'" class="'+f.editField+'"></div>'):(r="#:",a.field?(a=i.expr(a.field,u),r+=a+"==null?'':"+a):r+="''",r+="#",r=i.template(r,p),h+='<div class="'+f.editField+'">'+r(t)+"</div>");return h}}),E=B.extend({destroy:function(){this.close(),this.unbind()},close:function(){var t=this,e=function(){t.editable&&(t.editable.destroy(),t.editable=null,t.container=null),t.popup&&(t.popup.destroy(),t.popup=null)};this.editable&&this.container.is(":visible")?(t.trigger("close",{window:t.container}),this.container.data("kendoWindow").bind("deactivate",e).close()):e()},editTask:function(t,e){this.editable=this._createPopupEditor(t,e)},showDialog:function(e){var n,o,s,a,r=e.buttons,d=_.popup,l=i.format('<div class="{0}"><div class="{1}"><p class="{2}">{3}</p><div class="{4}">',d.form,d.formContainer,d.message,e.text,d.buttonsContainer);for(n=0,o=r.length;n<o;n++)l+=this.createButton(r[n]);l+="</div></div></div>",s=this.element,this.popup&&this.popup.destroy(),a=this.popup=t(l).appendTo(s).eq(0).on("click",y+d.button,function(e){e.preventDefault(),a.close();var i=t(e.currentTarget).index();r[i].click()}).kendoWindow({modal:!0,autoFocus:!1,resizable:!1,draggable:!1,title:e.title,visible:!1,deactivate:function(){this.destroy(),s.focus()}}).getKendoWindow(),a.center().open(),a.element.find(".k-primary").focus()},_createPopupEditor:function(e,n){var o,s,a=this,r={},d=this.options.messages,l=_.popup,p=i.format('<div {0}="{1}" class="{2} {3}"><div class="{4}">',i.attr("uid"),e.uid,l.form,l.editForm,l.formContainer),f=this.fields(D.desktop,e,n),h=[];return p+=this._buildEditTemplate(e,f,h),p+='<div class="'+l.buttonsContainer+'">',p+=this.createButton({name:"update",text:d.save,className:_.primary}),p+=this.createButton({name:"cancel",text:d.cancel}),a.options.editable.destroy!==!1&&(p+=this.createButton({name:"delete",text:d.destroy})),p+="</div></div></div>",o=this.container=t(p).appendTo(this.element).eq(0).kendoWindow(c({modal:!0,resizable:!1,draggable:!0,title:d.editor.editorTitle,visible:!1,close:function(t){t.userTriggered&&a.trigger("cancel",{container:o,model:e})&&t.preventDefault()}},r)),s=o.kendoEditable({fields:h,model:e,clearContainer:!1,validateOnBlur:!0,target:a.options.target}).data("kendoEditable"),i.cycleForm(o),this.trigger("edit",{container:o,model:e})?a.trigger("cancel",{container:o,model:e}):(o.data("kendoWindow").center().open(),o.on(m+u,y+_.buttonCancel,function(t){t.preventDefault(),t.stopPropagation(),a.trigger("cancel",{container:o,model:e})}),o.on(m+u,y+_.buttonSave,function(t){var i,s,r,d,l;for(t.preventDefault(),t.stopPropagation(),i=a.fields(D.desktop,e,n),s={},d=0,l=i.length;d<l;d++)r=i[d].field,s[r]=e.get(r);a.trigger("save",{container:o,model:e,updateInfo:s})}),o.on(m+u,y+_.buttonDelete,function(t){t.preventDefault(),t.stopPropagation(),a.trigger("remove",{container:o,model:e})})),s}}),W=a.extend({init:function(t,e){a.fn.init.call(this,t,e),this.wrapper=this.element,this.model=this.options.model,this.resourcesField=this.options.resourcesField,this.createButton=this.options.createButton,this._initContainer(),this._attachHandlers()},events:["save"],close:function(){this.window.bind("deactivate",l(this.destroy,this)).close()},destroy:function(){this._dettachHandlers(),this.grid.destroy(),this.grid=null,this.window.destroy(),this.window=null,a.fn.destroy.call(this),i.destroy(this.wrapper),this.element=this.wrapper=null},open:function(){this.window.center().open()},_attachHandlers:function(){var e=this.grid,n=this._cancelProxy=l(this._cancel,this);this.container.on(m+u,y+_.buttonCancel,this._cancelProxy),this._saveProxy=l(this._save,this),this.container.on(m+u,y+_.buttonSave,this._saveProxy),this.window.bind("close",function(t){t.userTriggered&&n(t)}),e.wrapper.on(m+u,"input[type='checkbox']",function(){var n=t(this),o=t(n).closest("tr"),s=e.dataSource.getByUid(o.attr(i.attr("uid"))),a=t(n).is(":checked")?1:"";s.set("value",a)})},_cancel:function(t){t.preventDefault(),this.close()},_createButtons:function(){var t,e,i=this.options.buttons,n='<div class="'+_.popup.buttonsContainer+'">';for(t=0,e=i.length;t<e;t++)n+=this.createButton(i[t]);n+="</div>",this.container.append(n)},_dettachHandlers:function(){this._cancelProxy=null,this._saveProxy=null,this.container.off(u),this.grid.wrapper.off()},_initContainer:function(){var e=this,n=_.popup,o=i.format('<div class="{0} {1}"><div class="{2} {3}"></div></div>"',n.form,n.editForm,n.formContainer,n.resourcesFormContainer);o=t(o),this.container=o.find(y+n.resourcesFormContainer),this.window=o.kendoWindow({modal:!0,resizable:!1,draggable:!0,visible:!1,title:this.options.messages.resourcesEditorTitle,open:function(){e.grid.resize(!0)}}).data("kendoWindow"),this._resourceGrid(),this._createButtons()},_resourceGrid:function(){var e=this,n=this.options.messages,o=t('<div id="resources-grid"/>').appendTo(this.container);this.grid=new i.ui.Grid(o,{columns:[{field:"name",title:n.resourcesHeader,template:"<label><input type='checkbox' value='#=name#'# if (value > 0 && value !== null) {#checked='checked'# } #/>#=name#</labe>"},{field:"value",title:n.unitsHeader,template:function(t){var e=t.format,n=null!==t.value?t.value:"";return e?i.toString(n,e):n}}],height:280,sortable:!0,editable:!0,filterable:!0,dataSource:{data:e.options.data,schema:{model:{id:"id",fields:{id:{from:"id"},name:{from:"name",type:"string",editable:!1},value:{from:"value",type:"number",validation:this.options.unitsValidation},format:{from:"format",type:"string"}}}}},save:function(t){var e=!!t.values.value;t.container.parent().find("input[type='checkbox']").prop("checked",e)}})},_save:function(t){t.preventDefault(),this._updateModel(),this.wrapper.is(y+_.popup.resourcesField)||this.trigger("save",{container:this.wrapper,model:this.model}),this.close()},_updateModel:function(){var t,e,i,n=[],o=this.grid.dataSource.data();for(e=0,i=o.length;e<i;e++)t=o[e].get("value"),null!==t&&t>0&&n.push(o[e]);this.model[this.resourcesField]=n}});i.gantt={TaskDropDown:T,Editor:B,PopupEditor:E,ResourceEditor:W}}(window.kendo.jQuery),window.kendo},i(3))},1267:function(t,e){t.exports=require("./kendo.grid")},1268:function(t,e){t.exports=require("./kendo.datetimepicker")}});