UNPKG

@progress/kendo-ui

Version:

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

2 lines 39.2 kB
module.exports=function(e){function t(i){if(n[i])return n[i].exports;var s=n[i]={exports:{},id:i,loaded:!1};return e[i].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}({0:function(e,t,n){e.exports=n(1257)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1059:function(e,t){e.exports=require("./kendo.data")},1194:function(e,t){e.exports=require("./kendo.resizable")},1257:function(e,t,n){var i,s,r;!function(a,define){s=[n(1059),n(1194),n(1258),n(1259),n(1260),n(1261),n(1262),n(1263)],i=a,r="function"==typeof i?i.apply(t,s):i,!(void 0!==r&&(e.exports=r))}(function(){return function(e,t){function n(e){return"["+o.attr("uid")+(e?"='"+e+"']":"]")}function i(e){return delete e.name,delete e.prefix,delete e.remove,delete e.edit,delete e.add,delete e.navigate,e}function s(t,n){var i=t.parents("["+o.attr("role")+'="gantt"]'),s=[],a=r(i);t.attr(C,0),n&&a.each(function(t,n){s[t]=e(n).scrollTop()});try{t[0].setActive()}catch(d){t[0].focus()}n&&a.each(function(t,n){e(n).scrollTop(s[t])})}function r(t){return e(t).parentsUntil("body").filter(function(e,t){var n=o.getComputedStyles(t,["overflow"]);return"visible"!=n.overflow}).add(window)}var a,o=window.kendo,d=e.extend({F10:121},o.keys),l="matchMedia"in window,c=o.support.mobileOS,u=o.ui.Widget,h=o.data.ObservableObject,p=o.data.ObservableArray,f=o.data.Query,v=e.isArray,g=e.inArray,m=o.isFunction,w=e.proxy,k=e.extend,b=e.isPlainObject,_=o._outerWidth,y=o._outerHeight,D=3,T=".kendoGantt",S="p0",C="tabIndex",x="click",R="string",H="aria-activedescendant",E="aria-label",B="gantt_active_cell",W=".",I="Are you sure you want to delete this task?",F="Are you sure you want to delete this dependency?",A=o.template('<button class="#=styles.buttonToggle#" type="button" '+E+'="Toggle"><span class="#=styles.iconToggle#"></span></button>'),z='<button class="#=styles.button# #=className#" type="button" #if (action) {#data-action="#=action#"#}#><span class="#=iconClass#"></span><span class="k-button-text">#=text#</span></button>',P='<a class="#=className#" #=attr# href="\\#">#=text#</a>',L=o.template('<select class="k-dropdown #= styles.viewsDropdown #">#for(var view in views){#<option value="#=view#">#=views[view].title#</option>#}#</select>'),N=o.template('<div class="#=styles.viewsWrapper#"><span class="k-button-group #=styles.views#">#for(var view in views){#<button type="button" class="#=styles.button# #=styles.viewButton#-#= view.toLowerCase() #" data-#=ns#name="#=view#"><span class="k-button-text">#=views[view].title#</span></button>#}#</span></div>'),q={wrapper:"k-widget k-gantt",plannedTasks:"k-gantt-planned",rowHeight:"k-gantt-rowheight",content:"k-gantt-content",listWrapper:"k-gantt-treelist",list:"k-gantt-treelist",timelineWrapper:"k-gantt-timeline",timeline:"k-gantt-timeline",splitBarWrapper:"k-splitbar k-state-default k-splitbar-horizontal k-splitbar-draggable-horizontal",splitBar:"k-splitbar",splitBarHover:"k-splitbar-horizontal-hover",popupWrapper:"k-list-container",popupList:"k-list k-reset",resizeHandle:"k-resize-handle",icon:"k-icon",item:"k-item",line:"k-gantt-line",buttonDelete:"k-gantt-delete",buttonCancel:"k-gantt-cancel",buttonSave:"k-gantt-update",buttonToggle:"k-gantt-toggle",primary:"k-primary",hovered:"k-state-hover",selected:"k-state-selected",focused:"k-state-focused",gridHeader:"k-grid-header",gridHeaderWrap:"k-grid-header-wrap",gridContent:"k-grid-content",tasks:"k-gantt-tasks",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"},toolbar:{headerWrapper:"k-gantt-header k-toolbar k-gantt-toolbar",footerWrapper:"k-gantt-footer k-toolbar k-gantt-toolbar",toolbar:"k-gantt-toolbar",views:"k-gantt-views",viewsWrapper:"k-gantt-views-wrapper",viewsDropdown:"k-views-dropdown",button:"k-button k-button-icontext",buttonToggle:"k-button k-button-icon k-gantt-toggle",iconPlus:"k-icon k-i-plus",iconPdf:"k-icon k-i-file-pdf",iconToggle:"k-icon k-i-layout-1-by-4",viewButtonDefault:"k-state-default",viewButton:"k-view",link:"k-link",pdfButton:"k-gantt-pdf",appendButton:"k-gantt-create"}},U=u.extend({init:function(e,t,n){v(t)&&(t={dataSource:t}),a={append:{text:"Add Task",action:"add",className:U.styles.toolbar.appendButton,iconClass:U.styles.toolbar.iconPlus},pdf:{text:"Export to PDF",className:U.styles.toolbar.pdfButton,iconClass:U.styles.toolbar.iconPdf}},u.fn.init.call(this,e,t),n&&(this._events=n),this._wrapper(),this._resources(),this.options.views&&this.options.views.length||(this.options.views=["day","week","month"]),this._timeline(),this._toolbar(),this._footer(),this._adjustDimensions(),this._preventRefresh=!0,this.view(this.timeline._selectedViewName),this._preventRefresh=!1,this._dataSource(),this._assignments(),this._dropDowns(),this._list(),this._dependencies(),this._resizable(),this._scrollable(),this._dataBind(),this._attachEvents(),this._createEditor(),o.notify(this)},events:["dataBinding","dataBound","add","edit","remove","cancel","save","change","navigate","moveStart","move","moveEnd","resizeStart","resize","resizeEnd","columnHide","columnReorder","columnResize","columnShow","togglePlannedTasks"],options:{name:"Gantt",autoBind:!0,navigatable:!1,selectable:!0,editable:!0,resizable:!1,columnResizeHandleWidth:D,columns:[],views:[],dataSource:{},dependencies:{},resources:{},assignments:{},taskTemplate:null,messages:{save:"Save",cancel:"Cancel",destroy:"Delete",deleteTaskConfirmation:I,deleteDependencyConfirmation:F,deleteTaskWindowTitle:"Delete task",deleteDependencyWindowTitle:"Delete dependency",views:{day:"Day",week:"Week",month:"Month",year:"Year",start:"Start",end:"End"},actions:{append:"Add Task",addChild:"Add Child",insertBefore:"Add Above",insertAfter:"Add Below",pdf:"Export to PDF"},editor:{editorTitle:"Task",resourcesEditorTitle:"Resources",title:"Title",start:"Start",end:"End",plannedStart:"Planned Start",plannedEnd:"Planned End",percentComplete:"Complete",resources:"Resources",assignButton:"Assign",resourcesHeader:"Resources",unitsHeader:"Units"},plannedTasks:{switchText:"Planned Tasks",offsetTooltipAdvanced:"Met deadline earlier",offsetTooltipDelay:"Delay",seconds:"seconds",minutes:"minutes",hours:"hours",days:"days"}},showWorkHours:!0,showWorkDays:!0,toolbar:null,workDayStart:new Date(1980,1,1,8,0,0),workDayEnd:new Date(1980,1,1,17,0,0),workWeekStart:1,workWeekEnd:5,hourSpan:1,snap:!0,height:600,listWidth:"30%",rowHeight:null,showPlannedTasks:!1},select:function(e){var n=this.list;return e?(typeof e===R&&(e=n.content.find(e)),n.select(e),this.list.element.find("table[role=treegrid]").focus(),t):n.select()},clearSelection:function(){this.list.clearSelection()},destroy:function(){u.fn.destroy.call(this),this.dataSource&&(this.dataSource.unbind("change",this._refreshHandler),this.dataSource.unbind("progress",this._progressHandler),this.dataSource.unbind("error",this._errorHandler)),this.dependencies&&(this.dependencies.unbind("change",this._dependencyRefreshHandler),this.dependencies.unbind("error",this._dependencyErrorHandler)),this.timeline&&(this.timeline.unbind(),this.timeline.destroy()),this.list&&(this.list.unbind(),this.list.destroy()),this.footerDropDown&&this.footerDropDown.destroy(),this.headerDropDown&&this.headerDropDown.destroy(),this._editor&&this._editor.destroy(),this._resizeDraggable&&this._resizeDraggable.destroy(),this.toolbar.off(T),l&&(this._mediaQuery.removeListener(this._mediaQueryHandler),this._mediaQuery=null),e(window).off("resize"+T,this._resizeHandler),e(this.wrapper).off(T),this.toolbar=null,this.footer=null,o.destroy(this.element)},setOptions:function(t){var n,i=o.deepExtend({},this.options,t),s=this._events;t.views||(n=this.view().name,i.views=e.map(this.options.views,function(e){var t=b(e),i=t?"string"!=typeof e.type?e.title:e.type:e;return n===i?t?e.selected=!0:e={type:i,selected:!0}:t&&(e.selected=!1),e})),t.dataSource||(i.dataSource=this.dataSource),t.dependencies||(i.dependencies=this.dependencies),t.resources||(i.resources=this.resources),t.assignments||(i.assignments=this.assignments),this.destroy(),this.element.empty(),this.options=null,this.init(this.element,i,s),u.fn._setEvents.call(this,i)},_attachEvents:function(){this._resizeHandler=w(this.resize,this,!1),e(window).on("resize"+T,this._resizeHandler),l&&this._mediaQuery.matches===!0&&this._mediaQueryHandler({matches:!0})},_wrapper:function(){var t=U.styles,n=[t.icon,t.resizeHandle].join(" "),i=this.options,s=i.height,r=i.width;this.wrapper=this.element.addClass(t.wrapper),this.layout=e("<div class='"+t.content+"' />").appendTo(this.wrapper).append("<div class='"+t.listWrapper+"'><div></div></div>").append("<div class='"+t.splitBarWrapper+"'><div class='"+n+"'></div></div>").append("<div class='"+t.timelineWrapper+"'><div></div></div>"),i.showPlannedTasks&&this.wrapper.addClass(t.plannedTasks),s&&this.wrapper.css("height",s),r&&this.wrapper.css("width",r),i.rowHeight&&this.wrapper.addClass(t.rowHeight),this.treelistWrapper=this.wrapper.find(W+t.list),this.splitbar=this.wrapper.find(W+t.splitBar),this.timelineWrapper=this.wrapper.find(W+t.timeline),this.treelistWrapper.css("width",i.listWidth),this.timelineWrapper.css("width",this.wrapper.width()-this.treelistWrapper.outerWidth()-this.splitbar.outerWidth())},_toolbar:function(){var t,n,i,s=this,r=U.styles,a=W+r.toolbar.views+" > button",c=W+r.toolbar.viewsDropdown,u=W+r.toolbar.pdfButton,h=W+r.buttonToggle,p=W+r.gridContent,f=s.splitbar,v=s.treelistWrapper,g=s.timelineWrapper,k=this.options.toolbar,b=function(e){e.matches?(v.addClass("k-hidden"),f.addClass("k-hidden"),v.width("100%")):(v.removeClass("k-hidden"),f.removeClass("k-hidden"),g.removeClass("k-hidden"),v.width(v.outerWidth()),s.refresh(),g.find(p).scrollTop(s.scrollTop)),s._resize()};m(k)||(k=typeof k===R?k:this._actions(k),k=w(o.template(k),this)),i=e(A({styles:r.toolbar})),n=e(N({ns:o.ns,views:this.timeline.views,styles:r.toolbar})),t=e("<div class='"+r.toolbar.headerWrapper+"'>").append(i).append(k({})).append("<span class='k-spacer k-toolbar-spacer' />").append(n),n.find("button").length>1&&n.prepend(L({ns:o.ns,views:this.timeline.views,styles:r.toolbar})),this.toggeSwitchWrap&&this.toggeSwitchWrap.insertBefore(n),this.wrapper.prepend(t),this.toolbar=t,l&&(this._mediaQueryHandler=w(b,this),this._mediaQuery=window.matchMedia("(max-width: 480px)"),this._mediaQuery.addListener(this._mediaQueryHandler)),t.on("change"+T,c,function(){var t=s.list,n=e(this).val();t.editable&&t.editable.trigger("validate")||(s.trigger("navigate",{view:n})||s.view(n),s.toolbar.find(W+r.focused).removeClass(r.focused))}).on(x+T,a,function(t){var n,i;t.preventDefault(),n=s.list,i=e(this).attr(o.attr("name")),n.editor&&!n.editor.end()||(s.trigger("navigate",{view:i})||s.view(i),s.toolbar.find(W+r.focused).removeClass(r.focused))}).on("keydown"+T,a,function(t){var n=e(W+r.toolbar.views).children(":not(.k-current-view)"),i=n.index(s._focusedView&&s._focusedView[0]||n.closest(W+r.selected)[0]);t.keyCode===d.RIGHT?(e(s.toolbar.find(W+r.focused)).removeClass(r.focused),s._focusedView=e(i+1===n.length?n[0]:n[i+1]),s._focusedView.focus().addClass(r.focused),t.preventDefault()):t.keyCode===d.LEFT?(e(s.toolbar.find(W+r.focused)).removeClass(r.focused),s._focusedView=e(0===i?n[n.length-1]:n[i-1]),s._focusedView.focus().addClass(r.focused),t.preventDefault()):t.keyCode!==d.ENTER&&t.keyCode!==d.SPACEBAR||!s._focusedView?t.keyCode>=49&&t.keyCode<=57&&s.view(s.timeline._viewByIndex(t.keyCode-49)):(s.view(s._focusedView.text().toLowerCase()),t.preventDefault())}).on(x+T,u,function(e){e.preventDefault(),s.saveAsPDF()}).on(x+T,h,function(e){e.preventDefault(),v.is(":visible")?(v.addClass("k-hidden"),g.removeClass("k-hidden"),s.refresh(),g.find(p).scrollTop(s.scrollTop)):(v.removeClass("k-hidden"),g.addClass("k-hidden"),v.find(p).scrollTop(s.scrollTop)),s._resize()}),this.wrapper.on("focusout"+T,function(t){e(t.relatedTarget).closest(W+r.toolbar.toolbar).length||s.toolbar.find(W+r.focused).removeClass(r.focused),e(t.relatedTarget).closest(W+r.toolbar.views).length||s.toolbar.find(W+r.toolbar.views).removeClass(r.toolbar.expanded)})},_actions:function(){var e,t,n,i=this.options,s=i.editable,r=i.toolbar,a="";if(!v(r)){if(!s||s.create===!1)return a;r=["append"]}for(t=0,n=r.length;t<n;t++)e=r[t],"plannedTasks"!==e&&"plannedTasks"!==e.name?a+=this._createButton(e):this._createPlannedTasksSwitch();return a},_footer:function(){var t,n,i,s,r=this.options.editable;r&&r.create!==!1&&(t=U.styles.toolbar,n=this.options.messages.actions,i=e(o.template(z)(k(!0,{styles:t},a.append,{text:n.append}))),s=e("<div class='"+t.footerWrapper+"'>").append(i),this.wrapper.append(s),this.footer=s)},_createButton:function(e){var t=e.template||z,n=this.options.messages.actions,i=typeof e===R?e:e.name||e.text,s=a[i]?a[i].className:"k-gantt-"+(i||"").replace(/\s/g,""),r={iconClass:"",action:"",text:i,className:s,styles:U.styles.toolbar};if(!(i||b(e)&&e.template))throw Error("Custom commands should have name specified");return r=k(!0,r,a[i],{text:n[i]}),b(e)&&(e.className&&g(r.className,e.className.split(" "))<0&&(e.className+=" "+r.className),r=k(!0,r,e)),o.template(t)(r)},_adjustDimensions:function(){var e=this.element,t=y(this.toolbar),n=this.footer?y(this.footer):0,i=e.height(),s=e.width(),r=this.splitbar.is(":visible")?_(this.splitbar):0,a=this.treelistWrapper.is(":visible")?_(this.treelistWrapper):0,o=s-(a+r);this.layout.children().height(i-(t+n)),this.timelineWrapper.width(o),s<a+r&&this.treelistWrapper.width(s-r)},_scrollTo:function(e){var t,i,s=this.timeline.view(),r=this.list,a=o.attr("uid"),d="string"==typeof e?e:e.closest("tr"+n()).attr(a),l=function(){0!==i.length&&t()};s.content.is(":visible")?(i=s.content.find(n(d)),t=function(){s._scrollTo(i)}):(i=r.element.find(n(d)),t=function(){i.get(0).scrollIntoView()}),l()},_dropDowns:function(){var e=this,t=W+U.styles.toolbar.appendButton,n=this.options.messages.actions,i=this.timeline,s=this.options.editable,r=function(t){var n,s=t.type,r=e.dataSource,a=r._createNewModel({}),o=e.dataItem(e.select()),d=r.taskParent(o),l=i.view()._timeSlots()[0],c="add"===s?o:d,u=e.list.editor;u&&u.trigger("validate")||(a.set("title","New task"),c?(a.set("parentId",c.get("id")),a.set("start",c.get("start")),a.set("end",c.get("end")),a.set("plannedStart",c.get("plannedStart")),a.set("plannedEnd",c.get("plannedEnd"))):(a.set("start",l.start),a.set("end",l.end)),"add"!==s&&(n=o.get("orderId"),n="insert-before"===s?n:n+1),e._createTask(a,n))};s&&s.create!==!1&&(this.footerDropDown=new o.gantt.TaskDropDown(this.footer.children(t).eq(0),{messages:{actions:n},direction:"up",animation:{open:{effects:"slideIn:up"}},navigatable:e.options.navigatable}),this.headerDropDown=new o.gantt.TaskDropDown(this.toolbar.children(t).eq(0),{messages:{actions:n},navigatable:e.options.navigatable}),this.footerDropDown.bind("command",r),this.headerDropDown.bind("command",r))},_getListEditable:function(){var e=!1,t=this.options;return t.editable!==!1&&(e="incell",t.editable&&t.editable.update===!1?e=!1:t.editable&&t.editable.reorder===!1||(e={mode:"incell",move:{reorderable:!0}})),e},_getListOptions:function(){var e=this.options,t=this._getListEditable(),n=this.wrapper.find(W+q.list),i={columns:e.columns||[],dataSource:this.dataSource,selectable:e.selectable,reorderable:e.reorderable,editable:t,resizable:e.resizable,filterable:e.filterable,columnMenu:e.columnMenu,columnResizeHandleWidth:this.options.columnResizeHandleWidth,listWidth:_(n),resourcesField:this.resources.field,rowHeight:this.options.rowHeight};return i},_attachResourceEditor:function(e){var t,n;for(n=0;n<e.length;n++)t=e[n],t.field===this.resources.field&&"function"!=typeof t.editor&&(t.editor=w(this._createResourceEditor,this))},_attachListEvents:function(){var e=this,n=e.options.navigatable,i=this.wrapper.find(W+q.toolbar.toolbar+" "+W+q.toolbar.appendButton),r=function(){var t;n&&e._cachedCurrent&&(t=e.list.content.find("tr").eq(e._cachedCurrent.rowIndex).find("td").eq(e._cachedCurrent.columnIndex),e._current(t),s(e.list.content.find("table"),!0)),delete e._cachedCurrent};e.list.bind("columnShow",function(t){e.trigger("columnShow",{column:t.column})}).bind("columnHide",function(t){e.trigger("columnHide",{column:t.column})}).bind("columnReorder",function(t){e.trigger("columnReorder",{column:t.column,oldIndex:t.oldIndex,newIndex:t.newIndex})}).bind("columnResize",function(t){e.trigger("columnResize",{column:t.column,oldWidth:t.oldWidth,newWidth:t.newWidth})}).bind("render",function(){e._navigatable()},!0).bind("beforeEdit",function(t){e._cachedCurrent={rowIndex:t.container.closest("tr").index(),columnIndex:t.container.index()},e.trigger("edit",{task:t.model,container:t.container})&&t.preventDefault()}).bind("cancel",function(n){return e.trigger("cancel",{task:n.model,container:n.cell})?(n.preventDefault(),t):(e._preventItemChange=!0,e.list.closeCell(!0),r(),t)}).bind("save",function(n){var i=n.values;e._preventRefresh=!0,null!==e.updateDuration&&e.updateDuration!==t||(e.updateDuration=n.model.duration()),i.hasOwnProperty("start")&&(i.end=new Date(i.start.getTime()+e.updateDuration)),e.updatedValues=i}).bind("itemChange",function(n){var i=e.updatedValues,s=n.data,a=e.resources.field;return e._preventItemChange?(e._preventItemChange=!1,t):(e.trigger("save",{task:s,values:i})?e.dataSource.hasChanges()&&(e.dataSource.cancelChanges(),e._preventRefresh=!1,e.refresh()):(i&&(e._preventRefresh=!0,e.dataSource.update(s,i),i[a]&&e._updateAssignments(s.get("id"),i[a])),e._preventRefresh=!1,e._requestStart(),e.dataSource.sync().then(function(){r()})),e.updatedValues=null,e.updateDuration=null,t)}).bind("change",function(){e.trigger("change");var t=e.list.select();t.length?(i.removeAttr("data-action","add"),e.timeline.select("[data-uid='"+t.attr("data-uid")+"']")):(i.attr("data-action","add"),e.timeline.clearSelection())}).bind("collapse",function(t){t.preventDefault();var n=e.list.element.find("tr[data-uid='"+t.model.uid+"']");t.model.set("expanded",!1),e._cachedCurrent={rowIndex:n.index(),columnIndex:n.find(".k-state-focused").index()},r()}).bind("expand",function(t){t.preventDefault();var n=e.list.element.find("tr[data-uid='"+t.model.uid+"']");t.model.set("expanded",!0),e._cachedCurrent={rowIndex:n.index(),columnIndex:n.find(".k-state-focused").index()},r()}).bind("dragend",function(t){var n,i,s=e.dataSource;"over"===t.position&&(i={parentId:t.source.parentId},s.cancelChanges(),n=s.get(t.source.id),e.trigger("save",{task:n,values:i})||s.update(n,i)),s.sync()}).bind("dataBound",function(){0===e.dataSource.sort().length&&e.dataSource.sort([{field:"orderId",dir:"asc"}])}).bind("reorder",function(t){e._updateTask(t.task,t.updateInfo),r()})},_list:function(){var e=U.styles,t=this.wrapper.find(W+e.list),n=t.find("> div"),i=this._getListOptions();this._attachResourceEditor(i.columns),this.list=new o.ui.GanttList(n,i),this._attachListEvents()},_timeline:function(){var e=this,n=U.styles,s=i(k(!0,{resourcesField:this.resources.field},this.options)),r=this.wrapper.find(W+n.timeline+" > div");this.timeline=new o.ui.GanttTimeline(r,s),this.timeline.bind("navigate",function(t){var i=t.view.replace(/\./g,"\\.").toLowerCase();e.toolbar.find(W+n.toolbar.views+" > button").removeClass(n.selected).end().find(W+n.toolbar.viewButton+"-"+i).addClass(n.selected),e.toolbar.find(W+n.toolbar.viewsDropdown).val(i),e.refresh()}).bind("moveStart",function(n){var i=e.list.editor;return i&&!i.end()?(n.preventDefault(),t):(e.trigger("moveStart",{task:n.task})&&n.preventDefault(),t)}).bind("move",function(t){var n=t.task,i=t.start,s=new Date(i.getTime()+n.duration());e.trigger("move",{task:n,start:i,end:s})&&t.preventDefault()}).bind("moveEnd",function(t){var n=t.task,i=t.start,s=new Date(i.getTime()+n.duration());e.trigger("moveEnd",{task:n,start:i,end:s})||e._updateTask(e.dataSource.getByUid(n.uid),{start:i,end:s})}).bind("resizeStart",function(n){var i=e.list.editor;return i&&!i.end()?(n.preventDefault(),t):(e.trigger("resizeStart",{task:n.task})&&n.preventDefault(),t)}).bind("resize",function(t){e.trigger("resize",{task:t.task,start:t.start,end:t.end})&&t.preventDefault()}).bind("resizeEnd",function(t){var n=t.task,i={};t.resizeStart?i.start=t.start:i.end=t.end,e.trigger("resizeEnd",{task:n,start:t.start,end:t.end})||e._updateTask(e.dataSource.getByUid(n.uid),i)}).bind("percentResizeStart",function(t){var n=e.list.editor;n&&!n.end()&&t.preventDefault()}).bind("percentResizeEnd",function(t){e._updateTask(e.dataSource.getByUid(t.task.uid),{percentComplete:t.percentComplete})}).bind("dependencyDragStart",function(t){var n=e.list.editor;n&&!n.end()&&t.preventDefault()}).bind("dependencyDragEnd",function(t){var n=e.dependencies._createNewModel({type:t.type,predecessorId:t.predecessor.id,successorId:t.successor.id});e._createDependency(n)}).bind("select",function(t){var n=e.list.editor;n&&n.end(),e.select("[data-uid='"+t.uid+"']")}).bind("editTask",function(t){var n=e.list.editor;n&&!n.end()||e.editTask(t.uid)}).bind("clear",function(){e.clearSelection()}).bind("removeTask",function(t){var n=e.list.editor;n&&!n.end()||e.removeTask(e.dataSource.getByUid(t.uid))}).bind("removeDependency",function(t){var n=e.list.editor;n&&!n.end()||e.removeDependency(e.dependencies.getByUid(t.uid))})},_dataSource:function(){var e=this.options,t=e.dataSource;t=v(t)?{data:t}:t,this.dataSource&&this._refreshHandler?this.dataSource.unbind("change",this._refreshHandler).unbind("progress",this._progressHandler).unbind("error",this._errorHandler):(this._refreshHandler=w(this.refresh,this),this._progressHandler=w(this._requestStart,this),this._errorHandler=w(this._error,this)),this.dataSource=o.data.GanttDataSource.create(t).bind("change",this._refreshHandler).bind("progress",this._progressHandler).bind("error",this._errorHandler)},_dependencies:function(){var e=this.options.dependencies||{},t=v(e)?{data:e}:e;this.dependencies&&this._dependencyRefreshHandler?this.dependencies.unbind("change",this._dependencyRefreshHandler).unbind("error",this._dependencyErrorHandler):(this._dependencyRefreshHandler=w(this.refreshDependencies,this),this._dependencyErrorHandler=w(this._error,this)),this.dependencies=o.data.GanttDependencyDataSource.create(t).bind("change",this._dependencyRefreshHandler).bind("error",this._dependencyErrorHandler)},_resources:function(){var e=this.options.resources,t=e.dataSource||{};this.resources={field:"resources",dataTextField:"name",dataColorField:"color",dataFormatField:"format"},k(this.resources,e),this.resources.dataSource=o.data.DataSource.create(t)},_assignments:function(){var e=this.options.assignments,t=e.dataSource||{};this.assignments?this.assignments.dataSource.unbind("change",this._assignmentsRefreshHandler):this._assignmentsRefreshHandler=w(this.refresh,this),this.assignments={dataTaskIdField:"taskId",dataResourceIdField:"resourceId",dataValueField:"value"},k(this.assignments,e),this.assignments.dataSource=o.data.DataSource.create(t),this.assignments.dataSource.bind("change",this._assignmentsRefreshHandler)},_createEditor:function(){var e=this,n=this._editor=new o.gantt.PopupEditor(this.wrapper,k({},this.options,{target:this,resources:{field:this.resources.field,editor:w(this._createResourceEditor,this)},createButton:w(this._createPopupButton,this)}));n.bind("cancel",function(n){var i=e.dataSource.getByUid(n.model.uid);return e.trigger("cancel",{container:n.container,task:i})?(n.preventDefault(),t):(e.cancelTask(),t)}).bind("edit",function(t){var n=e.dataSource.getByUid(t.model.uid);e.trigger("edit",{container:t.container,task:n})&&t.preventDefault()}).bind("save",function(t){var n=e.dataSource.getByUid(t.model.uid);e.saveTask(n,t.updateInfo)}).bind("remove",function(t){e.removeTask(t.model.uid)}).bind("close",e._onDialogClose)},_onDialogClose:function(){},_createResourceEditor:function(e,t){var n,i=this,s=t instanceof h?t:t.model,r=s.get("id"),a=this.options.messages,d=this.resources.field,l={step:.01},c=this.assignments.dataSource.options.schema.model;c&&c.fields.Units&&c.fields.Units.validation&&k(!0,l,c.fields.Units.validation),n=this._resourceEditor=new o.gantt.ResourceEditor(e,{resourcesField:d,unitsValidation:l,data:this._wrapResourceData(r),model:s,messages:k({},a.editor),buttons:[{name:"update",text:a.save,className:U.styles.primary},{name:"cancel",text:a.cancel}],createButton:w(this._createPopupButton,this),save:function(e){i._updateAssignments(e.model.get("id"),e.model.get(d))}}),n.open()},_createPopupButton:function(e){var t=e.name||e.text,n={className:U.styles.popup.button+" k-gantt-"+(t||"").replace(/\s/g,""),text:t,attr:""};if(!(t||b(e)&&e.template))throw Error("Custom commands should have name specified");return b(e)&&(e.className&&(e.className+=" "+n.className),n=k(!0,n,e)),o.template(P)(n)},view:function(e){return this.timeline.view(e)},range:function(e){var t=this.dataSource,n=this.view(),i=this.timeline;return e&&(n.options.range={start:e.start,end:e.end},i._render(t.taskTree()),i._renderDependencies(this.dependencies.view())),{start:n.start,end:n.end}},date:function(e){var t=this.view();return e&&(t.options.date=e,t._scrollToDate(e)),t.options.date},dataItem:function(e){var t,n;return e?(t=this.list,n=t.element.find(e),t._modelFromElement(n)):null},setDataSource:function(e){this.options.dataSource=e,this._dataSource(),this.list.setDataSource(this.dataSource),this.options.autoBind&&e.fetch()},setDependenciesDataSource:function(e){this.options.dependencies=e,this._dependencies(),this.options.autoBind&&e.fetch()},items:function(){return this.wrapper.children(".k-task")},_updateAssignments:function(e,t){for(var n,i,s,r,a,o,d,l=this.assignments.dataSource,c=this.assignments.dataTaskIdField,u=this.assignments.dataResourceIdField,h=!1,p=new f(l.view()).filter({field:c,operator:"eq",value:e}).toArray();p.length;){for(n=p[0],r=0,a=t.length;r<a;r++)if(i=t[r],n.get(u)===i.get("id")){s=t[r].get("value"),this._updateAssignment(n,s),t.splice(r,1),h=!0;break}h||this._removeAssignment(n),h=!1,p.shift()}for(o=0,d=t.length;o<d;o++)i=t[o],this._createAssignment(i,e);l.sync()},cancelTask:function(){var e=this._editor,t=e.container;t&&e.close()},editTask:function(e){var t,n="string"==typeof e?this.dataSource.getByUid(e):e;n&&(t=this.dataSource._createNewModel(n.toJSON()),t.uid=n.uid,this.cancelTask(),this._editTask(t))},_editTask:function(e){this._editor.editTask(e,this.options.editable.plannedTasks)},saveTask:function(e,t){var n=this._editor,i=n.container,s=n.editable;i&&s&&s.end()&&this._updateTask(e,t)},_updateTask:function(e,t){var n=this,i=n.resources.field;n.trigger("save",{task:e,values:t})?n.dataSource.hasChanges()&&(n.dataSource.cancelChanges(),n._preventRefresh=!1,n.refresh()):(t&&(n._preventRefresh=!0,n.dataSource.update(e,t),t[i]&&n._updateAssignments(e.get("id"),t[i])),n._syncDataSource())},_updateAssignment:function(e,t){var n=this.assignments.dataValueField;e.set(n,t)},removeTask:function(e){var t=this,n="string"==typeof e?this.dataSource.getByUid(e):e;n&&this._taskConfirm(function(e){e||t._removeTask(n)},n)},_createTask:function(e,n){if(!this.trigger("add",{task:e,dependency:null})){var i=this.dataSource;this._preventRefresh=!0,n===t?i.add(e):i.insert(n,e),this._scrollToUid=e.uid,this._syncDataSource()}},_createDependency:function(e){this.trigger("add",{task:null,dependency:e})||(this._preventDependencyRefresh=!0,this.dependencies.add(e),this._preventDependencyRefresh=!1,this.dependencies.sync())},_createAssignment:function(e,t){var n=this.assignments,i=n.dataSource,s=n.dataTaskIdField,r=n.dataResourceIdField,a=n.dataValueField,o=i._createNewModel();o[s]=t,o[r]=e.get("id"),o[a]=e.get("value"),i.add(o)},removeDependency:function(e){var t=this,n="string"==typeof e?this.dependencies.getByUid(e):e;n&&this._dependencyConfirm(function(e){e||t._removeDependency(n)},n)},_removeTaskDependencies:function(e,t){this._preventDependencyRefresh=!0;for(var n=0,i=t.length;n<i;n++)this.dependencies.remove(t[n]);this._preventDependencyRefresh=!1,this.dependencies.sync()},_removeTaskAssignments:function(e){var t,n,i=this.assignments.dataSource,s=i.view(),r={field:this.assignments.dataTaskIdField,operator:"eq",value:e.get("id")};for(s=new f(s).filter(r).toArray(),this._preventRefresh=!0,t=0,n=s.length;t<n;t++)i.remove(s[t]);this._preventRefresh=!1,i.sync()},_removeTask:function(e){var t=this.dependencies.dependencies(e.id);this.trigger("remove",{task:e,dependencies:t})||(this._removeTaskDependencies(e,t),this._removeTaskAssignments(e),this._preventRefresh=!0,this.dataSource.remove(e)&&this._syncDataSource(),this._preventRefresh=!1)},_removeDependency:function(e){this.trigger("remove",{task:null,dependencies:[e]})||this.dependencies.remove(e)&&this.dependencies.sync()},_removeAssignment:function(e){this.assignments.dataSource.remove(e)},_taskConfirm:function(e,t){var n=this.options.messages;this._confirm(e,{model:t,text:n.deleteTaskConfirmation,title:n.deleteTaskWindowTitle})},_dependencyConfirm:function(e,t){var n=this.options.messages;this._confirm(e,{model:t,text:n.deleteDependencyConfirmation,title:n.deleteDependencyWindowTitle})},_confirm:function(e,t){var n,i,s=this.options.editable;s===!0||s.confirmation!==!1?(n=this.options.messages,i=[{name:"delete",text:n.destroy,className:U.styles.primary,click:function(){e()}},{name:"cancel",text:n.cancel,click:function(){e(!0)}}],this.showDialog(k(!0,{},t,{buttons:i}))):e()},showDialog:function(e){this._editor.showDialog(e)},refresh:function(){var e,t,i,s,r,a;this._preventRefresh||!this.list||this.list.editor||(this._progress(!1),e=this.dataSource,t=e.taskTree(),i=this._scrollToUid,a=-1,this.current&&(r=this.current.closest("tr").attr(o.attr("uid")),a=this.current.index()),this.trigger("dataBinding")||(0!==this.resources.dataSource.data().length&&this._assignResources(t),this._editor&&this._editor.close(),this.clearSelection(),this.list._renderTree(t),this.timeline._render(t),this.timeline._renderDependencies(this.dependencies.view()),i&&(this._scrollTo(i),this.select(n(i))),(i||r)&&a>=0&&(s=this.list.element.find("tr"+n(i||r)+" > td:eq("+a+")"),this._current(s)),this._scrollToUid=null,this.trigger("dataBound")))},refreshDependencies:function(){this._preventDependencyRefresh||this.trigger("dataBinding")||(this.timeline._renderDependencies(this.dependencies.view()),this.trigger("dataBound"))},_assignResources:function(e){var t,n,i=this.resources,s=this.assignments,r=function(){var e=s.dataSource.view(),t={field:s.dataTaskIdField};return e=new f(e).group(t).toArray()},a=r(),d=function(e,t){var n,s,r=e.get("id");for(o.setter(i.field)(e,new p([])),n=0,s=a.length;n<s;n++)a[n].value===r&&t(e,a[n].items)},l=function(e,t){var n,r,a,d,l,c,u,p;for(n=0,r=t.length;n<r;n++)a=t[n],d=i.dataSource.get(a.get(s.dataResourceIdField)),l=a.get(s.dataValueField),c=a.get(s.dataResourceIdField),u=d.get(i.dataFormatField)||S,p=o.toString(l,u),e[i.field].push(new h({id:c,name:d.get(i.dataTextField),color:d.get(i.dataColorField),value:l,formatedValue:p}))};for(t=0,n=e.length;t<n;t++)d(e[t],l)},_wrapResourceData:function(e){var t,n,i,s=this,r=[],a=this.resources.dataSource.view(),o=this.assignments.dataSource.view(),d=new f(o).filter({field:s.assignments.dataTaskIdField,operator:"eq",value:e}).toArray(),l=function(e){var t=null;return new f(d).filter({field:s.assignments.dataResourceIdField,operator:"eq",value:e}).select(function(e){t+=e.get(s.assignments.dataValueField)}),t};for(n=0,i=a.length;n<i;n++)t=a[n],r.push({id:t.get("id"),name:t.get(s.resources.dataTextField),format:t.get(s.resources.dataFormatField)||S,value:l(t.id)});return r},_syncDataSource:function(){this._preventRefresh=!1,this._requestStart(),this.dataSource.sync()},_requestStart:function(){this._progress(!0)},_error:function(){this._progress(!1)},_progress:function(e){o.ui.progress(this.element,e)},_resizable:function(){var t,n,i,s=this,r=this.wrapper,a=U.styles,d=W+a.gridContent,l=r.find(W+a.list),c=r.find(W+a.timeline); this._resizeDraggable=r.find(W+a.splitBar).height(l.height()).hover(function(){e(this).addClass(a.splitBarHover)},function(){e(this).removeClass(a.splitBarHover)}).end().kendoResizable({orientation:"horizontal",handle:W+a.splitBar,start:function(){t=l.width(),n=c.width(),i=o.scrollLeft(c.find(d))},resize:function(e){var a=e.x.initialDelta;o.support.isRtl(r)&&(a*=-1),t+a<0||n-a<0||(l.width(t+a),c.width(n-a),o.scrollLeft(c.find(d),i+a),s.timeline.view()._renderCurrentTime())}}).data("kendoResizable")},_scrollable:function(){var t=this,n=U.styles,i=W+n.gridContent,s=W+n.gridHeaderWrap,r=this.timeline.element.find(s),a=this.timeline.element.find(i),d=this.list.element.find(s),l=this.list.element.find(i);c&&l.css("overflow-y","auto"),a.on("scroll",function(){t.scrollTop=this.scrollTop,o.scrollLeft(r,this.scrollLeft),l.scrollTop(this.scrollTop)}),l.on("scroll",function(){o.scrollLeft(d,this.scrollLeft)}).on("DOMMouseScroll"+T+" mousewheel"+T,function(t){var n=a.scrollTop(),i=o.wheelDeltaY(t);i&&(t.preventDefault(),e(t.currentTarget).one("wheel"+T,!1),a.scrollTop(n+-i))})},_navigatable:function(){var i,r=this,a=this.options.navigatable,l=this.options.editable,c=U.styles,u=W+c.gridContent,h=W+c.gridHeaderWrap,p=this.list.element.find(h).find("table"),f=this.list.element.find(u).find("table"),v=o.support.isRtl(this.wrapper),g=this.timeline.element.find(W+c.gridContent),m=p.add(f),w=n(),k={collapse:!1,expand:!0},b=function(e){var t=r.timeline.view()._timeSlots()[0].offsetWidth;o.scrollLeft(g,o.scrollLeft(g)+(e?-t:t))},_=function(e){var t=r.timeline.view()._rowHeight;g.scrollTop(g.scrollTop()+(e?-t:t))},y=function(e){var t=r.current.parent("tr"+n()),i=r.current.index(),a=t[e]("tr:visible").first();0!==r.select().length&&r.clearSelection(),0!==a.length?(r._current(a.children("td:eq("+i+")")),r._scrollTo(r.current)):r.current.is("td")&&"prevAll"==e?s(p):r.current.is("th")&&"nextAll"==e&&s(f)},D=function(e){var t=r.current[e]();0!==t.length&&(r._current(t),i=r.current.index())},S=function(e){var t=r.dataItem(r.current);t.summary&&t.expanded!==e&&t.set("expanded",e)},x=function(){var e,t,n=r.options.editable;n&&n.destroy!==!1&&!r.list.editor&&(e=r.select(),t=o.attr("uid"),e.length&&r.removeTask(e.attr(t)))};return e(this.wrapper).on("mousedown"+T,"tr"+w+", div"+w+":not("+W+c.line+")",function(t){var i,d=e(t.currentTarget),c=e(t.target).is(":button,a,:input,a>.k-icon,textarea,span.k-icon:not(.k-i-none),span.k-link,.k-input,.k-multiselect-wrap");t.ctrlKey||(a&&(i=d.is("tr")?e(t.target).closest("td"):r.list.content.find("tr"+n(d.attr(o.attr("uid")))+" > td:first"),r._current(i)),!a&&!l||c||(r._focusTimeout=setTimeout(function(){s(r.list.content.find("table"),!0)},2)))}).on("keydown"+T,function(n){var i,s=n.keyCode,r=this,a=e(r._getToolbarItems()),o=a.index(r.toolbar.find(W+c.focused)[0]);if(o===-1&&e(n.target).closest(W+c.toolbar.views).length&&(o=a.index(r.toolbar.find(".k-gantt-views > .k-state-selected:visible, .k-views-dropdown:visible")[0])),i=n.shiftKey?a[o-1]:a[o+1],s===d.F10)r.toolbar.find(".k-button:visible:first").addClass(c.focused).focus(),n.preventDefault();else if(s==d.TAB&&e(n.target).closest(W+c.toolbar.toolbar).length){if(r.toolbar.find(W+c.focused).removeClass(c.focused).blur(),i)return e(i).addClass(c.focused).focus(),n.preventDefault(),t;this.list.element.is(":visible")?this.list.element.find("table[role=treegrid]").focus():this.element.find(W+c.tasks)[0].focus(),n.preventDefault()}}.bind(this)),a!==!0?(f.on("keydown"+T,function(e){e.keyCode==d.DELETE&&x()}),t):(m.on("focus"+T,function(){var t=this===f.get(0)?"td":"th",n=r.select(),s=r.current||e(n.length?n:this).find(t+":eq("+(i||0)+")");r._current(s),e(r.toolbar.find(W+c.focused)).removeClass(c.focused)}).on("blur"+T,function(){r._current(),this==p&&e(this).attr(C,-1)}).on("keydown"+T,function(t){var n,i=t.keyCode;if(r.current)switch(n=r.current.is("td"),i){case d.RIGHT:t.preventDefault(),t.altKey?b():t.ctrlKey?S(v?k.collapse:k.expand):D(v?"prev":"next");break;case d.LEFT:t.preventDefault(),t.altKey?b(!0):t.ctrlKey?S(v?k.expand:k.collapse):D(v?"next":"prev");break;case d.UP:t.preventDefault(),t.altKey?_(!0):y("prevAll");break;case d.DOWN:t.preventDefault(),t.altKey?_():y("nextAll");break;case d.SPACEBAR:t.preventDefault(),n&&r.select(r.current.closest("tr"));break;case d.ENTER:t.preventDefault(),n?r.options.editable&&r.options.editable.update!==!1&&(r.list._startEditHandler(r.current),e(this).one("keyup",function(e){e.stopPropagation()})):r.current.children("a.k-link").click();break;case d.DELETE:n&&x();break;default:i>=49&&i<=57&&"input"!==t.target.tagName.toLowerCase()&&r.view(r.timeline._viewByIndex(i-49))}}),t)},_getToolbarItems:function(){return this.toolbar.find("> .k-button:visible").toArray().concat(this.toolbar.find(".k-views-dropdown:visible").toArray(),this.toolbar.find(".k-gantt-views > .k-state-selected:visible").toArray())},_current:function(t){var n,i=U.styles;this.current&&this.current.length&&this.current.removeClass(i.focused).removeAttr("id"),t&&t.length?(this.current=t.addClass(i.focused).attr("id",B),n=e(o._activeElement()),n.is("table")&&this.wrapper.find(n).length>0&&n.removeAttr(H).attr(H,B)):this.current=null},_dataBind:function(){var t,n=this;n.options.autoBind&&(this._preventRefresh=!0,this._preventDependencyRefresh=!0,t=e.map([this.dataSource,this.dependencies,this.resources.dataSource,this.assignments.dataSource],function(e){return e.fetch()}),e.when.apply(null,t).done(function(){n._preventRefresh=!1,n._preventDependencyRefresh=!1,n.refresh()}))},_resize:function(){this._adjustDimensions(),this.timeline.view()._adjustHeight(),this.timeline.view()._renderCurrentTime(),this.list._adjustHeight()},_createPlannedTasksSwitch:function(){var t=this,n=t.options.messages.plannedTasks.switchText,i=e("<span class='k-gantt-planned-wrap'><label>"+n+"</label></span>"),s=new o.ui.Switch(e("<input id='planned-switch' class='k-gantt-planned-switch'>"),{checked:t.options.showPlannedTasks,change:w(t._togglePlannedTasks,t),messages:{checked:"",unchecked:""}});i.append(s.wrapper),t.toggeSwitchWrap=i,t.toggleSwitch=s},_togglePlannedTasks:function(e){var t=this.timeline;this.trigger("togglePlannedTasks",{showPlannedTasks:!t.options.showPlannedTasks})?e.preventDefault():(this.wrapper.toggleClass(q.plannedTasks),t._setPlanned(!t.options.showPlannedTasks),t._render(this.dataSource.taskTree()),t._renderDependencies(this.dependencies.view()))}});o.PDFMixin&&(o.PDFMixin.extend(U.fn),U.fn._drawPDF=function(){var e=U.styles,t=this.wrapper.find(W+e.list+" "+W+e.gridContent+">table").width(),n=this.wrapper.clone();return n.find(W+e.list).css("width",t),this._drawPDFShadow({content:n},{avoidLinks:this.options.pdf.avoidLinks})}),o.ui.plugin(U),k(!0,U,{styles:q})}(window.kendo.jQuery),window.kendo},n(3))},1258:function(e,t){e.exports=require("./kendo.switch")},1259:function(e,t){e.exports=require("./kendo.gantt.data")},1260:function(e,t){e.exports=require("./kendo.gantt.editors")},1261:function(e,t){e.exports=require("./kendo.gantt.list")},1262:function(e,t){e.exports=require("./kendo.gantt.timeline")},1263:function(e,t){e.exports=require("./kendo.pdf")}});