UNPKG

@progress/kendo-ui

Version:

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

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