@syncfusion/ej2-gantt 22.2.12 → 23.1.38
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 +197 -164
- package/dist/ej2-gantt.min.js +3 -3
- package/dist/ej2-gantt.umd.min.js +3 -3
- package/dist/ej2-gantt.umd.min.js.map +1 -1
- package/dist/es6/ej2-gantt.es2015.js +973 -280
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +1011 -302
- package/dist/es6/ej2-gantt.es5.js.map +1 -1
- package/dist/global/ej2-gantt.min.js +3 -3
- package/dist/global/ej2-gantt.min.js.map +1 -1
- package/dist/global/index.d.ts +2 -2
- package/package.json +21 -21
- package/src/gantt/actions/cell-edit.js +4 -1
- package/src/gantt/actions/connector-line-edit.js +48 -6
- package/src/gantt/actions/critical-path.d.ts +2 -0
- package/src/gantt/actions/critical-path.js +79 -61
- package/src/gantt/actions/dependency.d.ts +1 -0
- package/src/gantt/actions/dependency.js +92 -31
- package/src/gantt/actions/dialog-edit.js +28 -8
- package/src/gantt/actions/edit.js +18 -8
- package/src/gantt/actions/pdf-export.d.ts +4 -1
- package/src/gantt/actions/pdf-export.js +36 -3
- package/src/gantt/actions/rowdragdrop.js +10 -2
- package/src/gantt/actions/selection.js +22 -5
- package/src/gantt/actions/taskbar-edit.js +58 -38
- package/src/gantt/actions/toolbar.js +8 -0
- package/src/gantt/base/date-processor.js +1 -1
- package/src/gantt/base/gantt-chart.d.ts +1 -0
- package/src/gantt/base/gantt-chart.js +85 -6
- package/src/gantt/base/gantt-model.d.ts +7 -0
- package/src/gantt/base/gantt.d.ts +6 -0
- package/src/gantt/base/gantt.js +78 -16
- package/src/gantt/base/interface.d.ts +14 -0
- package/src/gantt/base/splitter.js +1 -0
- package/src/gantt/base/task-processor.d.ts +4 -4
- package/src/gantt/base/task-processor.js +75 -25
- package/src/gantt/base/tree-grid.js +19 -10
- package/src/gantt/export/export-helper.d.ts +5 -1
- package/src/gantt/export/export-helper.js +150 -3
- package/src/gantt/export/pdf-base/pdf-grid-table.js +2 -2
- package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +8 -0
- package/src/gantt/export/pdf-base/treegrid-layouter.js +3 -1
- package/src/gantt/export/pdf-connector-line.js +3 -1
- package/src/gantt/export/pdf-gantt.js +6 -0
- package/src/gantt/export/pdf-taskbar.d.ts +13 -0
- package/src/gantt/export/pdf-taskbar.js +39 -5
- package/src/gantt/export/pdf-timeline.js +17 -8
- package/src/gantt/export/pdf-treegrid.js +3 -3
- package/src/gantt/models/task-fields-model.d.ts +7 -0
- package/src/gantt/models/task-fields.d.ts +6 -0
- package/src/gantt/models/task-fields.js +3 -0
- package/src/gantt/renderer/chart-rows.d.ts +1 -1
- package/src/gantt/renderer/chart-rows.js +44 -34
- package/src/gantt/renderer/connector-line.js +52 -11
- package/src/gantt/renderer/edit-tooltip.js +2 -1
- package/src/gantt/renderer/timeline.js +16 -9
- package/src/gantt/renderer/tooltip.js +5 -5
- package/styles/bootstrap-dark.css +44 -100
- package/styles/bootstrap.css +44 -100
- package/styles/bootstrap4.css +44 -100
- package/styles/bootstrap5-dark.css +44 -100
- package/styles/bootstrap5.css +44 -100
- package/styles/fabric-dark.css +44 -100
- package/styles/fabric.css +44 -100
- package/styles/fluent-dark.css +44 -100
- package/styles/fluent.css +44 -100
- package/styles/gantt/_layout.scss +44 -31
- package/styles/gantt/_theme.scss +104 -98
- package/styles/gantt/bootstrap-dark.css +44 -100
- package/styles/gantt/bootstrap-dark.scss +1 -1
- package/styles/gantt/bootstrap.css +44 -100
- package/styles/gantt/bootstrap.scss +1 -1
- package/styles/gantt/bootstrap4.css +44 -100
- package/styles/gantt/bootstrap4.scss +1 -1
- package/styles/gantt/bootstrap5-dark.css +44 -100
- package/styles/gantt/bootstrap5-dark.scss +1 -1
- package/styles/gantt/bootstrap5.css +44 -100
- package/styles/gantt/bootstrap5.scss +1 -1
- package/styles/gantt/fabric-dark.css +44 -100
- package/styles/gantt/fabric-dark.scss +1 -1
- package/styles/gantt/fabric.css +44 -100
- package/styles/gantt/fabric.scss +1 -1
- package/styles/gantt/fluent-dark.css +44 -100
- package/styles/gantt/fluent-dark.scss +1 -1
- package/styles/gantt/fluent.css +44 -100
- package/styles/gantt/fluent.scss +1 -1
- package/styles/gantt/highcontrast-light.css +40 -100
- package/styles/gantt/highcontrast-light.scss +1 -1
- package/styles/gantt/highcontrast.css +44 -100
- package/styles/gantt/highcontrast.scss +1 -1
- package/styles/gantt/icons/_bootstrap-dark.scss +4 -0
- package/styles/gantt/icons/_bootstrap.scss +4 -0
- package/styles/gantt/icons/_bootstrap4.scss +4 -0
- package/styles/gantt/icons/_bootstrap5.scss +4 -0
- package/styles/gantt/icons/_fabric-dark.scss +4 -0
- package/styles/gantt/icons/_fabric.scss +4 -0
- package/styles/gantt/icons/_fluent.scss +4 -0
- package/styles/gantt/icons/_fusionnew.scss +4 -0
- package/styles/gantt/icons/_highcontrast.scss +4 -0
- package/styles/gantt/icons/_material-dark.scss +4 -0
- package/styles/gantt/icons/_material.scss +4 -0
- package/styles/gantt/icons/_material3.scss +4 -0
- package/styles/gantt/icons/_tailwind-dark.scss +4 -0
- package/styles/gantt/icons/_tailwind.scss +4 -0
- package/styles/gantt/material-dark.css +44 -101
- package/styles/gantt/material-dark.scss +1 -1
- package/styles/gantt/material.css +44 -101
- package/styles/gantt/material.scss +1 -1
- package/styles/gantt/material3-dark.css +45 -102
- package/styles/gantt/material3-dark.scss +1 -1
- package/styles/gantt/material3.css +45 -102
- package/styles/gantt/material3.scss +1 -1
- package/styles/gantt/tailwind-dark.css +44 -101
- package/styles/gantt/tailwind-dark.scss +1 -1
- package/styles/gantt/tailwind.css +44 -101
- package/styles/gantt/tailwind.scss +1 -1
- package/styles/highcontrast-light.css +40 -100
- package/styles/highcontrast.css +44 -100
- package/styles/material-dark.css +44 -101
- package/styles/material.css +44 -101
- package/styles/material3-dark.css +45 -102
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +45 -102
- package/styles/material3.scss +1 -1
- package/styles/tailwind-dark.css +44 -101
- package/styles/tailwind.css +44 -101
|
@@ -11,6 +11,7 @@ var GanttChart = /** @class */ (function () {
|
|
|
11
11
|
function GanttChart(parent) {
|
|
12
12
|
this.isExpandCollapseFromChart = false;
|
|
13
13
|
this.isExpandAll = false;
|
|
14
|
+
this.isCollapseAll = false;
|
|
14
15
|
this.isGanttElement = false;
|
|
15
16
|
this.parent = parent;
|
|
16
17
|
this.chartTimelineContainer = null;
|
|
@@ -356,6 +357,42 @@ var GanttChart = /** @class */ (function () {
|
|
|
356
357
|
if (this.parent.editSettings.allowTaskbarEditing) {
|
|
357
358
|
this.parent.notify('chartMouseUp', e);
|
|
358
359
|
}
|
|
360
|
+
if (!this.parent.editSettings.allowEditing) {
|
|
361
|
+
var isTaskbarEdited = false;
|
|
362
|
+
if (this.parent.editSettings.allowTaskbarEditing &&
|
|
363
|
+
getValue('editModule.taskbarEditModule.isMouseDragged', this.parent) &&
|
|
364
|
+
getValue('editModule.taskbarEditModule.taskBarEditAction', this.parent)) {
|
|
365
|
+
isTaskbarEdited = true;
|
|
366
|
+
}
|
|
367
|
+
if (!isTaskbarEdited) {
|
|
368
|
+
/** Expand/collapse action */
|
|
369
|
+
var target = e.target;
|
|
370
|
+
var isOnTaskbarElement = e.target.classList.contains(cls.taskBarMainContainer)
|
|
371
|
+
|| closest(e.target, '.' + cls.taskBarMainContainer);
|
|
372
|
+
if (closest(target, '.e-gantt-parent-taskbar') && !this.parent.editSettings.allowEditing) {
|
|
373
|
+
this.chartExpandCollapseRequest(e);
|
|
374
|
+
}
|
|
375
|
+
else if (!isOnTaskbarElement && this.parent.autoFocusTasks) {
|
|
376
|
+
this.scrollToTarget(e); /** Scroll to task */
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
if (e.type === "touchend") {
|
|
381
|
+
var resizeCheck = this.parent.ganttChartModule.chartBodyContainer.querySelector('.e-taskbar-resize-div');
|
|
382
|
+
if (!isNullOrUndefined(resizeCheck)) {
|
|
383
|
+
resizeCheck.remove();
|
|
384
|
+
}
|
|
385
|
+
var Check = this.parent.ganttChartModule.chartBodyContainer.querySelector('.e-clone-taskbar');
|
|
386
|
+
if (!isNullOrUndefined(Check)) {
|
|
387
|
+
var clonetbody = Check.parentElement;
|
|
388
|
+
var cloneTable = clonetbody.parentElement;
|
|
389
|
+
cloneTable.remove();
|
|
390
|
+
}
|
|
391
|
+
var falseline = this.parent.ganttChartModule.chartBodyContainer.querySelector('.e-gantt-false-line');
|
|
392
|
+
if (!isNullOrUndefined(falseline)) {
|
|
393
|
+
this.parent.editModule.taskbarEditModule.removeFalseLine(true);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
359
396
|
};
|
|
360
397
|
/**
|
|
361
398
|
*
|
|
@@ -747,13 +784,27 @@ var GanttChart = /** @class */ (function () {
|
|
|
747
784
|
* @private
|
|
748
785
|
*/
|
|
749
786
|
GanttChart.prototype.collapsedGanttRow = function (args) {
|
|
787
|
+
var _this = this;
|
|
750
788
|
if ((isNullOrUndefined(args['gridRow']) && this.parent.enableVirtualization) || isNullOrUndefined(args['chartRow'])) {
|
|
751
789
|
return;
|
|
752
790
|
}
|
|
753
|
-
var record
|
|
791
|
+
var record;
|
|
792
|
+
if (!this.parent.loadChildOnDemand && this.parent.taskFields.hasChildMapping) {
|
|
793
|
+
record = this.parent.currentViewData.filter(function (item) { return item.ganttProperties[_this.parent.taskFields.id] === args['data'][_this.parent.taskFields.id]; })[0];
|
|
794
|
+
}
|
|
795
|
+
else {
|
|
796
|
+
record = getValue('data', args);
|
|
797
|
+
}
|
|
754
798
|
if (this.isExpandCollapseFromChart) {
|
|
755
799
|
this.expandCollapseChartRows('collapse', getValue('chartRow', args), record, null);
|
|
756
|
-
this.parent.
|
|
800
|
+
var idField_1 = this.parent.taskFields.id;
|
|
801
|
+
if (!this.parent.loadChildOnDemand && this.parent.taskFields.hasChildMapping) {
|
|
802
|
+
var gridRec = this.parent.treeGrid.getCurrentViewRecords().filter(function (item) { return item[idField_1] == args['data'][idField_1]; })[0];
|
|
803
|
+
this.parent.treeGrid.collapseRow(getValue('gridRow', args), gridRec);
|
|
804
|
+
}
|
|
805
|
+
else {
|
|
806
|
+
this.parent.treeGrid.collapseRow(getValue('gridRow', args), record);
|
|
807
|
+
}
|
|
757
808
|
this.isExpandCollapseFromChart = false;
|
|
758
809
|
}
|
|
759
810
|
else {
|
|
@@ -798,13 +849,27 @@ var GanttChart = /** @class */ (function () {
|
|
|
798
849
|
* @private
|
|
799
850
|
*/
|
|
800
851
|
GanttChart.prototype.expandedGanttRow = function (args) {
|
|
852
|
+
var _this = this;
|
|
801
853
|
if ((isNullOrUndefined(args['gridRow']) && this.parent.enableVirtualization) || isNullOrUndefined(args['chartRow'])) {
|
|
802
854
|
return;
|
|
803
855
|
}
|
|
804
|
-
var record
|
|
856
|
+
var record;
|
|
857
|
+
if (!this.parent.loadChildOnDemand && this.parent.taskFields.hasChildMapping) {
|
|
858
|
+
record = this.parent.currentViewData.filter(function (item) { return item.ganttProperties.taskId == args['data'][_this.parent.taskFields.id]; })[0];
|
|
859
|
+
}
|
|
860
|
+
else {
|
|
861
|
+
record = getValue('data', args);
|
|
862
|
+
}
|
|
805
863
|
if (this.isExpandCollapseFromChart) {
|
|
806
864
|
this.expandCollapseChartRows('expand', getValue('chartRow', args), record, null);
|
|
807
|
-
this.parent.
|
|
865
|
+
var idField_2 = this.parent.taskFields.id;
|
|
866
|
+
if (!this.parent.loadChildOnDemand && this.parent.taskFields.hasChildMapping) {
|
|
867
|
+
var gridRec = this.parent.treeGrid.getCurrentViewRecords().filter(function (item) { return item[idField_2] == args['data'][idField_2]; })[0];
|
|
868
|
+
this.parent.treeGrid.expandRow(getValue('gridRow', args), gridRec);
|
|
869
|
+
}
|
|
870
|
+
else {
|
|
871
|
+
this.parent.treeGrid.expandRow(getValue('gridRow', args), record);
|
|
872
|
+
}
|
|
808
873
|
this.isExpandCollapseFromChart = false;
|
|
809
874
|
}
|
|
810
875
|
else {
|
|
@@ -903,9 +968,17 @@ var GanttChart = /** @class */ (function () {
|
|
|
903
968
|
this.parent.treeGrid.expandAll();
|
|
904
969
|
}
|
|
905
970
|
else {
|
|
971
|
+
this.isCollapseAll = true;
|
|
906
972
|
this.parent.treeGrid.collapseAll();
|
|
973
|
+
if (this.isCollapseAll && !this.parent.allowTaskbarOverlap && this.parent.viewType === 'ResourceView') {
|
|
974
|
+
var treeGridContentHeight = this.parent.enableRtl ? this.parent['element'].getElementsByClassName('e-content')[2].children[0]['offsetHeight'] :
|
|
975
|
+
this.parent['element'].getElementsByClassName('e-content')[0].children[0]['offsetHeight'];
|
|
976
|
+
this.parent.contentHeight = treeGridContentHeight;
|
|
977
|
+
document.getElementsByClassName('e-chart-rows-container')[0]['style'].height = this.parent.contentHeight + 'px';
|
|
978
|
+
}
|
|
907
979
|
}
|
|
908
980
|
this.isExpandAll = false;
|
|
981
|
+
this.isCollapseAll = false;
|
|
909
982
|
};
|
|
910
983
|
/**
|
|
911
984
|
* Public method to expand particular level of rows.
|
|
@@ -1388,7 +1461,7 @@ var GanttChart = /** @class */ (function () {
|
|
|
1388
1461
|
childElement = element;
|
|
1389
1462
|
}
|
|
1390
1463
|
}
|
|
1391
|
-
if (element.classList.contains('e-right-label-temp-container') || element.classList.contains('e-left-label-temp-container') || element.classList.contains('e-indicator-span')) {
|
|
1464
|
+
if (element.classList.contains('e-right-label-temp-container') || element.classList.contains('e-left-label-temp-container') || element.classList.contains('e-indicator-span') || element.classList.contains("e-timeline-header-container")) {
|
|
1392
1465
|
if (focus === 'add') {
|
|
1393
1466
|
element.setAttribute('tabIndex', '0');
|
|
1394
1467
|
addClass([element], 'e-active-container');
|
|
@@ -1452,7 +1525,13 @@ var GanttChart = /** @class */ (function () {
|
|
|
1452
1525
|
recordIndex = this.parent.flatData.indexOf(record);
|
|
1453
1526
|
}
|
|
1454
1527
|
else {
|
|
1455
|
-
|
|
1528
|
+
if (this.parent.pdfExportModule && this.parent.pdfExportModule.helper.exportProps && this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings &&
|
|
1529
|
+
this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth && this.parent.pdfExportModule.isPdfExport) {
|
|
1530
|
+
recordIndex = this.parent.ids.indexOf(record.ganttProperties.taskId.toString());
|
|
1531
|
+
}
|
|
1532
|
+
else {
|
|
1533
|
+
recordIndex = this.parent.currentViewData.indexOf(record);
|
|
1534
|
+
}
|
|
1456
1535
|
}
|
|
1457
1536
|
}
|
|
1458
1537
|
return recordIndex;
|
|
@@ -57,6 +57,13 @@ export interface GanttModel extends ComponentModel{
|
|
|
57
57
|
*/
|
|
58
58
|
enableVirtualMaskRow?: boolean;
|
|
59
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Gets or sets whether to load child record on demand in remote data binding. Initially parent records are rendered in collapsed state.
|
|
62
|
+
*
|
|
63
|
+
* @default false
|
|
64
|
+
*/
|
|
65
|
+
loadChildOnDemand?: boolean;
|
|
66
|
+
|
|
60
67
|
/**
|
|
61
68
|
* Specifies whether to update offset value on a task for all the predecessor edit actions.
|
|
62
69
|
*
|
|
@@ -350,6 +350,12 @@ export declare class Gantt extends Component<HTMLElement> implements INotifyProp
|
|
|
350
350
|
* @default true
|
|
351
351
|
*/
|
|
352
352
|
enableVirtualMaskRow: boolean;
|
|
353
|
+
/**
|
|
354
|
+
* Gets or sets whether to load child record on demand in remote data binding. Initially parent records are rendered in collapsed state.
|
|
355
|
+
*
|
|
356
|
+
* @default false
|
|
357
|
+
*/
|
|
358
|
+
loadChildOnDemand: boolean;
|
|
353
359
|
/**
|
|
354
360
|
* Specifies whether to update offset value on a task for all the predecessor edit actions.
|
|
355
361
|
*
|
package/src/gantt/base/gantt.js
CHANGED
|
@@ -344,6 +344,7 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
344
344
|
createSpinner({ target: this.element }, this.createElement);
|
|
345
345
|
this.trigger('load', {});
|
|
346
346
|
this.element.classList.add(cls.root);
|
|
347
|
+
this.rowHeight = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? (this.rowHeight === 36) ? 46 : this.rowHeight : this.rowHeight;
|
|
347
348
|
if (this.isAdaptive) {
|
|
348
349
|
this.element.classList.add(cls.adaptive);
|
|
349
350
|
}
|
|
@@ -793,8 +794,6 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
793
794
|
removeClass(ganttChartElement.querySelectorAll('.e-critical-milestone'), cls.criticalMilestone);
|
|
794
795
|
removeClass(this.element.querySelectorAll('.e-connector-line'), cls.criticalConnectorLineSVG);
|
|
795
796
|
removeClass(this.element.querySelectorAll('.e-connector-line-arrow'), cls.criticalConnectorArrowSVG);
|
|
796
|
-
var innerDivs = document.querySelector('.e-gantt-child-taskbar-inner-div');
|
|
797
|
-
innerDivs.style.outlineColor = "";
|
|
798
797
|
};
|
|
799
798
|
Gantt.prototype.wireEvents = function () {
|
|
800
799
|
if (this.allowKeyboard) {
|
|
@@ -840,10 +839,12 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
840
839
|
var pane2 = this.splitterModule.splitterObject.element.querySelectorAll('.e-pane')[1];
|
|
841
840
|
this.splitterModule.splitterPreviousPositionGrid = pane1.scrollWidth + 1 + 'px';
|
|
842
841
|
this.splitterModule.splitterPreviousPositionChart = pane2.scrollWidth + 1 + 'px';
|
|
843
|
-
this.splitterModule.splitterObject.paneSettings[
|
|
844
|
-
|
|
842
|
+
this.splitterModule.splitterObject.paneSettings[1].size = (this.ganttWidth - parseInt(this.splitterModule.splitterPreviousPositionGrid) - 4) + 'px';
|
|
843
|
+
var proxy_1 = this;
|
|
845
844
|
if (this.timelineModule.isZoomToFit) {
|
|
846
|
-
|
|
845
|
+
setTimeout(function () {
|
|
846
|
+
proxy_1.timelineModule.processZoomToFit();
|
|
847
|
+
}, 0);
|
|
847
848
|
}
|
|
848
849
|
}
|
|
849
850
|
};
|
|
@@ -886,7 +887,39 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
886
887
|
this.treeGridModule.renderTreeGrid();
|
|
887
888
|
};
|
|
888
889
|
Gantt.prototype.updateCurrentViewData = function () {
|
|
890
|
+
var _this = this;
|
|
889
891
|
this.currentViewData = this.treeGrid.getCurrentViewRecords().slice();
|
|
892
|
+
if (!this.loadChildOnDemand && this.taskFields.hasChildMapping && this.currentViewData.length > 0) {
|
|
893
|
+
this.autoCalculateDateScheduling = false;
|
|
894
|
+
this.flatData = [];
|
|
895
|
+
this.dataOperation.taskIds = [];
|
|
896
|
+
this.ids = [];
|
|
897
|
+
this.dataOperation.recordIndex = 0;
|
|
898
|
+
this.dataOperation.dataArray = this.currentViewData;
|
|
899
|
+
this.dataOperation.cloneDataSource();
|
|
900
|
+
if (this.predecessorModule && this.taskFields.dependency) {
|
|
901
|
+
this.predecessorModule['parentIds'] = [];
|
|
902
|
+
this.predecessorModule['parentRecord'] = [];
|
|
903
|
+
this.predecessorModule.updatePredecessors();
|
|
904
|
+
}
|
|
905
|
+
var gridData = this.treeGrid.grid.contentModule['rows'];
|
|
906
|
+
var data = gridData.filter(function (x) {
|
|
907
|
+
if (x['data'][_this.taskFields.id] === _this.flatData[0].ganttProperties.taskId) {
|
|
908
|
+
return x;
|
|
909
|
+
}
|
|
910
|
+
})[0];
|
|
911
|
+
var index = data['index'];
|
|
912
|
+
for (var i = 0; i < this.flatData.length; i++) {
|
|
913
|
+
this.flatData[i].index = index;
|
|
914
|
+
index++;
|
|
915
|
+
}
|
|
916
|
+
this.currentViewData = this.flatData;
|
|
917
|
+
this.treeGrid.grid.currentViewData = this.flatData;
|
|
918
|
+
if (!isNullOrUndefined(this.treeGrid['virtualScrollModule'])) {
|
|
919
|
+
this.treeGrid['virtualScrollModule'].visualData = this.flatData;
|
|
920
|
+
this.updatedRecords = this.flatData;
|
|
921
|
+
}
|
|
922
|
+
}
|
|
890
923
|
};
|
|
891
924
|
/**
|
|
892
925
|
* @param {IGanttData} records -Defines the delete record collections.
|
|
@@ -906,7 +939,7 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
906
939
|
* @private
|
|
907
940
|
*/
|
|
908
941
|
Gantt.prototype.updateContentHeight = function (args) {
|
|
909
|
-
if (!this.allowTaskbarOverlap && this.viewType === 'ResourceView' && !this.isLoad) {
|
|
942
|
+
if ((!this.allowTaskbarOverlap && !this.ganttChartModule.isCollapseAll && !this.ganttChartModule.isExpandAll) && this.viewType === 'ResourceView' && !this.isLoad) {
|
|
910
943
|
return;
|
|
911
944
|
}
|
|
912
945
|
else {
|
|
@@ -1272,6 +1305,9 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1272
1305
|
else {
|
|
1273
1306
|
this.getCurrentRecords(args);
|
|
1274
1307
|
}
|
|
1308
|
+
if (!this.loadChildOnDemand && this.taskFields.hasChildMapping) {
|
|
1309
|
+
this.updateContentHeight();
|
|
1310
|
+
}
|
|
1275
1311
|
if (this.enableCriticalPath && this.criticalPathModule) {
|
|
1276
1312
|
this.criticalPathModule.showCriticalPath(this.enableCriticalPath);
|
|
1277
1313
|
}
|
|
@@ -1287,6 +1323,9 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1287
1323
|
}
|
|
1288
1324
|
this.initialChartRowElements = this.ganttChartModule.getChartRows();
|
|
1289
1325
|
this.isLoad = false;
|
|
1326
|
+
if (!this.loadChildOnDemand && this.taskFields.hasChildMapping) {
|
|
1327
|
+
this.autoCalculateDateScheduling = true;
|
|
1328
|
+
}
|
|
1290
1329
|
this.trigger('dataBound', args);
|
|
1291
1330
|
};
|
|
1292
1331
|
/**
|
|
@@ -1551,7 +1590,14 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1551
1590
|
if (prop === 'locale') {
|
|
1552
1591
|
this.isLocaleChanged = true;
|
|
1553
1592
|
}
|
|
1554
|
-
|
|
1593
|
+
if (prop === 'taskFields') {
|
|
1594
|
+
if (!isNullOrUndefined(newProp.taskFields.child)) {
|
|
1595
|
+
return;
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
if (prop !== 'allowTaskbarDragAndDrop') {
|
|
1599
|
+
isRefresh = true;
|
|
1600
|
+
}
|
|
1555
1601
|
break;
|
|
1556
1602
|
case 'validateManualTasksOnLinking':
|
|
1557
1603
|
this.validateManualTasksOnLinking = newProp.validateManualTasksOnLinking;
|
|
@@ -2231,6 +2277,9 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
2231
2277
|
* @returns {Promise<any>} .
|
|
2232
2278
|
*/
|
|
2233
2279
|
Gantt.prototype.pdfExport = function (pdfExportProperties, isMultipleExport, pdfDoc, isBlob) {
|
|
2280
|
+
if (pdfExportProperties && pdfExportProperties.fitToWidthSettings && pdfExportProperties.fitToWidthSettings.isFitToWidth) {
|
|
2281
|
+
pdfExportProperties.pageOrientation == 'Landscape';
|
|
2282
|
+
}
|
|
2234
2283
|
return this.pdfExportModule ? this.pdfExportModule.export(pdfExportProperties, isMultipleExport, pdfDoc, isBlob)
|
|
2235
2284
|
: null;
|
|
2236
2285
|
};
|
|
@@ -2319,14 +2368,17 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
2319
2368
|
this.isTimelineRoundOff = isTimelineRoundOff;
|
|
2320
2369
|
this.timelineModule.refreshTimelineByTimeSpan();
|
|
2321
2370
|
this.dataOperation.reUpdateGanttDataPosition();
|
|
2322
|
-
this.
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
this.ganttChartModule.
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2371
|
+
if (!this.pdfExportModule || (this.pdfExportModule && !this.pdfExportModule.isPdfExport) || (this.pdfExportModule && this.pdfExportModule.isPdfExport && this.pdfExportModule.helper.exportProps &&
|
|
2372
|
+
this.pdfExportModule.helper.exportProps.fitToWidthSettings && !this.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth)) {
|
|
2373
|
+
this.timelineModule.updateChartByNewTimeline();
|
|
2374
|
+
this.ganttChartModule.chartBodyContent.style.width = formatUnit(this.timelineModule.totalTimelineWidth);
|
|
2375
|
+
this.ganttChartModule.updateLastRowBottomWidth();
|
|
2376
|
+
if (this.taskFields.dependency) {
|
|
2377
|
+
this.ganttChartModule.reRenderConnectorLines();
|
|
2378
|
+
}
|
|
2379
|
+
if (isFrom !== 'beforeAdd') {
|
|
2380
|
+
this.notify('selectRowByIndex', {});
|
|
2381
|
+
}
|
|
2330
2382
|
}
|
|
2331
2383
|
};
|
|
2332
2384
|
/**
|
|
@@ -2904,8 +2956,15 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
2904
2956
|
* @returns {HTMLElement} .
|
|
2905
2957
|
*/
|
|
2906
2958
|
Gantt.prototype.getRowByID = function (id) {
|
|
2959
|
+
var _this = this;
|
|
2907
2960
|
var record = this.getRecordByID(id.toString());
|
|
2908
|
-
var index
|
|
2961
|
+
var index;
|
|
2962
|
+
if (!this.loadChildOnDemand && this.taskFields.hasChildMapping) {
|
|
2963
|
+
index = this.updatedRecords.map(function (item) { return item[_this.taskFields.id]; }).indexOf(record.ganttProperties.taskId);
|
|
2964
|
+
}
|
|
2965
|
+
else {
|
|
2966
|
+
index = this.updatedRecords.indexOf(record);
|
|
2967
|
+
}
|
|
2909
2968
|
if (index !== -1) {
|
|
2910
2969
|
return this.getRowByIndex(index);
|
|
2911
2970
|
}
|
|
@@ -3366,6 +3425,9 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
3366
3425
|
__decorate([
|
|
3367
3426
|
Property(true)
|
|
3368
3427
|
], Gantt.prototype, "enableVirtualMaskRow", void 0);
|
|
3428
|
+
__decorate([
|
|
3429
|
+
Property(false)
|
|
3430
|
+
], Gantt.prototype, "loadChildOnDemand", void 0);
|
|
3369
3431
|
__decorate([
|
|
3370
3432
|
Property(true)
|
|
3371
3433
|
], Gantt.prototype, "UpdateOffsetOnTaskbarEdit", void 0);
|
|
@@ -802,6 +802,8 @@ export interface PdfExportProperties {
|
|
|
802
802
|
exportType?: ExportType;
|
|
803
803
|
/** Indicates whether to show the predecessors in exported Pdf */
|
|
804
804
|
showPredecessorLines?: boolean;
|
|
805
|
+
/** Defines the export options in rendering each row fit to the PDF page width */
|
|
806
|
+
fitToWidthSettings?: FitToWidthSettings;
|
|
805
807
|
}
|
|
806
808
|
export interface PdfQueryCellInfoEventArgs {
|
|
807
809
|
/** Defines the column of the current cell. */
|
|
@@ -886,6 +888,18 @@ export interface ITaskbarStyle {
|
|
|
886
888
|
criticalProgressColor?: PdfColor;
|
|
887
889
|
/** Defines the child taskbar border color */
|
|
888
890
|
criticalTaskBorderColor?: PdfColor;
|
|
891
|
+
/** Defines the baseline color */
|
|
892
|
+
baselineColor?: PdfColor;
|
|
893
|
+
/** Defines the baseline border color */
|
|
894
|
+
baselineBorderColor?: PdfColor;
|
|
895
|
+
}
|
|
896
|
+
export interface FitToWidthSettings {
|
|
897
|
+
/** Specifies whether to export gantt data where each row is adjusted and rendered to fit the PDF document page size. */
|
|
898
|
+
isFitToWidth?: boolean;
|
|
899
|
+
/** Specifies the grid width in percentage while exporting. */
|
|
900
|
+
gridWidth?: string;
|
|
901
|
+
/** Specifies the chart width in percentage while exporting. */
|
|
902
|
+
chartWidth?: string;
|
|
889
903
|
}
|
|
890
904
|
export interface IGanttStyle {
|
|
891
905
|
/** Defines the columnHeader style. */
|
|
@@ -71,6 +71,7 @@ var Splitter = /** @class */ (function () {
|
|
|
71
71
|
var leftPane = args.pane[0];
|
|
72
72
|
_this.splitterPreviousPositionGrid = leftPane.scrollWidth + 1 + 'px';
|
|
73
73
|
_this.splitterObject.paneSettings[0].size = _this.getSpliterPositionInPercentage(_this.splitterPreviousPositionGrid);
|
|
74
|
+
_this.splitterObject.paneSettings[1].size = (_this.parent.ganttWidth - parseInt(_this.splitterPreviousPositionGrid) - 4) + 'px';
|
|
74
75
|
var callBackPromise = new Deferred();
|
|
75
76
|
_this.parent.trigger('splitterResized', args, function (splitterResizedArgs) {
|
|
76
77
|
if (splitterResizedArgs.cancel === true) {
|
|
@@ -5,9 +5,9 @@ import { DateProcessor } from './date-processor';
|
|
|
5
5
|
* To calculate and update task related values
|
|
6
6
|
*/
|
|
7
7
|
export declare class TaskProcessor extends DateProcessor {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
recordIndex: number;
|
|
9
|
+
dataArray: Object[];
|
|
10
|
+
taskIds: Object[];
|
|
11
11
|
private segmentCollection;
|
|
12
12
|
private hierarchyData;
|
|
13
13
|
constructor(parent: Gantt);
|
|
@@ -21,7 +21,7 @@ export declare class TaskProcessor extends DateProcessor {
|
|
|
21
21
|
private processTimeline;
|
|
22
22
|
private initDataSource;
|
|
23
23
|
private constructDataSource;
|
|
24
|
-
|
|
24
|
+
cloneDataSource(): void;
|
|
25
25
|
/**
|
|
26
26
|
* @param {object[]} resources .
|
|
27
27
|
* @param {object[]} data .
|
|
@@ -87,7 +87,9 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
87
87
|
dataManager.executeQuery(queryManager).then(function (e) {
|
|
88
88
|
_this.dataArray = e.result;
|
|
89
89
|
_this.processTimeline();
|
|
90
|
-
_this.
|
|
90
|
+
if (_this.parent.loadChildOnDemand || (!_this.parent.loadChildOnDemand && !(_this.parent.taskFields.hasChildMapping))) {
|
|
91
|
+
_this.cloneDataSource();
|
|
92
|
+
}
|
|
91
93
|
_this.parent.renderGantt(isChange);
|
|
92
94
|
}).catch(function (e) {
|
|
93
95
|
// Trigger action failure event
|
|
@@ -126,6 +128,9 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
126
128
|
var data = [];
|
|
127
129
|
for (var i = 0; i < this.dataArray.length; i++) {
|
|
128
130
|
var tempData = this.dataArray[i];
|
|
131
|
+
if (tempData['parentItem']) {
|
|
132
|
+
delete tempData['parentItem'];
|
|
133
|
+
}
|
|
129
134
|
data.push(extend({}, {}, tempData, true));
|
|
130
135
|
if (!isNullOrUndefined(tempData[taskIdMapping])) {
|
|
131
136
|
this.taskIds.push(tempData[taskIdMapping].toString());
|
|
@@ -135,7 +140,12 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
135
140
|
this.parent.setProperties({ taskFields: { child: 'Children' } }, true);
|
|
136
141
|
}
|
|
137
142
|
this.constructDataSource(data);
|
|
138
|
-
|
|
143
|
+
if (!this.parent.loadChildOnDemand && this.parent.taskFields.hasChildMapping && this.hierarchyData.length === 0) {
|
|
144
|
+
hierarchicalData = this.dataArray;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
hierarchicalData = this.hierarchyData;
|
|
148
|
+
}
|
|
139
149
|
}
|
|
140
150
|
else {
|
|
141
151
|
hierarchicalData = this.dataArray;
|
|
@@ -357,7 +367,12 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
357
367
|
if (!isNullOrUndefined(data[taskSettings.id])) {
|
|
358
368
|
id = data[taskSettings.id];
|
|
359
369
|
name = data[taskSettings.name];
|
|
360
|
-
this.
|
|
370
|
+
if (!this.parent.loadChildOnDemand && taskSettings.hasChildMapping && data['taskData']) {
|
|
371
|
+
ganttData['taskData'] = data['taskData'];
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
this.addTaskData(ganttData, data, isLoad);
|
|
375
|
+
}
|
|
361
376
|
}
|
|
362
377
|
else if (!isNullOrUndefined(data[resourceFields.id])) {
|
|
363
378
|
id = data[resourceFields.id];
|
|
@@ -395,6 +410,9 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
395
410
|
this.parent.setRecordValue('notes', notes, ganttProperties, true);
|
|
396
411
|
this.parent.setRecordValue('cssClass', data[taskSettings.cssClass], ganttProperties, true);
|
|
397
412
|
this.parent.setRecordValue('parentItem', this.getCloneParent(parentItem), ganttData);
|
|
413
|
+
if (!this.parent.loadChildOnDemand && taskSettings.hasChildMapping && this.parent.currentViewData.length > 0) {
|
|
414
|
+
this.parent.setRecordValue('parentItem', ganttData.parentItem, this.parent.currentViewData[this.taskIds.indexOf(data[taskSettings.id].toString())]);
|
|
415
|
+
}
|
|
398
416
|
var parentUniqId = ganttData.parentItem ? ganttData.parentItem.uniqueID : null;
|
|
399
417
|
this.parent.setRecordValue('parentUniqueID', parentUniqId, ganttData);
|
|
400
418
|
if (this.parent.viewType === 'ResourceView' && !isNullOrUndefined(taskSettings.parentID)
|
|
@@ -402,7 +420,12 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
402
420
|
this.parent.setRecordValue('parentId', ganttData.parentItem.taskId, ganttProperties, true);
|
|
403
421
|
}
|
|
404
422
|
this.parent.setRecordValue('level', level, ganttData);
|
|
405
|
-
|
|
423
|
+
if (!this.parent.loadChildOnDemand && taskSettings.hasChildMapping && data['uniqueID']) {
|
|
424
|
+
this.parent.setRecordValue('uniqueID', data['uniqueID'], ganttData);
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
this.parent.setRecordValue('uniqueID', getUid(this.parent.element.id + '_data_'), ganttData);
|
|
428
|
+
}
|
|
406
429
|
this.parent.setRecordValue('uniqueID', ganttData.uniqueID, ganttProperties, true);
|
|
407
430
|
this.parent.setRecordValue('childRecords', [], ganttData);
|
|
408
431
|
if (this.parent.dataSource instanceof Object && isCountRequired(this.parent) &&
|
|
@@ -417,7 +440,12 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
417
440
|
}
|
|
418
441
|
}
|
|
419
442
|
else {
|
|
420
|
-
this.parent.
|
|
443
|
+
if (!this.parent.loadChildOnDemand && taskSettings.hasChildMapping && ganttData.taskData[taskSettings.hasChildMapping]) {
|
|
444
|
+
this.parent.setRecordValue('hasChildRecords', true, ganttData);
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
this.parent.setRecordValue('hasChildRecords', false, ganttData);
|
|
448
|
+
}
|
|
421
449
|
}
|
|
422
450
|
if (ganttData.hasChildRecords) {
|
|
423
451
|
this.parent.setRecordValue('autoStartDate', ganttData.ganttProperties.startDate, ganttProperties);
|
|
@@ -1030,7 +1058,12 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
1030
1058
|
}
|
|
1031
1059
|
else {
|
|
1032
1060
|
this.updateDurationValue(duration, ganttProperties);
|
|
1033
|
-
this.
|
|
1061
|
+
if (this.parent.autoCalculateDateScheduling) {
|
|
1062
|
+
this.calculateEndDate(ganttData);
|
|
1063
|
+
}
|
|
1064
|
+
else {
|
|
1065
|
+
this.parent.setRecordValue('endDate', endDate, ganttProperties, true);
|
|
1066
|
+
}
|
|
1034
1067
|
}
|
|
1035
1068
|
};
|
|
1036
1069
|
/**
|
|
@@ -1815,7 +1848,7 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
1815
1848
|
*/
|
|
1816
1849
|
TaskProcessor.prototype.updateDurationValue = function (duration, ganttProperties) {
|
|
1817
1850
|
var tempDuration = this.getDurationValue(duration);
|
|
1818
|
-
if (!isNaN(getValue('duration', tempDuration))) {
|
|
1851
|
+
if (!isNaN(getValue('duration', tempDuration)) && !(this.parent.viewType === "ResourceView" && tempDuration["duration"] === 0)) {
|
|
1819
1852
|
this.parent.setRecordValue('duration', getValue('duration', tempDuration), ganttProperties, true);
|
|
1820
1853
|
}
|
|
1821
1854
|
if (!isNullOrUndefined(getValue('durationUnit', tempDuration))) {
|
|
@@ -2200,7 +2233,14 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
2200
2233
|
* @private
|
|
2201
2234
|
*/
|
|
2202
2235
|
TaskProcessor.prototype.reUpdateGanttDataPosition = function () {
|
|
2203
|
-
var flatData
|
|
2236
|
+
var flatData;
|
|
2237
|
+
if (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps &&
|
|
2238
|
+
this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings && this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) {
|
|
2239
|
+
flatData = this.parent.pdfExportModule.helper.beforeSinglePageExport['cloneFlatData'];
|
|
2240
|
+
}
|
|
2241
|
+
else {
|
|
2242
|
+
flatData = this.parent.flatData;
|
|
2243
|
+
}
|
|
2204
2244
|
var length = flatData.length;
|
|
2205
2245
|
for (var i = 0; i < length; i++) {
|
|
2206
2246
|
var data = flatData[i];
|
|
@@ -2327,6 +2367,7 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
2327
2367
|
* @private
|
|
2328
2368
|
*/
|
|
2329
2369
|
TaskProcessor.prototype.updateParentItems = function (cloneParent, isParent) {
|
|
2370
|
+
var _this = this;
|
|
2330
2371
|
var parentData = isParent ? cloneParent : this.parent.getParentTask(cloneParent);
|
|
2331
2372
|
var deleteUpdate = false;
|
|
2332
2373
|
var ganttProp = parentData.ganttProperties;
|
|
@@ -2335,8 +2376,8 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
2335
2376
|
var previousStartDate = ganttProp.isAutoSchedule ? ganttProp.startDate : ganttProp.autoStartDate;
|
|
2336
2377
|
var previousEndDate = ganttProp.isAutoSchedule ? ganttProp.endDate :
|
|
2337
2378
|
ganttProp.autoEndDate;
|
|
2338
|
-
var
|
|
2339
|
-
var childLength =
|
|
2379
|
+
var childRecords_1 = parentData.childRecords;
|
|
2380
|
+
var childLength = childRecords_1.length;
|
|
2340
2381
|
var totalDuration = 0;
|
|
2341
2382
|
var progressValues = {};
|
|
2342
2383
|
var minStartDate = null;
|
|
@@ -2345,38 +2386,43 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
2345
2386
|
var totalProgress = 0;
|
|
2346
2387
|
var childCompletedWorks = 0;
|
|
2347
2388
|
var childData = void 0;
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2389
|
+
var _loop_6 = function (count) {
|
|
2390
|
+
if (!this_4.parent.loadChildOnDemand && this_4.parent.taskFields.hasChildMapping) {
|
|
2391
|
+
childData = this_4.parent.currentViewData.filter(function (item) { return item.ganttProperties.taskId === childRecords_1[count][_this.parent.taskFields.id]; })[0];
|
|
2392
|
+
}
|
|
2393
|
+
else {
|
|
2394
|
+
childData = childRecords_1[count];
|
|
2395
|
+
}
|
|
2396
|
+
if (this_4.parent.isOnDelete && childData.isDelete) {
|
|
2397
|
+
if (childLength === 1 && this_4.parent.viewType === 'ProjectView') {
|
|
2352
2398
|
deleteUpdate = true;
|
|
2353
2399
|
}
|
|
2354
|
-
continue;
|
|
2400
|
+
return "continue";
|
|
2355
2401
|
}
|
|
2356
|
-
var startDate =
|
|
2402
|
+
var startDate = this_4.getValidStartDate(childData.ganttProperties);
|
|
2357
2403
|
if (parentData.hasChildRecords && !ganttProp.isAutoSchedule && !isNullOrUndefined(childData.ganttProperties.autoStartDate)) {
|
|
2358
2404
|
startDate = childData.ganttProperties.autoStartDate;
|
|
2359
2405
|
}
|
|
2360
|
-
var endDate =
|
|
2406
|
+
var endDate = this_4.getValidEndDate(childData.ganttProperties);
|
|
2361
2407
|
if (parentData.hasChildRecords && !ganttProp.isAutoSchedule && !isNullOrUndefined(childData.ganttProperties.autoEndDate)) {
|
|
2362
2408
|
endDate = childData.ganttProperties.autoEndDate;
|
|
2363
2409
|
}
|
|
2364
2410
|
if (isNullOrUndefined(minStartDate)) {
|
|
2365
|
-
minStartDate =
|
|
2411
|
+
minStartDate = this_4.getDateFromFormat(startDate);
|
|
2366
2412
|
}
|
|
2367
2413
|
if (isNullOrUndefined(maxEndDate)) {
|
|
2368
|
-
maxEndDate =
|
|
2414
|
+
maxEndDate = this_4.getDateFromFormat(endDate);
|
|
2369
2415
|
}
|
|
2370
|
-
if (!isNullOrUndefined(endDate) &&
|
|
2371
|
-
maxEndDate =
|
|
2416
|
+
if (!isNullOrUndefined(endDate) && this_4.compareDates(endDate, maxEndDate) === 1) {
|
|
2417
|
+
maxEndDate = this_4.getDateFromFormat(endDate);
|
|
2372
2418
|
}
|
|
2373
|
-
if (!isNullOrUndefined(startDate) &&
|
|
2374
|
-
minStartDate =
|
|
2419
|
+
if (!isNullOrUndefined(startDate) && this_4.compareDates(startDate, minStartDate) === -1) {
|
|
2420
|
+
minStartDate = this_4.getDateFromFormat(startDate);
|
|
2375
2421
|
}
|
|
2376
2422
|
if (!childData.ganttProperties.isMilestone && isScheduledTask(childData.ganttProperties)) {
|
|
2377
|
-
progressValues =
|
|
2423
|
+
progressValues = this_4.getParentProgress(childData);
|
|
2378
2424
|
totalProgress += getValue('totalProgress', progressValues);
|
|
2379
|
-
if (childData[
|
|
2425
|
+
if (childData[this_4.parent.taskFields.duration] < 1) {
|
|
2380
2426
|
totalDuration += getValue('totalDuration', progressValues);
|
|
2381
2427
|
totalDuration = Number(totalDuration.toFixed(4));
|
|
2382
2428
|
}
|
|
@@ -2388,6 +2434,10 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
2388
2434
|
milestoneCount++;
|
|
2389
2435
|
}
|
|
2390
2436
|
childCompletedWorks += childData.ganttProperties.work;
|
|
2437
|
+
};
|
|
2438
|
+
var this_4 = this;
|
|
2439
|
+
for (var count = 0; count < childLength; count++) {
|
|
2440
|
+
_loop_6(count);
|
|
2391
2441
|
}
|
|
2392
2442
|
if (!deleteUpdate) {
|
|
2393
2443
|
var taskCount = void 0;
|