@syncfusion/ej2-gantt 20.4.51 → 20.4.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.4.51
3
+ * version : 20.4.53
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-gantt@*",
3
- "_id": "@syncfusion/ej2-gantt@20.4.50",
3
+ "_id": "@syncfusion/ej2-gantt@20.4.52",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-MTexEpLalEOVIDdEkPvbYTn56G+8FWX04g0OKhlL/UydIfhXmT4I2mLfzgIq7WX7PAqC0EAio9pupG5eCD+kAA==",
5
+ "_integrity": "sha512-KvwRlrEJlDIcv9qTuUiYP5DnlS5KHEFCIk2hCjCdFQ7ioCjzRZkCpHCLqKUSQ6/KpcNOJNCl6cEmigiiLlmx6Q==",
6
6
  "_location": "/@syncfusion/ej2-gantt",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-gantt",
24
24
  "/@syncfusion/ej2-vue-gantt"
25
25
  ],
26
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-20.4.50.tgz",
27
- "_shasum": "d953e76107a7fddcced14ea34d77d224ae7e41f0",
26
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-20.4.52.tgz",
27
+ "_shasum": "b2e013d4ecb0eb7bf9fa388a7ff3dd7fe01df6ae",
28
28
  "_spec": "@syncfusion/ej2-gantt@*",
29
29
  "_where": "/jenkins/workspace/ease-automation_release_19.1.0.1/packages/included",
30
30
  "author": {
@@ -36,18 +36,18 @@
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
38
  "@syncfusion/ej2-base": "~20.4.51",
39
- "@syncfusion/ej2-buttons": "~20.4.50",
40
- "@syncfusion/ej2-calendars": "~20.4.51",
39
+ "@syncfusion/ej2-buttons": "~20.4.53",
40
+ "@syncfusion/ej2-calendars": "~20.4.52",
41
41
  "@syncfusion/ej2-data": "~20.4.48",
42
- "@syncfusion/ej2-dropdowns": "~20.4.51",
43
- "@syncfusion/ej2-grids": "~20.4.51",
44
- "@syncfusion/ej2-inputs": "~20.4.51",
45
- "@syncfusion/ej2-layouts": "~20.4.48",
42
+ "@syncfusion/ej2-dropdowns": "~20.4.53",
43
+ "@syncfusion/ej2-grids": "~20.4.53",
44
+ "@syncfusion/ej2-inputs": "~20.4.52",
45
+ "@syncfusion/ej2-layouts": "~20.4.53",
46
46
  "@syncfusion/ej2-lists": "~20.4.50",
47
- "@syncfusion/ej2-navigations": "~20.4.51",
47
+ "@syncfusion/ej2-navigations": "~20.4.53",
48
48
  "@syncfusion/ej2-notifications": "~20.4.48",
49
- "@syncfusion/ej2-popups": "~20.4.51",
50
- "@syncfusion/ej2-richtexteditor": "~20.4.51",
49
+ "@syncfusion/ej2-popups": "~20.4.53",
50
+ "@syncfusion/ej2-richtexteditor": "~20.4.53",
51
51
  "@syncfusion/ej2-treegrid": "~20.4.49"
52
52
  },
53
53
  "deprecated": false,
@@ -73,6 +73,6 @@
73
73
  "url": "git+https://github.com/syncfusion/ej2-gantt.git"
74
74
  },
75
75
  "typings": "index.d.ts",
76
- "version": "20.4.51",
76
+ "version": "20.4.53",
77
77
  "sideEffects": false
78
78
  }
@@ -135,6 +135,7 @@ export declare class ConnectorLineEdit {
135
135
  * @private
136
136
  */
137
137
  applyPredecessorOption(): void;
138
+ private checkChildRecords;
138
139
  private calculateOffset;
139
140
  /**
140
141
  * Update predecessor value with user selection option in predecessor validation dialog
@@ -167,7 +168,7 @@ export declare class ConnectorLineEdit {
167
168
  * @returns {boolean} .
168
169
  * @private
169
170
  */
170
- validateTypes(ganttRecord: IGanttData): object;
171
+ validateTypes(ganttRecord: IGanttData, data?: any): object;
171
172
  /**
172
173
  * Method to remove and update new predecessor collection in successor record
173
174
  *
@@ -602,12 +602,13 @@ var ConnectorLineEdit = /** @class */ (function () {
602
602
  ConnectorLineEdit.prototype.applyPredecessorOption = function () {
603
603
  var args = this.parent.currentEditedArgs;
604
604
  var ganttRecord = args.data;
605
+ var parentData;
605
606
  if (args.validateMode.respectLink) {
606
607
  this.parent.editModule.reUpdatePreviousRecords();
607
608
  this.parent.chartRowsModule.refreshRecords([args.data]);
608
609
  }
609
610
  else if (args.validateMode.removeLink) {
610
- this.removePredecessors(ganttRecord, this.validationPredecessor);
611
+ this.checkChildRecords(ganttRecord);
611
612
  this.parent.editModule.updateEditedTask(args.editEventArgs);
612
613
  }
613
614
  else if (args.validateMode.preserveLinkWithEditing) {
@@ -615,6 +616,29 @@ var ConnectorLineEdit = /** @class */ (function () {
615
616
  this.parent.editModule.updateEditedTask(args.editEventArgs);
616
617
  }
617
618
  };
619
+ ConnectorLineEdit.prototype.checkChildRecords = function (ganttRecord) {
620
+ this.validationPredecessor = ganttRecord.ganttProperties.predecessor;
621
+ if (!isNullOrUndefined(this.validationPredecessor)) {
622
+ this.removePredecessors(ganttRecord, this.validationPredecessor);
623
+ }
624
+ if (ganttRecord.childRecords.length > 0) {
625
+ for (var i = 0; i < ganttRecord.childRecords.length; i++) {
626
+ var childRecord = ganttRecord.childRecords[i];
627
+ this.validationPredecessor = childRecord.ganttProperties.predecessor;
628
+ if (!isNullOrUndefined(this.validationPredecessor)) {
629
+ this.removePredecessors(childRecord, this.validationPredecessor);
630
+ }
631
+ if (childRecord.childRecords.length > 0) {
632
+ this.checkChildRecords(childRecord);
633
+ }
634
+ }
635
+ }
636
+ else if (!isNullOrUndefined(ganttRecord.parentItem)) {
637
+ var parentRecord = this.parent.getRecordByID(ganttRecord.parentItem.taskId);
638
+ this.validationPredecessor = parentRecord.ganttProperties.predecessor;
639
+ this.removePredecessors(parentRecord, this.validationPredecessor);
640
+ }
641
+ };
618
642
  ConnectorLineEdit.prototype.calculateOffset = function (record) {
619
643
  var prevPredecessor = extend([], record.ganttProperties.predecessor, [], true);
620
644
  var validPredecessor = this.parent.predecessorModule.getValidPredecessor(record);
@@ -690,6 +714,9 @@ var ConnectorLineEdit = /** @class */ (function () {
690
714
  */
691
715
  ConnectorLineEdit.prototype.removePredecessors = function (ganttRecord, predecessor) {
692
716
  var prevPredecessor = extend([], [], ganttRecord.ganttProperties.predecessor, true);
717
+ if (isNullOrUndefined(predecessor)) {
718
+ return;
719
+ }
693
720
  var preLength = predecessor.length;
694
721
  for (var i = 0; i < preLength; i++) {
695
722
  var parentGanttRecord = this.parent.connectorLineModule.getRecordByID(predecessor[i].from);
@@ -785,14 +812,20 @@ var ConnectorLineEdit = /** @class */ (function () {
785
812
  * @returns {boolean} .
786
813
  * @private
787
814
  */
788
- ConnectorLineEdit.prototype.validateTypes = function (ganttRecord) {
815
+ ConnectorLineEdit.prototype.validateTypes = function (ganttRecord, data) {
789
816
  var predecessor = this.parent.predecessorModule.getValidPredecessor(ganttRecord);
790
817
  var parentGanttRecord;
818
+ var ganttTaskData;
791
819
  this.validationPredecessor = [];
792
820
  var violatedParent;
793
821
  var violateType;
794
822
  var startDate = this.parent.predecessorModule.getPredecessorDate(ganttRecord, predecessor);
795
- var ganttTaskData = ganttRecord.ganttProperties;
823
+ if (data) {
824
+ ganttTaskData = data.ganttProperties;
825
+ }
826
+ else {
827
+ ganttTaskData = ganttRecord.ganttProperties;
828
+ }
796
829
  var endDate = this.parent.allowUnscheduledTasks && isNullOrUndefined(startDate) ?
797
830
  ganttTaskData.endDate :
798
831
  this.dateValidateModule.getEndDate(startDate, ganttTaskData.duration, ganttTaskData.durationUnit, ganttTaskData, false);
@@ -576,7 +576,7 @@ var Dependency = /** @class */ (function () {
576
576
  var offsetValue = predecessor.offset;
577
577
  var durationUnit = predecessor.offsetUnit;
578
578
  if (offsetValue < 0) {
579
- resultDate = this.dateValidateModule.getStartDate(this.dateValidateModule.checkEndDate(date, record), (offsetValue * -1), durationUnit, record);
579
+ resultDate = this.dateValidateModule.getStartDate(this.dateValidateModule.checkEndDate(date, record), (offsetValue * -1), durationUnit, record, true);
580
580
  }
581
581
  else {
582
582
  resultDate = this.dateValidateModule.getEndDate(date, offsetValue, durationUnit, record, false);
@@ -734,6 +734,29 @@ var Edit = /** @class */ (function () {
734
734
  */
735
735
  Edit.prototype.initiateUpdateAction = function (args) {
736
736
  var isValidatePredecessor = this.isCheckPredecessor(args.data);
737
+ var parentData;
738
+ var childRecordIndex;
739
+ if (!isNullOrUndefined(args.data.parentItem) && !isValidatePredecessor) {
740
+ parentData = this.parent.getRecordByID(args.data.parentItem.taskId);
741
+ if (this.isTaskbarMoved(args.data) && this.parent.predecessorModule.getValidPredecessor(parentData).length > 0
742
+ && this.parent.isInPredecessorValidation) {
743
+ isValidatePredecessor = true;
744
+ }
745
+ else {
746
+ isValidatePredecessor = false;
747
+ }
748
+ }
749
+ else if (args.data.childRecords.length > 0 && !isValidatePredecessor) {
750
+ isValidatePredecessor = this.isCheckPredecessor(args.data);
751
+ if (!isValidatePredecessor && this.isTaskbarMoved(args.data)) {
752
+ for (var i = 0; i < args.data.childRecords.length; i++) {
753
+ if (this.parent.predecessorModule.getValidPredecessor(args.data.childRecords[i]).length > 0) {
754
+ childRecordIndex = i;
755
+ isValidatePredecessor = true;
756
+ }
757
+ }
758
+ }
759
+ }
737
760
  this.taskbarMoved = this.isTaskbarMoved(args.data);
738
761
  this.predecessorUpdated = this.isPredecessorUpdated(args.data);
739
762
  if (this.predecessorUpdated) {
@@ -742,7 +765,15 @@ var Edit = /** @class */ (function () {
742
765
  }
743
766
  var validateObject = {};
744
767
  if (isValidatePredecessor) {
745
- validateObject = this.parent.connectorLineEditModule.validateTypes(args.data);
768
+ if (!isNullOrUndefined(parentData)) {
769
+ validateObject = this.parent.connectorLineEditModule.validateTypes(parentData, args.data);
770
+ }
771
+ else if (!isNullOrUndefined(childRecordIndex)) {
772
+ validateObject = this.parent.connectorLineEditModule.validateTypes(args.data.childRecords[childRecordIndex], args.data);
773
+ }
774
+ else {
775
+ validateObject = this.parent.connectorLineEditModule.validateTypes(args.data);
776
+ }
746
777
  this.parent.isConnectorLineUpdate = true;
747
778
  if (!isNullOrUndefined(getValue('violationType', validateObject))) {
748
779
  var newArgs = this.validateTaskEvent(args);
@@ -1070,7 +1101,7 @@ var Edit = /** @class */ (function () {
1070
1101
  durationDiff = this.parent.dateValidationModule.getDuration(validStartDate, validEndDate, 'minute', true, false);
1071
1102
  }
1072
1103
  for (var i = 0; i < childRecords.length; i++) {
1073
- if (childRecords[i].ganttProperties.isAutoSchedule) {
1104
+ if ((!(this.parent.isUnscheduledTask(childRecords[i].ganttProperties))) && (childRecords[i].ganttProperties.isAutoSchedule)) {
1074
1105
  if (durationDiff > 0) {
1075
1106
  var startDate = isScheduledTask(childRecords[i].ganttProperties) ?
1076
1107
  childRecords[i].ganttProperties.startDate : childRecords[i].ganttProperties.startDate ?
@@ -1098,6 +1129,7 @@ var Edit = /** @class */ (function () {
1098
1129
  }
1099
1130
  if (childRecords.length) {
1100
1131
  this.parent.dataOperation.updateParentItems(ganttRecord, true);
1132
+ this.parent.dataOperation.updateGanttData();
1101
1133
  }
1102
1134
  };
1103
1135
  /**
@@ -1177,9 +1209,21 @@ var Edit = /** @class */ (function () {
1177
1209
  });
1178
1210
  };
1179
1211
  Edit.prototype.dmSuccess = function (e, args) {
1180
- var eLength = e['length'];
1212
+ var eLength;
1213
+ var rec;
1214
+ if (e.changedRecords) {
1215
+ eLength = e.changedRecords['length'];
1216
+ }
1217
+ else {
1218
+ eLength = e['length'];
1219
+ }
1181
1220
  for (var i = 0; i < eLength; i++) {
1182
- var rec = e[i];
1221
+ if (e.changedRecords) {
1222
+ rec = e.changedRecords[i];
1223
+ }
1224
+ else {
1225
+ rec = e[i];
1226
+ }
1183
1227
  var _aLength = Object.keys(rec).length;
1184
1228
  for (var j = 0, _a = Object.keys(rec); j < _aLength; j++) {
1185
1229
  var key = _a[j];
@@ -2844,9 +2888,9 @@ var Edit = /** @class */ (function () {
2844
2888
  var crud = data_2.saveChanges(updatedData_2, _this.parent.taskFields.id, null, query_2);
2845
2889
  crud.then(function (e) {
2846
2890
  if (_this.parent.taskFields.id && !isNullOrUndefined(e.addedRecords[0][_this.parent.taskFields.id]) &&
2847
- e.addedRecords[0][_this.parent.taskFields.id].toString() !== prevID_1) {
2891
+ e.addedRecords[0][_this.parent.taskFields.id].toString() == prevID_1) {
2848
2892
  _this.parent.setRecordValue('taskId', e.addedRecords[0][_this.parent.taskFields.id], args.data.ganttProperties, true);
2849
- _this.parent.setRecordValue('taskData.' + _this.parent.taskFields.id, e.addedRecords[0][_this.parent.taskFields.id], args.data);
2893
+ _this.parent.setRecordValue('taskData', e.addedRecords[0], args.data);
2850
2894
  _this.parent.setRecordValue(_this.parent.taskFields.id, e.addedRecords[0][_this.parent.taskFields.id], args.data);
2851
2895
  _this.parent.setRecordValue('rowUniqueID', e.addedRecords[0][_this.parent.taskFields.id].toString(), args.data.ganttProperties, true);
2852
2896
  var idsIndex = _this.parent.ids.indexOf(prevID_1);
@@ -223,7 +223,7 @@ export declare class TaskbarEdit extends DateProcessor {
223
223
  * @returns {Date} .
224
224
  * @private
225
225
  */
226
- getDateByLeft(left: number): Date;
226
+ getDateByLeft(left: number, isMilestone?: boolean, property?: any): Date;
227
227
  /**
228
228
  * To set item position.
229
229
  *
@@ -594,6 +594,16 @@ var TaskbarEdit = /** @class */ (function (_super) {
594
594
  merge(_this.taskBarEditRecord.ganttProperties, arg.previousData);
595
595
  }
596
596
  });
597
+ this.parent.flatData.map(function (data) {
598
+ if ((!isNullOrUndefined(_this.taskBarEditRecord.parentItem)) && data.ganttProperties.taskId === _this.taskBarEditRecord.parentItem.taskId) {
599
+ data.childRecords.map(function (s) {
600
+ if (isNullOrUndefined(s.ganttProperties.startDate) || isNullOrUndefined(s.ganttProperties.endDate) ||
601
+ isNullOrUndefined(s.ganttProperties.duration)) {
602
+ _this.parent.dataOperation.updateGanttData();
603
+ }
604
+ });
605
+ }
606
+ });
597
607
  }
598
608
  };
599
609
  /**
@@ -1147,7 +1157,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
1147
1157
  };
1148
1158
  TaskbarEdit.prototype.updateChildDrag = function (item) {
1149
1159
  var left = this.getRoundOffStartLeft(item, this.roundOffDuration);
1150
- var projectStartDate = this.getDateByLeft(left);
1160
+ var projectStartDate = this.getDateByLeft(left, item.isMilestone, item);
1151
1161
  var endDate;
1152
1162
  if (this.segmentIndex === 0) {
1153
1163
  this.parent.setRecordValue('startDate', this.parent.dateValidationModule.checkStartDate(projectStartDate, item, null), item, true);
@@ -1370,10 +1380,16 @@ var TaskbarEdit = /** @class */ (function (_super) {
1370
1380
  * @returns {Date} .
1371
1381
  * @private
1372
1382
  */
1373
- TaskbarEdit.prototype.getDateByLeft = function (left) {
1383
+ TaskbarEdit.prototype.getDateByLeft = function (left, isMilestone, property) {
1374
1384
  var pStartDate = new Date(this.parent.timelineModule.timelineStartDate.toString());
1375
1385
  var milliSecondsPerPixel = (24 * 60 * 60 * 1000) / this.parent.perDayWidth;
1376
1386
  pStartDate.setTime(pStartDate.getTime() + (left * milliSecondsPerPixel));
1387
+ /* To render the milestone in proper date while editing */
1388
+ if (isMilestone) {
1389
+ pStartDate.setDate(pStartDate.getDate() - 1);
1390
+ this.parent.dateValidationModule.setTime(this.parent.defaultEndTime, pStartDate);
1391
+ pStartDate = this.parent.dateValidationModule.checkStartDate(pStartDate, property, true);
1392
+ }
1377
1393
  var tierMode = this.parent.timelineModule.bottomTier !== 'None' ? this.parent.timelineModule.topTier :
1378
1394
  this.parent.timelineModule.bottomTier;
1379
1395
  if (tierMode !== 'Hour' && tierMode !== 'Minutes') {
@@ -121,7 +121,7 @@ export declare class DateProcessor {
121
121
  * @returns {Date} .
122
122
  * @private
123
123
  */
124
- getStartDate(endDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData): Date;
124
+ getStartDate(endDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData, fromValidation?: boolean): Date;
125
125
  /**
126
126
  * @param {ITaskData} ganttProp .
127
127
  * @param {boolean} isLoad .
@@ -429,7 +429,7 @@ var DateProcessor = /** @class */ (function () {
429
429
  * @returns {Date} .
430
430
  * @private
431
431
  */
432
- DateProcessor.prototype.getStartDate = function (endDate, duration, durationUnit, ganttProp) {
432
+ DateProcessor.prototype.getStartDate = function (endDate, duration, durationUnit, ganttProp, fromValidation) {
433
433
  var tempEnd = new Date(endDate.getTime());
434
434
  var startDate = new Date(endDate.getTime());
435
435
  var secondDuration = this.getDurationAsSeconds(duration, durationUnit);
@@ -445,6 +445,12 @@ var DateProcessor = /** @class */ (function () {
445
445
  }
446
446
  tempEnd = new Date(startDate.getTime());
447
447
  }
448
+ /* To render the milestone in proper date while loading */
449
+ if (fromValidation && ganttProp.isMilestone) {
450
+ startDate.setDate(startDate.getDate() - 1);
451
+ this.parent.dateValidationModule.setTime(this.parent.defaultEndTime, startDate);
452
+ startDate = this.parent.dateValidationModule.checkStartDate(startDate, ganttProp, true);
453
+ }
448
454
  return startDate;
449
455
  };
450
456
  /**
@@ -496,6 +502,7 @@ var DateProcessor = /** @class */ (function () {
496
502
  * @private
497
503
  */
498
504
  DateProcessor.prototype.getValidStartDate = function (ganttProp, isAuto) {
505
+ var _this = this;
499
506
  var sDate = null;
500
507
  var startDate = isAuto ? ganttProp.autoStartDate : ganttProp.startDate;
501
508
  var endDate = isAuto ? ganttProp.autoEndDate : ganttProp.endDate;
@@ -506,7 +513,21 @@ var DateProcessor = /** @class */ (function () {
506
513
  this.setTime(this.parent.defaultStartTime, sDate);
507
514
  }
508
515
  else if (!isNullOrUndefined(duration)) {
509
- sDate = this.getProjectStartDate(ganttProp);
516
+ this.parent.flatData.map(function (record) {
517
+ if (record.ganttProperties.taskId == ganttProp.taskId) {
518
+ if ((!isNullOrUndefined(record.parentItem)) && (record.parentItem.taskId)) {
519
+ _this.parent.flatData.map(function (data) {
520
+ if (data.ganttProperties.taskId === record.parentItem.taskId) {
521
+ if (!isNullOrUndefined(data.ganttProperties.startDate))
522
+ sDate = data.ganttProperties.startDate;
523
+ }
524
+ });
525
+ }
526
+ else {
527
+ sDate = _this.getProjectStartDate(ganttProp);
528
+ }
529
+ }
530
+ });
510
531
  }
511
532
  }
512
533
  else {
@@ -92,6 +92,8 @@ export declare class Gantt extends Component<HTMLElement> implements INotifyProp
92
92
  isVirtualScroll: boolean;
93
93
  scrollLeftValue: any;
94
94
  isToolBarClick: any;
95
+ isLocaleChanged: boolean;
96
+ previousGanttColumns: ColumnModel[];
95
97
  /** @hidden */
96
98
  topBottomHeader: any;
97
99
  /** @hidden */
@@ -61,6 +61,7 @@ var Gantt = /** @class */ (function (_super) {
61
61
  var _this = _super.call(this, options, element) || this;
62
62
  _this.showIndicator = true;
63
63
  _this.singleTier = 0;
64
+ _this.isLocaleChanged = false;
64
65
  /** @hidden */
65
66
  _this.isCancelled = false;
66
67
  /** @hidden */
@@ -1401,6 +1402,7 @@ var Gantt = /** @class */ (function (_super) {
1401
1402
  case 'dayWorkingTime':
1402
1403
  case 'allowUnscheduledTasks':
1403
1404
  case 'holidays':
1405
+ this.isLoad = true;
1404
1406
  if (prop === 'holidays') {
1405
1407
  this.totalHolidayDates = this.dataOperation.getHolidayDates();
1406
1408
  this.notify('ui-update', { module: 'day-markers', properties: newProp });
@@ -1409,6 +1411,7 @@ var Gantt = /** @class */ (function (_super) {
1409
1411
  this.treeGrid.refreshColumns();
1410
1412
  this.chartRowsModule.initiateTemplates();
1411
1413
  this.chartRowsModule.refreshGanttRows();
1414
+ this.isLoad = false;
1412
1415
  break;
1413
1416
  case 'addDialogFields':
1414
1417
  case 'editDialogFields':
@@ -1488,6 +1491,9 @@ var Gantt = /** @class */ (function (_super) {
1488
1491
  case 'enableRtl':
1489
1492
  case 'readOnly':
1490
1493
  case 'viewType':
1494
+ if (prop === 'locale') {
1495
+ this.isLocaleChanged = true;
1496
+ }
1491
1497
  isRefresh = true;
1492
1498
  break;
1493
1499
  case 'validateManualTasksOnLinking':
@@ -218,6 +218,8 @@ export declare class TaskProcessor extends DateProcessor {
218
218
  private setRecordDate;
219
219
  private getDurationInDay;
220
220
  private setRecordDuration;
221
+ setDataSource(data: any): any;
222
+ private setStartDate;
221
223
  private getWorkInHour;
222
224
  /**
223
225
  *
@@ -1420,6 +1420,40 @@ var TaskProcessor = /** @class */ (function (_super) {
1420
1420
  task.taskData[this.parent.taskFields.durationUnit] = task.ganttProperties.durationUnit;
1421
1421
  }
1422
1422
  };
1423
+ TaskProcessor.prototype.setDataSource = function (data) {
1424
+ var createData = [];
1425
+ var length = data.length;
1426
+ for (var i = 0; i < length; i++) {
1427
+ var record = data[i];
1428
+ createData.push(record);
1429
+ if (!(isNullOrUndefined(data[i][this.parent.taskFields.child]))) {
1430
+ this.setDataSource(data[i][this.parent.taskFields.child]);
1431
+ }
1432
+ }
1433
+ return createData;
1434
+ };
1435
+ TaskProcessor.prototype.setStartDate = function (task) {
1436
+ var _this = this;
1437
+ var hierarchicalData = [];
1438
+ if (!isNullOrUndefined(this.parent.taskFields.parentID) && !isNullOrUndefined(this.parent.taskFields.id)) {
1439
+ hierarchicalData = this.setDataSource(this.parent.dataSource);
1440
+ }
1441
+ else {
1442
+ hierarchicalData = this.parent.dataSource;
1443
+ }
1444
+ this.parent.flatData.map(function (data) {
1445
+ hierarchicalData.map(function (record) {
1446
+ if (data.ganttProperties.taskId === record[_this.parent.taskFields.id]) {
1447
+ if (!isNullOrUndefined(_this.parent.taskFields.startDate)) {
1448
+ task[_this.parent.taskFields.endDate] = record[_this.parent.taskFields.endDate];
1449
+ }
1450
+ if (!isNullOrUndefined(_this.parent.taskFields.endDate)) {
1451
+ task[_this.parent.taskFields.endDate] = record[_this.parent.taskFields.endDate];
1452
+ }
1453
+ }
1454
+ });
1455
+ });
1456
+ };
1423
1457
  TaskProcessor.prototype.getWorkInHour = function (work, workUnit) {
1424
1458
  if (workUnit === 'day') {
1425
1459
  return work * (this.parent.secondsPerDay / 3600);
@@ -1714,6 +1748,9 @@ var TaskProcessor = /** @class */ (function (_super) {
1714
1748
  if (!isNullOrUndefined(this.parent.taskFields.duration)) {
1715
1749
  this.setRecordDuration(ganttData, this.parent.taskFields.duration);
1716
1750
  }
1751
+ if (this.parent.isLoad) {
1752
+ this.setStartDate(ganttData);
1753
+ }
1717
1754
  this.calculateScheduledValues(ganttData, data, false);
1718
1755
  }
1719
1756
  this.updateGanttData();