@syncfusion/ej2-gantt
Version:
Essential JS 2 Gantt Component
10 lines • 1.32 MB
JavaScript
/*!
* filename: ej2-gantt.min.js
* version : 32.1.21
* Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
* Use of this code is subject to the terms of our license.
* A copy of the current license can be obtained at any time by e-mailing
* licensing@syncfusion.com. Any infringement will be prosecuted under
* applicable laws.
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("SyncfusionBase"),require("SyncfusionPopups"),require("SyncfusionData"),require("SyncfusionGrids"),require("SyncfusionTreegrid"),require("SyncfusionDropdowns"),require("SyncfusionSvgBase"),require("SyncfusionLayouts"),require("SyncfusionNavigations"),require("SyncfusionRichtexteditor"),require("SyncfusionInputs"),require("SyncfusionButtons"),require("SyncfusionCalendars"),require("SyncfusionPdfExport")):"function"==typeof define&&define.amd?define(["SyncfusionBase","SyncfusionPopups","SyncfusionData","SyncfusionGrids","SyncfusionTreegrid","SyncfusionDropdowns","SyncfusionSvgBase","SyncfusionLayouts","SyncfusionNavigations","SyncfusionRichtexteditor","SyncfusionInputs","SyncfusionButtons","SyncfusionCalendars","SyncfusionPdfExport"],t):"object"==typeof exports?exports.SyncfusionGantt=t(require("SyncfusionBase"),require("SyncfusionPopups"),require("SyncfusionData"),require("SyncfusionGrids"),require("SyncfusionTreegrid"),require("SyncfusionDropdowns"),require("SyncfusionSvgBase"),require("SyncfusionLayouts"),require("SyncfusionNavigations"),require("SyncfusionRichtexteditor"),require("SyncfusionInputs"),require("SyncfusionButtons"),require("SyncfusionCalendars"),require("SyncfusionPdfExport")):e.SyncfusionGantt=t(e.SyncfusionBase,e.SyncfusionPopups,e.SyncfusionData,e.SyncfusionGrids,e.SyncfusionTreegrid,e.SyncfusionDropdowns,e.SyncfusionSvgBase,e.SyncfusionLayouts,e.SyncfusionNavigations,e.SyncfusionRichtexteditor,e.SyncfusionInputs,e.SyncfusionButtons,e.SyncfusionCalendars,e.SyncfusionPdfExport)}(self,(e,t,i,a,r,n,s,o,l,d,h,p,u,c)=>(()=>{"use strict";var g={766:t=>{t.exports=e},741:e=>{e.exports=p},570:e=>{e.exports=u},74:e=>{e.exports=i},778:e=>{e.exports=n},707:e=>{e.exports=a},323:e=>{e.exports=h},40:e=>{e.exports=o},215:e=>{e.exports=l},461:e=>{e.exports=c},197:e=>{e.exports=t},674:e=>{e.exports=d},727:e=>{e.exports=s},465:e=>{e.exports=r}},f={};function m(e){var t=f[e];if(void 0!==t)return t.exports;var i=f[e]={exports:{}};return g[e](i,i.exports,m),i.exports}m.d=(e,t)=>{for(var i in t)m.o(t,i)&&!m.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},m.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),m.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var y={};return(()=>{m.r(y),m.d(y,{AddDialogFieldSettings:()=>ht,CalendarException:()=>di,CalendarSettings:()=>mi,Column:()=>it,ColumnMenu:()=>ga,ConstraintType:()=>D,ContextMenu:()=>ua,CriticalPath:()=>da,DayMarkers:()=>la,DayWorkingTime:()=>ot,Dependency:()=>ki,Edit:()=>$i,EditDialogFieldSettings:()=>ct,EditSettings:()=>mt,EventMarker:()=>vt,ExcelExport:()=>ca,Filter:()=>ia,FilterSettings:()=>wt,Freeze:()=>Ya,Gantt:()=>Ei,Holiday:()=>Mt,LabelSettings:()=>It,LoadingIndicator:()=>ai,PdfBorders:()=>va,PdfExport:()=>Za,PdfGanttTheme:()=>ya,PdfHorizontalOverflowType:()=>T,PdfPaddings:()=>ka,PdfTreeGridCell:()=>xa,PdfTreeGridCellCollection:()=>Oa,PdfTreeGridColumn:()=>Ua,PdfTreeGridColumnCollection:()=>Na,PdfTreeGridHeaderCollection:()=>Fa,PdfTreeGridLayoutFormat:()=>Ca,PdfTreeGridLayoutResult:()=>Sa,PdfTreeGridLayouter:()=>Pa,PdfTreeGridRow:()=>Ia,PdfTreeGridRowCollection:()=>Ea,PdfTreeGridStyle:()=>wa,PdfTreeGridStyleBase:()=>ba,ProjectCalendar:()=>ui,Reorder:()=>Ji,Resize:()=>ta,ResourceFields:()=>ei,RowDD:()=>fa,SearchSettings:()=>St,Selection:()=>ra,SelectionSettings:()=>Ut,Sort:()=>aa,SortDescriptor:()=>Kt,SortSettings:()=>Qt,SplitterSettings:()=>Vt,TaskCalendar:()=>ci,TaskFields:()=>Wt,TemporaryDictionary:()=>Da,TimelineSettings:()=>Gt,TimelineTierSettings:()=>zt,Toolbar:()=>na,TooltipSettings:()=>Zt,UndoRedo:()=>pa,VirtualScroll:()=>Xa,WeekWorkingTime:()=>si,cyclicValidator:()=>Ri,formatString:()=>u,getIndex:()=>c,getRandom:()=>b,getSwapKey:()=>s,getTaskData:()=>h,getUid:()=>k,getUniversalTime:()=>l,isCountRequired:()=>n,isEmptyObject:()=>o,isRemoteData:()=>d,isScheduledTask:()=>r,keyPressed:()=>Vi,load:()=>Fi,parentsUntil:()=>a,pixelToPoint:()=>g,pointToPixel:()=>f,queryCellInfo:()=>Ni,rowDataBound:()=>Ui,toolbarClick:()=>Li,updateDates:()=>p});var e=m(766),t=m(197),i=m(74);function a(e,t,i){for(var a=e;a&&!(i?a.id===t:a.classList.contains(t));)a=a.parentElement;return a}function r(t){return(0,e.isNullOrUndefined)(t.startDate)&&(0,e.isNullOrUndefined)(t.endDate)&&(0,e.isNullOrUndefined)(t.duration)?null:!((0,e.isNullOrUndefined)(t.startDate)||(0,e.isNullOrUndefined)(t.endDate)||(0,e.isNullOrUndefined)(t.duration))}function n(e){return!(!e.dataSource||e.dataSource instanceof i.DataManager||!("result"in e.dataSource))}function s(e){for(var t={},i=0,a=Object.keys(e);i<a.length;i++){var r=a[i];t[e[r]]=r}return t}function o(t){return!(0,e.isNullOrUndefined)(t)&&"object"==typeof t&&0===Object.keys(t).length}function l(e){var t=e.getFullYear(),i=e.getMonth(),a=e.getDate(),r=e.getHours(),n=e.getMinutes(),s=e.getSeconds(),o=e.getMilliseconds();return Date.UTC(t,i,a,r,n,s,o)}function d(e){if(e instanceof i.DataManager){var t=e.adaptor;return t instanceof i.ODataAdaptor||t instanceof i.ODataV4Adaptor||t instanceof i.WebApiAdaptor||t instanceof i.WebMethodAdaptor||t instanceof i.CacheAdaptor||t instanceof i.RemoteSaveAdaptor||t instanceof i.UrlAdaptor}return!1}function h(t,i,a,r){if(a){for(var n=void 0,s=0;s<t.length;s++){n=o=i?t[parseInt(s.toString(),10)].taskData:(0,e.extend)({},t[parseInt(s.toString(),10)].taskData,{},!0)}return n}for(n=[],s=0;s<t.length;s++){!(0,e.isNullOrUndefined)(r)&&r.timezone&&p(t[s],r);var o=i?t[parseInt(s.toString(),10)].taskData:(0,e.extend)({},t[parseInt(s.toString(),10)].taskData,{},!0);n.push(o)}return n}function p(t,i){if(t&&!(0,e.isNullOrUndefined)(t.ganttProperties)){var a=t.taskData,r=t.ganttProperties;a[i.taskFields.startDate]=i.dateValidationModule.remove(r.startDate,i.timezone),null!==i.taskFields.endDate&&(a[i.taskFields.endDate]=i.dateValidationModule.remove(r.endDate,i.timezone)),(i.taskFields.baselineStartDate||i.taskFields.baselineEndDate)&&(a[i.taskFields.baselineStartDate]=i.dateValidationModule.remove(r.baselineStartDate,i.timezone),a[i.taskFields.baselineEndDate]=i.dateValidationModule.remove(r.baselineEndDate,i.timezone)),i.editModule.processCustomDateColumns(t,a,i,"remove")}return null}function u(e,t){for(var i,a=0;a<t.length;a++)i=new RegExp("\\{"+a+"\\}","gm"),e=e.replace(i,t[a].toString());return e}function c(t,i,a,r){for(var n=-1,s=0;s<a.length;s++)if((0,e.getValue)(i,a[s])===(0,e.getValue)(i,t)&&(0,e.isNullOrUndefined)(r)||!(0,e.isNullOrUndefined)(r)&&(0,e.getValue)(i,a[s])===(0,e.getValue)(i,t)&&(0,e.getValue)(r,a[s])===(0,e.getValue)(r,t)){n=s;break}return n}function g(e){return 76*e/92}function f(e){return 92*e/76}var D,v=0;function k(){return v++}function b(){var e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]/4294967296}!function(e){e[e.AsSoonAsPossible=0]="AsSoonAsPossible",e[e.AsLateAsPossible=1]="AsLateAsPossible",e[e.MustStartOn=2]="MustStartOn",e[e.MustFinishOn=3]="MustFinishOn",e[e.StartNoEarlierThan=4]="StartNoEarlierThan",e[e.StartNoLaterThan=5]="StartNoLaterThan",e[e.FinishNoEarlierThan=6]="FinishNoEarlierThan",e[e.FinishNoLaterThan=7]="FinishNoLaterThan"}(D||(D={}));var w,T,P=function(){function t(e){this.fromSegments=!1,this.mondayTimeRangeLength=0,this.tuesdayTimeRangeLength=0,this.wednesdayTimeRangeLength=0,this.thursdayTimeRangeLength=0,this.fridayTimeRangeLength=0,this.saturdayTimeRangeLength=0,this.sundayTimeRangeLength=0,this.parent=e}return t.prototype.isValidateNonWorkDays=function(t){return!(0,e.isNullOrUndefined)(t)&&t.isAutoSchedule&&(!this.parent.includeWeekend||t.calendarContext.defaultHolidays.length>0)||(0,e.isNullOrUndefined)(t)&&(!this.parent.includeWeekend||this.parent.defaultCalendarContext.defaultHolidays.length>0)},t.prototype.checkStartDate=function(t,i,a,r,n,s){if((0,e.isNullOrUndefined)(t))return null;var o,l=new Date(t.getTime()),d=this.parent.getCurrentDayStartTime(l),h=this.parent.getCurrentDayEndTime(l),p=new Date(t.getTime()),u=this.getSecondsInDecimal(p);if(a=(0,e.isNullOrUndefined)(a)?!(0,e.isNullOrUndefined)(i)&&i.isMilestone:a,u<d&&(!a||r))this.setTime(d,p);else if(u<d&&a)this.setTime(d,p);else if(u===h&&(!i||!a)||u>h)p.setDate(p.getDate()+1),d=this.parent.getCurrentDayStartTime(p),this.setTime(d,p);else if(u>d&&u<h){var c=this.parent.workingTimeRanges;this.parent.weekWorkingTime.length>0&&(c=this.parent.getWorkingRange(p));for(var g=0;g<c.length;g++){var f=c[g];if(u>=f.to&&c[g+1]&&u<c[g+1].from){(u!==f.to||i&&a)&&u===f.to||this.setTime(c[g+1].from,p);break}}}if(!this.parent.autoCalculateDateScheduling||s||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping)return new Date(p.getTime());do{o=new Date(p.getTime()),i&&!i.calendarContext&&(i.calendarContext=this.parent.defaultCalendarContext);var m=i?i.calendarContext:this.parent.defaultCalendarContext,y=m.defaultHolidays.length;if(this.isValidateNonWorkDays(i)){d=this.parent.getCurrentDayStartTime(o),i&&(h=n?this.parent.getCurrentDayEndTime(i.baselineEndDate?i.baselineEndDate:o):this.parent.getCurrentDayEndTime(i.endDate?i.isAutoSchedule?i.endDate:i.autoEndDate:o));var D=!a||r?d:h;if(!this.parent.includeWeekend&&!n){var v=new Date(p.getTime());p=this.getNextWorkingDay(p,m),D=this.parent.getCurrentDayStartTime(p),v.getTime()===p.getTime()||a||this.setTime(D,p)}if(!n)for(var k=0;k<y;k++){var b=this.getDateFromFormat(new Date(m.defaultHolidays[k])),w=new Date(b.getTime());b.setHours(0,0,0,0),w.setHours(23,59,59,59),p.getTime()>=b.getTime()&&p.getTime()<w.getTime()&&(p.setDate(p.getDate()+1),D=this.parent.getCurrentDayStartTime(p),this.setTime(D,p))}}}while(o.getTime()!==p.getTime());return new Date(p.getTime())},t.prototype.getAdjustedStartDate=function(e,t){var i=new Date(e);i.setDate(i.getDate()+1);var a=this.parent.dateValidationModule.checkEndDate(i);return this.parent.dateValidationModule.getStartDate(a,t.duration,t.durationUnit,t)},t.prototype.getDateByConstraint=function(t,i,a){var r=t.ganttProperties?t.ganttProperties:t,n=new Date(r.constraintDate),s=this.parent.isLoad;if((0,e.isNullOrUndefined)(a)&&(a=!0),a&&(!n||!i))return null;switch(n=this.parent.editModule&&this.parent.editModule.dialogModule&&this.parent.editModule.dialogModule.dialogConstraintDate?new Date(this.parent.editModule.dialogModule.dialogConstraintDate):this.parent.assignTimeToDate(n,this.parent.getCurrentDayStartTime(n)),r.constraintType){case D.AsSoonAsPossible:if(s)return i;r.constraintDate=null;var o=null,l=this.parent.getRecordByID(r.taskId);return l&&l.parentItem&&(o=l.parentItem),r.predecessor&&r.predecessor.length>0?this.parent.assignTimeToDate(i,this.parent.getCurrentDayStartTime(i)):o?this.parent.getRecordByID(o.taskId).ganttProperties.startDate:this.parent.dateValidationModule.checkStartDate(new Date(this.parent.projectStartDate));case D.AsLateAsPossible:if(s)return i;if((o=this.parent.getRecordByID(r.taskId))&&o.parentItem){var d=this.parent.dateValidationModule.checkEndDate(this.parent.getRecordByID(o.parentItem.taskId).ganttProperties.endDate);return this.parent.dateValidationModule.getStartDate(d,r.duration,r.durationUnit,r)}d=this.parent.dateValidationModule.checkEndDate(new Date(this.parent.projectEndDate));return this.parent.dateValidationModule.getStartDate(d,r.duration,r.durationUnit,r);case D.MustStartOn:var h=n.getTime()!==r.startDate.getTime(),p=void 0;this.parent.editModule&&this.parent.editModule.dialogModule&&(p=this.parent.editModule.dialogModule.dialogConstraintValue);var u=(0,e.isNullOrUndefined)(p)||2===p||3===p;return h&&!s&&u&&(this.parent.constraintViolationType="MustStartOn"),p=null,s?this.parent.dateValidationModule.checkStartDate(new Date(n)):this.parent.assignTimeToDate(i,this.parent.getCurrentDayStartTime(i));case D.MustFinishOn:return(h=n.getTime()!==r.endDate.getTime())&&!s&&(this.parent.constraintViolationType="MustFinishOn"),this.getAdjustedStartDate(n,r);case D.StartNoEarlierThan:return n.getTime()<i.getTime()||!s?this.parent.assignTimeToDate(i,this.parent.getCurrentDayStartTime(i)):this.parent.dateValidationModule.checkStartDate(new Date(n));case D.StartNoLaterThan:if((h=n.getTime()<i.getTime())&&!s&&(this.parent.constraintViolationType="StartNoLaterThan"),!s){var c=this.parent.editModule&&this.parent.editModule.cellEditModule,g=this.parent.taskFields&&this.parent.taskFields.constraintDate;return c&&c.isCellEdit&&c.editedColumn&&h&&c.editedColumn.field===g||this.parent.editModule&&this.parent.editModule.dialogModule&&h&&this.parent.editModule.dialogModule.dialogConstraintDate?n:this.parent.assignTimeToDate(i,this.parent.getCurrentDayStartTime(i))}return s&&h?this.parent.dateValidationModule.checkStartDate(new Date(n)):i;case D.FinishNoEarlierThan:return(f=this.getEndDate(i,r.duration,r.durationUnit,r,!1,!1)).getTime()<n.getTime()?this.getAdjustedStartDate(n,r):i;case D.FinishNoLaterThan:var f=this.getEndDate(i,r.duration,r.durationUnit,r,!1,!1);return(h=n.getTime()<f.getTime())&&!s&&(this.parent.constraintViolationType="FinishNoLaterThan"),s?h?this.getAdjustedStartDate(n,r):i:h?this.getAdjustedStartDate(n,r):this.parent.assignTimeToDate(i,this.parent.getCurrentDayEndTime(i));default:return i}},t.prototype.checkEndDate=function(t,i,a,r,n){if((0,e.isNullOrUndefined)(t))return null;var s,o;i&&!i.calendarContext&&(i.calendarContext=this.parent.defaultCalendarContext);var l=i?i.calendarContext:this.parent.defaultCalendarContext;if(this.parent.weekWorkingTime.length>0){var d=new Date(t.getTime());((0===l.exceptionsRanges.length||!this.parent.includeWeekend)&&i&&i.isAutoSchedule||this.parent.editModule&&this.parent.editModule.taskbarEditModule&&this.parent.editModule.taskbarEditModule.taskBarEditRecord&&!this.parent.editModule.taskbarEditModule.taskBarEditRecord.ganttProperties.isAutoSchedule)&&(d=this.getNextWorkingDay(d,l)),s=this.parent.getStartTime(d),o=this.parent.getEndTime(d)}else s=this.parent.defaultStartTime,o=this.parent.defaultEndTime;var h,p=new Date(t.getTime()),u=this.getSecondsInDecimal(p);if(u>o)this.setTime(o,p);else if(u<=s&&86400!==o&&!a){var c=this.parent.taskFields;this.parent.editModule&&this.parent.editModule.editedRecord&&!this.parent.editModule.editedRecord[c.startDate]&&this.parent.editModule.editedRecord[c.endDate]?p.setDate(p.getDate()):p.setDate(p.getDate()-1),o=this.parent.getCurrentDayEndTime(p),this.setTime(o,p)}else if(u>s&&u<o)for(var g=0;g<this.parent.workingTimeRanges.length;g++){if(u>this.parent.workingTimeRanges[g].to&&this.parent.workingTimeRanges[g+1]&&u<=this.parent.workingTimeRanges[g+1].from){this.setTime(this.parent.workingTimeRanges[g].to,p);break}}if(!this.parent.autoCalculateDateScheduling||n||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping)return(0,e.isNullOrUndefined)(p)||86400===this.parent.defaultEndTime||(o=this.parent.getCurrentDayEndTime(t),this.setTime(o,p)),new Date(p.getTime());do{h=new Date(p.getTime());var f=l.defaultHolidays.length;if(this.isValidateNonWorkDays(i)&&!r){if(!this.parent.includeWeekend){var m=new Date(p.getTime());p=this.getPreviousWorkingDay(p,l),o=this.parent.getCurrentDayEndTime(p),m.getTime()!==p.getTime()&&this.setTime(o,p)}for(var y=0;y<f;y++){var D=this.getDateFromFormat(new Date(l.defaultHolidays[y])),v=new Date(D.getTime()),k=new Date(p.getTime());k.setMinutes(p.getMilliseconds()-2),D.setHours(0,0,0,0),v.setHours(23,59,59,59),(p.getTime()>=D.getTime()&&p.getTime()<v.getTime()||k.getTime()>=D.getTime()&&k.getTime()<v.getTime())&&(p.setDate(p.getDate()-1),o=this.parent.getCurrentDayEndTime(p),p.getTime()===D.getTime()&&86400===o&&0===this.getSecondsInDecimal(p)||this.setTime(o,p))}}}while(h.getTime()!==p.getTime());return new Date(p.getTime())},t.prototype.checkBaselineStartDate=function(t,i){if((0,e.isNullOrUndefined)(t))return null;var a=this.parent.getCurrentDayStartTime(t),r=this.parent.getCurrentDayEndTime(i&&i.endDate?i.isAutoSchedule?i.endDate:i.autoEndDate:t),n=new Date(t.getTime()),s=this.getSecondsInDecimal(n);if(s<a)this.setTime(a,n);else if(s>r)n.setDate(n.getDate()+1),a=this.parent.weekWorkingTime.length>0?this.parent.getStartTime(n):this.parent.defaultStartTime,this.setTime(a,n);else if(s>a&&s<r)for(var o=0;o<this.parent.workingTimeRanges.length;o++){if(s>this.parent.workingTimeRanges[o].to&&this.parent.workingTimeRanges[o+1]&&s<this.parent.workingTimeRanges[o+1].from){this.setTime(this.parent.workingTimeRanges[o+1].from,n);break}}return n},t.prototype.checkBaselineEndDate=function(t,i){if((0,e.isNullOrUndefined)(t))return null;var a=this.parent.getCurrentDayEndTime(t),r=this.parent.getCurrentDayStartTime(i&&i.startDate?i.isAutoSchedule?i.startDate:i.autoStartDate:t),n=new Date(t.getTime()),s=this.getSecondsInDecimal(n);if(s>a)this.setTime(a,n);else if(s<r&&!(0,e.isNullOrUndefined)(i)&&!i.isMilestone)n.setDate(n.getDate()-1),a=this.parent.getCurrentDayEndTime(n),this.setTime(a,n);else if(s>r&&s<a)for(var o=0;o<this.parent.workingTimeRanges.length;o++){if(s>this.parent.workingTimeRanges[o].to&&this.parent.workingTimeRanges[o+1]&&s<=this.parent.workingTimeRanges[o+1].from){this.setTime(this.parent.workingTimeRanges[o].to,n);break}}return i&&i.baselineStartDate&&n&&i.baselineStartDate.getTime()>n.getTime()&&n.setDate(n.getDate()+1),n},t.prototype.calculateStartDate=function(t,i){var a=t.ganttProperties,r=null;i?((0,e.isNullOrUndefined)(a.baselineEndDate)||(0,e.isNullOrUndefined)(a.baselineDuration)||(r=this.getStartDate(a.baselineEndDate,a.baselineDuration,a.durationUnit,a,void 0,!0)),this.parent.setRecordValue("baselineStartDate",r,a,!0),this.parent.taskFields.baselineStartDate&&this.parent.dataOperation.updateMappingData(t,"baselineStartDate")):((0,e.isNullOrUndefined)(a.endDate)||(0,e.isNullOrUndefined)(a.duration)||(r=this.getStartDate(a.endDate,a.duration,a.durationUnit,a)),this.parent.setRecordValue("startDate",r,a,!0),this.parent.taskFields.startDate&&this.parent.dataOperation.updateMappingData(t,"startDate"))},t.prototype.getFieldMappings=function(e){return{startdateField:e?"baselineStartDate":"startDate",enddateField:e?"baselineEndDate":"endDate",durationField:e?"baselineDuration":"duration"}},t.prototype.calculateEndDate=function(t,i){var a,r,n=t.ganttProperties,s=null,o=this.getFieldMappings(i),l=o.startdateField,d=o.enddateField,h=o.durationField;if((0,e.isNullOrUndefined)(n[l]))s=t[this.parent.taskFields[d]],(0,e.isNullOrUndefined)(s)||(r=this.parent.getCurrentDayEndTime(s),this.setTime(r,s)),this.parent.setRecordValue(d,s,n,!0);else{if(!(0,e.isNullOrUndefined)(n[d])&&(0,e.isNullOrUndefined)(n[h])&&(1===this.compareDates(n[l],n[d])&&(this.parent.setRecordValue(l,new Date(n[d].getTime()),n,!0),a=this.parent.getCurrentDayStartTime(n.isAutoSchedule&&!i?n.autoStartDate:n[l]),r=this.parent.getCurrentDayEndTime(n.isAutoSchedule&&!i?n.autoEndDate:n[d]),this.setTime(a,n[l])),this.calculateDuration(t,i)),!(0,e.isNullOrUndefined)(n[h])){var p=!i&&!(0,e.isNullOrUndefined)(n.segments)&&n.segments.length>1?this.totalDuration(n.segments):n[h];s=this.getEndDate(n[l],p,n.durationUnit,n,!1,i,t)}this.parent.setRecordValue(d,s,n,!0)}this.parent.taskFields[d]&&this.parent.dataOperation.updateMappingData(t,d)},t.prototype.totalDuration=function(t){var i,a=0;(0,e.isNullOrUndefined)(this.parent.timelineSettings.bottomTier)||(i=this.parent.timelineSettings.bottomTier.unit);for(var r=0;r<t.length;r++){var n=t[r].offsetDuration;"Hour"===i?n/=24:"Minutes"===i&&(n/=1440),a+=t[r].duration+n}return a=Math.ceil(a)},t.prototype.calculateDuration=function(t,i){var a,r=t.ganttProperties,n=r.calendarContext;if(!i&&!(0,e.isNullOrUndefined)(r.segments)&&r.segments.length>0&&!(0,e.isNullOrUndefined)(this.parent.editModule.taskbarEditModule))a=this.parent.editModule.taskbarEditModule.sumOfDuration(r.segments);else if(i||(0,e.isNullOrUndefined)(this.parent.taskFields.milestone)||(0,e.isNullOrUndefined)(r.startDate)||(0,e.isNullOrUndefined)(r.endDate)||r.startDate.getTime()!==r.endDate.getTime()||!1!==t.taskData[this.parent.taskFields.milestone]){var s=i?r.baselineStartDate:r.startDate,o=i?r.baselineEndDate:r.endDate,l=r.durationUnit,d=!i&&r.isAutoSchedule,h=!i&&r.isMilestone;a=this.getDuration(s,o,l,d,h,void 0,n)}else a=1;var p=i?"baselineDuration":"duration";this.parent.setRecordValue(p,a,r,!0);var u=i?this.parent.columnByField[this.parent.columnMapping.baselineDuration]:this.parent.columnByField[this.parent.columnMapping.duration];if(!((0,e.isNullOrUndefined)(this.parent.editModule)||(0,e.isNullOrUndefined)(this.parent.editModule.cellEditModule)||this.parent.editModule.cellEditModule.isCellEdit||(0,e.isNullOrUndefined)(u))){if(!(0,e.isNullOrUndefined)(u.edit)&&!(0,e.isNullOrUndefined)(u.edit.read)){var c=this.parent.editModule.dialogModule.dialog;if(!(0,e.isNullOrUndefined)(c)){var g=i?c.querySelector("#"+this.parent.element.id+"BaselineDuration"):c.querySelector("#"+this.parent.element.id+"Duration");if(!(0,e.isNullOrUndefined)(g)){var f=g.ej2_instances[0];(0,e.isNullOrUndefined)(f)||f.value===a.toString()||(f.value=a.toString(),f.dataBind())}}}(this.parent.taskFields.duration||this.parent.taskFields.baselineDuration)&&(this.parent.dataOperation.updateMappingData(t,p),this.parent.taskFields.durationUnit&&this.parent.dataOperation.updateMappingData(t,"durationUnit"))}},t.prototype.getNonworkingTime=function(t,i,a,r,n,s,o){var l=this.parent;r=!!(0,e.isNullOrUndefined)(r)||r;var d=!s&&!l.includeWeekend&&l.autoCalculateDateScheduling&&!(l.isLoad&&l.treeGrid.loadChildOnDemand&&l.taskFields.hasChildMapping)&&a&&!o?this.getWeekendCount(t,i,n):0,h=this.getNumberOfSeconds(t,i,r),p=a&&l.autoCalculateDateScheduling&&!(l.isLoad&&l.treeGrid.loadChildOnDemand&&l.taskFields.hasChildMapping)&&!s&&!o?this.getHolidaysCount(t,i,n):0,u=(h-86400*d-86400*p)/86400,c=this.getNonWorkingSecondsOnDate(t,i,a,s,n,o);return(l.weekWorkingTime.length>0?this.nonWorkingSeconds(t,i,a,u,n,!1,o):u*(86400-l.secondsPerDay))+86400*d+86400*p+c},t.prototype.nonWorkingSeconds=function(t,i,a,r,n,s,o){var l=t.getTime()>i.getTime()?new Date(i.getTime()):new Date(t.getTime()),d=t.getTime()>i.getTime()?new Date(t.getTime()):new Date(i.getTime()),h=0,p=0;if(s){var u=this.parent.getCurrentDayStartTime(l),c=this.parent.getCurrentDayEndTime(l);l.getHours()<c/3600&&l.getHours()>=u/3600||l.setDate(l.getDate()+1)}else l.setDate(l.getDate()+1),l.setHours(0,0,0,0),d.setHours(0,0,0,0);if(!(r>0||(0,e.isNullOrUndefined)(r)))return 0;for(;s&&l.getTime()<=d.getTime()||!s&&l.getTime()<d.getTime();){if(a&&!o){if(this.isOnHolidayOrWeekEnd(l,!0,n))do{l.setDate(l.getDate()+1)}while(this.isOnHolidayOrWeekEnd(l,!0,n));this.parent.includeWeekend&&0!==n.exceptionsRanges.length||this.getNextWorkingDay(l,n)}if(l.getTime()<=d.getTime()){p++;var g=this.parent.getSecondsPerDay(l);if(h+=s?g:86400-g,l.setDate(l.getDate()+1),a&&!o){if(this.isOnHolidayOrWeekEnd(l,!0,n))do{l.setDate(l.getDate()+1)}while(this.isOnHolidayOrWeekEnd(l,!0,n));this.parent.includeWeekend&&0!==n.exceptionsRanges.length||this.getNextWorkingDay(l,n)}}}return s&&(h>0?h/=p:h=this.parent.secondsPerDay),h},t.prototype.getDuration=function(e,t,i,a,r,n,s){if(void 0===n&&(n=!0),!e||!t)return null;var o,l=0,d=this.parent.getFormatedDate(e)===this.parent.getFormatedDate(t);if(this.parent.weekWorkingTime.length>0){var h=new Date(e);o=this.nonWorkingSeconds(e,t,a,void 0,s,!0);for(var p=0;h<=t;){var u=this.parent.getFormatedDate(h),c=this.parent.getSecondsPerDay(h),g=new Date(h),f=new Date(h);g.setHours(0,0,0,0),f.setHours(0,0,0,0),g.setSeconds(this.parent.getCurrentDayStartTime(h)),f.setSeconds(this.parent.getCurrentDayEndTime(h)),u===this.parent.getFormatedDate(e)&&g.setTime(e.getTime()),u===this.parent.getFormatedDate(t)&&f.setTime(t.getTime());var m=this.getTimeDifference(g,f,n)/1e3,y=this.getNonworkingTime(g,f,a,n,s);p+=Math.max(0,m-y)/c,h.setDate(h.getDate()+1)}r&&d||(l=this.calculateDurationValue(i,p,o))}else{o=this.parent.secondsPerDay;var D=this.getTimeDifference(e,t,n)/1e3-this.getNonworkingTime(e,t,a,n,s);r&&d||(l=this.calculateDurationValue(i,D/o,o))}return parseFloat(l.toString())},t.prototype.calculateDurationValue=function(e,t,i){return e&&"day"!==e?"minute"===e?t*(i/60):t*(i/3600):t},t.prototype.getDurationAsSeconds=function(e,t,i){var a;return a=this.parent.weekWorkingTime.length>0?this.parent.getSecondsPerDay(i):this.parent.secondsPerDay,t&&"day"!==t.toLocaleLowerCase()?"hour"===t.toLocaleLowerCase()?3600*e:60*e:a*e},t.prototype.getEndDate=function(t,i,a,r,n,s,o){var l,d=new Date(t.getTime());r.calendarContext||(r.calendarContext=this.parent.defaultCalendarContext),l=this.parent.weekWorkingTime.length>0&&(!a||"day"===a.toLocaleLowerCase())?this.calculateSecondDuration(i,d,l,t,!0,r.calendarContext):this.getDurationAsSeconds(i,a,t);var h=this.calculateEndDateFromDuration(t,l,r,n,r.calendarContext,s,!1);if(this.parent.autoCalculateDateScheduling&&this.parent.isLoad&&!(0,e.isNullOrUndefined)(o)&&(0,e.isNullOrUndefined)(o[this.parent.taskFields.endDate])&&!(0,e.isNullOrUndefined)(o[this.parent.taskFields.startDate])&&!o.hasChildRecords){var p=this.getDateFromFormat(o[this.parent.taskFields.startDate]);this.parent.dataOperation.resolveAndApplyWorkingTimes(p);var u=this.checkStartDate(p,r,n,this.parent.isLoad,!1,!0),c=this.getDurationAsSeconds(i,a,p),g=this.calculateEndDateFromDuration(u,c,r,n,r.calendarContext,!1,r.isAutoSchedule);h.getTime()===g.getTime()&&p.getTime()===u.getTime()||this.parent.dataOperation.validatedGanttData.set(o.ganttProperties.taskId,o)}return h},t.prototype.calculateEndDateFromDuration=function(e,t,i,a,r,n,s){for(var o=new Date(e.getTime()),l=new Date(e.getTime()),d=t;d>0;){l.setSeconds(l.getSeconds()+d),(d-=d-this.getNonworkingTime(o,l,i.isAutoSchedule,!0,r,n,s))>0&&(l=this.checkStartDate(l,i,a,void 0,n,s)),o=new Date(l.getTime())}return l},t.prototype.getStartDate=function(e,t,i,a,r,n){var s,o=new Date(e.getTime()),l=new Date(e.getTime()),d=new Date(o.getTime());a.calendarContext||(a.calendarContext=this.parent.defaultCalendarContext),s=this.parent.weekWorkingTime.length>0?this.calculateSecondDuration(t,d,s,o,!1,a.calendarContext):this.getDurationAsSeconds(t,i,o);for(;s>0;)l.setSeconds(l.getSeconds()-s),(s-=s-this.getNonworkingTime(l,o,a.isAutoSchedule,!0,a.calendarContext,n))>0&&(o=this.checkEndDate(l,a,n)),o=new Date(l.getTime());if(r&&a.isMilestone){l.setDate(l.getDate()-1);var h=this.parent.getCurrentDayEndTime(a.endDate?a.isAutoSchedule?a.endDate:a.autoEndDate:l);this.parent.dateValidationModule.setTime(h,l),l=this.parent.dateValidationModule.checkStartDate(l,a,!0)}return l},t.prototype.calculateSecondDuration=function(e,t,i,a,r,n){if(e<1)i=this.parent.getSecondsPerDay(t)*e;else{i=0;var s=e,o=this.parent.getCurrentDayStartTime(t),l=this.parent.getCurrentDayEndTime(t);for(t.getHours()<l/3600&&t.getHours()>o/3600||!this.fromSegments||(r?t.setDate(t.getDate()+1):t.setDate(t.getDate()-1));s>0;){if(this.isOnHolidayOrWeekEnd(t,!0,n))do{r?t.setDate(t.getDate()+1):t.setDate(t.getDate()-1)}while(this.isOnHolidayOrWeekEnd(t,!0,n));this.parent.includeWeekend&&0!==n.exceptionsRanges.length||(t=r?this.getNextWorkingDay(t,n):this.getPreviousWorkingDay(t,n));var d=this.parent.getSecondsPerDay(t),h=0;if(this.getSecondsInDecimal(a)!==this.parent.getStartTime(a)&&!Number.isInteger(s)){var p=e.toString().split(".");d*=h=parseFloat("."+p[1]),s-=h}s<1&&(d*=s),i+=d,r?t.setDate(t.getDate()+1):t.setDate(t.getDate()-1),h||s--}}return i},t.prototype.getProjectStartDate=function(t,i){if(!(0,e.isNullOrUndefined)(this.parent.cloneProjectStartDate)){"string"==typeof this.parent.cloneProjectStartDate&&(this.parent.cloneProjectStartDate=this.getDateFromFormat(this.parent.cloneProjectStartDate));var a=this.checkStartDate(this.parent.cloneProjectStartDate);return this.parent.cloneProjectStartDate=a,new Date(a.getTime())}if((0,e.isNullOrUndefined)(this.parent.projectStartDate)){if((0,e.isNullOrUndefined)(i))return null;var r=this.parent.flatData,n=void 0;r.length>0?n=r[0].ganttProperties.startDate:(n=new Date).setHours(0,0,0,0);for(var s=1;s<r.length;s++){var o=r[s].ganttProperties.startDate;(0,e.isNullOrUndefined)(o)||-1!==this.compareDates(o,n)||(n=o)}this.parent.cloneProjectStartDate=this.checkStartDate(n,t)}else{a=this.getDateFromFormat(this.parent.projectStartDate);this.parent.cloneProjectStartDate=this.checkStartDate(a)}return new Date(this.parent.cloneProjectStartDate.getTime())},t.prototype.getValidStartDate=function(t,i,a){var r=null,n=a?t.baselineStartDate:i?t.autoStartDate:t.startDate,s=a?t.baselineEndDate:i?t.autoEndDate:t.endDate,o=!t.isAutoSchedule&&t.autoDuration?t.autoDuration:t.duration;if((0,e.isNullOrUndefined)(n))if((0,e.isNullOrUndefined)(s)){if(!(0,e.isNullOrUndefined)(o)){var l=this.parent.getTaskByUniqueID(t.uniqueID);if(this.parent.allowUnscheduledTasks&&l&&l.parentItem&&(0,e.isNullOrUndefined)(n)&&(0,e.isNullOrUndefined)(s)){for(var d=this.parent.getParentTask(l.parentItem);d&&!d.ganttProperties.startDate;)d=this.parent.getParentTask(d.parentItem);r=d&&d.ganttProperties.startDate?d.ganttProperties.startDate:this.parent.cloneProjectStartDate}else r=this.getProjectStartDate(t)}}else{r=new Date(s.getTime());var h=this.parent.getCurrentDayStartTime(r);this.setTime(h,r)}else r=new Date(n.getTime());return r},t.prototype.getValidEndDate=function(t,i,a){var r=null,n=a?t.baselineStartDate:i?t.autoStartDate:t.startDate,s=a?t.baselineEndDate:i?t.autoEndDate:t.endDate,o=i?t.autoDuration:t.duration;if((0,e.isNullOrUndefined)(s))if((0,e.isNullOrUndefined)(n)){if(!(0,e.isNullOrUndefined)(o)){var l=this.getValidStartDate(t);l&&(r=this.getEndDate(l,o,t.durationUnit,t,!1))}}else if(t.isMilestone)r=this.checkStartDate(n);else{r=new Date(n.getTime());var d=this.parent.getCurrentDayEndTime(s||r);this.setTime(d,r)}else r=new Date(s.getTime());return r},t.prototype.getWorkingTime=function(t,i,a,r,n,s,o,l){if(!(0,e.isNullOrUndefined)(i.from)&&!(0,e.isNullOrUndefined)(i.to)){a.setHours(0,0,0,0);var d=new Date(a.getTime());a.setTime(a.getTime()+36e5*i.from);var h=new Date(a.getTime());if(24===i.to){d.setTime(d.getTime()+864e5)}else d.setTime(d.getTime()+36e5*i.to);var p=new Date(d.getTime()),u=p.getTime()-h.getTime(),c=this.getSecondsInDecimal(h),g=this.getSecondsInDecimal(p);0===g&&(g=86400),r+=u/1e3,0===n&&(this.parent.defaultStartTime=c,this.parent.weekWorkingTime.length>0&&this.assignStartTime(t,c)),n!==this[t.toLowerCase()+"TimeRangeLength"]-1&&""!==t||(this.parent.defaultEndTime=g,this.parent.weekWorkingTime.length>0&&this.assignEndTime(t,g)),n>0?""===t?(s.push(s[s.length-1]+c-o[n-1].to),o[n-1].to<c&&l.push({from:o[n-1].to,to:c,isWorking:!1,interval:c-o[n-1].to})):(this.parent[t.toLowerCase()+"NonWorkingHours"].push(this.parent[t.toLowerCase()+"NonWorkingHours"][this.parent[t.toLowerCase()+"NonWorkingHours"].length-1]+c-this.parent[t.toLowerCase()+"NonWorkingTimeRanges"][n-1].to),this.parent[t.toLowerCase()+"WorkingTimeRanges"][n-1].to<c&&this.parent[t.toLowerCase()+"NonWorkingTimeRanges"].push({from:this.parent[t.toLowerCase()+"WorkingTimeRanges"][n-1].to,to:c,isWorking:!1,interval:c-this.parent[t.toLowerCase()+"WorkingTimeRanges"][n-1].to})):""===t?(s.push(0),l.push({from:0,to:c,isWorking:!1,interval:c})):(this.parent[t.toLowerCase()+"NonWorkingHours"].push(0),this.parent[t.toLowerCase()+"NonWorkingTimeRanges"].push({from:0,to:c,isWorking:!1,interval:c})),""===t?(o.push({from:c,to:g}),l.push({from:c,to:g,isWorking:!0,interval:g-c})):(this.parent[t.toLowerCase()+"WorkingTimeRanges"].push({from:c,to:g}),this.parent[t.toLowerCase()+"NonWorkingTimeRanges"].push({from:c,to:g,isWorking:!0,interval:g-c}))}return r},t.prototype.assignStartTime=function(e,t){switch(e){case"Monday":this.parent.mondayDefaultStartTime=t;break;case"Tuesday":this.parent.tuesdayDefaultStartTime=t;break;case"Wednesday":this.parent.wednesdayDefaultStartTime=t;break;case"Thursday":this.parent.thursdayDefaultStartTime=t;break;case"Friday":this.parent.fridayDefaultStartTime=t;break;case"Saturday":this.parent.saturdayDefaultStartTime=t;break;case"Sunday":this.parent.sundayDefaultStartTime=t}},t.prototype.assignEndTime=function(e,t){switch(e){case"Monday":this.parent.mondayDefaultEndTime=t;break;case"Tuesday":this.parent.tuesdayDefaultEndTime=t;break;case"Wednesday":this.parent.wednesdayDefaultEndTime=t;break;case"Thursday":this.parent.thursdayDefaultEndTime=t;break;case"Friday":this.parent.fridayDefaultEndTime=t;break;case"Saturday":this.parent.saturdayDefaultEndTime=t;break;case"Sunday":this.parent.sundayDefaultEndTime=t}},t.prototype.calculateWeekWorkTime=function(e,t,i,a,r,n,s){for(var o=0,l=0;l<t.length;l++){var d=t[l];o+=this.getWorkingTime(e,d,i,a,l,r,n,s)}return this.parent[e.toLowerCase()+"DefaultStartTime"]/3600!=24&&this.parent[e.toLowerCase()+"NonWorkingTimeRanges"].push({from:this.parent[e.toLowerCase()+"DefaultEndTime"],to:86400,isWorking:!1,interval:86400-this.parent[e.toLowerCase()+"DefaultEndTime"]}),o},t.prototype.getSecondsPerDay=function(){var t=0,i=new Date("10/11/2018");this.parent.nonWorkingHours=[];var a=this.parent.nonWorkingHours;this.parent.workingTimeRanges=[];var r=this.parent.workingTimeRanges;this.parent.nonWorkingTimeRanges=[];for(var n=this.parent.nonWorkingTimeRanges,s=this.parent.calendarModule.workingTime,o=0,l=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];o<l.length;o++){this[(m=l[o]).toLowerCase()+"TimeRangeLength"]=s.length}if(this.parent.weekWorkingTime.length>0){for(var d=0;d<this.parent.weekWorkingTime.length;d++)this[this.parent.weekWorkingTime[d].dayOfWeek.toLowerCase()+"TimeRangeLength"]=this.parent.weekWorkingTime[d].timeRange.length;for(var h=0,p=this.parent.weekWorkingTime;h<p.length;h++){var u=p[h];if(u.timeRange&&u.timeRange.length>0){this.parent[u.dayOfWeek.toLowerCase()+"NonWorkingHours"]=[],this.parent[u.dayOfWeek.toLowerCase()+"NonWorkingTimeRanges"]=[],this.parent[u.dayOfWeek.toLowerCase()+"WorkingTimeRanges"]=[];var c=this.calculateWeekWorkTime(u.dayOfWeek,u.timeRange,i,t,a,r,n);this.parent[u.dayOfWeek.toLowerCase()+"Seconds"]=c}}for(var g=0,f=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];g<f.length;g++){var m=f[g],y=this.parent[m.toLowerCase()+"DefaultStartTime"];if((0,e.isNullOrUndefined)(y)){var D=this.calculateWeekWorkTime(m,s,i,t,a,r,n);this.parent[m.toLowerCase()+"Seconds"]=D}}}for(var v=s.length,k=0,b=0;b<v;b++){var w=s[b];k+=this.getWorkingTime("",w,i,t,b,a,r,n)}return this.parent.defaultEndTime/3600!=24&&n.push({from:this.parent.defaultEndTime,to:86400,isWorking:!1,interval:86400-this.parent.defaultEndTime}),t=k},t.prototype.getDurationValue=function(t){var i=null,a=null;if("string"==typeof t){var r=t.match(/(\d*\.*\d+|.+$)/g);if(r&&r.length<=2){a=parseFloat(r[0].toString().trim());var n=r[1]?r[1].toString().trim().toLowerCase():null;-1!==(0,e.getValue)("minute",this.parent.durationUnitEditText).indexOf(n)?i="minute":-1!==(0,e.getValue)("hour",this.parent.durationUnitEditText).indexOf(n)?i="hour":-1!==(0,e.getValue)("day",this.parent.durationUnitEditText).indexOf(n)&&(i="day")}}else a=t,i=null;return{duration:a,durationUnit:i}},t.prototype.getNextWorkingDay=function(e,t){if(t&&t.getExceptionForDate(e))return e;var i=e.getDay();return-1!==this.parent.nonWorkingDayIndex.indexOf(i)?(e.setDate(e.getDate()+1),e=this.getNextWorkingDay(e,t)):e},t.prototype.getWeekendCount=function(e,t,i){var a=0,r=new Date(e.getTime()),n=new Date(t.getTime());for(r.setHours(0,0,0,0),r.setDate(r.getDate()+1),n.setHours(0,0,0,0);r.getTime()<n.getTime();)-1!==this.parent.nonWorkingDayIndex.indexOf(r.getDay())&&(i.getExceptionForDate(r)||(a+=1)),r.setDate(r.getDate()+1);return a},t.prototype.getNumberOfSeconds=function(e,t,i){var a=new Date(e.getTime()),r=new Date(t.getTime()),n=0;return a.setDate(a.getDate()+1),a.setHours(0,0,0,0),r.setHours(0,0,0,0),a.getTime()<r.getTime()&&(n=this.getTimeDifference(a,r,i)/1e3),n%86400!=0&&(n=n-n%86400+86400),n},t.prototype.getHolidaysCount=function(e,t,i){var a=0,r=i.defaultHolidays,n=new Date(e.getTime()),s=new Date(t.getTime());if(n.setDate(n.getDate()+1),n.setHours(0,0,0,0),s.setHours(0,0,0,0),n.getTime()<s.getTime())for(var o=0;o<r.length;o++){var l=this.getDateFromFormat(new Date(r[o]));n.getTime()<=l.getTime()&&s.getTime()>l.getTime()&&(i.getExceptionForDate(l)||(!this.parent.includeWeekend&&-1===this.parent.nonWorkingDayIndex.indexOf(l.getDay())||this.parent.includeWeekend)&&(a+=1))}return a},t.prototype.getHolidayDates=function(t){"holidays"===t?this.parent.calendarModule.holidays=this.parent.holidays:"calendarSettings"===t&&(this.parent.calendarModule.holidays=this.parent.calendarSettings.projectCalendar.holidays);for(var i=this.parent.calendarModule.holidays,a=[],r=0;r<i.length;r++){var n=this.getDateFromFormat(i[r].from),s=this.getDateFromFormat(i[r].to);if(!(0,e.isNullOrUndefined)(n)||!(0,e.isNullOrUndefined)(s))if((0,e.isNullOrUndefined)(n)||(0,e.isNullOrUndefined)(s)){var o=n||s;o.setHours(0,0,0,0),-1===a.indexOf(o.getTime())&&a.push(o.getTime())}else for(;n<=s;)n.setHours(0,0,0,0),-1===a.indexOf(n.getTime())&&a.push(n.getTime()),n.setDate(n.getDate()+1)}return a},t.prototype.isOnHolidayOrWeekEnd=function(t,i,a){var r=this.parent;if(i=(0,e.isNullOrUndefined)(i)?r.includeWeekend:i,r.autoCalculateDateScheduling||r.isLoad&&r.treeGrid.loadChildOnDemand&&r.taskFields.hasChildMapping||(i=!0),a.getExceptionForDate(t))return!1;if(!i&&-1!==this.parent.nonWorkingDayIndex.indexOf(t.getDay()))return!0;var n=a.defaultHolidays;if(!n||0===n.length)return!1;for(var s=t.getTime(),o=0;o<n.length;o++){var l=this.getDateFromFormat(new Date(n[o])),d=l.setHours(0,0,0,0),h=l.setHours(23,59,59,999);if(s>=d&&s<=h)return!0}return!1},t.prototype.getNonWorkingSecondsOnDate=function(t,i,a,r,n,s){var o,l,d=this.getSecondsInDecimal(t),h=this.getSecondsInDecimal(i),p=-1,u=-1,c=0,g=!(!a||!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping||r)&&this.isOnHolidayOrWeekEnd(t,null,n),f=!(!a||!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping||r)&&this.isOnHolidayOrWeekEnd(i,null,n);if(this.parent.weekWorkingTime.length>0){o=this.parent.getNonWorkingRange(t);for(var m=0;m<o.length;m++){d>=(y=o[m]).from&&d<=y.to&&(p=m)}l=this.parent.getNonWorkingRange(i);for(m=0;m<l.length;m++){h>=(y=l[m]).from&&h<=y.to&&(u=m)}}else{o=this.parent.nonWorkingTimeRanges,l=this.parent.nonWorkingTimeRanges;for(m=0;m<o.length;m++){var y;d>=(y=o[m]).from&&d<=y.to&&(p=m),h>=y.from&&h<=y.to&&(u=m)}}if(t.getDate()!==i.getDate()||t.getMonth()!==i.getMonth()||t.getFullYear()!==i.getFullYear()){if(!g||s)for(m=p;m<o.length;m++)(0,e.isNullOrUndefined)(o[m])||o[m].isWorking||(c+=m===p?o[m].to-d:o[m].interval);else c+=86400-d;if(!f||s)for(m=0;m<=u;m++)l[m].isWorking||(c+=m===u?h-l[m].from:l[m].interval);else c+=h}else{if(p!==u)if(!f||s)for(m=p;m<=u;m++)(0,e.isNullOrUndefined)(o[m])||o[m].isWorking||(c+=m===p?o[m].to-d:m===u?h-o[m].from:o[m].interval);else c+=h-d;else if(!f||s)o[p].isWorking||(c=h-d);else c+=h-d}return c},t.prototype.getPreviousWorkingDay=function(e,t){if(t&&t.getExceptionForDate(e))return e;var i=e.getDay(),a=0===i?6:i-1,r=this.parent.getCurrentDayEndTime(e);return-1!==this.parent.nonWorkingDayIndex.indexOf(i)||-1!==this.parent.nonWorkingDayIndex.indexOf(a)&&86400!==r&&0===this.getSecondsInDecimal(e)?(e.setDate(e.getDate()-1),-1!==this.parent.nonWorkingDayIndex.indexOf(e.getDay())&&(e=this.getPreviousWorkingDay(e,t)),e):e},t.prototype.getNonWorkingDayIndex=function(){var e=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],t=e.length;0===this.parent.workWeek.length&&(this.parent.workWeek=["Monday","Tuesday","Wednesday","Thursday","Friday"]);for(var i=this.parent.workWeek.slice(),a=i.length,r=0;r<a;r++)i[r]=i[r].toLowerCase();this.parent.nonWorkingDayIndex=[];for(r=0;r<t;r++)-1===i.indexOf(e[r])&&this.parent.nonWorkingDayIndex.push(r)},t.prototype.setTime=function(e,t){var i=e/3600,a=(e-3600*(i=parseInt(i,10)))/60,r=e-3600*i-60*(a=parseInt(a,10));t.setHours(i,a,r)},t.prototype.getTimeDifference=function(e,t,i){var a=new Date(e.getTime()),r=new Date(t.getTime());return i&&this.updateDateWithTimeZone(a,r),r.getTime()-a.getTime()},t.prototype.updateDateWithTimeZone=function(e,t){var i,a,r=e.getTimezoneOffset(),n=t.getTimezoneOffset();if(r!==n){var s=new Date((new Date).getFullYear(),0,1).getTimezoneOffset();if(s!==r?(a=e,i=r):s!==n&&(a=t,i=n),s<0){var o=s-i;a.setTime(a.getTime()+60*o*1e3)}else if(s>=0){o=i-s;a.setTime(a.getTime()-60*o*1e3)}}},t.prototype.getSecondsInDecimal=function(e){return 60*e.getHours()*60+60*e.getMinutes()+e.getSeconds()+e.getMilliseconds()/1e3},t.prototype.offset=function(e,t){var i=e.getTimezoneOffset();try{var a=new Date(e.toLocaleString("en-US",{timeZone:t}));return isNaN(a.getTime())?0:(e.getTime()-a.getTime())/6e4+i}catch(e){return 0}},t.prototype.remove=function(t,i){return(0,e.isNullOrUndefined)(t)||(t=this.reverse(t,i,t.getTimezoneOffset())),t},t.prototype.reverse=function(e,t,i){"string"==typeof t&&(t=this.offset(e,t)),"string"==typeof i&&(i=this.offset(e,i));var a=e.getTimezoneOffset(),r=(e=new Date(e.getTime()+6e4*(t-i))).getTimezoneOffset();return new Date(e.getTime()+6e4*(r-a))},t.prototype.convert=function(e,t){var i=e.getTimezoneOffset(),a=this.offset(e,t);"string"==typeof i&&(i=this.offset(e,i)),"string"==typeof a&&(a=this.offset(e,a));var r=e.getTimezoneOffset(),n=(e=new Date(e.getTime()+6e4*(i-a))).getTimezoneOffset();return new Date(e.getTime()+6e4*(n-r))},t.prototype.getDateFromFormat=function(t,i){var a;if((0,e.isNullOrUndefined)(t))return null;if(t instanceof Date)a=new Date(t.getTime());else{var r=this.parent.globalize.parseDate(t,{format:this.parent.getDateFormat(),type:"dateTime"});a=(0,e.isNullOrUndefined)(r)&&!isNaN(new Date(t).getTime())?new Date(t):r}var n=!this.parent.isOnAdded;return!(0,e.isNullOrUndefined)(this.parent.timezone)&&i&&(n&&this.parent.timezone||this.parent.isLoad)?this.convert(a,this.parent.timezone):a},t.prototype.compareDates=function(t,i){return(0,e.isNullOrUndefined)(t)||(0,e.isNullOrUndefined)(i)?!(0,e.isNullOrUndefined)(t)&&(0,e.isNullOrUndefined)(i)?1:(0,e.isNullOrUndefined)(t)&&!(0,e.isNullOrUndefined)(i)?-1:null:t.getTime()>i.getTime()?1:t.getTime()<i.getTime()?-1:0},t.prototype.getDurationString=function(t,i){var a="";if(!(0,e.isNullOrUndefined)(t)&&(a+=parseFloat(t.toFixed(2))+" ",!(0,e.isNullOrUndefined)(i))){var r=1!==t;"day"===i?a+=r?this.parent.localeObj.getConstant("days"):this.parent.localeObj.getConstant("day"):"hour"===i?a+=r?this.parent.localeObj.getConstant("hours"):this.parent.localeObj.getConstant("hour"):"minute"===i&&(a+=r?this.parent.localeObj.getConstant("minutes"):this.parent.localeObj.getConstant("minute"))}return a},t.prototype.getWorkString=function(t,i){var a="";if(!(0,e.isNullOrUndefined)(t)&&(a+=parseFloat(t).toFixed(2)+" ",!(0,e.isNullOrUndefined)(i))){var r=1!==t;"day"===i?a+=r?this.parent.localeObj.getConstant("days"):this.parent.localeObj.getConstant("day"):"hour"===i?a+=r?this.parent.localeObj.getConstant("hours"):this.parent.localeObj.getConstant("hour"):"minute"===i&&(a+=r?this.parent.localeObj.getConstant("minutes"):this.parent.localeObj.getConstant("minute"))}return a},t.prototype.calculateProjectDatesForValidatedTasks=function(t){var i=this,a="string"==typeof this.parent.projectStartDate?new Date(this.parent.projectStartDate):this.parent.projectStartDate,r="string"==typeof this.parent.projectEndDate?new Date(this.parent.projectEndDate):this.parent.projectEndDate,n=null,s=null,o=(0,e.getValue)("dataOperation.dataArray",this.parent);if(a&&r||!o||0!==o.length){if(o.length>0){var l=o.slice().sort(function(e,t){return new Date(e[i.parent.taskFields.startDate]).getTime()-new Date(t[i.parent.taskFields.startDate]).getTime()}),d=o.slice().sort(function(e,t){return new Date(t[i.parent.taskFields.endDate]).getTime()-new Date(e[i.parent.taskFields.endDate]).getTime()});n=l[0][this.parent.taskFields.startDate],s=d[d.length-1][this.parent.taskFields.endDate]}}else n=this.getDateFromFormat(new Date),s=this.getDateFromFormat(new Date(n.getTime()));this.parent.cloneProjectStartDate=a?new Date(a.getTime()):"string"==typeof n?new Date(n):n,this.parent.cloneProjectEndDate=r?new Date(r.getTime()):"string"==typeof s?new Date(s):s},t.prototype.calculateProjectDates=function(t){var i=this;if(this.parent.isLoad&&this.parent.enablePersistence&&this.parent.cloneProjectStartDate&&this.parent.cloneProjectEndDate)return this.parent.cloneProjectStartDate=this.getDateFromFormat(this.parent.cloneProjectStartDate),void(this.parent.cloneProjectEndDate=this.getDateFromFormat(this.parent.cloneProjectEndDate));var a="string"==typeof this.parent.projectStartDate?new Date(this.parent.projectStartDate):this.parent.projectStartDate,r="string"==typeof this.parent.projectEndDate?new Date(this.parent.projectEndDate):this.parent.projectEndDate,n=this.parent.timelineModule.isZooming&&this.parent.cloneProjectStartDate?this.getDateFromFormat(this.parent.cloneProjectStartDate):this.getDateFromFormat(a),s=this.parent.timelineModule.isZooming&&this.parent.cloneProjectEndDate?this.getDateFromFormat(this.parent.cloneProjectEndDate):this.getDateFromFormat(r),o=null,l=null,d=this.parent.flatData,h=this.parent.currentViewData,p=[],u=function(t){(0,e.isNullOrUndefined)(t)||p.push(t)},c=function(e){e.length>0&&(e.sort(function(e,t){return e.getTime()-t.getTime()}),o=new Date(e[0].getTime()),l=e.length>1?new Date(e[e.length-1].getTime()):null)};if((!n||!s)&&d.length>0||t||this.parent.timelineModule.isZoomToFit){if((h.length>0&&this.parent.timelineModule.isZoomToFit&&this.parent.treeGrid.filterModule&&this.parent.treeGrid.filterModule.filteredResult.length>0?h:d).forEach(function(t){p=[];var a,r,n=t.ganttProperties;(0,e.isNullOrUndefined)(n.startDate)&&(0,e.isNullOrUndefined)(n.endDate)?(a=null,r=null):(a=i.getValidStartDate(n),r=i.getValidEndDate(n)),u(o),u(l),u(a),u(r),i.parent.renderBaseline&&!i.parent.timelineModule.isZoomToFit&&(u(n.baselineStartDate),u(n.baselineEndDate)),n.indicators&&n.indicators.length>0&&!i.parent.timelineModule.isZoomToFit&&n.indicators.forEach(function(e){u(i.getDateFromFormat(e.date))}),c(p)}),p=[],u(o),u(l),this.parent.eventMarkers.length>0&&!this.parent.timelineModule.isZoomToFit)this.parent.eventMarkers.forEach(function(e,t){u(i.getDateFromFormat(e.day))});if(this.parent.defaultCalendarContext.defaultHolidays.length>0&&!this.parent.timelineModule.isZoomToFit)this.parent.defaultCalendarContext.defaultHolidays.forEach(function(e,t){u(new Date(e))});c(p),o&&l||(o?o=(0,e.isNullOrUndefined)(o)?this.getDateFromFormat(new Date):o:(o=(0,e.isNullOrUndefined)(o)?this.getDateFromFormat(new Date):o).setHours(0,0,0,0),(l=this.getDateFromFormat(new Date(o.getTime()))).setDate(l.getDate()+20))}else n&&s||0!==d.length||(o=this.getDateFromFormat(new Date),l=this.getDateFromFormat(new Date(o.getTime())));t?((0,e.setValue)("minStartDate",o,t),(0,e.setValue)("maxEndDate",l,t)):(this.prevProjectStartDate=this.parent.cloneProjectStartDate,this.parent.cloneProjectStartDate=o&&(this.parent.timelineModule.isZoomToFit||(0,e.isNullOrUndefined)(n))?o:new Date(n.getTime()),this.parent.cloneProjectEndDate=l&&(this.parent.timelineModule.isZoomToFit||(0,e.isNullOrUndefined)(s))?l:new Date(s.getTime())),this.parent.isProjectDateUpdated=!0},t.prototype.splitTasksDuration=function(e){var t=0,i=e[0].startDate,a=e[e.length-1].endDate;return"Hour"===this.parent.timelineModule.bottomTier?t+=Math.ceil(this.getTimeDifference(i,a)/36e5):"Minutes"===this.parent.timelineModule.bottomTier?t+=Math.ceil(this.getTimeDifference(i,a)/6e4):t+=Math.ceil(this.getTimeDifference(i,a)/864e5),t},t}(),S=function(){function e(e,t){this.defaultHolidays=[],this.exceptionsRanges=[],this.parent=e,this.calendar=t,this.initialize()}return e.prototype.initialize=function(){this.buildDefaultHolidays(),this.buildExceptionsCollection()},e.prototype.buildDefaultHolidays=function(){for(var e="projectCalendar"===this.calendar.propName?this.parent.calendarModule.holidays:this.calendar.holidays,t=this.calendar.exceptions,i=0;i<e.length;i++)for(var a=e[i],r=a.from?new Date(a.from):new Date(a.to),n=a.to?new Date(a.to):new Date(a.from),s=new Date(r);s<=n;s.setDate(s.getDate()+1)){for(var o=new Date(s).setHours(0,0,0,0),l=!1,d=0;d<t.length;d++){if(new Date(t[d].from).setHours(0,0,0,0)===o){l=!0;break}}l||this.defaultHolidays.push(o)}},e.prototype.buildExceptionsCollection=function(){for(var e=this.calendar.exceptions,t=0;t<e.length;t++){var i=e[t],a=new Date(i.from),r=new Date(i.to),n="exception_"+t;this.exceptionsRanges.push({id:n,from:a,to:r})}},e.prototype.getExceptionForDate=function(e){var t=new Date(e.getTime());t.setHours(0,0,0,0);for(var i=0,a=this.exceptionsRanges;i<a.length;i++){var r=a[i],n=new Date(r.from),s=new Date(r.to);if(n.setHours(0,0,0,0),s.setHours(0,0,0,0),t>=n&&t<=s)return!0}return!1},e}(),C=(w=function(e,t){return w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])},w(e,t)},function(e,t){function i(){this.constructor=e}w(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),R=function(){return R=Object.assign||function(e){for(var t,i=1,a=arguments.length;i<a;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},R.apply(this,arguments)},M=function(t){function a(e){var i=t.call(this,e)||this;return i.customSegmentProperties=[],i.processedParentItems=new Set,i.isBaseline=!1,i.uid=0,i.isTaskIDInteger=!0,i.cache={},i.offsetUpdateParentList=[],i.validatedGanttData=new Map,i.recordIndex=0,i.taskIds={},i.hierarchyData=[],i.addEventListener(),i}return C(a,t),a.prototype.ad