@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.
- package/CHANGELOG.md +23 -0
- package/dist/ej2-gantt.min.js +2 -2
- package/dist/ej2-gantt.umd.min.js +2 -2
- package/dist/ej2-gantt.umd.min.js.map +1 -1
- package/dist/es6/ej2-gantt.es2015.js +318 -42
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +315 -39
- package/dist/es6/ej2-gantt.es5.js.map +1 -1
- package/dist/global/ej2-gantt.min.js +2 -2
- package/dist/global/ej2-gantt.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +14 -14
- package/src/gantt/actions/connector-line-edit.d.ts +2 -1
- package/src/gantt/actions/connector-line-edit.js +36 -3
- package/src/gantt/actions/dependency.js +1 -1
- package/src/gantt/actions/edit.js +50 -6
- package/src/gantt/actions/taskbar-edit.d.ts +1 -1
- package/src/gantt/actions/taskbar-edit.js +18 -2
- package/src/gantt/base/date-processor.d.ts +1 -1
- package/src/gantt/base/date-processor.js +23 -2
- package/src/gantt/base/gantt.d.ts +2 -0
- package/src/gantt/base/gantt.js +6 -0
- package/src/gantt/base/task-processor.d.ts +2 -0
- package/src/gantt/base/task-processor.js +37 -0
- package/src/gantt/base/tree-grid.js +98 -13
- package/src/gantt/renderer/chart-rows.js +5 -2
- package/src/gantt/renderer/timeline.js +42 -10
- package/GitLeaksReport.json +0 -1
- package/gitleaks-ci/gitleaks +0 -0
- package/gitleaks-ci.tar.gz +0 -0
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 20.4.
|
|
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.
|
|
3
|
+
"_id": "@syncfusion/ej2-gantt@20.4.52",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
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.
|
|
27
|
-
"_shasum": "
|
|
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.
|
|
40
|
-
"@syncfusion/ej2-calendars": "~20.4.
|
|
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.
|
|
43
|
-
"@syncfusion/ej2-grids": "~20.4.
|
|
44
|
-
"@syncfusion/ej2-inputs": "~20.4.
|
|
45
|
-
"@syncfusion/ej2-layouts": "~20.4.
|
|
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.
|
|
47
|
+
"@syncfusion/ej2-navigations": "~20.4.53",
|
|
48
48
|
"@syncfusion/ej2-notifications": "~20.4.48",
|
|
49
|
-
"@syncfusion/ej2-popups": "~20.4.
|
|
50
|
-
"@syncfusion/ej2-richtexteditor": "~20.4.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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()
|
|
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
|
|
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
|
-
|
|
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 */
|
package/src/gantt/base/gantt.js
CHANGED
|
@@ -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':
|
|
@@ -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();
|