@syncfusion/ej2-gantt 22.2.12 → 23.1.36

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.
Files changed (124) hide show
  1. package/CHANGELOG.md +180 -164
  2. package/dist/ej2-gantt.min.js +2 -2
  3. package/dist/ej2-gantt.umd.min.js +2 -2
  4. package/dist/ej2-gantt.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-gantt.es2015.js +846 -242
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +884 -264
  8. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  9. package/dist/global/ej2-gantt.min.js +2 -2
  10. package/dist/global/ej2-gantt.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +21 -21
  13. package/src/gantt/actions/cell-edit.js +4 -1
  14. package/src/gantt/actions/critical-path.d.ts +2 -0
  15. package/src/gantt/actions/critical-path.js +79 -59
  16. package/src/gantt/actions/dependency.d.ts +1 -0
  17. package/src/gantt/actions/dependency.js +43 -25
  18. package/src/gantt/actions/dialog-edit.js +27 -7
  19. package/src/gantt/actions/edit.js +15 -8
  20. package/src/gantt/actions/pdf-export.d.ts +4 -1
  21. package/src/gantt/actions/pdf-export.js +36 -3
  22. package/src/gantt/actions/rowdragdrop.js +10 -2
  23. package/src/gantt/actions/selection.js +22 -5
  24. package/src/gantt/actions/taskbar-edit.js +51 -36
  25. package/src/gantt/actions/toolbar.js +8 -0
  26. package/src/gantt/base/date-processor.js +1 -1
  27. package/src/gantt/base/gantt-chart.d.ts +1 -0
  28. package/src/gantt/base/gantt-chart.js +79 -6
  29. package/src/gantt/base/gantt-model.d.ts +7 -0
  30. package/src/gantt/base/gantt.d.ts +6 -0
  31. package/src/gantt/base/gantt.js +73 -11
  32. package/src/gantt/base/interface.d.ts +14 -0
  33. package/src/gantt/base/task-processor.d.ts +4 -4
  34. package/src/gantt/base/task-processor.js +75 -25
  35. package/src/gantt/base/tree-grid.js +19 -10
  36. package/src/gantt/export/export-helper.d.ts +5 -1
  37. package/src/gantt/export/export-helper.js +150 -3
  38. package/src/gantt/export/pdf-base/pdf-grid-table.js +2 -2
  39. package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +8 -0
  40. package/src/gantt/export/pdf-base/treegrid-layouter.js +3 -1
  41. package/src/gantt/export/pdf-connector-line.js +3 -1
  42. package/src/gantt/export/pdf-gantt.js +6 -0
  43. package/src/gantt/export/pdf-taskbar.d.ts +13 -0
  44. package/src/gantt/export/pdf-taskbar.js +39 -5
  45. package/src/gantt/export/pdf-timeline.js +17 -8
  46. package/src/gantt/export/pdf-treegrid.js +3 -3
  47. package/src/gantt/models/task-fields-model.d.ts +7 -0
  48. package/src/gantt/models/task-fields.d.ts +6 -0
  49. package/src/gantt/models/task-fields.js +3 -0
  50. package/src/gantt/renderer/chart-rows.d.ts +1 -1
  51. package/src/gantt/renderer/chart-rows.js +39 -20
  52. package/src/gantt/renderer/connector-line.js +49 -9
  53. package/src/gantt/renderer/edit-tooltip.js +2 -1
  54. package/src/gantt/renderer/timeline.js +16 -9
  55. package/src/gantt/renderer/tooltip.js +5 -5
  56. package/styles/bootstrap-dark.css +44 -100
  57. package/styles/bootstrap.css +44 -100
  58. package/styles/bootstrap4.css +44 -100
  59. package/styles/bootstrap5-dark.css +44 -100
  60. package/styles/bootstrap5.css +44 -100
  61. package/styles/fabric-dark.css +44 -100
  62. package/styles/fabric.css +44 -100
  63. package/styles/fluent-dark.css +44 -100
  64. package/styles/fluent.css +44 -100
  65. package/styles/gantt/_layout.scss +44 -31
  66. package/styles/gantt/_theme.scss +104 -98
  67. package/styles/gantt/bootstrap-dark.css +44 -100
  68. package/styles/gantt/bootstrap-dark.scss +1 -1
  69. package/styles/gantt/bootstrap.css +44 -100
  70. package/styles/gantt/bootstrap.scss +1 -1
  71. package/styles/gantt/bootstrap4.css +44 -100
  72. package/styles/gantt/bootstrap4.scss +1 -1
  73. package/styles/gantt/bootstrap5-dark.css +44 -100
  74. package/styles/gantt/bootstrap5-dark.scss +1 -1
  75. package/styles/gantt/bootstrap5.css +44 -100
  76. package/styles/gantt/bootstrap5.scss +1 -1
  77. package/styles/gantt/fabric-dark.css +44 -100
  78. package/styles/gantt/fabric-dark.scss +1 -1
  79. package/styles/gantt/fabric.css +44 -100
  80. package/styles/gantt/fabric.scss +1 -1
  81. package/styles/gantt/fluent-dark.css +44 -100
  82. package/styles/gantt/fluent-dark.scss +1 -1
  83. package/styles/gantt/fluent.css +44 -100
  84. package/styles/gantt/fluent.scss +1 -1
  85. package/styles/gantt/highcontrast-light.css +40 -100
  86. package/styles/gantt/highcontrast-light.scss +1 -1
  87. package/styles/gantt/highcontrast.css +44 -100
  88. package/styles/gantt/highcontrast.scss +1 -1
  89. package/styles/gantt/icons/_bootstrap-dark.scss +4 -0
  90. package/styles/gantt/icons/_bootstrap.scss +4 -0
  91. package/styles/gantt/icons/_bootstrap4.scss +4 -0
  92. package/styles/gantt/icons/_bootstrap5.scss +4 -0
  93. package/styles/gantt/icons/_fabric-dark.scss +4 -0
  94. package/styles/gantt/icons/_fabric.scss +4 -0
  95. package/styles/gantt/icons/_fluent.scss +4 -0
  96. package/styles/gantt/icons/_fusionnew.scss +4 -0
  97. package/styles/gantt/icons/_highcontrast.scss +4 -0
  98. package/styles/gantt/icons/_material-dark.scss +4 -0
  99. package/styles/gantt/icons/_material.scss +4 -0
  100. package/styles/gantt/icons/_material3.scss +4 -0
  101. package/styles/gantt/icons/_tailwind-dark.scss +4 -0
  102. package/styles/gantt/icons/_tailwind.scss +4 -0
  103. package/styles/gantt/material-dark.css +44 -101
  104. package/styles/gantt/material-dark.scss +1 -1
  105. package/styles/gantt/material.css +44 -101
  106. package/styles/gantt/material.scss +1 -1
  107. package/styles/gantt/material3-dark.css +45 -102
  108. package/styles/gantt/material3-dark.scss +1 -1
  109. package/styles/gantt/material3.css +45 -102
  110. package/styles/gantt/material3.scss +1 -1
  111. package/styles/gantt/tailwind-dark.css +44 -101
  112. package/styles/gantt/tailwind-dark.scss +1 -1
  113. package/styles/gantt/tailwind.css +44 -101
  114. package/styles/gantt/tailwind.scss +1 -1
  115. package/styles/highcontrast-light.css +40 -100
  116. package/styles/highcontrast.css +44 -100
  117. package/styles/material-dark.css +44 -101
  118. package/styles/material.css +44 -101
  119. package/styles/material3-dark.css +45 -102
  120. package/styles/material3-dark.scss +1 -1
  121. package/styles/material3.css +45 -102
  122. package/styles/material3.scss +1 -1
  123. package/styles/tailwind-dark.css +44 -101
  124. package/styles/tailwind.css +44 -101
@@ -35,6 +35,9 @@ var TaskFields = /** @class */ (function (_super) {
35
35
  __decorate([
36
36
  Property(null)
37
37
  ], TaskFields.prototype, "parentID", void 0);
38
+ __decorate([
39
+ Property(null)
40
+ ], TaskFields.prototype, "hasChildMapping", void 0);
38
41
  __decorate([
39
42
  Property(null)
40
43
  ], TaskFields.prototype, "startDate", void 0);
@@ -11,7 +11,7 @@ export declare class ChartRows extends DateProcessor {
11
11
  taskBarHeight: number;
12
12
  milestoneHeight: number;
13
13
  private milesStoneRadius;
14
- private baselineTop;
14
+ baselineTop: number;
15
15
  baselineHeight: number;
16
16
  private baselineColor;
17
17
  private parentTaskbarTemplateFunction;
@@ -305,16 +305,16 @@ var ChartRows = /** @class */ (function (_super) {
305
305
  return splitTasks;
306
306
  };
307
307
  ChartRows.prototype.getSplitTaskbarLeftResizerNode = function () {
308
- var lResizerLeft = -(this.parent.isAdaptive ? 12 : 2);
308
+ var lResizerLeft = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? 5 : -2;
309
309
  var template = '<div class="' + cls.taskBarLeftResizer + ' ' + cls.icon + '"' +
310
- ' style="' + (this.parent.enableRtl ? 'right:' : 'left:') + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
310
+ ' style="' + (this.parent.enableRtl ? 'right:' : 'left:') + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;z-index:1"></div>';
311
311
  return template;
312
312
  };
313
313
  ChartRows.prototype.getSplitTaskbarRightResizerNode = function (segment) {
314
- var rResizerLeft = this.parent.isAdaptive ? -2 : -10;
314
+ var rResizerLeft = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? -17 : -10;
315
315
  var template = '<div class="' + cls.taskBarRightResizer + ' ' + cls.icon + '"' +
316
316
  ' style="' + (this.parent.enableRtl ? 'right:' : 'left:') + (segment.width + rResizerLeft) + 'px;' +
317
- 'height:' + (this.taskBarHeight) + 'px;"></div>';
317
+ 'height:' + (this.taskBarHeight) + 'px;z-index:1"></div>';
318
318
  return template;
319
319
  };
320
320
  ChartRows.prototype.getSplitProgressResizerNode = function (segment) {
@@ -639,7 +639,7 @@ var ChartRows = /** @class */ (function (_super) {
639
639
  }
640
640
  else {
641
641
  var template = '<div class="' + cls.traceMilestone + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 6)) + 'px;height:' +
642
- ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 6)) + 'px;position:absolute;transform: rotate(45deg);top:' + (this.parent.rowHeight > 40 ? 0 : 1) + 'px;left:' + 1 + 'px;"> </div>';
642
+ ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 6)) + 'px;position:absolute;transform: rotate(45deg);left:' + 1 + 'px;"> </div>';
643
643
  milestoneNode = this.createDivElement(template);
644
644
  }
645
645
  return milestoneNode;
@@ -1017,16 +1017,16 @@ var ChartRows = /** @class */ (function (_super) {
1017
1017
  return this.createDivElement(template);
1018
1018
  };
1019
1019
  ChartRows.prototype.childTaskbarLeftResizer = function () {
1020
- var lResizerLeft = -(this.parent.isAdaptive ? 12 : 2);
1020
+ var lResizerLeft = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? 5 : -2;
1021
1021
  var template = '<div class="' + cls.taskBarLeftResizer + ' ' + cls.icon + '"' +
1022
- 'style="' + (this.parent.enableRtl ? 'right:' : 'left:') + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
1022
+ 'style="' + (this.parent.enableRtl ? 'right:' : 'left:') + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;z-index:1"></div>';
1023
1023
  return this.createDivElement(template);
1024
1024
  };
1025
1025
  ChartRows.prototype.childTaskbarRightResizer = function () {
1026
- var rResizerLeft = this.parent.isAdaptive ? -2 : -10;
1026
+ var rResizerLeft = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? -17 : -10;
1027
1027
  var template = '<div class="' + cls.taskBarRightResizer + ' ' + cls.icon + '"' +
1028
1028
  'style="' + (this.parent.enableRtl ? 'right:' : 'left:') + (this.templateData.ganttProperties.width + rResizerLeft) + 'px;' +
1029
- 'height:' + (this.taskBarHeight) + 'px;"></div>';
1029
+ 'height:' + (this.taskBarHeight) + 'px;z-index:1"></div>';
1030
1030
  return this.createDivElement(template);
1031
1031
  };
1032
1032
  ChartRows.prototype.childTaskbarProgressResizer = function () {
@@ -1040,8 +1040,10 @@ var ChartRows = /** @class */ (function (_super) {
1040
1040
  };
1041
1041
  ChartRows.prototype.getLeftPointNode = function () {
1042
1042
  var data = this.templateData;
1043
- var pointerLeft = -((this.parent.isAdaptive ? 14 : 2) + this.connectorPointWidth);
1044
- var mileStoneLeft = -(this.connectorPointWidth + 2);
1043
+ var left = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? 12 : 0;
1044
+ var mileStoneLeftValue = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? 6 : 3;
1045
+ var pointerLeft = -(3 + this.connectorPointWidth + left);
1046
+ var mileStoneLeft = -(this.connectorPointWidth + 4 + mileStoneLeftValue);
1045
1047
  var pointerTop = Math.floor(this.milesStoneRadius - (this.connectorPointWidth / 2));
1046
1048
  var marginTop;
1047
1049
  if ((!this.templateData.ganttProperties.isAutoSchedule && this.templateData.hasChildRecords) && this.parent.allowParentDependency) {
@@ -1060,7 +1062,8 @@ var ChartRows = /** @class */ (function (_super) {
1060
1062
  };
1061
1063
  ChartRows.prototype.getRightPointNode = function () {
1062
1064
  var data = this.templateData;
1063
- var pointerRight = this.parent.isAdaptive ? 10 : -2;
1065
+ var right = (!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? -12 : 0;
1066
+ var pointerRight = -(3 + right);
1064
1067
  var pointerTop = Math.floor(this.milesStoneRadius - (this.connectorPointWidth / 2));
1065
1068
  var marginTop;
1066
1069
  if ((!this.templateData.ganttProperties.isAutoSchedule && this.templateData.hasChildRecords) && this.parent.allowParentDependency) {
@@ -1070,7 +1073,7 @@ var ChartRows = /** @class */ (function (_super) {
1070
1073
  marginTop = 'margin-top:' + this.connectorPointMargin + 'px';
1071
1074
  }
1072
1075
  var template = '<div class="' + cls.rightConnectorPointOuterDiv + '" style="' +
1073
- ((data.ganttProperties.isMilestone) ? ('left:' + (this.milestoneHeight - 2) + 'px;margin-top:' +
1076
+ ((data.ganttProperties.isMilestone) ? ('left:' + ((!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? (this.milestoneHeight + 5) : this.milestoneHeight - 2) + 'px;margin-top:' +
1074
1077
  pointerTop + 'px;') : ('left:' + (data.ganttProperties.width + pointerRight) + 'px;' + marginTop + ';')) + '">' +
1075
1078
  '<div class="' + cls.connectorPointRight + ' ' + this.parent.getUnscheduledTaskClass(data.ganttProperties) +
1076
1079
  '" style="width:' + this.connectorPointWidth + 'px;height:' + this.connectorPointWidth + 'px;">' +
@@ -1243,7 +1246,7 @@ var ChartRows = /** @class */ (function (_super) {
1243
1246
  * @private
1244
1247
  */
1245
1248
  ChartRows.prototype.initChartHelperPrivateVariable = function () {
1246
- var taskbarHeightValue = this.parent.renderBaseline ? 0.45 : 0.62;
1249
+ var taskbarHeightValue = this.parent.renderBaseline ? 0.45 : ((!isNullOrUndefined(document.body.className) && document.body.className.includes("e-bigger")) ? 0.7 : 0.62);
1247
1250
  var taskBarMarginTopValue = this.parent.renderBaseline ? 4 : 2;
1248
1251
  var milestoneHeightValue = this.parent.renderBaseline ? 1.13 : 0.82;
1249
1252
  this.baselineColor = !isNullOrUndefined(this.parent.baselineColor) &&
@@ -1265,8 +1268,8 @@ var ChartRows = /** @class */ (function (_super) {
1265
1268
  this.milestoneMarginTop = Math.floor((this.parent.rowHeight - this.milestoneHeight) / 2);
1266
1269
  this.milesStoneRadius = Math.floor((this.milestoneHeight) / 2);
1267
1270
  this.baselineTop = -(Math.floor((this.parent.rowHeight - (this.taskBarHeight + this.taskBarMarginTop))) - 4);
1268
- this.connectorPointWidth = this.parent.isAdaptive ? Math.round(this.taskBarHeight / 2) : 10;
1269
- this.connectorPointMargin = Math.floor((this.taskBarHeight / 2) - (this.connectorPointWidth / 2)) - 1;
1271
+ this.connectorPointWidth = this.parent.isAdaptive ? Math.round(this.taskBarHeight / 2) : 8;
1272
+ this.connectorPointMargin = Math.floor((this.taskBarHeight / 2) - (this.connectorPointWidth / 2));
1270
1273
  };
1271
1274
  /**
1272
1275
  * Function used to refresh Gantt rows.
@@ -1552,11 +1555,24 @@ var ChartRows = /** @class */ (function (_super) {
1552
1555
  * @private
1553
1556
  */
1554
1557
  ChartRows.prototype.setAriaRowIndex = function (tempTemplateData, tRow) {
1558
+ var _this = this;
1555
1559
  var dataSource = this.parent.treeGrid.getCurrentViewRecords();
1556
1560
  var visualData = this.parent.virtualScrollModule && this.parent.enableVirtualization ?
1557
1561
  getValue('virtualScrollModule.visualData', this.parent.treeGrid) : dataSource;
1558
- var index = visualData.indexOf(tempTemplateData);
1559
- tRow.setAttribute('aria-rowindex', index.toString());
1562
+ var index;
1563
+ if (!this.parent.loadChildOnDemand && this.parent.taskFields.hasChildMapping) {
1564
+ var gridData = this.parent.treeGrid.grid.contentModule['rows'];
1565
+ var data = gridData.filter(function (x) {
1566
+ if (x['data'][_this.parent.taskFields.id] === tempTemplateData.ganttProperties.taskId) {
1567
+ return x;
1568
+ }
1569
+ })[0];
1570
+ tRow.setAttribute('aria-rowindex', data['index'].toString());
1571
+ }
1572
+ else {
1573
+ index = visualData.indexOf(tempTemplateData);
1574
+ tRow.setAttribute('aria-rowindex', index.toString());
1575
+ }
1560
1576
  };
1561
1577
  /**
1562
1578
  * To trigger query taskbar info event.
@@ -1932,8 +1948,11 @@ var ChartRows = /** @class */ (function (_super) {
1932
1948
  this.triggerQueryTaskbarInfoByIndex(tr, data);
1933
1949
  }
1934
1950
  var dataId = this.parent.viewType === 'ProjectView' ? data.ganttProperties.taskId : data.ganttProperties.rowUniqueID;
1935
- this.parent.treeGrid.grid.setRowData(dataId, data);
1936
- if (this.parent.viewType === 'ResourceView' && data.hasChildRecords && !data.expanded && this.parent.enableMultiTaskbar && !this.parent.allowTaskbarOverlap) {
1951
+ if (!this.parent.ganttChartModule.isExpandAll && !this.parent.ganttChartModule.isCollapseAll) {
1952
+ this.parent.treeGrid.grid.setRowData(dataId, data);
1953
+ }
1954
+ if (this.parent.viewType === 'ResourceView' && data.hasChildRecords && !data.expanded && this.parent.enableMultiTaskbar && !this.parent.allowTaskbarOverlap &&
1955
+ !this.parent.ganttChartModule.isCollapseAll && !this.parent.ganttChartModule.isExpandAll) {
1937
1956
  this.updateDragDropRecords(selectedItem, tr);
1938
1957
  }
1939
1958
  if (this.parent.viewType === 'ResourceView' && data.hasChildRecords && this.parent.showOverAllocation && !this.parent.allowTaskbarOverlap) {
@@ -57,7 +57,7 @@ var ConnectorLine = /** @class */ (function () {
57
57
  };
58
58
  ConnectorLine.prototype.getTaskbarMidpoint = function (isMilestone) {
59
59
  return Math.floor(isMilestone ?
60
- (this.parent.chartRowsModule.milestoneMarginTop + (this.parent.chartRowsModule.milestoneHeight / 2)) + 1 :
60
+ (this.parent.chartRowsModule.milestoneMarginTop + (this.parent.chartRowsModule.milestoneHeight / 2)) :
61
61
  (this.parent.chartRowsModule.taskBarMarginTop + (this.parent.chartRowsModule.taskBarHeight / 2))) + 1;
62
62
  };
63
63
  /**
@@ -71,14 +71,45 @@ var ConnectorLine = /** @class */ (function () {
71
71
  */
72
72
  ConnectorLine.prototype.createConnectorLineObject = function (parentGanttData, childGanttData, predecessor) {
73
73
  var connectorObj = {};
74
- var updatedRecords = this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport ?
75
- this.parent.flatData : this.expandedRecords;
76
- var parentIndex = updatedRecords.indexOf(parentGanttData);
77
- var childIndex = updatedRecords.indexOf(childGanttData);
74
+ var updatedRecords;
75
+ if (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps &&
76
+ this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings && this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) {
77
+ updatedRecords = this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport ?
78
+ this.parent.pdfExportModule.helper.beforeSinglePageExport['cloneFlatData'] : this.expandedRecords;
79
+ }
80
+ else {
81
+ updatedRecords = this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport ?
82
+ this.parent.flatData : this.expandedRecords;
83
+ }
84
+ var parentIndex;
85
+ var childIndex;
86
+ if (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps &&
87
+ this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings && this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) {
88
+ var parentData = this.parent.flatData.filter(function (data) {
89
+ return data.ganttProperties.taskId.toString() == parentGanttData.ganttProperties.taskId.toString();
90
+ })[0];
91
+ var childData = this.parent.flatData.filter(function (data) {
92
+ return data.ganttProperties.taskId.toString() == childGanttData.ganttProperties.taskId.toString();
93
+ })[0];
94
+ parentIndex = parentData.index;
95
+ childIndex = childData.index;
96
+ }
97
+ else {
98
+ parentIndex = updatedRecords.indexOf(parentGanttData);
99
+ childIndex = updatedRecords.indexOf(childGanttData);
100
+ }
78
101
  var parentGanttRecord = parentGanttData.ganttProperties;
79
102
  var childGanttRecord = childGanttData.ganttProperties;
80
- var currentData = this.parent.virtualScrollModule && this.parent.enableVirtualization ?
81
- this.parent.currentViewData : this.parent.getExpandedRecords(this.parent.currentViewData);
103
+ var currentData;
104
+ if (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps &&
105
+ this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings && this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) {
106
+ currentData = this.parent.virtualScrollModule && this.parent.enableVirtualization ?
107
+ this.parent.pdfExportModule.helper.beforeSinglePageExport['cloneFlatData'] : this.parent.getExpandedRecords(this.parent.pdfExportModule.helper.beforeSinglePageExport['cloneFlatData']);
108
+ }
109
+ else {
110
+ currentData = this.parent.virtualScrollModule && this.parent.enableVirtualization ?
111
+ this.parent.currentViewData : this.parent.getExpandedRecords(this.parent.currentViewData);
112
+ }
82
113
  connectorObj.parentIndexInCurrentView = currentData.indexOf(parentGanttData);
83
114
  connectorObj.childIndexInCurrentView = currentData.indexOf(childGanttData);
84
115
  var isVirtualScroll = this.parent.virtualScrollModule && this.parent.enableVirtualization;
@@ -864,8 +895,17 @@ var ConnectorLine = /** @class */ (function () {
864
895
  if (isNullOrUndefined(id)) {
865
896
  return null;
866
897
  }
867
- return this.parent.viewType === 'ResourceView' ? this.parent.flatData[this.parent.getTaskIds().indexOf('T' + id.toString())] :
868
- this.parent.flatData[this.parent.ids.indexOf(id.toString())];
898
+ if (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps &&
899
+ this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings && this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) {
900
+ var a = this.parent.pdfExportModule.helper.beforeSinglePageExport['cloneFlatData'].filter(function (data) {
901
+ return data.ganttProperties.taskId.toString() === id.toString();
902
+ })[0];
903
+ return a;
904
+ }
905
+ else {
906
+ return this.parent.viewType === 'ResourceView' ? this.parent.flatData[this.parent.getTaskIds().indexOf('T' + id.toString())] :
907
+ this.parent.flatData[this.parent.ids.indexOf(id.toString())];
908
+ }
869
909
  };
870
910
  /**
871
911
  * Method to remove connector line from DOM
@@ -50,6 +50,7 @@ var EditTooltip = /** @class */ (function () {
50
50
  * @returns {void} .
51
51
  */
52
52
  EditTooltip.prototype.updateTooltipPosition = function (args) {
53
+ args.element.style.visibility = 'visible';
53
54
  var parentWithZoomStyle = this.parent.element.closest('[style*="zoom"]');
54
55
  if (isNullOrUndefined(parentWithZoomStyle)) {
55
56
  var containerPosition = this.parent.getOffsetRect(this.parent.chartPane);
@@ -59,8 +60,8 @@ var EditTooltip = /** @class */ (function () {
59
60
  tooltipPositionX += leftEnd - (tooltipPositionX + args.element.offsetWidth);
60
61
  }
61
62
  args.element.style.left = tooltipPositionX + 'px';
63
+ args.element.style.visibility = 'visible';
62
64
  }
63
- args.element.style.visibility = 'visible';
64
65
  };
65
66
  /**
66
67
  * To show/hide taskbar edit tooltip.
@@ -74,7 +74,9 @@ var Timeline = /** @class */ (function () {
74
74
  */
75
75
  Timeline.prototype.refreshTimelineByTimeSpan = function () {
76
76
  this.validateTimelineProp();
77
- this.parent.ganttChartModule.chartTimelineContainer.innerHTML = '';
77
+ if (!this.parent.pdfExportModule || (this.parent.pdfExportModule && !this.parent.pdfExportModule.isPdfExport) || (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps && !this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth)) {
78
+ this.parent.ganttChartModule.chartTimelineContainer.innerHTML = '';
79
+ }
78
80
  this.createTimelineSeries();
79
81
  };
80
82
  /**
@@ -391,7 +393,10 @@ var Timeline = /** @class */ (function () {
391
393
  this.customTimelineSettings.topTier.format = this.validateFormat(this.topTier, this.customTimelineSettings.topTier.format);
392
394
  this.customTimelineSettings.weekStartDay = this.customTimelineSettings.weekStartDay >= 0 &&
393
395
  this.customTimelineSettings.weekStartDay <= 6 ? this.customTimelineSettings.weekStartDay : 0;
394
- this.checkCurrentZoomingLevel();
396
+ if (!(this.parent.pdfExportModule && this.parent.pdfExportModule.helper.exportProps &&
397
+ this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth)) {
398
+ this.checkCurrentZoomingLevel();
399
+ }
395
400
  };
396
401
  /**
397
402
  * To find the current zooming level of the Gantt control.
@@ -638,13 +643,15 @@ var Timeline = /** @class */ (function () {
638
643
  table = createElement('table', { className: cls.timelineHeaderTableContainer, styles: 'display: block;' });
639
644
  thead = createElement('thead', { className: cls.timelineHeaderTableBody, styles: 'display:block; border-collapse:collapse' });
640
645
  tr = createElement('tr', { innerHTML: this.createTimelineTemplate(tier) });
641
- td = createElement('th');
642
- div = createElement('div', { styles: 'width: 20px' });
643
- td.appendChild(div);
644
- tr.appendChild(td);
645
- thead.appendChild(tr);
646
- table.appendChild(thead);
647
- this.parent.ganttChartModule.chartTimelineContainer.appendChild(table);
646
+ if (!this.parent.pdfExportModule || (this.parent.pdfExportModule && !this.parent.pdfExportModule.isPdfExport) || (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.pdfExportModule.helper.exportProps && !this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth)) {
647
+ td = createElement('th');
648
+ div = createElement('div', { styles: 'width: 20px' });
649
+ td.appendChild(div);
650
+ tr.appendChild(td);
651
+ thead.appendChild(tr);
652
+ table.appendChild(thead);
653
+ this.parent.ganttChartModule.chartTimelineContainer.appendChild(table);
654
+ }
648
655
  tier = 'bottomTier';
649
656
  tr = null;
650
657
  }
@@ -88,8 +88,8 @@ var Tooltip = /** @class */ (function () {
88
88
  if (taskbarTemplateNode) {
89
89
  append(taskbarTemplateNode, tooltipTemplate);
90
90
  }
91
- argsData.content = this.toolTipObj.content = taskbarTemplateNode ? tooltipTemplate :
92
- parent.tooltipModule.getTooltipContent((data.ganttProperties.isMilestone ? 'milestone' : 'taskbar'), data, parent, args);
91
+ argsData.content = this.toolTipObj.content = taskbarTemplateNode ? tooltipTemplate : data ?
92
+ parent.tooltipModule.getTooltipContent((data.ganttProperties.isMilestone ? 'milestone' : 'taskbar'), data, parent, args) : "";
93
93
  }
94
94
  else if (args.target.classList.contains('e-baseline-bar') ||
95
95
  args.target.classList.contains('e-baseline-gantt-milestone')) {
@@ -101,8 +101,8 @@ var Tooltip = /** @class */ (function () {
101
101
  if (baseLineTemplateNode) {
102
102
  append(baseLineTemplateNode, baselineTemplate);
103
103
  }
104
- argsData.content = this.toolTipObj.content = baseLineTemplateNode ? baselineTemplate :
105
- parent.tooltipModule.getTooltipContent((data.ganttProperties.isMilestone ? 'milestone' : 'baseline'), data, parent, args);
104
+ argsData.content = this.toolTipObj.content = baseLineTemplateNode ? baselineTemplate : data ?
105
+ parent.tooltipModule.getTooltipContent((data.ganttProperties.isMilestone ? 'milestone' : 'baseline'), data, parent, args) : "";
106
106
  }
107
107
  else if (args.target.classList.contains('e-event-markers')) {
108
108
  argsData.content = this.toolTipObj.content = parent.tooltipModule.getTooltipContent('marker', data, parent, args);
@@ -169,7 +169,7 @@ var Tooltip = /** @class */ (function () {
169
169
  // eslint-disable-next-line
170
170
  Tooltip.prototype.tooltipCloseHandler = function (args) {
171
171
  this.tooltipMouseEvent = null;
172
- if (!this.parent.isAdaptive) {
172
+ if (!this.parent.isAdaptive && !isNullOrUndefined(this.currentTarget)) {
173
173
  EventHandler.remove(this.currentTarget, 'mousemove', this.mouseMoveHandler);
174
174
  }
175
175
  this.currentTarget = null;
@@ -247,6 +247,10 @@
247
247
  content: "\e903";
248
248
  }
249
249
 
250
+ .e-icon-rowselect::before {
251
+ content: "\e930";
252
+ }
253
+
250
254
  .e-gantt-tooltip-arrow-left::before {
251
255
  content: "\e85b";
252
256
  }
@@ -299,6 +303,7 @@
299
303
  .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-right-hover {
300
304
  background-color: #21527d;
301
305
  border-color: #1a1a1a;
306
+ position: relative;
302
307
  }
303
308
  .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-left-hover:hover,
304
309
  .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-right-hover:hover {
@@ -306,6 +311,17 @@
306
311
  border-color: #1a1a1a;
307
312
  outline: 2px solid #75ACDB;
308
313
  }
314
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-left-hover::after,
315
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-right-hover::after {
316
+ content: "";
317
+ position: absolute;
318
+ width: 30px;
319
+ height: 40px;
320
+ top: -10px;
321
+ }
322
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-allow-block {
323
+ cursor: no-drop;
324
+ }
309
325
  .e-bigger .e-gantt .e-tab .e-content {
310
326
  height: 242px !important;
311
327
  }
@@ -349,7 +365,6 @@
349
365
  }
350
366
  .e-bigger .e-gantt-dialog .e-dialog {
351
367
  border-radius: 6px;
352
- width: 556px !important;
353
368
  }
354
369
  .e-bigger .e-gantt-dialog .e-tab .e-tab-header .e-toolbar-item .e-tab-wrap {
355
370
  padding: 0 16px !important; /* stylelint-disable-line declaration-no-important */
@@ -491,10 +506,6 @@
491
506
  border-right: none !important; /* stylelint-disable-line declaration-no-important */
492
507
  border-left-color: #0070f0;
493
508
  }
494
- .e-gantt.e-gantt-rtl .e-toolbar-right {
495
- left: auto !important; /* stylelint-disable-line declaration-no-important */
496
- right: 0 !important; /* stylelint-disable-line declaration-no-important */
497
- }
498
509
  .e-gantt.e-gantt-rtl .e-gantt-chart .e-timeline-header-container {
499
510
  border-right: none !important; /* stylelint-disable-line declaration-no-important */
500
511
  border-left: 1px solid !important; /* stylelint-disable-line declaration-no-important */
@@ -814,6 +825,12 @@
814
825
  vertical-align: middle;
815
826
  z-index: 3;
816
827
  }
828
+ .e-gantt .e-gantt-chart .e-taskbar-main-container:hover {
829
+ z-index: 4;
830
+ }
831
+ .e-gantt .e-gantt-chart .e-taskbar-main-container.e-gantt-multi-taskbar:hover {
832
+ z-index: 4;
833
+ }
817
834
  .e-gantt .e-gantt-chart .e-left-label-container.e-left-label-temp-container {
818
835
  -ms-flex-align: center;
819
836
  align-items: center;
@@ -953,72 +970,61 @@
953
970
  height: 16px;
954
971
  width: 16px;
955
972
  left: 14px;
956
- background: #e1dfdd;
957
973
  }
958
974
  .e-gantt .e-gantt-chart .e-innerHTML1 {
959
975
  height: 16px;
960
976
  width: 16px;
961
977
  left: 30px;
962
- background: #e1dfdd;
963
978
  }
964
979
  .e-gantt .e-gantt-chart .e-innerHTML2 {
965
980
  height: 16px;
966
981
  width: 16px;
967
982
  left: 60px;
968
- background: #e1dfdd;
969
983
  }
970
984
  .e-gantt .e-gantt-chart .e-timelineHeader {
971
985
  height: 16px;
972
986
  width: 82px;
973
987
  left: 20px;
974
- background: #e1dfdd;
975
988
  }
976
989
  .e-gantt .e-gantt-chart .e-maskcell01 {
977
990
  height: 12px;
978
991
  width: 88px;
979
992
  left: 14px;
980
993
  border-radius: 0;
981
- background: #e1dfdd;
982
994
  }
983
995
  .e-gantt .e-gantt-chart .e-maskcell02 {
984
996
  height: 18px;
985
997
  width: 410px;
986
998
  border-radius: 0;
987
- background: #e1dfdd;
988
999
  }
989
1000
  .e-gantt .e-gantt-chart .e-maskcell03 {
990
1001
  height: 12px;
991
1002
  width: 88px;
992
1003
  left: 14px;
993
1004
  border-radius: 0;
994
- background: #e1dfdd;
995
1005
  }
996
1006
  .e-gantt .e-gantt-chart .e-maskcell04 {
997
1007
  height: 18px;
998
1008
  width: 208px;
999
1009
  border-radius: 0;
1000
- background: #e1dfdd;
1001
1010
  }
1002
1011
  .e-gantt .e-gantt-chart .e-maskcell05 {
1003
1012
  height: 12px;
1004
1013
  width: 108px;
1005
1014
  left: 64px;
1006
1015
  border-radius: 0;
1007
- background: #e1dfdd;
1008
1016
  }
1009
1017
  .e-gantt .e-gantt-chart .e-maskcell06 {
1010
1018
  height: 18px;
1011
1019
  width: 195px;
1012
1020
  left: 192px;
1013
1021
  border-radius: 0;
1014
- background: #e1dfdd;
1015
1022
  }
1016
1023
  .e-gantt .e-gantt-chart .e-maskcell07 {
1017
1024
  height: 18px;
1018
1025
  width: 156px;
1019
1026
  left: 388px;
1020
1027
  border-radius: 0;
1021
- background: #e1dfdd;
1022
1028
  }
1023
1029
  .e-gantt .e-gantt-chart .e-taskbar-left-resizer,
1024
1030
  .e-gantt .e-gantt-chart .e-taskbar-right-resizer {
@@ -1153,7 +1159,7 @@
1153
1159
  border-left: 1px dashed;
1154
1160
  position: absolute;
1155
1161
  width: 1px;
1156
- z-index: 2;
1162
+ z-index: 4;
1157
1163
  }
1158
1164
  .e-gantt .e-gantt-chart .e-event-markers .e-span-label {
1159
1165
  border-radius: 3px;
@@ -1371,10 +1377,6 @@
1371
1377
  box-shadow: none;
1372
1378
  }
1373
1379
 
1374
- .e-icon-rowselect::before {
1375
- content: "\e930";
1376
- }
1377
-
1378
1380
  .e-ganttpopup {
1379
1381
  -moz-user-select: none; /* stylelint-disable-line property-no-vendor-prefix */
1380
1382
  -ms-user-select: none; /* stylelint-disable-line property-no-vendor-prefix */
@@ -1433,6 +1435,15 @@
1433
1435
  font-size: 14px;
1434
1436
  }
1435
1437
 
1438
+ .e-bigger .e-gantt .e-gantt-chart .e-timeline-single-header-outer-div {
1439
+ height: 64px !important; /* stylelint-disable-line declaration-no-important */
1440
+ }
1441
+
1442
+ .e-bigger .e-timeline-single-header-cell {
1443
+ height: 64px !important; /* stylelint-disable-line declaration-no-important */
1444
+ line-height: 64px !important; /* stylelint-disable-line declaration-no-important */
1445
+ }
1446
+
1436
1447
  .e-gantt-tooltip-label {
1437
1448
  padding-bottom: 2px;
1438
1449
  padding-right: 2px;
@@ -1477,16 +1488,6 @@
1477
1488
  .e-gantt.e-device .e-gridheader .e-icons {
1478
1489
  font-size: 12px;
1479
1490
  }
1480
- .e-gantt.e-device .e-right-resize-gripper,
1481
- .e-gantt.e-device .e-left-resize-gripper {
1482
- border: 7px solid;
1483
- z-index: -1;
1484
- }
1485
- .e-gantt.e-device .e-right-resize-gripper::before,
1486
- .e-gantt.e-device .e-left-resize-gripper::before {
1487
- font-size: 14px;
1488
- margin-left: -7px;
1489
- }
1490
1491
  .e-gantt.e-device .e-dependent-div .e-content {
1491
1492
  height: 100%;
1492
1493
  }
@@ -1549,6 +1550,12 @@
1549
1550
  color: #000;
1550
1551
  }
1551
1552
 
1553
+ .e-gantt-chart-resize-indicator {
1554
+ height: 100%;
1555
+ position: absolute;
1556
+ z-index: 1;
1557
+ }
1558
+
1552
1559
  /*! Gantt theme */
1553
1560
  .e-gantt .e-gantt-splitter {
1554
1561
  border-color: #484848;
@@ -1905,75 +1912,6 @@
1905
1912
  .e-gantt .e-gantt-chart .e-grid .e-gridpopup .e-spanclicked {
1906
1913
  border-color: #000;
1907
1914
  }
1908
- .e-gantt .e-gantt-chart .e-active-parent-task {
1909
- border-radius: 4px;
1910
- box-shadow: 4px 4px 3px 0 rgba(0, 0, 0, 0.5);
1911
- }
1912
- .e-gantt .e-gantt-chart .e-active-parent-task .e-gantt-parent-taskbar-inner-div {
1913
- background: #1a1a1a;
1914
- border: #1a1a1a;
1915
- }
1916
- .e-gantt .e-gantt-chart .e-active-parent-task .e-gantt-parent-progressbar-inner-div {
1917
- background-color: transparent;
1918
- border: transparent;
1919
- }
1920
- .e-gantt .e-gantt-chart .e-active-parent-task .e-task-label {
1921
- color: transparent;
1922
- }
1923
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-task-label {
1924
- color: transparent !important; /* stylelint-disable-line declaration-no-important */
1925
- }
1926
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-line {
1927
- border-color: #8A8A8A !important; /* stylelint-disable-line declaration-no-important */
1928
- }
1929
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-connector-line-right-arrow {
1930
- border-left-color: #8A8A8A !important; /* stylelint-disable-line declaration-no-important */
1931
- }
1932
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-connector-line-left-arrow {
1933
- border-right-color: #8A8A8A !important; /* stylelint-disable-line declaration-no-important */
1934
- }
1935
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-gantt-child-taskbar-inner-div {
1936
- background: #D5D5D5 !important; /* stylelint-disable-line declaration-no-important */
1937
- border: #D5D5D5 !important; /* stylelint-disable-line declaration-no-important */
1938
- }
1939
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-gantt-child-progressbar-inner-div {
1940
- background-color: transparent !important; /* stylelint-disable-line declaration-no-important */
1941
- border: transparent !important; /* stylelint-disable-line declaration-no-important */
1942
- }
1943
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-gantt-milestone {
1944
- background-color: #D5D5D5 !important; /* stylelint-disable-line declaration-no-important */
1945
- }
1946
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-gantt-parent-taskbar-inner-div {
1947
- background-color: #8A8A8A !important; /* stylelint-disable-line declaration-no-important */
1948
- border: #8A8A8A !important; /* stylelint-disable-line declaration-no-important */
1949
- }
1950
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-gantt-parent-progressbar-inner-div {
1951
- background-color: transparent !important; /* stylelint-disable-line declaration-no-important */
1952
- border: transparent !important; /* stylelint-disable-line declaration-no-important */
1953
- }
1954
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-active-child-task .e-gantt-child-taskbar-inner-div {
1955
- background: #0070f0 !important; /* stylelint-disable-line declaration-no-important */
1956
- border: #0070f0 !important; /* stylelint-disable-line declaration-no-important */
1957
- }
1958
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-active-child-task .e-gantt-milestone {
1959
- background-color: #0070f0 !important; /* stylelint-disable-line declaration-no-important */
1960
- }
1961
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-active-connected-task .e-gantt-child-taskbar-inner-div {
1962
- background: #57a5ff !important; /* stylelint-disable-line declaration-no-important */
1963
- border: #57a5ff !important; /* stylelint-disable-line declaration-no-important */
1964
- }
1965
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-active-connected-task .e-gantt-milestone {
1966
- background-color: #57a5ff !important; /* stylelint-disable-line declaration-no-important */
1967
- }
1968
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-active-connected-task .e-line {
1969
- border-color: #0070f0 !important; /* stylelint-disable-line declaration-no-important */
1970
- }
1971
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-active-connected-task .e-connector-line-right-arrow {
1972
- border-left-color: #0070f0 !important; /* stylelint-disable-line declaration-no-important */
1973
- }
1974
- .e-gantt .e-gantt-chart .e-predecessor-touch-mode .e-active-connected-task .e-connector-line-left-arrow {
1975
- border-right-color: #0070f0 !important; /* stylelint-disable-line declaration-no-important */
1976
- }
1977
1915
  .e-gantt .e-icons {
1978
1916
  color: #fff;
1979
1917
  }
@@ -2083,4 +2021,10 @@
2083
2021
 
2084
2022
  .e-gantt .e-gantt-chart .e-critical-milestone {
2085
2023
  background-color: #D13438;
2024
+ }
2025
+
2026
+ .e-gantt-chart-resize-indicator {
2027
+ border: 1px dashed #248aff;
2028
+ border-bottom: none;
2029
+ border-top: none;
2086
2030
  }