UNPKG

@syncfusion/ej2-gantt

Version:
10 lines 1.19 MB
/*! * filename: ej2-gantt.min.js * version : 29.1.35 * Copyright Syncfusion Inc. 2001 - 2024. 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,r,a,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=r},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=a}},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:()=>at,Column:()=>Ke,ColumnMenu:()=>Yi,ContextMenu:()=>Xi,CriticalPath:()=>qi,DayMarkers:()=>Gi,DayWorkingTime:()=>tt,Dependency:()=>ri,Edit:()=>Ui,EditDialogFieldSettings:()=>ot,EditSettings:()=>ht,EventMarker:()=>ct,ExcelExport:()=>Zi,Filter:()=>Vi,FilterSettings:()=>mt,Gantt:()=>ui,Holiday:()=>bt,LabelSettings:()=>St,LoadingIndicator:()=>Qt,PdfBorders:()=>er,PdfExport:()=>Mr,PdfGanttTheme:()=>$i,PdfHorizontalOverflowType:()=>w,PdfPaddings:()=>tr,PdfTreeGridCell:()=>hr,PdfTreeGridCellCollection:()=>pr,PdfTreeGridColumn:()=>fr,PdfTreeGridColumnCollection:()=>mr,PdfTreeGridHeaderCollection:()=>gr,PdfTreeGridLayoutFormat:()=>or,PdfTreeGridLayoutResult:()=>sr,PdfTreeGridLayouter:()=>nr,PdfTreeGridRow:()=>ur,PdfTreeGridRowCollection:()=>cr,PdfTreeGridStyle:()=>rr,PdfTreeGridStyleBase:()=>ir,Reorder:()=>Fi,Resize:()=>Li,ResourceFields:()=>Zt,RowDD:()=>Ki,SearchSettings:()=>vt,Selection:()=>Ai,SelectionSettings:()=>Mt,Sort:()=>Bi,SortDescriptor:()=>qt,SortSettings:()=>zt,SplitterSettings:()=>It,TaskFields:()=>Ft,TemporaryDictionary:()=>Ji,TimelineSettings:()=>Bt,TimelineTierSettings:()=>Vt,Toolbar:()=>Wi,TooltipSettings:()=>Ht,UndoRedo:()=>_i,VirtualScroll:()=>xr,WeekWorkingTime:()=>ei,formatString:()=>u,getIndex:()=>c,getSwapKey:()=>s,getTaskData:()=>h,getUid:()=>v,getUniversalTime:()=>l,isCountRequired:()=>n,isEmptyObject:()=>o,isRemoteData:()=>d,isScheduledTask:()=>a,keyPressed:()=>yi,load:()=>ci,parentsUntil:()=>r,pixelToPoint:()=>g,pointToPixel:()=>f,queryCellInfo:()=>fi,rowDataBound:()=>gi,toolbarClick:()=>mi,updateDates:()=>p});var e=m(766),t=m(197),i=m(74);function r(e,t,i){for(var r=e;r&&!(i?r.id===t:r.classList.contains(t));)r=r.parentElement;return r}function a(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,r=Object.keys(e);i<r.length;i++){var a=r[i];t[e[a]]=a}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(),r=e.getDate(),a=e.getHours(),n=e.getMinutes(),s=e.getSeconds(),o=e.getMilliseconds();return Date.UTC(t,i,r,a,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,r,a){if(r){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)(a)&&a.timezone&&p(t[s],a);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){return t&&!(0,e.isNullOrUndefined)(t.ganttProperties)&&(t.taskData[i.taskFields.startDate]=i.dateValidationModule.remove(t.ganttProperties.startDate,i.timezone),null!==i.taskFields.endDate&&(t.taskData[i.taskFields.endDate]=i.dateValidationModule.remove(t.ganttProperties.endDate,i.timezone)),(i.taskFields.baselineEndDate||i.taskFields.baselineStartDate)&&(t.taskData[i.taskFields.baselineStartDate]=i.dateValidationModule.remove(t.ganttProperties.baselineStartDate,i.timezone),t.taskData[i.taskFields.baselineEndDate]=i.dateValidationModule.remove(t.ganttProperties.baselineEndDate,i.timezone))),null}function u(e,t){for(var i,r=0;r<t.length;r++)i=new RegExp("\\{"+r+"\\}","gm"),e=e.replace(i,t[r].toString());return e}function c(t,i,r,a){for(var n=-1,s=0;s<r.length;s++)if((0,e.getValue)(i,r[s])===(0,e.getValue)(i,t)&&(0,e.isNullOrUndefined)(a)||!(0,e.isNullOrUndefined)(a)&&(0,e.getValue)(i,r[s])===(0,e.getValue)(i,t)&&(0,e.getValue)(a,r[s])===(0,e.getValue)(a,t)){n=s;break}return n}function g(e){return 76*e/92}function f(e){return 92*e/76}var D=0;function v(){return D++}var k,w,b=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||this.parent.totalHolidayDates.length>0)||(0,e.isNullOrUndefined)(t)&&(!this.parent.includeWeekend||this.parent.totalHolidayDates.length>0)},t.prototype.checkStartDate=function(t,i,r,a){if((0,e.isNullOrUndefined)(t))return null;var n,s=new Date(t.getTime()),o=this.parent.getCurrentDayStartTime(s),l=this.parent.getCurrentDayEndTime(s),d=new Date(t.getTime()),h=this.getSecondsInDecimal(d);if(r=(0,e.isNullOrUndefined)(r)?!(0,e.isNullOrUndefined)(i)&&i.isMilestone:r,h<o&&(!r||a))this.setTime(o,d);else if(h<o&&r)this.setTime(o,d);else if(h===l&&(!i||!r)||h>l)d.setDate(d.getDate()+1),o=this.parent.getCurrentDayStartTime(d),this.setTime(o,d);else if(h>o&&h<l){var p=this.parent.workingTimeRanges;this.parent.weekWorkingTime.length>0&&(p=this.parent.getWorkingRange(d));for(var u=0;u<p.length;u++){var c=p[u];if(h>=c.to&&p[u+1]&&h<p[u+1].from){(h!==c.to||i&&r)&&h===c.to||this.setTime(p[u+1].from,d);break}}}if(!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping)return new Date(d.getTime());do{n=new Date(d.getTime());var g=this.parent.totalHolidayDates.length;if(this.isValidateNonWorkDays(i)){o=this.parent.getCurrentDayStartTime(n),i&&(l=this.parent.getCurrentDayEndTime(i.endDate?i.isAutoSchedule?i.endDate:i.autoEndDate:n));var f=!r||a?o:l;if(!this.parent.includeWeekend){var m=new Date(d.getTime());d=this.getNextWorkingDay(d),f=this.parent.getCurrentDayStartTime(d),m.getTime()===d.getTime()||r||this.setTime(f,d)}for(var y=0;y<g;y++){var D=this.getDateFromFormat(new Date(this.parent.totalHolidayDates[y])),v=new Date(D.getTime());D.setHours(0,0,0,0),v.setHours(23,59,59,59),d.getTime()>=D.getTime()&&d.getTime()<v.getTime()&&(d.setDate(d.getDate()+1),f=this.parent.getCurrentDayStartTime(d),this.setTime(f,d))}}}while(n.getTime()!==d.getTime());return new Date(d.getTime())},t.prototype.checkEndDate=function(t,i,r){if((0,e.isNullOrUndefined)(t))return null;var a,n;if(this.parent.weekWorkingTime.length>0){var s=t;(!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)&&(s=this.getNextWorkingDay(t)),a=this.parent.getStartTime(s),n=this.parent.getEndTime(s)}else a=this.parent.defaultStartTime,n=this.parent.defaultEndTime;var o,l=new Date(t.getTime()),d=this.getSecondsInDecimal(l);if(d>n)this.setTime(n,l);else if(d<=a&&!r){var h=this.parent.taskFields;this.parent.editModule&&this.parent.editModule.editedRecord&&!this.parent.editModule.editedRecord[h.startDate]&&this.parent.editModule.editedRecord[h.endDate]?l.setDate(l.getDate()):l.setDate(l.getDate()-1),n=this.parent.getCurrentDayEndTime(l),this.setTime(n,l)}else if(d>a&&d<n)for(var p=0;p<this.parent.workingTimeRanges.length;p++){if(d>this.parent.workingTimeRanges[p].to&&this.parent.workingTimeRanges[p+1]&&d<=this.parent.workingTimeRanges[p+1].from){this.setTime(this.parent.workingTimeRanges[p].to,l);break}}if(!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping)return(0,e.isNullOrUndefined)(l)||(n=this.parent.getCurrentDayEndTime(t),this.setTime(n,l)),new Date(l.getTime());do{o=new Date(l.getTime());var u=this.parent.totalHolidayDates.length;if(this.isValidateNonWorkDays(i)){if(!this.parent.includeWeekend){var c=new Date(l.getTime());l=this.getPreviousWorkingDay(l),n=this.parent.getCurrentDayEndTime(l),c.getTime()!==l.getTime()&&this.setTime(n,l)}for(var g=0;g<u;g++){var f=this.getDateFromFormat(new Date(this.parent.totalHolidayDates[g])),m=new Date(f.getTime()),y=new Date(l.getTime());y.setMinutes(l.getMilliseconds()-2),f.setHours(0,0,0,0),m.setHours(23,59,59,59),(l.getTime()>=f.getTime()&&l.getTime()<m.getTime()||y.getTime()>=f.getTime()&&y.getTime()<m.getTime())&&(l.setDate(l.getDate()-1),n=this.parent.getCurrentDayEndTime(l),l.getTime()===f.getTime()&&86400===n&&0===this.getSecondsInDecimal(l)||this.setTime(n,l))}}}while(o.getTime()!==l.getTime());return new Date(l.getTime())},t.prototype.checkBaselineStartDate=function(t,i){if((0,e.isNullOrUndefined)(t))return null;var r=this.parent.getCurrentDayStartTime(t),a=this.parent.getCurrentDayEndTime(i&&i.endDate?i.isAutoSchedule?i.endDate:i.autoEndDate:t),n=new Date(t.getTime()),s=this.getSecondsInDecimal(n);if(s<r)this.setTime(r,n);else if(s>a)n.setDate(n.getDate()+1),r=this.parent.weekWorkingTime.length>0?this.parent.getStartTime(n):this.parent.defaultStartTime,this.setTime(r,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+1].from,n);break}}return n},t.prototype.checkBaselineEndDate=function(t,i){if((0,e.isNullOrUndefined)(t))return null;var r=this.parent.getCurrentDayEndTime(t),a=this.parent.getCurrentDayStartTime(i&&i.startDate?i.isAutoSchedule?i.startDate:i.autoStartDate:t),n=new Date(t.getTime()),s=this.getSecondsInDecimal(n);if(s>r)this.setTime(r,n);else if(s<a&&!(0,e.isNullOrUndefined)(i)&&!i.isMilestone)n.setDate(n.getDate()-1),r=this.parent.getCurrentDayEndTime(n),this.setTime(r,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].to,n);break}}return i&&i.baselineStartDate&&n&&i.baselineStartDate.getTime()>n.getTime()&&n.setDate(n.getDate()+1),n},t.prototype.calculateStartDate=function(t){var i=t.ganttProperties,r=null;(0,e.isNullOrUndefined)(i.endDate)||(0,e.isNullOrUndefined)(i.duration)||(r=this.getStartDate(i.endDate,i.duration,i.durationUnit,i)),this.parent.setRecordValue("startDate",r,i,!0),this.parent.taskFields.startDate&&this.parent.dataOperation.updateMappingData(t,"startDate")},t.prototype.calculateEndDate=function(t){var i,r,a=t.ganttProperties,n=null;if((0,e.isNullOrUndefined)(a.startDate))n=t[this.parent.taskFields.endDate],(0,e.isNullOrUndefined)(n)||(r=this.parent.getCurrentDayEndTime(n),this.setTime(r,n)),this.parent.setRecordValue("endDate",n,a,!0);else{if(!(0,e.isNullOrUndefined)(a.endDate)&&(0,e.isNullOrUndefined)(a.duration)&&(1===this.compareDates(a.startDate,a.endDate)&&(this.parent.setRecordValue("startDate",new Date(a.endDate.getTime()),a,!0),i=this.parent.getCurrentDayStartTime(a.isAutoSchedule?a.autoStartDate:a.startDate),r=this.parent.getCurrentDayEndTime(a.isAutoSchedule?a.autoEndDate:a.endDate),this.setTime(i,a.startDate)),this.calculateDuration(t)),!(0,e.isNullOrUndefined)(a.duration)){var s=!(0,e.isNullOrUndefined)(a.segments)&&a.segments.length>1?this.totalDuration(a.segments):a.duration;n=this.getEndDate(a.startDate,s,a.durationUnit,a,!1)}this.parent.setRecordValue("endDate",n,a,!0)}this.parent.taskFields.endDate&&this.parent.dataOperation.updateMappingData(t,"endDate")},t.prototype.totalDuration=function(e){for(var t=0,i=0;i<e.length;i++)t+=e[i].duration+e[i].offsetDuration;return t},t.prototype.calculateDuration=function(t){var i,r=t.ganttProperties;i=!(0,e.isNullOrUndefined)(r.segments)&&r.segments.length>0&&!(0,e.isNullOrUndefined)(this.parent.editModule.taskbarEditModule)?this.parent.editModule.taskbarEditModule.sumOfDuration(r.segments):(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]?this.getDuration(r.startDate,r.endDate,r.durationUnit,r.isAutoSchedule,r.isMilestone):1,this.parent.setRecordValue("duration",i,r,!0);var a=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)(a))){if(!(0,e.isNullOrUndefined)(a.edit)&&!(0,e.isNullOrUndefined)(a.edit.read)){var n=this.parent.editModule.dialogModule.dialog;if(!(0,e.isNullOrUndefined)(n)){var s=n.querySelector("#"+this.parent.element.id+"Duration").ej2_instances[0];(0,e.isNullOrUndefined)(s)||s.value===i.toString()||(s.value=i.toString(),s.dataBind())}}this.parent.taskFields.duration&&(this.parent.dataOperation.updateMappingData(t,"duration"),this.parent.taskFields.durationUnit&&this.parent.dataOperation.updateMappingData(t,"durationUnit"))}},t.prototype.getNonworkingTime=function(t,i,r,a){a=!!(0,e.isNullOrUndefined)(a)||a;var n=this.parent.includeWeekend||!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping||!r?0:this.getWeekendCount(t,i),s=this.getNumberOfSeconds(t,i,a),o=!r||!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping?0:this.getHolidaysCount(t,i),l=(s-86400*n-86400*o)/86400,d=this.getNonWorkingSecondsOnDate(t,i,r);return(this.parent.weekWorkingTime.length>0?this.nonWorkingSeconds(t,i,r,l):l*(86400-this.parent.secondsPerDay))+86400*n+86400*o+d},t.prototype.nonWorkingSeconds=function(t,i,r,a,n){var s=t.getTime()>i.getTime()?new Date(i.getTime()):new Date(t.getTime()),o=t.getTime()>i.getTime()?new Date(t.getTime()):new Date(i.getTime()),l=0,d=0;if(n){var h=this.parent.getCurrentDayStartTime(s),p=this.parent.getCurrentDayEndTime(s);s.getHours()<p/3600&&s.getHours()>=h/3600||s.setDate(s.getDate()+1)}else s.setDate(s.getDate()+1),s.setHours(0,0,0,0),o.setHours(0,0,0,0);if(!(a>0||(0,e.isNullOrUndefined)(a)))return 0;for(;n&&s.getTime()<=o.getTime()||!n&&s.getTime()<o.getTime();){if(r){if(this.isOnHolidayOrWeekEnd(s,!0))do{s.setDate(s.getDate()+1)}while(this.isOnHolidayOrWeekEnd(s,!0));this.parent.includeWeekend||this.getNextWorkingDay(s)}if(s.getTime()<=o.getTime()){d++;var u=this.parent.getSecondsPerDay(s);if(l+=n?u:86400-u,s.setDate(s.getDate()+1),r){if(this.isOnHolidayOrWeekEnd(s,!0))do{s.setDate(s.getDate()+1)}while(this.isOnHolidayOrWeekEnd(s,!0));this.parent.includeWeekend||this.getNextWorkingDay(s)}}}return n&&(l>0?l/=d:l=this.parent.secondsPerDay),l},t.prototype.getDuration=function(t,i,r,a,n,s){if((0,e.isNullOrUndefined)(t)||(0,e.isNullOrUndefined)(i))return null;s=!!(0,e.isNullOrUndefined)(s)||s;var o,l=0,d=this.getTimeDifference(t,i,s)/1e3-this.getNonworkingTime(t,i,a,s);return o=this.parent.weekWorkingTime.length>0?this.nonWorkingSeconds(t,i,a,void 0,!0):this.parent.secondsPerDay,l=n&&this.parent.getFormatedDate(t)===this.parent.getFormatedDate(i)?0:r&&"day"!==r?"minute"===r?d/60:d/3600:d/o,parseFloat(l.toString())},t.prototype.getDurationAsSeconds=function(e,t,i){var r;return r=this.parent.weekWorkingTime.length>0?this.parent.getSecondsPerDay(i):this.parent.secondsPerDay,t&&"day"!==t.toLocaleLowerCase()?"hour"===t.toLocaleLowerCase()?3600*e:60*e:r*e},t.prototype.getEndDate=function(e,t,i,r,a){var n,s=new Date(e.getTime()),o=new Date(e.getTime()),l=new Date(e.getTime());n=this.parent.weekWorkingTime.length>0&&(!i||"day"===i.toLocaleLowerCase())?this.calculateSecondDuration(t,l,n,e,!0):this.getDurationAsSeconds(t,i,e);for(;n>0;)o.setSeconds(o.getSeconds()+n),(n-=n-this.getNonworkingTime(s,o,r.isAutoSchedule,!0))>0&&(o=this.checkStartDate(o,r,a)),s=new Date(o.getTime());return o},t.prototype.getStartDate=function(e,t,i,r,a){var n,s=new Date(e.getTime()),o=new Date(e.getTime()),l=new Date(s.getTime());n=this.parent.weekWorkingTime.length>0?this.calculateSecondDuration(t,l,n,s,!1):this.getDurationAsSeconds(t,i,s);for(;n>0;)o.setSeconds(o.getSeconds()-n),(n-=n-this.getNonworkingTime(o,s,r.isAutoSchedule,!0))>0&&(s=this.checkEndDate(o,r)),s=new Date(o.getTime());if(a&&r.isMilestone){o.setDate(o.getDate()-1);var d=this.parent.getCurrentDayEndTime(r.endDate?r.isAutoSchedule?r.endDate:r.autoEndDate:o);this.parent.dateValidationModule.setTime(d,o),o=this.parent.dateValidationModule.checkStartDate(o,r,!0)}return o},t.prototype.calculateSecondDuration=function(e,t,i,r,a){if(e<1)i=this.parent.getSecondsPerDay(t)*e;else{i=0;var n=e,s=this.parent.getCurrentDayStartTime(t),o=this.parent.getCurrentDayEndTime(t);for(t.getHours()<o/3600&&t.getHours()>s/3600||!this.fromSegments||(a?t.setDate(t.getDate()+1):t.setDate(t.getDate()-1));n>0;){if(this.isOnHolidayOrWeekEnd(t,!0))do{a?t.setDate(t.getDate()+1):t.setDate(t.getDate()-1)}while(this.isOnHolidayOrWeekEnd(t,!0));this.parent.includeWeekend||(t=a?this.getNextWorkingDay(t):this.getPreviousWorkingDay(t));var l=this.parent.getSecondsPerDay(t),d=0;if(this.getSecondsInDecimal(r)!==this.parent.getStartTime(r)&&!Number.isInteger(n)){var h=e.toString().split(".");l*=d=parseFloat("."+h[1]),n-=d}n<1&&(l*=n),i+=l,a?t.setDate(t.getDate()+1):t.setDate(t.getDate()-1),d||n--}}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 r=this.checkStartDate(this.parent.cloneProjectStartDate);return this.parent.cloneProjectStartDate=r,new Date(r.getTime())}if((0,e.isNullOrUndefined)(this.parent.projectStartDate)){if((0,e.isNullOrUndefined)(i))return null;var a=this.parent.flatData,n=void 0;a.length>0?n=a[0].ganttProperties.startDate:(n=new Date).setHours(0,0,0,0);for(var s=1;s<a.length;s++){var o=a[s].ganttProperties.startDate;(0,e.isNullOrUndefined)(o)||-1!==this.compareDates(o,n)||(n=o)}this.parent.cloneProjectStartDate=this.checkStartDate(n,t)}else{r=this.getDateFromFormat(this.parent.projectStartDate);this.parent.cloneProjectStartDate=this.checkStartDate(r)}return new Date(this.parent.cloneProjectStartDate.getTime())},t.prototype.getValidStartDate=function(t,i){var r=null,a=i?t.autoStartDate:t.startDate,n=i?t.autoEndDate:t.endDate,s=!t.isAutoSchedule&&t.autoDuration?t.autoDuration:t.duration;if((0,e.isNullOrUndefined)(a))if((0,e.isNullOrUndefined)(n)){if(!(0,e.isNullOrUndefined)(s)){var o=this.parent.getTaskByUniqueID(t.uniqueID);if(this.parent.allowUnscheduledTasks&&o&&o.parentItem&&(0,e.isNullOrUndefined)(a)&&(0,e.isNullOrUndefined)(n)){for(var l=this.parent.getParentTask(o.parentItem);l&&!l.ganttProperties.startDate;)l=this.parent.getParentTask(l.parentItem);r=l&&l.ganttProperties.startDate?l.ganttProperties.startDate:this.parent.cloneProjectStartDate}else r=this.getProjectStartDate(t)}}else{r=new Date(n.getTime());var d=this.parent.getCurrentDayStartTime(r);this.setTime(d,r)}else r=new Date(a.getTime());return r},t.prototype.getValidEndDate=function(t,i){var r=null,a=i?t.autoStartDate:t.startDate,n=i?t.autoEndDate:t.endDate,s=i?t.autoDuration:t.duration;if((0,e.isNullOrUndefined)(n))if((0,e.isNullOrUndefined)(a)){if(!(0,e.isNullOrUndefined)(s)){var o=this.getValidStartDate(t);o&&(r=this.getEndDate(o,s,t.durationUnit,t,!1))}}else if(t.isMilestone)r=this.checkStartDate(a);else{r=new Date(a.getTime());var l=this.parent.getCurrentDayEndTime(n||r);this.setTime(l,r)}else r=new Date(n.getTime());return r},t.prototype.getWorkingTime=function(t,i,r,a,n,s,o,l){if(!(0,e.isNullOrUndefined)(i.from)&&!(0,e.isNullOrUndefined)(i.to)){r.setHours(0,0,0,0);var d=new Date(r.getTime());r.setTime(r.getTime()+36e5*i.from);var h=new Date(r.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),a+=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 a},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,r,a,n,s){for(var o=0,l=0;l<t.length;l++){var d=t[l];o+=this.getWorkingTime(e,d,i,r,l,a,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 r=this.parent.nonWorkingHours;this.parent.workingTimeRanges=[],this.parent.workingTimeRanges=[];var a=this.parent.workingTimeRanges;this.parent.nonWorkingTimeRanges=[];for(var n=this.parent.nonWorkingTimeRanges,s=0,o=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];s<o.length;s++){this[(y=o[s]).toLowerCase()+"TimeRangeLength"]=this.parent.dayWorkingTime.length}if(this.parent.weekWorkingTime.length>0){for(var l=0;l<this.parent.weekWorkingTime.length;l++)this[this.parent.weekWorkingTime[l].dayOfWeek.toLowerCase()+"TimeRangeLength"]=this.parent.weekWorkingTime[l].timeRange.length;for(var d=this.parent.weekWorkingTime,h=this.parent.dayWorkingTime,p=0,u=d;p<u.length;p++){var c=u[p];if(c.timeRange&&c.timeRange.length>0){var g=this.calculateWeekWorkTime(c.dayOfWeek,c.timeRange,i,t,r,a,n);this.parent[c.dayOfWeek.toLowerCase()+"Seconds"]=g}}for(var f=0,m=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];f<m.length;f++){var y=m[f],D=this.parent[y.toLowerCase()+"DefaultStartTime"];if((0,e.isNullOrUndefined)(D)){var v=this.calculateWeekWorkTime(y,h,i,t,r,a,n);this.parent[y.toLowerCase()+"Seconds"]=v}}}for(var k=this.parent.dayWorkingTime,w=k.length,b=0,T=0;T<w;T++){var P=k[T];b+=this.getWorkingTime("",P,i,t,T,r,a,n)}return this.parent.defaultEndTime/3600!=24&&n.push({from:this.parent.defaultEndTime,to:86400,isWorking:!1,interval:86400-this.parent.defaultEndTime}),t=b},t.prototype.getDurationValue=function(t,i){var r=null,a=null;if("string"==typeof t){var n=t.match(/(\d*\.*\d+|.+$)/g);if(n&&n.length<=2){a=parseFloat(n[0].toString().trim());var s=n[1]?n[1].toString().trim().toLowerCase():null;-1!==(0,e.getValue)("minute",this.parent.durationUnitEditText).indexOf(s)?r="minute":-1!==(0,e.getValue)("hour",this.parent.durationUnitEditText).indexOf(s)?r="hour":-1!==(0,e.getValue)("day",this.parent.durationUnitEditText).indexOf(s)&&(r="day")}}else a=t,r=null;return{duration:a,durationUnit:r}},t.prototype.getNextWorkingDay=function(e){var t=e.getDay();return-1!==this.parent.nonWorkingDayIndex.indexOf(t)?(e.setDate(e.getDate()+1),e=this.getNextWorkingDay(e)):e},t.prototype.getWeekendCount=function(e,t){var i=0,r=new Date(e.getTime()),a=new Date(t.getTime());for(r.setHours(0,0,0,0),r.setDate(r.getDate()+1),a.setHours(0,0,0,0);r.getTime()<a.getTime();)-1!==this.parent.nonWorkingDayIndex.indexOf(r.getDay())&&(i+=1),r.setDate(r.getDate()+1);return i},t.prototype.getNumberOfSeconds=function(e,t,i){var r=new Date(e.getTime()),a=new Date(t.getTime()),n=0;return r.setDate(r.getDate()+1),r.setHours(0,0,0,0),a.setHours(0,0,0,0),r.getTime()<a.getTime()&&(n=this.getTimeDifference(r,a,i)/1e3),n%86400!=0&&(n=n-n%86400+86400),n},t.prototype.getHolidaysCount=function(e,t){var i=0,r=this.parent.totalHolidayDates,a=new Date(e.getTime()),n=new Date(t.getTime());if(a.setDate(a.getDate()+1),a.setHours(0,0,0,0),n.setHours(0,0,0,0),a.getTime()<n.getTime())for(var s=0;s<r.length;s++){var o=this.getDateFromFormat(new Date(r[s]));a.getTime()<=o.getTime()&&n.getTime()>o.getTime()&&(!this.parent.includeWeekend&&-1===this.parent.nonWorkingDayIndex.indexOf(o.getDay())||this.parent.includeWeekend)&&(i+=1)}return i},t.prototype.getHolidayDates=function(){for(var t=this.parent.holidays,i=[],r=0;r<t.length;r++){var a=this.getDateFromFormat(t[r].from),n=this.getDateFromFormat(t[r].to);if(!(0,e.isNullOrUndefined)(a)||!(0,e.isNullOrUndefined)(n))if((0,e.isNullOrUndefined)(a)||(0,e.isNullOrUndefined)(n)){var s=a||n;s.setHours(0,0,0,0),-1===i.indexOf(s.getTime())&&i.push(s.getTime())}else for(;a<=n;)a.setHours(0,0,0,0),-1===i.indexOf(a.getTime())&&i.push(a.getTime()),a.setDate(a.getDate()+1)}return i},t.prototype.isOnHolidayOrWeekEnd=function(t,i){if(i=(0,e.isNullOrUndefined)(i)?this.parent.includeWeekend:i,this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping||(i=!0),!i&&-1!==this.parent.nonWorkingDayIndex.indexOf(t.getDay()))return!0;for(var r=this.parent.totalHolidayDates,a=0;a<r.length;a++){var n=this.getDateFromFormat(new Date(r[a])),s=new Date(n.getTime());if(n.setHours(0,0,0,0),s.setHours(23,59,59,59),t.getTime()>=n.getTime()&&t.getTime()<s.getTime())return!0}return!1},t.prototype.getNonWorkingSecondsOnDate=function(t,i,r){var a,n,s=this.getSecondsInDecimal(t),o=this.getSecondsInDecimal(i),l=-1,d=-1,h=0,p=!(!r||!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping)&&this.isOnHolidayOrWeekEnd(t,null),u=!(!r||!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping)&&this.isOnHolidayOrWeekEnd(i,null);if(this.parent.weekWorkingTime.length>0){a=this.parent.getNonWorkingRange(t);for(var c=0;c<a.length;c++){s>=(g=a[c]).from&&s<=g.to&&(l=c)}n=this.parent.getNonWorkingRange(i);for(c=0;c<n.length;c++){o>=(g=n[c]).from&&o<=g.to&&(d=c)}}else{a=this.parent.nonWorkingTimeRanges,n=this.parent.nonWorkingTimeRanges;for(c=0;c<a.length;c++){var g;s>=(g=a[c]).from&&s<=g.to&&(l=c),o>=g.from&&o<=g.to&&(d=c)}}if(t.getDate()!==i.getDate()||t.getMonth()!==i.getMonth()||t.getFullYear()!==i.getFullYear()){if(p)h+=86400-s;else for(c=l;c<a.length;c++)(0,e.isNullOrUndefined)(a[c])||a[c].isWorking||(h+=c===l?a[c].to-s:a[c].interval);if(u)h+=o;else for(c=0;c<=d;c++)n[c].isWorking||(h+=c===d?o-n[c].from:n[c].interval)}else{if(l!==d)if(u)h+=o-s;else for(c=l;c<=d;c++)(0,e.isNullOrUndefined)(a[c])||a[c].isWorking||(h+=c===l?a[c].to-s:c===d?o-a[c].from:a[c].interval);else if(u)h+=o-s;else a[l].isWorking||(h=o-s)}return h},t.prototype.getPreviousWorkingDay=function(e){var t=e.getDay(),i=0===t?6:t-1,r=this.parent.getCurrentDayEndTime(e);return-1!==this.parent.nonWorkingDayIndex.indexOf(t)||-1!==this.parent.nonWorkingDayIndex.indexOf(i)&&86400===r&&0===this.getSecondsInDecimal(e)?(e.setDate(e.getDate()-1),-1!==this.parent.nonWorkingDayIndex.indexOf(e.getDay())&&(e=this.getPreviousWorkingDay(e)),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(),r=i.length,a=0;a<r;a++)i[a]=i[a].toLowerCase();this.parent.nonWorkingDayIndex=[];for(a=0;a<t;a++)-1===i.indexOf(e[a])&&this.parent.nonWorkingDayIndex.push(a)},t.prototype.setTime=function(e,t){var i=e/3600,r=(e-3600*(i=parseInt(i,10)))/60,a=e-3600*i-60*(r=parseInt(r,10));t.setHours(i,r,a)},t.prototype.getTimeDifference=function(e,t,i){var r=new Date(e.getTime()),a=new Date(t.getTime());return i&&this.updateDateWithTimeZone(r,a),a.getTime()-r.getTime()},t.prototype.updateDateWithTimeZone=function(e,t){var i,r,a=e.getTimezoneOffset(),n=t.getTimezoneOffset();if(a!==n){var s=new Date((new Date).getFullYear(),0,1).getTimezoneOffset();if(s!==a?(r=e,i=a):s!==n&&(r=t,i=n),s<0){var o=s-i;r.setTime(r.getTime()+60*o*1e3)}else if(s>=0){o=i-s;r.setTime(r.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 r=new Date(e.toLocaleString("en-US",{timeZone:t}));return isNaN(r.getTime())?0:(e.getTime()-r.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 r=e.getTimezoneOffset(),a=(e=new Date(e.getTime()+6e4*(t-i))).getTimezoneOffset();return new Date(e.getTime()+6e4*(a-r))},t.prototype.convert=function(e,t){var i=e.getTimezoneOffset(),r=this.offset(e,t);"string"==typeof i&&(i=this.offset(e,i)),"string"==typeof r&&(r=this.offset(e,r));var a=e.getTimezoneOffset(),n=(e=new Date(e.getTime()+6e4*(i-r))).getTimezoneOffset();return new Date(e.getTime()+6e4*(n-a))},t.prototype.getDateFromFormat=function(t,i){var r;if((0,e.isNullOrUndefined)(t))return null;if(t instanceof Date)r=new Date(t.getTime());else{var a=this.parent.globalize.parseDate(t,{format:this.parent.getDateFormat(),type:"dateTime"});r=(0,e.isNullOrUndefined)(a)&&!isNaN(new Date(t).getTime())?new Date(t):a}return!(0,e.isNullOrUndefined)(this.parent.timezone)&&i?this.convert(r,this.parent.timezone):r},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 r="";if(!(0,e.isNullOrUndefined)(t)&&(r+=parseFloat(t.toFixed(2))+" ",!(0,e.isNullOrUndefined)(i))){var a=1!==t;"day"===i?r+=a?this.parent.localeObj.getConstant("days"):this.parent.localeObj.getConstant("day"):"hour"===i?r+=a?this.parent.localeObj.getConstant("hours"):this.parent.localeObj.getConstant("hour"):"minute"===i&&(r+=a?this.parent.localeObj.getConstant("minutes"):this.parent.localeObj.getConstant("minute"))}return r},t.prototype.getWorkString=function(t,i){var r="";if(!(0,e.isNullOrUndefined)(t)&&(r+=parseFloat(t).toFixed(2)+" ",!(0,e.isNullOrUndefined)(i))){var a=1!==t;"day"===i?r+=a?this.parent.localeObj.getConstant("days"):this.parent.localeObj.getConstant("day"):"hour"===i?r+=a?this.parent.localeObj.getConstant("hours"):this.parent.localeObj.getConstant("hour"):"minute"===i&&(r+=a?this.parent.localeObj.getConstant("minutes"):this.parent.localeObj.getConstant("minute"))}return r},t.prototype.calculateProjectDatesForValidatedTasks=function(t){var i=this,r="string"==typeof this.parent.projectStartDate?new Date(this.parent.projectStartDate):this.parent.projectStartDate,a="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(r&&a||!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=r?new Date(r.getTime()):"string"==typeof n?new Date(n):n,this.parent.cloneProjectEndDate=a?new Date(a.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 r="string"==typeof this.parent.projectStartDate?new Date(this.parent.projectStartDate):this.parent.projectStartDate,a="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(r),s=this.parent.timelineModule.isZooming&&this.parent.cloneProjectEndDate?this.getDateFromFormat(this.parent.cloneProjectEndDate):this.getDateFromFormat(a),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 r,a,n=t.ganttProperties;(0,e.isNullOrUndefined)(n.startDate)&&(0,e.isNullOrUndefined)(n.endDate)?(r=null,a=null):(r=i.getValidStartDate(n),a=i.getValidEndDate(n)),u(o),u(l),u(r),u(a),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.totalHolidayDates.length>0&&!this.parent.timelineModule.isZoomToFit)this.parent.totalHolidayDates.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,r=e[e.length-1].endDate;return"Hour"===this.parent.timelineModule.bottomTier?t+=Math.ceil(this.getTimeDifference(i,r)/36e5):"Minutes"===this.parent.timelineModule.bottomTier?t+=Math.ceil(this.getTimeDifference(i,r)/6e4):t+=Math.ceil(this.getTimeDifference(i,r)/864e5),t},t}(),T=(k=function(e,t){return k=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])},k(e,t)},function(e,t){function i(){this.constructor=e}k(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}),P=function(t){function r(e){var i=t.call(this,e)||this;return i.customSegmentProperties=[],i.isBaseline=!1,i.isDurationValueUpdated=!1,i.uid=0,i.recordIndex=0,i.taskIds=[],i.hierarchyData=[],i.addEventListener(),i}return T(r,t),r.prototype.addEventListener=function(){this.parent.on("beforeDataManipulate",this.checkDataBinding.bind(this))},r.prototype.checkDataBinding=function(t){var r=this;if(t&&(this.parent.flatData=[],this.parent.currentViewData=[],this.parent.updatedRecords=[],this.dataArray=[],this.taskIds=[],this.parent.ids=[],this.recordIndex=0,this.hierarchyData=[],this.parent.predecessorsCollection=[],this.parent.treeGrid.parentData=[],this.parent.taskIds=[]),(0,e.isNullOrUndefined)(this.parent.dataSource))this.parent.dataSource=[],this.parent.processTimeline(),this.parent.renderGantt(t);else if(this.parent.dataSource instanceof i.DataManager)this.initDataSource(t);else{if(this.parent.dataSource instanceof Object&&n(this.parent)){var a=(0,e.getValue)("result",this.parent.dataSource);this.dataArray=a}else this.dataArray=this.parent.dataSource;this.processTimeline(),this.cloneDataSource(),this.parent.renderGantt(t),this.parent.flatData.map((function(e){r.parent.chartRowsModule.updateSegment(e.ganttProperties.segments,e.ganttProperties.taskId)}))}this.parent.flatData.map((function(e){r.parent.chartRowsModule.updateSegment(e.ganttProperties.segments,e.ganttProperties.taskId)}))},r.prototype.processTimeline=function(){this.parent.processTimeline(),this.parent.enableValidation||(this.parent.dataOperation.calculateProjectDatesForValidatedTasks(),this.parent.timelineModule.validateTimelineProp())},r.prototype.initDataSource=function(e){var t=this,r=this.parent.query instanceof i.Query?this.parent.query:new i.Query;r.requiresCount();var a=this.parent.dataSource;this.parent.loadChildOnDemand&&this.parent.taskFields.hasChildMapping?(this.processTimeline(),this.parent.renderGantt(e)):a.executeQuery(r).then((function(i){t.dataArray=i.result,t.processTimeline(),(!t.parent.loadChildOnDemand||t.parent.loadChildOnDemand&&!t.parent.taskFields.hasChildMapping)&&t.cloneDataSource(),t.parent.renderGantt(e)})).catch((function(i){t.parent.processTimeline(),t.parent.renderGantt(e),t.parent.trigger("actionFailure",{error:i})}))},r.prototype.constructDataSource=function(t){for(var r,a=new i.DataManager(t).executeLocal((new i.Query).group(this.parent.taskFields.parentID)),n=[],s=0;s<a.length;s++){var o=a[s];!(0,e.isNullOrUndefined)(o.key)&&(r=this.taskIds.indexOf(o.key.toString()))>-1&&!(0,e.isNullOrUndefined)(o.key)?t[r][this.parent.taskFields.child]=o.items:-1!==r&&n.push.apply(n,o.items)}this.hierarchyData=this.dataReorder(t,n)},r.prototype.cloneDataSource=function(){var t=this.parent.taskFields.id,r=this.parent.taskFields.parentID,a=[];if((0,e.isNullOrUndefined)(t)||(0,e.isNullOrUndefined)(r))a=this.dataArray;else{for(var n=[],s=0;s<this.dataArray.length;s++){var o=this.dataArray[s];o.parentItem&&delete o.parentItem,n.push((0,e.extend)({},{},o,!0)),(0,e.isNullOrUndefined)(o[t])||this.taskIds.push(o[t].toString())}this.parent.taskFields.child||this.parent.setProperties({taskFields:{child:"Children"}},!0),this.constructDataSource(n),a=this.hierarchyData}if(this.parent.taskFields.segmentId&&(this.segmentCollection=new i.DataManager(this.parent.segmentData).executeLocal((new i.Query).group(this.parent.taskFields.segmentId)),this.parent.taskFields.segments||(this.parent.taskFields.segments="Segments")),"ProjectView"!==this.parent.viewType){var l=(0,e.extend)([],[],this.parent.resources,!0),d=[];if(this.constructResourceViewDataSource(l,a,d),d.length>0){var h={},p=this.parent.resourceFields.name||"resourceName";h[this.parent.resourceFields.id]=0,h[p]=this.parent.localeObj.getConstant("unassignedTask"),h[this.parent.taskFields.child]=d,l.push(h)}a=l}this.prepareDataSource(a)},r.prototype.constructResourceViewDataSource=function(e,t,i){for(var r=function(r){var n=t[r],s=null!==a.parent.taskFields.child?a.parent.taskFields.child:a.parent.taskFields.child="Children",o=n&&n[a.parent.taskFields.resourceInfo],l=a.parent.resourceFields.id;if(n[s]&&0!==n[s].length||!o||!o.length)(!n[s]||n[s]&&0===n[s].length)&&i.push(n);else if("string"==typeof o){a.isResourceString=!0;for(var d=o,h=0;h<e.length;h++)if(e[h][a.parent.resourceFields.name].toString()===d.toString()){e[h][s]?e[h][s].push(n):e[h][s]=[n];break}}else o.forEach((function(t){for(var i="object"==typeof t?t[l]:t,r=0;r<e.length;r++)if(e[r][l].toString()===i.toString()){e[r][s]?e[r][s].push(n):e[r][s]=[n];break}}));n[a.parent.taskFields.child]&&n[a.parent.taskFields.child].length&&a.constructResourceViewDataSource(e,n[a.parent.taskFields.child],i)},a=this,n=0;n<t.length;n++)r(n)},r.prototype.prepareDataSource=function(t){this.prepareRecordCollection(t,0),this.parent.initialLoadData=(0,e.extend)({},{},this.parent.flatData,!0),(!this.parent.autoCalculateDateScheduling||this.parent.isLoad&&this.parent.treeGrid.loadChildOnDemand&&this.parent.taskFields.hasChildMapping)&&(this.parent.dataMap=this.parent.flatData.reduce((function(e,t){return e.set(t.uniqueID,t),e}),new Map)),"ResourceView"===this.parent.viewType&&this.calculateSharedTaskUniqueIds(),this.parent.taskFields.dependency&&this.parent.predecessorModule&&this.parent.predecessorModule.ensurePredecessorCollection()},r.prototype.calculateSharedTaskUniqueIds=function(){for(var e=function(e){var i=[];if(i[0]=t.parent.getTaskIds()[e][0],i[1]=t.parent.getTaskIds()[e].slice(1),"R"!==i[0]){var r=[],a=[];t.parent.flatData.filter((function(e){e.ganttProperties.taskId.toString()===i[1]&&0!==e.level&&(a.push(e.ganttProperties.rowUniqueID),r.push(e))}));for(var n=0;n<r.length;n++)r[n].ganttProperties.sharedTaskUniqueIds=a}},t=this,i=0;i<this.parent.getTaskIds().length;i++)e(i)},r.prototype.prepareRecordCollection=function(t,i,r){for(var a=this,n=t.length,s=function(n){var s=t[n];if(!(0,e.isNullOrUndefined)(o.parent.taskFields.segmentId)){var l=o.segmentCollection.filter((function(e){return e.key===s[a.parent.taskFields.id]}));l.length>0&&(s[o.parent.taskFields.segments]=l[0].items)}o.parent.taskFields.hasChildMapping&&s.parentUniqueID&&(r=o.parent.getTaskByUniqueID(s.parentUniqueID));var d=o.createRecord(s,i,r,!0);(!o.parent.enableValidation||!o.parent.autoCalculateDateScheduling||o.parent.isLoad&&o.parent.treeGrid.loadChildOnDemand&&o.parent.taskFields.hasChildMapping)&&o.updateTaskLeftWidth(d),d.index=o.recordIndex++,o.parent.ids[d.index]=d.ganttProperties.rowUniqueID,o.parent.flatData.push(d),o.parent.setTaskIds(d);var h=s[o.parent.taskFields.child]||s.taskData&&s.taskData[o.parent.taskFields.child];if("ResourceView"===o.parent.viewType&&(0,e.isNullOrUndefined)(h)&&(0,e.isNullOrUndefined)(d.parentItem)&&0===d.level){var p=d.ganttProperties,u=d;o.parent.setRecordValue(p.isAutoSchedule?"startDate":"autoStartDate",null,u.ganttProperties,!0),o.parent.setRecordValue(p.isAutoSchedule?"endDate":"autoEndDate",null,u.ganttProperties,!0);var c=u.ganttProperties;o.parent.setRecordValue("isMilestone",!1,c,!0),c.isAutoSchedule&&o.calculateDuration(u),o.updateWorkWithDuration(u);var g=c.work;o.parent.setRecordValue("work",g,c,!0),o.parent.setRecordValue("taskType","FixedDuration",c,!0),(0,e.isNullOrUndefined)(o.parent.taskFields.type)||o.updateMappingData(u,"type"),o.parent.setRecordValue("progress",Math.floor(0),c,!0),o.parent.setRecordValue("totalProgress",0,c,!0),o.parent.setRecordValue("totalDuration",0,c,!0),c.isAutoSchedule||(o.parent.setRecordValue("autoDuration",o.calculateAutoDuration(c),c,!0),o.updateAutoWidthLeft(u)),o.parent.allowParentDependency||o.resetDependency(u),o.updateWidthLeft(u),o.updateTaskData(u)}o.parent.taskFields.hasChildMapping&&(r=null),!(0,e.isNullOrUndefined)(h)&&h.length>0&&o.prepareRecordCollection(h,d.level+1,d)},o=this,l=0;l<n;l++)s(l)},r.prototype.addCustomFieldValue=function(e,t){var i=this.parent.ganttColumns,r=i.length;if(r)for(var a=0;a<r;a++){void 0===t[i[a].field]&&this.parent.setRecordValue(i[a].field,e[i[a].field],t)}},r.prototype.getGanttUid=function(e){return e+this.uid++},r.prototype.createRecord=function(t,i,r,a){var s=this.parent.taskFields,o=this.parent.resourceFields,l=t[s.progress],d=null,h=null,p=t[s.notes];l=100<(l=l&&parseFloat(l.toString())?parseFloat(l.toString()):0)?100:l;var u,c=t[s.dependency],g=this.getDateFromFormat(t[s.baselineStartDate],!0),f=this.getDateFromFormat(t[s.baselineEndDate],!0),m={},y={},D="Auto"===this.parent.taskMode||"Manual"!==this.parent.taskMode&&!0!==t[s.manual];(this.parent.setRecordValue("ganttProperties",y,m),t.ganttProperties&&t.ganttProperties.predecessor&&t.ganttProperties.predecessor.length>0&&this.parent.undoRedoModule&&this.parent.undoRedoModule.isUndoRedoPerformed&&this.parent.setRecordValue("predecessor",t.ganttProperties.predecessor,y,!0),(0,e.isNullOrUndefined)(t[s.id]))?(0,e.isNullOrUndefined)(t[o.id])||(d=t[o.id],h=(0,e.isNullOrUndefined)(t[o.name])&&"Unassigned Task"===t.resourceName?t.resourceName:t[o.name],this.addTaskData(m,t,!1)):(d=t[s.id],h=t[s.name],!!(this.parent.loadChildOnDemand&&s.hasChildMapping&&t.taskData)?m.taskData=t.taskData:t.taskData&&t.ganttProperties?this.addTaskData(m,t.taskData,a):this.addTaskData(m,t,a));this.parent.setRecordValue("taskId",d,y,!0),this.parent.setRecordValue("taskName",h,y,!0),this.parent&&s.parentID&&this.parent.setRecordValue("parentId",t[s.parentID],y,!0),this.addCustomFieldValue(t,m),this.parent.setRecordValue("isAutoSchedule",D,y,!0),!this.parent.undoRedoModule||this.parent.undoRedoModule&&!this.parent.undoRedoModule.isUndoRedoPerformed?this.parent.setRecordValue("resourceInfo",this.setResourceInfo(t),y,!0):t.ganttProperties&&this.parent.setRecordValue("resourceInfo",t.ganttProperties.resourceInfo,y,!0),this.parent.setRecordValue("isMilestone",!1,y,!0),this.parent.setRecordValue("indicators",t[s.indicator