UNPKG

@progress/kendo-ui

Version:

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

3 lines 48.6 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.dom.min.js`),require(`kendo.touch.min.js`),require(`kendo.draganddrop.min.js`),require(`kendo.icons.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.dom.min`,`kendo.touch.min`,`kendo.draganddrop.min`,`kendo.icons.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.GanttTimeline={}),e.kendo._globals.Dom,e.kendo._globals.Touch,e.kendo._globals.Draganddrop,e.kendo._globals.Icons))})(this,function(e,t,n,r,i){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let a={id:`gantt.timeline`,name:`Gantt Timeline`,category:`web`,description:`The Gantt Timeline`,depends:[`dom`,`touch`,`draganddrop`,`icons`],hidden:!0};(function(e){var t=kendo.ui.Widget,n=kendo.dom.element,r=kendo.dom.text,i=kendo.dom.html,a=e.isPlainObject,o=kendo._outerWidth,s=kendo._outerHeight,c=e.extend,l=!1,u=kendo.keys,d=kendo.data.Query,f=`string`,p=`.kendoGanttTimeline`,m=`click`,h=`dblclick`,g=`mousemove`,_=`mouseenter`,v=`mouseleave`,y=`keydown`,b=`.`,x=({start:e})=>kendo.toString(e,`t`),S=({start:e})=>kendo.toString(e,`ddd M/dd`),C=({start:e,end:t})=>`${kendo.toString(e,`ddd M/dd`)} - ${kendo.toString(kendo.date.addDays(t,-1),`ddd M/dd`)}`,w=({start:e})=>kendo.toString(e,`MMM`),T=({start:e})=>kendo.toString(e,`yyyy`),E=({styles:e})=>`<div class="${e.marquee}"><div class="${e.marqueeColor}"></div></div>`,D=({styles:e,messages:t,start:n,end:r,format:i})=>`<div class="${e.tooltipWrapper} k-gantt-resize-hint"><div class="${e.tooltipContent}"><div>${kendo.htmlEncode(t.start)}: ${kendo.toString(n,i)}</div><div>${kendo.htmlEncode(t.end)}: ${kendo.toString(r,i)}</div></div></div>`,O=({styles:e,text:t})=>`<div ${kendo.attr(`style-z-index`)}="100002" class="${e.tooltipWrapper}" ><div class="${e.tooltipContent}">${t}%</div><div class="${e.tooltipCallout}" ${kendo.attr(`style-left`)}="13px"></div></div>`,k=({styles:e,task:t,messages:n})=>`<div class="${kendo.htmlEncode(e.taskDetails)}"><strong>${kendo.htmlEncode(t.title)}</strong><div class="${e.taskDetailsPercent}">${kendo.toString(t.percentComplete,`p0`)}</div><ul class="${e.reset}"><li>${kendo.htmlEncode(n.start)}: ${kendo.toString(t.start,`h:mm tt ddd, MMM d`)}</li><li>${kendo.htmlEncode(n.end)}: ${kendo.toString(t.end,`h:mm tt ddd, MMM d`)}</li></ul></div>`,A=({offsetPrefix:e,offsetText:t})=>`<span>${e}: ${t}</span>`,j=({plannedStart:e,plannedEnd:t,startDate:n,endDate:r})=>`<div class="k-task-content"><div>${e}: ${n}</div><div>${t}: ${r}</div></div>`,M=`<table ${kendo.attr(`style-visibility`)}="hidden"><tbody><tr ${kendo.attr(`style-height`)}="{0}"><td>&nbsp;</td></tr></tbody></table>`,N={day:{type:`kendo.ui.GanttDayView`},week:{type:`kendo.ui.GanttWeekView`},month:{type:`kendo.ui.GanttMonthView`},year:{type:`kendo.ui.GanttYearView`}};function P(e){return delete e.name,delete e.prefix,delete e.views,e}function F(e){var t=[],n=e.workWeekStart;for(t.push(n);e.workWeekEnd!=n;)n>6?n-=7:n++,t.push(n);return t}function I(){var t=kendo._activeElement();t&&t.nodeName.toLowerCase()!==`body`&&e(t).trigger(`blur`)}var L={alt:`k-table-row k-table-alt-row`,reset:`k-reset`,nonWorking:`k-nonwork-hour`,header:`k-header k-table-td`,gridHeader:`k-grid-header`,gridHeaderWrap:`k-grid-header-wrap`,gridContent:`k-grid-content`,tasksWrapper:`k-gantt-tables`,rowsTable:`k-gantt-rows`,columnsTable:`k-gantt-columns`,tasksTable:`k-gantt-tasks`,dependenciesWrapper:`k-gantt-dependencies`,resource:`k-resource`,resourceAlt:`k-resource k-alt`,headerTable:`k-grid-header-table k-table`,table:`k-table`,tbody:`k-table-tbody`,tableRow:`k-table-row`,tableCell:`k-table-td`,task:`k-task`,taskSingle:`k-task-single`,taskMilestone:`k-task-milestone`,taskSummary:`k-task-summary`,taskWrap:`k-task-wrap`,taskMilestoneWrap:`k-milestone-wrap`,taskSummaryWrap:`k-summary-wrap`,taskPlanned:`k-task-planned`,taskPlannedMoment:`k-task-moment`,taskPlannedDuration:`k-task-duration`,taskPlannedMomentLeft:`k-moment-left`,taskAdvanced:`k-task-advanced`,taskDelayed:`k-task-delayed`,taskOffset:`k-task-offset`,taskOffsetWrap:`k-task-offset-wrap`,taskInnerWrap:`k-task-inner-wrap`,resourcesWrap:`k-resources-wrap`,taskDot:`k-task-dot`,taskDotStart:`k-task-start`,taskDotEnd:`k-task-end`,taskDragHandle:`k-task-draghandle`,taskContent:`k-task-content`,taskTemplate:`k-task-template`,taskActions:`k-task-actions`,taskDelete:`k-task-delete`,taskComplete:`k-task-complete`,taskDetails:`k-task-details`,taskDetailsPercent:`k-task-pct`,link:`k-link`,iconDelete:`x`,taskResizeHandle:`k-resize-handle`,taskResizeHandleWest:`k-resize-w`,taskResizeHandleEast:`k-resize-e`,taskSummaryProgress:`k-task-summary-progress`,taskSummaryComplete:`k-task-summary-complete`,line:`k-gantt-line`,lineHorizontal:`k-gantt-line-h`,lineVertical:`k-gantt-line-v`,arrowWest:`k-arrow-w`,arrowEast:`k-arrow-e`,dragHint:`k-drag-hint`,dependencyHint:`k-gantt-dependency-hint`,tooltipWrapper:`k-tooltip`,tooltipContent:`k-tooltip-content`,tooltipCallout:`k-callout k-callout-s`,callout:`k-callout`,marquee:`k-marquee k-gantt-marquee`,marqueeColor:`k-marquee-color`,offsetTooltipAdvanced:`k-offset-tooltip-advanced`,offsetTooltipDelay:`k-offset-tooltip-delayed`,plannedTooltip:`k-planned-tooltip`},R=kendo.ui.GanttView=t.extend({init:function(e,n){t.fn.init.call(this,e,n),this.title=this.options.title||this.options.name,this.header=this.element.find(b+R.styles.gridHeader),this.content=this.element.find(b+R.styles.gridContent),this.contentWidth=this.content.width(),this._workDays=F(this.options),this._headerTree=n.headerTree,this._taskTree=n.taskTree,this._taskTemplate=n.taskTemplate?kendo.template(n.taskTemplate,c({},kendo.Template,n.templateSettings)):null,this._dependencyTree=n.dependencyTree,this._taskCoordinates={},this._currentTime()},destroy:function(){t.fn.destroy.call(this),clearTimeout(this._tooltipTimeout),this.headerRow=null,this.header=null,this.content=null,this._dragHint=null,this._resizeHint=null,this._resizeTooltip=null,this._taskTooltip=null,this._percentCompleteResizeTooltip=null,this._headerTree=null,this._taskTree=null,this._dependencyTree=null},options:{showWorkHours:!1,showWorkDays:!1,workDayStart:new Date(1980,1,1,8,0,0),workDayEnd:new Date(1980,1,1,17,0,0),workWeekStart:1,workWeekEnd:5,hourSpan:1,slotSize:100,currentTimeMarker:{updateInterval:1e4}},renderLayout:function(){this._slots=this._createSlots(),this._tableWidth=this._calculateTableWidth(),this.createLayout(this._layout()),this._slotDimensions(),this._adjustHeight(),this.content.find(b+R.styles.dependenciesWrapper).width(this._tableWidth)},_adjustHeight:function(){this.content&&this.content.height(this.element.height()-s(this.header))},createLayout:function(e){var t=this._headers(e),r=this._colgroup(),i=this._headerTree,a=n(`tbody`,{className:R.styles.tbody},t),o=n(`table`,{className:R.styles.headerTable,style:{width:this._tableWidth+`px`},role:`presentation`},[r,a]);i.render([o]),this.headerRow=this.header.find(`table`).first().find(`tr`).last()},_slotDimensions:function(){for(var e=this.headerRow[0].children,t=this._timeSlots(),n,r,i=0,a=e.length;i<a;i++)r=e[i],n=t[i],n.offsetLeft=r.offsetLeft,n.offsetWidth=r.offsetWidth},render:function(e){var t=e.length,n=R.styles,r,i=this._rowsTable(t),a=this._columnsTable(t),o=this._tasksTable(e),s=this.options.currentTimeMarker,c=this.options.calculatedSize,l;this._taskTree.render([i,a,o]),r=this.content.find(b+n.rowsTable),c&&(l=c.row*e.length,this.content.find(b+n.tasksTable).height(l),r.height(l)),this._contentHeight=r.height(),this._rowHeight=c?c.row:this._contentHeight/r.find(`tr`).length,this.content.find(b+n.columnsTable).height(this._contentHeight),s!==!1&&s.updateInterval!==void 0&&this._renderCurrentTime()},_rowsTable:function(e){for(var t=[],i,a=R.styles,o=[{className:a.tableRow},{className:a.alt}],s=0;s<e;s++)i=n(`tr`,o[s%2],[n(`td`,{className:a.tableCell},[r(`\xA0`)])]),t.push(i);return this._createTable(1,t,{className:a.rowsTable+` k-grid-table `+a.table})},_columnsTable:function(){for(var e=[],t,i=R.styles,a=this._timeSlots(),o=a.length,s,c,l=0,u,d=0;d<o;d++)s=a[d],u={className:i.tableCell},c=s.span,l+=c,c!==1&&(u.colspan=c),s.isNonWorking&&(u.className+=` `+i.nonWorking),e.push(n(`td`,u,[r(`\xA0`)]));return t=n(`tr`,{className:i.tableRow},e),this._createTable(l,[t],{className:i.columnsTable+` `+i.table})},_tasksTable:function(e){for(var t=[],r,i,a,o,s,c=R.styles,u=this._taskCoordinates={},d=this._calculateMilestoneWidth(),f=Math.round(d.width),p=this.options.resourcesField,m=[c.resource,c.resourceAlt],h=this.options.calculatedSize,g,_=this._calculateResourcesMargin(),v=this._calculateTaskBorderWidth(),y,b=this.options.showPlannedTasks,x=[{className:c.tableRow},{className:c.alt}],S,C=function(e){var t=a.left,n=t+a.width;s.isMilestone()&&(t-=f/2,n=t+f),u[s.id]={start:t,end:n,rowIndex:e}},w=0,T=e.length;w<T;w++)s=e[w],a=this._taskPosition(s),b&&(o=this._taskPositionPlanned(s),o.borderWidth=v),a.borderWidth=v,r=n(`tr`,x[w%2]),i=n(`td`,{className:c.tableCell}),s.start<=this.end&&s.end>=this.start&&(S=this._renderTask(e[w],a,o),this.options.navigatable&&(S.children[0].attr.tabIndex=w?-1:0),i.children.push(S),s[p]&&s[p].length&&(g=l?this._tableWidth-a.left:Math.max(a.width||d.clientWidth,0)+a.left,y={width:this._tableWidth-(g+_)+`px`},y[l?`right`:`left`]=g+`px`,h&&(y.height=h.cell+`px`),i.children.push(n(`div`,{className:c.resourcesWrap,style:y},this._renderResources(s[p],m[w%2])))),C(w)),r.children.push(i),t.push(r);return this._createTable(1,t,{className:R.styles.tasksTable+` `+c.table})},_createTable:function(e,t,r){for(var i=[],a,o,s=0;s<e;s++)i.push(n(`col`));return a=n(`colgroup`,null,i),o=n(`tbody`,{className:R.styles.tbody},t),r.style||={},r.style.width=this._tableWidth+`px`,r.role=`presentation`,n(`table`,r,[a,o])},_calculateTableWidth:function(){for(var e=this._timeSlots(),t=0,n=0,r,i,a=0,o=e.length;a<o;a++)r=e[a].span,n+=r,r>t&&(t=r);return i=Math.round(n*this.options.slotSize/t),i},_calculateMilestoneWidth:function(){var t,n=R.styles.task+` `+R.styles.taskMilestone,r,i=e(`<div class="${n}">`).css({visibility:`hidden`,position:`absolute`});return this.content.append(i),r=i[0].getBoundingClientRect(),t={width:r.right-r.left,clientWidth:i[0].clientWidth},i.remove(),t},_calculateResourcesMargin:function(){var t,n=e(`<div class="${R.styles.resourcesWrap}">`).css({visibility:`hidden`,position:`absolute`});return this.content.append(n),t=parseInt(n.css(l?`margin-right`:`margin-left`),10),n.remove(),t},_calculateTaskBorderWidth:function(){var t,n=R.styles.task+` `+R.styles.taskSingle,r,i=e(`<div class="${n}">`).css({visibility:`hidden`,position:`absolute`});return this.content.append(i),r=kendo.getComputedStyles(i[0],[`border-left-width`]),t=parseFloat(r[`border-left-width`],10),i.remove(),t},_renderTask:function(t,r,i){var a=this.options.editable,o=r.left,s=R.styles,c=s.taskWrap,u=this.options.calculatedSize,d={},f={className:c,style:{left:o+`px`}},p=[],m=0,h=r.width,g,_,v,y,b,x,S,C;return u&&(f.style.height=u.cell+`px`),i&&(y=t.isMilestone()?this._renderPlannedMilestone(r,i):this._renderPlannedSingleTask(r,i,t),p.push(y),l&&i.left<=r.left&&(f.style.left=i.left+`px`)),t.summary?(_=this._renderSummary(t,r,i),f.className+=` `+s.taskSummaryWrap):t.isMilestone()?(_=this._renderMilestone(t,r),f.className+=` `+s.taskMilestoneWrap):_=this._renderSingleTask(t,r,i),i&&!t.isMilestone()&&t.plannedStart<t.end&&t.plannedEnd>t.start&&t.plannedEnd<t.end?(h=l?r.left+r.width-i.left:i.left+i.width-r.left,C=l?i.left-r.left:r.left+r.width-(i.left+i.width),S=n(`div`,{className:s.taskOffset,style:{width:C-2*i.borderWidth+`px`}}),a&&a.resize!==!1&&a.update!==!1&&!t.summary&&(a.destroy!==!1&&S.children.push(n(`span`,{className:s.taskActions,"aria-hidden":`true`},[n(`a`,{className:s.link+` `+s.taskDelete,href:`#`,"aria-label":`Delete`},[n(e(kendo.ui.icon(s.iconDelete))[0])])])),l?S.children.push(n(`span`,{className:s.taskResizeHandle+` `+s.taskResizeHandleWest,style:{right:r.width-5+`px`}})):S.children.push(n(`span`,{className:s.taskResizeHandle+` `+s.taskResizeHandleEast}))),x=n(`div`,{className:s.taskOffsetWrap+` `+s.taskInnerWrap},[_,S]),p.push(x)):i?p.push(n(`div`,{className:s.taskInnerWrap},[_])):p.push(_),g=n(`div`,f,p),a&&a.dependencyCreate!==!1&&(i&&t.plannedEnd>t.end&&(m=i.left+i.width-r.left-r.width-3+`px`),g.children.push(n(`div`,{className:s.taskDot+` `+s.taskDotStart})),l&&(m=`auto`,i&&t.plannedEnd>t.end&&(b=r.left-i.left+`px`)),g.children.push(n(`div`,{className:s.taskDot+` `+s.taskDotEnd,style:{right:m,left:b}}))),!t.summary&&!t.isMilestone()&&a&&a.dragPercentComplete!==!1&&a.update!==!1&&this._taskTemplate===null&&(v=Math.round(h*t.percentComplete),d[l?`right`:`left`]=v+`px`,g.children.push(n(`div`,{className:s.taskDragHandle,style:d}))),g},_renderSingleTask:function(t,a,o){var s=R.styles,c,u=[],d,f=this.options.editable,p=s.task+` `+s.taskSingle,m=a.width;o&&(t.plannedEnd&&t.plannedEnd<=t.start?p+=` `+s.taskDelayed:t.plannedEnd&&t.plannedEnd>t.end?p+=` `+s.taskAdvanced:t.plannedEnd&&t.plannedEnd<t.end&&(l?m=m+a.left-o.left:m-=a.left+a.width-o.left-o.width)),c=Math.round(m*t.percentComplete),this._taskTemplate===null?(d=r(t.title),u.push(n(`div`,{className:s.taskComplete,style:{width:c+`px`},"aria-hidden":`true`}))):d=i(this._taskTemplate(t));var h=n(`div`,{className:s.taskContent},[n(`div`,{className:s.taskTemplate},[d])]);return u.push(h),f&&(f.destroy!==!1&&(!o||!t.plannedEnd||t.end<=t.plannedEnd||t.start>=t.plannedEnd)&&h.children.push(n(`span`,{className:s.taskActions,"aria-hidden":`true`},[n(`a`,{className:s.link+` `+s.taskDelete,href:`#`,"aria-label":`Delete`},[n(e(kendo.ui.icon(s.iconDelete))[0])])])),f.resize!==!1&&f.update!==!1&&(h.children.push(n(`span`,{className:s.taskResizeHandle+` `+s.taskResizeHandleWest})),h.children.push(n(`span`,{className:s.taskResizeHandle+` `+s.taskResizeHandleEast})))),n(`div`,{className:p,"data-uid":t.uid,role:`treeitem`,style:{width:Math.max(m-a.borderWidth*2,0)+`px`}},u)},_renderMilestone:function(e){var t=R.styles,r=t.task+` `+t.taskMilestone;return this.options.showPlannedTasks&&e.plannedEnd&&e.plannedEnd<e.start?r+=` `+t.taskDelayed:e.plannedStart&&e.plannedStart>e.end&&(r+=` `+t.taskAdvanced),n(`div`,{className:r,"data-uid":e.uid,role:`treeitem`,"aria-label":e.title})},_renderSummary:function(e,t,r){var i=R.styles,a=t.width,o,s=i.task+` `+i.taskSummary;return r&&(e.plannedEnd&&e.plannedEnd<=e.start?s+=` `+i.taskDelayed:e.plannedEnd&&e.plannedEnd>e.end?s+=` `+i.taskAdvanced:e.plannedEnd&&e.plannedEnd<e.end&&(l?a=a+t.left-r.left:a-=t.left+t.width-r.left-r.width)),o=Math.round(a*e.percentComplete),n(`div`,{className:s,"data-uid":e.uid,role:`treeitem`,"aria-label":e.title,style:{width:a+`px`}},[n(`div`,{className:i.taskSummaryProgress,style:{width:o+`px`}},[n(`div`,{className:i.taskSummaryComplete,style:{width:t.width+`px`}})])])},_renderPlannedSingleTask:function(e,t,r){var i=R.styles,a=[],o={};return r.plannedStart&&r.plannedEnd?(a.push(n(`div`,{className:i.taskPlannedMoment+` `+i.taskPlannedMomentLeft})),a.push(n(`div`,{className:i.taskPlannedDuration,style:{width:Math.max(t.width-t.borderWidth*2-16,0)+`px`}})),a.push(n(`div`,{className:i.taskPlannedMoment}))):r.plannedStart?a.push(n(`div`,{className:i.taskPlannedMoment+` `+i.taskPlannedMomentLeft})):r.plannedEnd&&a.push(n(`div`,{className:i.taskPlannedMoment,style:{"margin-left":Math.max(t.width-5,0)+`px`}})),o=l?{"margin-right":e.left-t.left+e.width-t.width+`px`}:{"margin-left":t.left-e.left+`px`},n(`div`,{className:i.taskPlanned,style:o},a)},_renderPlannedMilestone:function(e,t){var r=R.styles,i={},a;return i=l?{"margin-right":e.left-t.left+`px`}:{"margin-left":t.left-e.left+`px`},a=n(`div`,{className:r.taskPlanned,style:i},[n(`div`,{className:r.taskPlannedMoment})]),a},_renderResources:function(e,t){for(var i=[],a,o=0,s=e.length;o<s;o++)a=e[o],i.push(n(`span`,{className:t,style:{color:a.get(`color`)}},[r(a.get(`name`))]));return l&&i.reverse(),i},_taskPosition:function(e){var t=Math.round,n=t(this._offset(l?e.end:e.start));return{left:n,width:t(this._offset(l?e.start:e.end))-n}},_taskPositionPlanned:function(e){var t=Math.round,n=t(this._offset(l?e.plannedEnd:e.plannedStart));return{left:n,width:t(this._offset(l?e.plannedStart:e.plannedEnd))-n}},_offset:function(e){var t=this._timeSlots(),n,r,i,a=0,o;return t.length?(o=this._slotIndex(`start`,e),n=t[o],n.end<e?a=n.offsetWidth:n.start<=e&&(r=e-n.start,i=n.end-n.start,a=r/i*n.offsetWidth),l&&(a=n.offsetWidth+1-a),n.offsetLeft+a):0},_slotIndex:function(e,t,n){var r=this._timeSlots(),i=0,a=r.length-1,o;n&&(r=[].slice.call(r).reverse());do o=Math.ceil((a+i)/2),r[o][e]<t?i=o:(o===a&&o--,a=o);while(i!==a);return n&&(i=r.length-1-i),i},_timeByPosition:function(e,t,n){var r=this._slotByPosition(e);if(t)return n?r.end:r.start;var i=e-this.element.find(b+R.styles.tasksTable).offset().left,a=r.end-r.start,o=i-r.offsetLeft;return l&&(o=r.offsetWidth-o),new Date(r.start.getTime()+a*(o/r.offsetWidth))},_slotByPosition:function(e){var t=e-this.element.find(b+R.styles.tasksTable).offset().left,n=this._slotIndex(`offsetLeft`,t,l);return this._timeSlots()[n]},_renderDependencies:function(e){for(var t=[],n=this._dependencyTree,r=0,i=e.length;r<i;r++)t.push.apply(t,this._renderDependency(e[r]));n.render(t)},_renderDependency:function(e){var t=this._taskCoordinates[e.predecessorId],n=this._taskCoordinates[e.successorId],r,i;if(!t||!n)return[];i=`_render`+[`FF`,`FS`,`SF`,`SS`][l?3-e.type:e.type],r=this[i](t,n);for(var a=0,o=r.length;a<o;a++)r[a].attr[`data-uid`]=e.uid;return r},_renderFF:function(e,t){var n=this._dependencyFF(e,t,!1);return n[n.length-1].children[0]=this._arrow(!0),n},_renderSS:function(e,t){var n=this._dependencyFF(t,e,!0);return n[0].children[0]=this._arrow(!1),n.reverse()},_renderFS:function(e,t){var n=this._dependencyFS(e,t,!1);return n[n.length-1].children[0]=this._arrow(!1),n},_renderSF:function(e,t){var n=this._dependencyFS(t,e,!0);return n[0].children[0]=this._arrow(!0),n.reverse()},_dependencyFF:function(e,t,n){var r=this,i=[],a=0,o=0,s=0,c=0,l=n?`start`:`end`,u,d=2,f=1,p=this._rowHeight,m=10,h=e.rowIndex*p+Math.floor(p/2)-1,g=t.rowIndex*p+Math.floor(p/2)-1,_=R.styles,v=function(){i.push(r._line(_.line+` `+_.lineHorizontal,{left:a+`px`,top:o+`px`,width:s+`px`}))},y=function(){i.push(r._line(_.line+` `+_.lineVertical,{left:a+`px`,top:o+`px`,height:c+`px`}))};return a=e[l],o=h,s=m,u=t[l]-e[l],u>0!==n&&(s=Math.abs(u)+m),n?(a-=s,s-=f,v()):(v(),a+=s-d),g<o?(c=o-g,c+=d,o=g,y()):(c=g-o,c+=d,y(),o+=c-d),s=Math.abs(a-t[l]),n||(s-=f,a-=s),v(),i},_dependencyFS:function(e,t,n){var r=this,i=[],a=0,o=0,s=0,c=0,l=this._rowHeight,u=Math.floor(l/2),d=10,f=2*d,p=t.start-e.end,m=2,h=1,g=e.rowIndex*l+Math.floor(l/2)-1,_=t.rowIndex*l+Math.floor(l/2)-1,v=R.styles,y=function(){i.push(r._line(v.line+` `+v.lineHorizontal,{left:a+`px`,top:o+`px`,width:s+`px`}))},b=function(){i.push(r._line(v.line+` `+v.lineVertical,{left:a+`px`,top:o+`px`,height:c+`px`}))};return a=e.end,o=g,s=d,n&&(a+=h,p>f&&(s=p-(d-m)),s-=h),y(),a+=s-m,p<=f&&(c=n?Math.abs(_-g)-u:u,_<g?(o-=c,c+=m,b()):(b(),o+=c),s=e.end-t.start+f,s<d&&(s=d),a-=s-m,y()),_<g?(c=o-_,o=_,c+=m,b()):(c=_-o,b(),o+=c),s=t.start-a,n||(s-=h),y(),i},_line:function(e,t){return n(`div`,{className:e,style:t})},_arrow:function(e){return n(`span`,{className:e?R.styles.arrowWest:R.styles.arrowEast})},_colgroup:function(){for(var e=this._timeSlots(),t=e.length,r=[],i=0;i<t;i++)for(var a=0,o=e[i].span;a<o;a++)r.push(n(`col`));return n(`colgroup`,null,r)},_createDragHint:function(e){var t=R.styles,n;this._dragHint=e.clone().addClass(t.dragHint).css({cursor:`move`}),n=this._dragHint.find(b+t.taskPlanned),n.css({visibility:`hidden`}),l&&e.find(b+t.taskAdvanced).length>0&&(n.css({"margin-right":`auto`,width:0}),this._dragHint.find(b+t.taskDotEnd).css({left:0})),e.closest(`td`).append(this._dragHint)},_updateDragHint:function(e){var t=this._offset(e);this._dragHint.css({left:t})},_removeDragHint:function(){this._dragHint&&=(this._dragHint.remove(),null)},_createResizeHint:function(t){var n=R.styles,r=this._taskCoordinates[t.id].rowIndex*this._rowHeight,i,a,c=this.options,l=c.messages;this._resizeHint=e(E({styles:n})).css({top:0,height:this._contentHeight}),this.content.append(this._resizeHint),this._resizeTooltip=e(D({styles:n,start:t.start,end:t.end,messages:l.views,format:c.resizeTooltipFormat})).css({"z-index":`100002`,top:0,left:0}),this.content.append(this._resizeTooltip),this._resizeTooltipWidth=o(this._resizeTooltip),i=s(this._resizeTooltip),a=r-i,a<0&&(a=r+this._rowHeight),this._resizeTooltipTop=a},_updateResizeHint:function(t,n,r){var i=this._offset(l?n:t),a=this._offset(l?t:n),o=a-i,s=r===l?a:i,c=this._tableWidth-kendo.support.scrollbar(),u=this._resizeTooltipWidth,d=this.options,f=d.messages,p=this.element.find(b+R.styles.tasksTable).offset().left-this.element.find(b+R.styles.tasksWrapper).offset().left;l&&(i+=p),this._resizeHint.css({left:i,width:o}),this._resizeTooltip&&this._resizeTooltip.remove(),s-=Math.round(u/2),s<0?s=0:s+u>c&&(s=c-u),l&&(s+=p),this._resizeTooltip=e(D({styles:R.styles,start:t,end:n,messages:f.views,format:d.resizeTooltipFormat})).css({"z-index":`100002`,top:this._resizeTooltipTop,left:s,"min-width":u}).appendTo(this.content)},_removeResizeHint:function(){this._resizeHint.remove(),this._resizeHint=null,this._resizeTooltip.remove(),this._resizeTooltip=null},_updatePercentCompleteTooltip:function(t,n,r){this._removePercentCompleteTooltip();var i=this._percentCompleteResizeTooltip=e(O({styles:R.styles,text:r}));kendo.applyStylesFromKendoAttributes(i,[`z-index`,`left`]),i.appendTo(this.element);var a=Math.round(o(i)/2),c=i.find(b+R.styles.callout),l=Math.round(o(c)/2);i.css({top:t-(s(i)+l),left:n-a}),c.css(`left`,a-l)},_removePercentCompleteTooltip:function(){this._percentCompleteResizeTooltip&&this._percentCompleteResizeTooltip.remove(),this._percentCompleteResizeTooltip=null},_updateDependencyDragHint:function(e,t){this._removeDependencyDragHint(),this._creteDependencyDragHint(e,t)},_creteDependencyDragHint:function(t,n){var r=R.styles,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a),s=Math.atan(a/i);i<0&&(s+=Math.PI),e(`<div class='`+r.line+` `+r.lineHorizontal+` `+r.dependencyHint+`'></div>`).css({top:t.y,left:t.x,width:o,"transform-origin":`0% 0`,"-ms-transform-origin":`0% 0`,"-webkit-transform-origin":`0% 0`,transform:`rotate(`+s+`rad)`,"-ms-transform":`rotate(`+s+`rad)`,"-webkit-transform":`rotate(`+s+`rad)`}).appendTo(this.content)},_removeDependencyDragHint:function(){this.content.find(b+R.styles.dependencyHint).remove()},_createTaskTooltip:function(t,n,r){var i=R.styles,a=this.options,o=this.content,c=o.offset(),u=kendo.scrollLeft(o),d=e(n).parents(`tr`).first(),f=d.offset(),p=a.tooltip&&a.tooltip.template?kendo.template(a.tooltip.template):k,m=l?r-(c.left+u+kendo.support.scrollbar()):r-(c.left-u),h=f.top+s(d)-c.top+o.scrollTop(),g=this._taskTooltip=e(`<div class="`+i.tooltipWrapper+`" ><div class="`+i.taskContent+`"></div></div>`);g.css({"z-index":`100002`,left:m,top:h}).appendTo(o).find(b+i.taskContent).append(p({styles:i,task:t,messages:a.messages.views})),this._adjustTooltipDimensions(g,f,c,m,u)},_removeTaskTooltip:function(){this._taskTooltip&&this._taskTooltip.remove(),this._taskTooltip=null},_createOffsetTooltip:function(t,n,r){var i=R.styles,a=this.content,o=a.offset(),c=kendo.scrollLeft(a),u=n.parents(`tr`).first(),d=u.offset(),f=l?r-(o.left+c+kendo.support.scrollbar()):r-(o.left-c),p=d.top+s(u)-o.top+a.scrollTop(),m=this._offsetTooltip=e(`<div class="`+i.tooltipWrapper+`" ></div>`),h=Math.round((t.end.getTime()-t.plannedEnd.getTime())/6e4),g=this.options.messages.plannedTasks,_=h%60,v=_+` `+g.minutes,y,b;h>=60&&(y=h=Math.floor(h/60),v=y+` `+g.hours,_!==0&&(v+=` `+_+` `+g.minutes),h>=24&&(y=h%24,b=h=Math.floor(h/24),v=b+` `+g.days,y!==0&&(v+=` `+y+` `+g.hours))),m.css({"z-index":`100002`,left:f,top:p}).addClass(i.offsetTooltipDelay).appendTo(a).append(A({offsetPrefix:g.offsetTooltipDelay,offsetText:v})),this._adjustTooltipDimensions(m,d,o,f,c)},_removeOffsetTooltip:function(){this._offsetTooltip&&this._offsetTooltip.remove(),this._offsetTooltip=null},_createPlannedTooltip:function(t,n,r){var i=R.styles,a=this.content,o=a.offset(),c=kendo.scrollLeft(a),u=n.parents(`tr`).first(),d=u.offset(),f=l?r-(o.left+c+kendo.support.scrollbar()):r-(o.left-c),p=d.top+s(u)-o.top+a.scrollTop(),m=this._plannedTooltip=e(`<div class="`+i.tooltipWrapper+` `+i.plannedTooltip+`" ></div>`),h=this.options.messages.editor;m.css({"z-index":`100002`,left:f,top:p}).appendTo(a).append(j({plannedStart:h.plannedStart,startDate:kendo.toString(t.plannedStart,`H:mm tt ddd, MMM dd`),plannedEnd:h.plannedEnd,endDate:kendo.toString(t.plannedEnd,`H:mm tt ddd, MMM dd`)})),this._adjustTooltipDimensions(m,d,o,f,c)},_removePlannedTooltip:function(){this._plannedTooltip&&this._plannedTooltip.remove(),this._plannedTooltip=null},_adjustTooltipDimensions:function(e,t,n,r,i){var a=this.content,c=a.width(),l;s(e)<t.top-n.top&&e.css(`top`,t.top-n.top-s(e)+a.scrollTop()),l=o(e),l+r-i>c&&(r-=l,r<i&&(r=i+c-(l+17)),e.css(`left`,r))},_scrollTo:function(e){var t=e.offset().left,n=e.width(),r=t+n,i=e.closest(`tr`),a=i.offset().top,o=a+i.height(),s=this.content,c=s.offset(),l=c.top,u=l+s.height(),d=c.left,f=s.width(),p=d+f,m=kendo.support.scrollbar();a<l?s.scrollTop(s.scrollTop()+(a-l)):o>u&&s.scrollTop(s.scrollTop()+(o+m-u)),t<d&&n>f&&r<p||r>p&&n<f?kendo.scrollLeft(s,kendo.scrollLeft(s)+(r+m-p)):(r>p&&n>f&&t>d||t<d&&n<f)&&kendo.scrollLeft(s,kendo.scrollLeft(s)+(t-d))},_scrollToDate:function(e){var t=this.start,n=this.end,r;e>=t&&e<n&&(r=this._offset(e),kendo.support.isRtl(this.element)&&(r=this._tableWidth-r),kendo.scrollLeft(this.content,r))},_timeSlots:function(){return!this._slots||!this._slots.length?[]:this._slots[this._slots.length-1]},_headers:function(e){for(var t=[],r,a,o,s,c=R.styles,l=0,u=e.length;l<u;l++){r=e[l],a=[];for(var d=0,f=r.length;d<f;d++)o=r[d],s=i(o.text),a.push(n(`td`,{colspan:o.span,className:c.header+(o.isNonWorking?` `+c.nonWorking:``)},[s]));t.push(n(`tr`,{className:c.tableRow},a))}return t},_hours:function(e,t){var n,r=[],i=this.options,a=i.workDayStart.getHours(),o=i.workDayEnd.getHours(),s,c,l=i.hourSpan;for(e=new Date(e),t=new Date(t),i.showWorkHours&&e.setHours(a);e<t;)n=new Date(e),c=n.getHours(),s=c>=a&&c<o,n.setHours(n.getHours()+l),c==n.getHours()&&n.setHours(n.getHours()+2*l),(!i.showWorkHours||s)&&r.push({start:e,end:n,isNonWorking:!s,span:1}),e=n;return r},_days:function(e,t){var n,r=[],i;for(e=new Date(e),t=new Date(t);e<t;)n=t<kendo.date.nextDay(e)?t:kendo.date.nextDay(e),i=this._isWorkDay(e),(!this.options.showWorkDays||i)&&r.push({start:e,end:n,isNonWorking:!i,span:1}),e=n;return r},_weeks:function(e,t){var n,r=[],i=this.calendarInfo().firstDay,a,o;for(e=new Date(e),t=new Date(t);e<t;)n=kendo.date.dayOfWeek(kendo.date.addDays(e,1),i,1),n>t&&(n=t),a=this._days(e,n),o=a.length,o>0&&r.push({start:a[0].start,end:a[o-1].end,span:o}),e=n;return r},_months:function(e,t){var n,r,i=[],a,o;for(e=new Date(e),t=new Date(t);e<t;)n=new Date(e),r=kendo.date.firstDayOfMonth(new Date(n.setMonth(n.getMonth()+1))),n=t<r?t:r,a=this._days(e,n),o=a.length,o>0&&i.push({start:a[0].start,end:a[o-1].end,span:o}),e=n;return i},_years:function(e,t){var n,r,i,a=[];for(e=new Date(e),t=new Date(t);e<t;)n=new Date(e),n=kendo.date.firstDayOfMonth(new Date(n.setMonth(12))),n>=t&&(n=t),i=n.getMonth()||12,r=i-e.getMonth(),a.push({start:e,end:n,span:r}),e=n;return a},_slotHeaders:function(e,t){for(var n=[],r,i=0,a=e.length;i<a;i++)r=e[i],n.push({text:t(r),isNonWorking:!!r.isNonWorking,span:r.span});return n},_isWorkDay:function(e){for(var t=e.getDay(),n=this._workDays,r=0,i=n.length;r<i;r++)if(n[r]===t)return!0;return!1},calendarInfo:function(){return kendo.getCulture().calendars.standard},_renderCurrentTime:function(){var t=this._getCurrentTime(),n=this._offset(t),r=e(`<div class='k-current-time'></div>`),i=R.styles,a=this.element.find(b+i.tasksWrapper),o=this.element.find(b+i.tasksTable),s;!this.content||!this._timeSlots().length||(this.content.find(`.k-current-time`).remove(),s=this._timeSlots()[this._slotIndex(`start`,t)],!(t<s.start||t>s.end)&&(a.length&&o.length&&(n+=o.offset().left-a.offset().left),r.css({left:n+`px`,top:`0px`,width:`1px`,height:this._contentHeight+`px`}).appendTo(this.content)))},_getCurrentTime:function(){return new Date},_currentTime:function(){var e=this.options.currentTimeMarker;e!==!1&&e.updateInterval!==void 0&&(this._renderCurrentTime(),this._currentTimeUpdateTimer=setInterval(this._renderCurrentTime.bind(this),e.updateInterval))}});c(!0,R,{styles:L}),kendo.ui.GanttDayView=R.extend({name:`day`,options:{timeHeaderTemplate:x,dayHeaderTemplate:S,resizeTooltipFormat:`h:mm tt ddd, MMM d`},range:function(e){var t=this.options.range;this.start=kendo.date.getDate(e.start),this.end=kendo.date.getDate(e.end),(kendo.date.getMilliseconds(e.end)>0||this.end.getTime()===this.start.getTime())&&(this.end=kendo.date.addDays(this.end,1)),t&&t.start&&(this.start=kendo.date.getDate(t.start),this.start.setHours(t.start.getHours())),t&&t.end&&(this.end=kendo.date.getDate(t.end),this.end.setHours(t.end.getHours()))},_createSlots:function(){var e,t,n,r,i=[];e=this._days(this.start,this.end),n=[];for(var a=0,o=e.length;a<o;a++)t=e[a],r=this._hours(t.start,t.end),t.span=r.length,n.push.apply(n,r);return i.push(e),i.push(n),i},_layout:function(){var e=[],t=this.options;return e.push(this._slotHeaders(this._slots[0],kendo.template(t.dayHeaderTemplate))),e.push(this._slotHeaders(this._slots[1],kendo.template(t.timeHeaderTemplate))),e}}),kendo.ui.GanttWeekView=R.extend({name:`week`,options:{dayHeaderTemplate:S,weekHeaderTemplate:C,resizeTooltipFormat:`h:mm tt ddd, MMM d`},range:function(e){var t=this.options.range,n=this.calendarInfo().firstDay,r=e.end,i;n===r.getDay()&&r.setDate(r.getDate()+7),this.start=kendo.date.getDate(kendo.date.dayOfWeek(e.start,n,-1)),this.end=kendo.date.getDate(kendo.date.dayOfWeek(r,n,1)),t&&t.start&&(this.start=kendo.date.getDate(t.start)),t&&t.end&&(i=new Date(t.end),kendo.date.getDate(i)<t.end?this.end=kendo.date.getDate(new Date(i.setDate(i.getDate()+1))):this.end=kendo.date.getDate(i))},_createSlots:function(){var e=[];return e.push(this._weeks(this.start,this.end)),e.push(this._days(this.start,this.end)),e},_layout:function(){var e=[],t=this.options;return e.push(this._slotHeaders(this._slots[0],kendo.template(t.weekHeaderTemplate))),e.push(this._slotHeaders(this._slots[1],kendo.template(t.dayHeaderTemplate))),e}}),kendo.ui.GanttMonthView=R.extend({name:`month`,options:{weekHeaderTemplate:C,monthHeaderTemplate:w,resizeTooltipFormat:`dddd, MMM d, yyyy`},range:function(e){var t=this.options.range,n;this.start=kendo.date.firstDayOfMonth(e.start),this.end=kendo.date.addDays(kendo.date.getDate(kendo.date.lastDayOfMonth(e.end)),1),t&&t.start&&(this.start=kendo.date.getDate(t.start)),t&&t.end&&(n=new Date(t.end),kendo.date.getDate(n)<t.end?this.end=kendo.date.getDate(new Date(n.setDate(n.getDate()+1))):this.end=kendo.date.getDate(n))},_createSlots:function(){var e=[];return e.push(this._months(this.start,this.end)),e.push(this._weeks(this.start,this.end)),e},_layout:function(){var e=[],t=this.options;return e.push(this._slotHeaders(this._slots[0],kendo.template(t.monthHeaderTemplate))),e.push(this._slotHeaders(this._slots[1],kendo.template(t.weekHeaderTemplate))),e}}),kendo.ui.GanttYearView=R.extend({name:`year`,options:{yearHeaderTemplate:T,monthHeaderTemplate:w,resizeTooltipFormat:`dddd, MMM d, yyyy`},range:function(e){var t=this.options.range,n;this.start=kendo.date.firstDayOfMonth(new Date(e.start.setMonth(0))),this.end=kendo.date.firstDayOfMonth(new Date(e.end.setMonth(12))),t&&t.start&&(this.start=kendo.date.firstDayOfMonth(t.start)),t&&t.end&&(n=kendo.date.firstDayOfMonth(t.end),this.end=kendo.date.getDate(new Date(n.setMonth(n.getMonth()+1))))},_createSlots:function(){var t=[],n=this._months(this.start,this.end);return e(n).each(function(e,t){t.span=1}),t.push(this._years(this.start,this.end)),t.push(n),t},_layout:function(){var e=[],t=this.options;return e.push(this._slotHeaders(this._slots[0],kendo.template(t.yearHeaderTemplate))),e.push(this._slotHeaders(this._slots[1],kendo.template(t.monthHeaderTemplate))),e}});var z={wrapper:`k-gantt-timeline k-grid`,gridHeader:`k-grid-header`,gridHeaderWrap:`k-grid-header-wrap`,gridContent:`k-grid-content`,gridContentWrap:`k-grid-content`,tasksWrapper:`k-gantt-tables`,dependenciesWrapper:`k-gantt-dependencies`,task:`k-task`,taskOffset:`k-task-offset`,taskOffsetWrap:`k-task-offset-wrap`,taskPlanned:`k-task-planned`,line:`k-gantt-line`,taskResizeHandle:`k-resize-handle`,taskResizeHandleWest:`k-resize-w`,taskDragHandle:`k-task-draghandle`,taskComplete:`k-task-complete`,taskDelete:`k-task-delete`,taskWrapActive:`k-task-wrap-active`,taskWrap:`k-task-wrap`,taskDot:`k-task-dot`,taskDotStart:`k-task-start`,taskDotEnd:`k-task-end`,hovered:`k-hover`,selected:`k-selected`,origin:`k-origin`},B=kendo.ui.GanttTimeline=t.extend({init:function(e,n){t.fn.init.call(this,e,n),(!this.options.views||!this.options.views.length)&&(this.options.views=[`day`,`week`,`month`]),l=kendo.support.isRtl(e),this._wrapper(),this._domTrees(),this._views(),this._selectable(),this._draggable(),this._resizable(),this._percentResizeDraggable(),this._createDependencyDraggable(),this._attachEvents(),this._navigatable(),this._tooltip()},options:{name:`GanttTimeline`,messages:{views:{day:`Day`,week:`Week`,month:`Month`,year:`Year`,start:`Start`,end:`End`}},snap:!0,selectable:!0,editable:!0},destroy:function(){t.fn.destroy.call(this),clearTimeout(this._tooltipTimeout),this._currentTimeUpdateTimer&&clearInterval(this._currentTimeUpdateTimer),this._unbindView(this._selectedView),this._moveDraggable&&this._moveDraggable.destroy(),this._resizeDraggable&&this._resizeDraggable.destroy(),this._percentDraggable&&this._percentDraggable.destroy(),this._dependencyDraggable&&this._dependencyDraggable.destroy(),this.touch&&this.touch.destroy(),this._headerTree=null,this._taskTree=null,this._dependencyTree=null,this.wrapper.off(p),kendo.destroy(this.wrapper)},_findNext:function(e){return e.next().find(`.k-task`)},_findFirst:function(e){return e.closest(`.k-table-tbody`).find(`.k-task`).first()},_findLast:function(e){return e.closest(`.k-table-tbody`).find(`.k-task`).last()},_findPrev:function(e){return e.prev().find(`.k-task`)},_scrollTasks:function(e){var t=this.wrapper,n=kendo.scrollLeft(t.find(`.k-grid-content`));kendo.scrollLeft(t.find(`.k-grid-content`),n+20*e)},_navigatable:function(){var t=this;t.options.navigatable&&t.wrapper.on(`keydown`+p,`.k-gantt-tables .k-gantt-tasks .k-task`,function(n){var r=e(n.target),i=r.closest(`.k-table-row`),a=!1,o;n.keyCode==u.HOME&&(o=t._findFirst(i)),n.keyCode==u.END&&(o=t._findLast(i)),n.keyCode==u.DOWN&&(o=t._findNext(i)),n.keyCode==u.UP&&(o=t._findPrev(i)),o&&(a=!0,o[0]!==r[0]&&(r.closest(`.k-gantt-tasks`).find(`.k-task`).attr(`tabindex`,-1),o.attr(`tabindex`,0),o.trigger(`focus`))),n.keyCode==u.LEFT&&(n.altKey?r.hasClass(`k-task-summary`)&&(t.trigger(`collapse`,{uid:r.attr(`data-uid`)}),setTimeout(function(){t.select().trigger(`focus`)},1)):t._scrollTasks(-1),a=!0),n.keyCode==u.RIGHT&&(n.altKey?r.hasClass(`k-task-summary`)&&(t.trigger(`expand`,{uid:r.attr(`data-uid`)}),setTimeout(function(){t.select().trigger(`focus`)},1)):t._scrollTasks(1),a=!0),n.keyCode==u.ENTER&&(a=!0,t.options.editable.update!==!1&&(t.trigger(`editTask`,{uid:r.attr(`data-uid`)}),n.stopPropagation())),n.keyCode==u.DELETE&&(a=!0,t.options.editable.update!==!1&&(t.trigger(`removeTask`,{uid:r.attr(`data-uid`)}),n.stopPropagation())),a&&n.preventDefault()}).on(m+p,b+B.styles.task,function(n){n.preventDefault();var r=e(this);t.wrapper.find(b+B.styles.task).attr(`tabindex`,`-1`),r.attr(`tabindex`,`0`).trigger(`focus`)})},_wrapper:function(){var t=B.styles,n=this,r=this.options;this.wrapper=this.element.addClass(t.wrapper).append(`<div class='`+t.gridHeader+`'><div class='`+t.gridHeaderWrap+`'></div></div>`).append(`<div role='tree' class='`+t.gridContentWrap+`'><div class='`+t.tasksWrapper+`'></div><div class='`+t.dependenciesWrapper+`'></div></div>`),r.rowHeight&&(this._calculatedSize=function(){var i=typeof r.rowHeight===f?r.rowHeight:r.rowHeight+`px`,a=e(kendo.format(M,i)),o,c,l=n.wrapper.find(b+t.tasksWrapper);return kendo.applyStylesFromKendoAttributes(a,[`height`,`visibility`]),l.append(a),o=s(a.find(`tr`)),c=a.find(`td`).outerHeight(),a.remove(),{row:o,cell:c}}())},_domTrees:function(){var e=B.styles,t=kendo.dom.Tree,n=this.wrapper;this._headerTree=new t(n.find(b+e.gridHeaderWrap)[0]),this._taskTree=new t(n.find(b+e.tasksWrapper)[0]),this._dependencyTree=new t(n.find(b+e.dependenciesWrapper)[0])},_views:function(){var e=this.options.views,t,n,r,i,o;this.views={};for(var s=0,l=e.length;s<l;s++)t=e[s],n=a(t),!(n&&t.selectable===!1)&&(r=n?typeof t.type==`string`?t.type:t.title:t,i=N[r],i&&(n&&(t.type=i.type),i.title=this.options.messages.views[r]),t=c({title:r},i,n?t:{}),r&&(this.views[r]=t,(!o||t.selected)&&(o=r)));o&&(this._selectedViewName=o)},view:function(e){return e&&(this._selectView(e),this.trigger(`navigate`,{view:e,action:`changeView`})),this._selectedView},_selectView:function(e){e&&this.views[e]&&(this._selectedView&&this._unbindView(this._selectedView),this._selectedView=this._initializeView(e),this._selectedViewName=e)},_viewByIndex:function(e){for(var t in this.views){if(!e)return t;e--}},_initializeView:function(e){var t=this.views[e];if(t){var n=t.type;if(typeof n==`string`&&(n=kendo.getter(t.type)(window)),n){var r={};c(r,this.options.range,t.range);var i=t.date||this.options.date;t=new n(this.wrapper,P(c(!0,{headerTree:this._headerTree,taskTree:this._taskTree,dependencyTree:this._dependencyTree,calculatedSize:this._calculatedSize},t,this.options,{date:i,range:r})))}else throw Error(`There is no such view`)}return t},_unbindView:function(e){e&&e.destroy()},_range:function(e){var t={field:`start`,dir:`asc`},n={field:`end`,dir:`desc`};if(!e||!e.length)return{start:new Date,end:new Date};var r=new d(e).sort(t).toArray()[0].start||new Date,i=new d(e).sort(n).toArray()[0].end||new Date;return{start:new Date(r),end:new Date(i)}},_render:function(e){var t=this.view(),n=this._range(e),r=t.options.date;this._tasks=e,t.range(n),t.renderLayout(),t.render(e),r&&t._scrollToDate(r)},_renderDependencies:function(e){this.view()._renderDependencies(e)},_taskByUid:function(e){for(var t=this._tasks,n=t.length,r,i=0;i<n;i++)if(r=t[i],r.uid===e)return r},_draggable:function(){var e=this,t,n,r,i,a=this.options.snap,o=B.styles,s=this.options.editable,c=function(){e.view()._removeDragHint(),t&&t.css(`opacity`,1),t=null,n=null,e.dragInProgress=!1};!s||s.move===!1||s.update===!1||(this._moveDraggable=new kendo.ui.Draggable(this.wrapper,{distance:0,filter:b+o.task+`,`+b+o.taskOffset,holdToDrag:kendo.support.mobileOS,ignore:b+o.taskResizeHandle}),this._moveDraggable.bind(`dragstart`,function(s){var c=e.view();if(t=s.currentTarget.closest(b+o.taskWrap),n=e._taskByUid(s.currentTarget.parent().find(b+o.task).attr(`data-uid`)),e.trigger(`moveStart`,{task:n})){s.preventDefault();return}r=n.start,i=c._timeByPosition(s.x.location,a)-r,c._createDragHint(t),t.css(`opacity`,.5),clearTimeout(e._tooltipTimeout),e.dragInProgress=!0}).bind(`drag`,kendo.throttle(function(t){if(e.dragInProgress){var o=e.view(),s=new Date(o._timeByPosition(t.x.location,a)-i),c=s;e.trigger(`move`,{task:n,start:s})||(r=s,l&&(c=new Date(r.getTime()+n.duration())),o._updateDragHint(c))}},15)).bind(`dragend`,function(){e.trigger(`moveEnd`,{task:n,start:r}),c()}).bind(`dragcancel`,function(){c()}).userEvents.bind(`select`,function(){I()}))},_resizable:function(){var e=this,t,n,r,i,a,o=this.options.snap,s=B.styles,c=this.options.editable,u=function(){e.view()._removeResizeHint(),t=null,n=null,e.dragInProgress=!1};!c||c.resize===!1||c.update===!1||(this._resizeDraggable=new kendo.ui.Draggable(this.wrapper,{distance:0,filter:b+s.taskResizeHandle,holdToDrag:!1}),this._resizeDraggable.bind(`dragstart`,function(o){if(a=o.currentTarget.hasClass(s.taskResizeHandleWest),l&&(a=!a),t=o.currentTarget.closest(b+s.taskWrap).find(b+s.task),n=e._taskByUid(t.attr(`data-uid`)),e.trigger(`resizeStart`,{task:n})){o.preventDefault();return}r=n.start,i=n.end,e.view()._createResizeHint(n),clearTimeout(e._tooltipTimeout),e.dragInProgress=!0}).bind(`drag`,kendo.throttle(function(t){if(e.dragInProgress){var s=e.view(),c=s._timeByPosition(t.x.location,o,!a);a?r=c<i?c:i:i=c>r?c:r,e.trigger(`resize`,{task:n,start:r,end:i})||s._updateResizeHint(r,i,a)}},15)).bind(`dragend`,function(){e.trigger(`resizeEnd`,{task:n,resizeStart:a,start:r,end:i}),u()}).bind(`dragcancel`,function(){u()}).userEvents.bind(`select`,function(){I()}))},_percentResizeDraggable:function(){var e=this,t,n,r,i,a,s,c,u,d,f=B.styles,p,m=this.options.editable,h=function(){e.view()._removePercentCompleteTooltip(),n=null,t=null,e.dragInProgress=!1},g=function(e){var t=n.siblings(b+f.taskDragHandle);t.length||(t=n.closest(b+f.taskWrap).find(b+f.taskDragHandle)),t.css(l?`right`:`left`,e),n.find(b+f.taskComplete).width(e)};!m||m.dragPercentComplete===!1||m.update===!1||(this._percentDraggable=new kendo.ui.Draggable(this.wrapper,{distance:0,filter:b+f.taskDragHandle,holdToDrag:!1}),this._percentDraggable.bind(`dragstart`,function(l){if(e.trigger(`percentResizeStart`)){l.preventDefault();return}n=l.currentTarget.siblings(b+f.task),n.length||(n=l.currentTarget.closest(b+f.taskWrap).find(b+f.task)),t=e._taskByUid(n.attr(`data-uid`)),c=t.percentComplete,r=n.offset(),i=this.element.offset(),a=n.find(b+f.taskComplete).width(),s=o(n),clearTimeout(e._tooltipTimeout),e.dragInProgress=!0}).bind(`drag`,kendo.throttle(function(t){if(e.dragInProgress){p=l?-t.x.initialDelta:t.x.initialDelta;var n=Math.max(0,Math.min(s,a+p));c=Math.round(n/s*100),g(n),u=r.top-i.top,d=r.left+n-i.left,l&&(d+=s-2*n),e.view()._updatePercentCompleteTooltip(u,d,c)}},15)).bind(`dragend`,function(){e.trigger(`percentResizeEnd`,{task:t,percentComplete:c/100}),h()}).bind(`dragcancel`,function(){g(a),h()}).userEvents.bind(`select`,function(){I()}))},_createDependencyDraggable:function(){var t=this,n,r=e(),i=e(),a,c,l=B.styles,u=this.options.editable,d=function(){n.css(`display`,``).removeClass(l.hovered),n.parent().removeClass(l.origin),n=null,f(!1),i=e(),r=e(),t.view()._removeDependencyDragHint(),t.dragInProgress=!1},f=function(e){i.hasClass(l.origin)||(i.find(b+l.taskDot).css(`display`,e?`block`:``),r.toggleClass(l.hovered,e))};!u||u.dependencyCreate===!1||(this._dependencyDraggable=new kendo.ui.Draggable(this.wrapper,{distance:0,filter:b+l.taskDot,holdToDrag:!1}),this._dependencyDraggable.bind(`dragstart`,function(e){if(t.trigger(`dependencyDragStart`)){e.preventDefault();return}n=e.currentTarget.css(`display`,`block`).addClass(l.hovered),n.parent().addClass(l.origin);var r=n.offset(),i=t.wrapper.find(b+l.tasksWrapper).offset();a=Math.round(r.left-i.left+s(n)/2),c=Math.round(r.top-i.top+o(n)/2),clearTimeout(t._tooltipTimeout),t.dragInProgress=!0}).bind(`drag`,kendo.throttle(function(n){if(t.dragInProgress){t.view()._removeDependencyDragHint();var o=e(kendo.elementUnderCursor(n)),s=t.wrapper.find(b+l.tasksWrapper).offset(),u=n.x.location-s.left,d=n.y.location-s.top;t.view()._updateDependencyDragHint({x:a,y:c},{x:u,y:d}),f(!1),r=o.hasClass(l.taskDot)?o:e(),i=o.closest(b+l.taskWrap),f(!0)}},15)).bind(`dragend`,function(){if(r.length){var e=n.hasClass(l.taskDotStart),i=r.hasClass(l.taskDotStart),a=e?i?3:2:i?1:0,o=n.siblings(b+l.task);o.length||(o=n.closest(b+l.taskWrap).find(b+l.task));var s=t._taskByUid(o.attr(`data-uid`)),c=r.siblings(b+l.task);c.length||(c=r.closest(b+l.taskWrap).find(b+l.task));var u=t._taskByUid(c.attr(`data-uid`));s!==u&&t.trigger(`dependencyDragEnd`,{type:a,predecessor:s,successor:u})}d()}).bind(`dragcancel`,function(){d()}).userEvents.bind(`select`,function(){I()}))},_selectable:function(){var t=this,n=B.styles;this.options.selectable&&this.wrapper.on(m+p,b+n.task+`,`+b+n.taskOffset,function(r){r.stopPropagation();var i=e(this).attr(`data-uid`);i||=e(this).closest(b+n.taskWrap).find(b+n.task).data(`uid`),r.ctrlKey?t.trigger(`clear`):t.trigger(`select`,{uid:i})}).on(m+p,b+n.taskWrap,function(t){t.stopPropagation(),e(this).css(`z-index`,`0`);var r=e(document.elementFromPoint(t.clientX,t.clientY));r.hasClass(n.line)&&r.click(),e(this).css(`z-index`,``)}).on(m+p,b+n.tasksWrapper,function(){t.selectDependency().length>0?t.clearSelection():t.trigger(`clear`)}).on(m+p,b+n.line,function(e){e.stopPropagation(),t.selectDependency(this)})},select:function(e){var t=this.wrapper.find(e),n=B.styles;if(t.length){this.clearSelection(),t.addClass(n.selected),kendo.support.mobileOS&&t.parent().addClass(n.taskWrapActive);return}return this.wrapper.find(b+n.task+b+n.selected)},selectDependency:function(t){var n=this.wrapper.find(t),r,i=B.styles;if(n.length){this.clearSelection(),this.trigger(`clear`),r=e(n).attr(`data-uid`),this.wrapper.find(b+i.line+`[data-uid='`+r+`']`).addClass(i.selected);return}return this.wrapper.find(b+i.line+b+i.selected)},clearSelection:function(){var e=B.styles;this.wrapper.find(b+e.selected).removeClass(e.selected),kendo.support.mobileOS&&this.wrapper.find(b+e.taskWrapActive).removeClass(e.taskWrapActive)},_attachEvents:function(){var t=this,n=B.styles;this.options.editable&&(this.wrapper.on(m+p,b+n.taskDelete,function(r){t.trigger(`removeTask`,{uid:e(this).closest(b+n.taskWrap).find(b+n.task).attr(`data-uid`)}),r.stopPropagation(),r.preventDefault()}).on(y+p,function(e){var n,r=t.options.editable;e.keyCode===u.DELETE&&r&&r.dependencyDestroy!==!1&&(n=t.selectDependency(),n.length&&(t.trigger(`removeDependency`,{uid:n.attr(`data-uid`)}),t.clearSelection()))}),kendo.support.mobileOS?this.touch=this.wrapper.kendoTouch({filter:b+n.task+`,`+b+n.taskOffset,doubletap:function(r){t.options.editable.update!==!1&&t.trigger(`editTask`,{uid:e(r.touch.currentTarget).closest(b+n.taskWrap).find(b+n.task).attr(`data-uid`)})}}).data(`kendoTouch`):this.wrapper.on(h+p,b+n.task+`,`+b+n.taskOffset,function(r){t.options.editable.update!==!1&&(t.trigger(`editTask`,{uid:e(this).closest(b+n.taskWrap).find(b+n.task).attr(`data-uid`)}),r.stopPropagation(),r.preventDefault())}))},_tooltip:function(){var t=this,n=this.options.tooltip,r=B.styles,i,a=function(e){i=e.clientX};n&&n.visible===!1||(kendo.support.mobileOS?(this.wrapper.on(m+p,b+r.taskDelete,function(e){e.stopPropagation(),t.view()._removeTaskTooltip()}).on(v+p,b+r.task,function(n){e(n.relatedTarget).parents(b+r.taskWrap,b+r.task).length===0&&t.view()._removeTaskTooltip()}).on(v+p,b+r.taskOffset,function(n){e(n.relatedTarget).parents(b+r.taskWrap,b+r.task).length===0&&t.view()._removeOffsetTooltip()}).on(v+p,b+r.taskPlanned,function(n){e(n.relatedTarget).parents(b+r.taskWrap,b+r.task).length===0&&t.view()._removePlannedTooltip()}),this.touch&&this.touch.bind(`tap`,function(n){var i=e(n.touch.target),a=n.touch.x.client,o;i.hasClass(r.task)?(o=t._taskByUid(i.attr(`data-uid`)),t.view()._taskTooltip&&t.view()._removeTaskTooltip(),t.view()._createTaskTooltip(o,i,a)):(o=t._taskByUid(i.closest(b+r.taskWrap).find(b+r.task).attr(`data-uid`)),t.view()._offsetTooltip&&t.view()._removeOffsetTooltip(),t.view()._createOffsetTooltip(o,i,a))}).bind(`doubletap`,function(){t.view()._removeTaskTooltip(),t.view()._removeOffsetTooltip()})):this.wrapper.on(_+p,b+r.task,function(){var n=this,r=t._taskByUid(e(this).attr(`data-uid`));t.dragInProgress||(t._tooltipTimeout=setTimeout(function(){t.view()._createTaskTooltip(r,n,i)},800),e(this).on(g,a))}).on(v+p,b+r.task,function(){clearTimeout(t._tooltipTimeout),t.view()._removeTaskTooltip(),e(this).off(g,a)}).on(_+p,b+r.taskOffset,function(){var n=e(this).closest(b+r.taskWrap).find(b+r.task),o=t._taskByUid(n.attr(`data-uid`));t.dragInProgress||(t._offsetTooltipTimeout=setTimeout(function(){t.view()._createOffsetTooltip(o,n,i)},800),e(this).on(g,a))}).on(v+p,b+r.taskOffset,function(){clearTimeout(t._offsetTooltipTimeout),t.view()._removeOffsetTooltip(),e(this).off(g,a)}).on(_+p,b+r.taskPlanned,function(){var n=e(this).closest(b+r.taskWrap).find(b+r.task),o=t._taskByUid(n.attr(`data-uid`));t._plannedTooltipTimeout=setTimeout(function(){t.view()._createPlannedTooltip(o,n,i)},800),e(this).on(g,a)}).on(v+p,b+r.taskPlanned,function(){clearTimeout(t._plannedTooltipTimeout),t.view()._removePlannedTooltip(),e(this).off(g,a)}))},_setPlanned:function(e){this.options.showPlannedTasks=e,this.view().options.showPlannedTasks=e}});c(!0,B,{styles:z})})(window.kendo.jQuery);var o=kendo;e.__meta__=a,e.default=o}); //# sourceMappingURL=kendo.gantt.timeline.min.js.map