@syncfusion/ej2-gantt 19.4.56 → 20.1.50

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 (82) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/ej2-gantt.umd.min.js +2 -2
  3. package/dist/ej2-gantt.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-gantt.es2015.js +230 -83
  5. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es5.js +248 -91
  7. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  8. package/dist/global/ej2-gantt.min.js +2 -2
  9. package/dist/global/ej2-gantt.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +18 -18
  12. package/src/gantt/actions/cell-edit.js +2 -1
  13. package/src/gantt/actions/dialog-edit.js +11 -1
  14. package/src/gantt/actions/edit.js +11 -2
  15. package/src/gantt/actions/filter.js +4 -2
  16. package/src/gantt/actions/rowdragdrop.js +41 -17
  17. package/src/gantt/base/date-processor.js +0 -1
  18. package/src/gantt/base/gantt-chart.js +10 -5
  19. package/src/gantt/base/gantt.d.ts +2 -0
  20. package/src/gantt/base/gantt.js +3 -2
  21. package/src/gantt/base/splitter.js +1 -0
  22. package/src/gantt/base/tree-grid.js +3 -1
  23. package/src/gantt/renderer/chart-rows.js +80 -32
  24. package/src/gantt/renderer/connector-line.js +22 -18
  25. package/src/gantt/renderer/event-marker.js +1 -0
  26. package/src/gantt/renderer/nonworking-day.js +13 -6
  27. package/src/gantt/renderer/timeline.d.ts +1 -0
  28. package/src/gantt/renderer/timeline.js +37 -1
  29. package/src/gantt/renderer/tooltip.js +10 -3
  30. package/styles/bootstrap-dark.css +37 -10
  31. package/styles/bootstrap.css +37 -10
  32. package/styles/bootstrap4.css +37 -10
  33. package/styles/bootstrap5-dark.css +53 -19
  34. package/styles/bootstrap5.css +53 -19
  35. package/styles/fabric-dark.css +34 -7
  36. package/styles/fabric.css +37 -10
  37. package/styles/fluent-dark.css +1942 -0
  38. package/styles/fluent-dark.scss +1 -0
  39. package/styles/fluent.css +1942 -0
  40. package/styles/fluent.scss +1 -0
  41. package/styles/gantt/_bootstrap-dark-definition.scss +10 -2
  42. package/styles/gantt/_bootstrap-definition.scss +11 -3
  43. package/styles/gantt/_bootstrap4-definition.scss +10 -2
  44. package/styles/gantt/_bootstrap5-definition.scss +17 -9
  45. package/styles/gantt/_fabric-dark-definition.scss +8 -0
  46. package/styles/gantt/_fabric-definition.scss +10 -2
  47. package/styles/gantt/_fluent-dark-definition.scss +1 -0
  48. package/styles/gantt/_fluent-definition.scss +21 -13
  49. package/styles/gantt/_highcontrast-definition.scss +9 -1
  50. package/styles/gantt/_highcontrast-light-definition.scss +9 -1
  51. package/styles/gantt/_layout.scss +53 -2
  52. package/styles/gantt/_material-dark-definition.scss +9 -1
  53. package/styles/gantt/_material-definition.scss +10 -2
  54. package/styles/gantt/_tailwind-definition.scss +13 -5
  55. package/styles/gantt/_theme.scss +2 -5
  56. package/styles/gantt/bootstrap-dark.css +37 -10
  57. package/styles/gantt/bootstrap.css +37 -10
  58. package/styles/gantt/bootstrap4.css +37 -10
  59. package/styles/gantt/bootstrap5-dark.css +53 -19
  60. package/styles/gantt/bootstrap5.css +53 -19
  61. package/styles/gantt/fabric-dark.css +34 -7
  62. package/styles/gantt/fabric.css +37 -10
  63. package/styles/gantt/fluent-dark.css +1942 -0
  64. package/styles/gantt/fluent-dark.scss +22 -0
  65. package/styles/gantt/fluent.css +1942 -0
  66. package/styles/gantt/fluent.scss +22 -0
  67. package/styles/gantt/highcontrast-light.css +34 -7
  68. package/styles/gantt/highcontrast.css +34 -7
  69. package/styles/gantt/icons/_fluent-dark.scss +1 -0
  70. package/styles/gantt/icons/_fluent.scss +1 -1
  71. package/styles/gantt/icons/_tailwind-dark.scss +28 -29
  72. package/styles/gantt/icons/_tailwind.scss +26 -27
  73. package/styles/gantt/material-dark.css +37 -10
  74. package/styles/gantt/material.css +37 -10
  75. package/styles/gantt/tailwind-dark.css +70 -99
  76. package/styles/gantt/tailwind.css +70 -99
  77. package/styles/highcontrast-light.css +34 -7
  78. package/styles/highcontrast.css +34 -7
  79. package/styles/material-dark.css +37 -10
  80. package/styles/material.css +37 -10
  81. package/styles/tailwind-dark.css +70 -99
  82. package/styles/tailwind.css +70 -99
@@ -28,7 +28,7 @@ var ChartRows = /** @class */ (function (_super) {
28
28
  _this.milestoneHeight = 0;
29
29
  _this.milesStoneRadius = 0;
30
30
  _this.baselineTop = 0;
31
- _this.baselineHeight = 3;
31
+ _this.baselineHeight = 8;
32
32
  _this.touchLeftConnectorpoint = '';
33
33
  _this.touchRightConnectorpoint = '';
34
34
  _this.dropSplit = false;
@@ -111,7 +111,7 @@ var ChartRows = /** @class */ (function (_super) {
111
111
  * @private
112
112
  */
113
113
  ChartRows.prototype.getIndicatorNode = function (indicator) {
114
- var templateString = '<label class="' + cls.label + ' ' + cls.taskIndicatorDiv + '" style="line-height:'
114
+ var templateString = '<label class="' + cls.label + ' ' + cls.taskIndicatorDiv + '" role="LabelIndicator" style="line-height:'
115
115
  + (this.parent.rowHeight) + 'px;' +
116
116
  'left:' + this.getIndicatorleft(indicator.date) + 'px;"><i class="' + indicator.iconClass + '"></i> </label>';
117
117
  return this.createDivElement(templateString);
@@ -162,10 +162,10 @@ var ChartRows = /** @class */ (function (_super) {
162
162
  'border-bottom-right-radius:' + this.getBorderRadius(data.ganttProperties) + 'px;">' +
163
163
  '</div>');
164
164
  }
165
+ var tempDiv = createElement('div');
165
166
  if (this.taskLabelTemplateFunction && !isNullOrUndefined(progressDiv) && progressDiv.length > 0) {
166
167
  var taskLabelTemplateNode = this.taskLabelTemplateFunction(extend({ index: i }, data), this.parent, 'TaskLabelTemplate', this.getTemplateID('TaskLabelTemplate'), false, undefined, progressDiv[0]);
167
168
  if (taskLabelTemplateNode && taskLabelTemplateNode.length > 0) {
168
- var tempDiv = createElement('div');
169
169
  tempDiv.appendChild(taskLabelTemplateNode[0]);
170
170
  labelString = tempDiv.innerHTML;
171
171
  }
@@ -175,6 +175,9 @@ var ChartRows = /** @class */ (function (_super) {
175
175
  labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
176
176
  }
177
177
  if (labelString !== 'null') {
178
+ if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate') {
179
+ labelString = '';
180
+ }
178
181
  if (isNaN(parseInt(labelString))) {
179
182
  taskLabel = '<span class="' + cls.taskLabel + '" style="line-height:' +
180
183
  (this.taskBarHeight - 1) + 'px; text-align: left;' +
@@ -184,9 +187,9 @@ var ChartRows = /** @class */ (function (_super) {
184
187
  }
185
188
  else {
186
189
  taskLabel = '<span class="' + cls.taskLabel + '" style="line-height:' +
187
- (this.taskBarHeight - 1) + 'px; text-align:' + (this.parent.viewType === 'ResourceView' ? 'left;' : ';') +
188
- 'display:' + (this.parent.viewType === 'ResourceView' ? 'inline-flex;' : ';') +
189
- 'width:' + (this.parent.viewType === 'ResourceView' ? (data.ganttProperties.width - 10) : '') + 'px; height:' +
190
+ (this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'text-align: left;' : '') +
191
+ +(this.parent.viewType === 'ResourceView' ? 'display:inline-flex;' : '') +
192
+ +(this.parent.viewType === 'ResourceView' ? (data.ganttProperties.width - 10) : '') + 'px; height:' +
190
193
  this.taskBarHeight + 'px;">' + labelString + '</span>';
191
194
  }
192
195
  }
@@ -212,7 +215,16 @@ var ChartRows = /** @class */ (function (_super) {
212
215
  (isNullOrUndefined(data.ganttProperties.segments) || (!isNullOrUndefined(data.ganttProperties.segments) &&
213
216
  data.ganttProperties.segments.length === 0))) {
214
217
  if (template !== '' && !isNullOrUndefined(progressDiv) && progressDiv.length > 0) {
215
- progressDiv[0].appendChild([].slice.call(this.createDivElement(template))[0]);
218
+ var templateElement = this.createDivElement(template)[0];
219
+ templateElement.appendChild(tempDiv);
220
+ progressDiv[0].appendChild(templateElement);
221
+ var childLabel = this.parent.labelSettings.taskLabel;
222
+ if (progressDiv[0].querySelectorAll('.e-task-label')[0].textContent !== '' &&
223
+ !this.isTemplate(childLabel))
224
+ progressDiv[0].querySelectorAll('.e-task-label')[0].children[0].remove();
225
+ if (progressDiv[0].querySelectorAll('.e-task-label')[0].textContent == '' &&
226
+ childLabel && !childLabel['elementRef'])
227
+ progressDiv[0].querySelectorAll('.e-task-label')[0].textContent = childLabel;
216
228
  }
217
229
  if (!isNullOrUndefined(taskbarInnerDiv) && taskbarInnerDiv.length > 0) {
218
230
  taskbarInnerDiv[0].appendChild([].slice.call(progressDiv)[0]);
@@ -603,7 +615,7 @@ var ChartRows = /** @class */ (function (_super) {
603
615
  */
604
616
  ChartRows.prototype.getTaskBaselineNode = function () {
605
617
  var data = this.templateData;
606
- var template = '<div class="' + cls.baselineBar + ' ' + '" style="margin-top:' + this.baselineTop +
618
+ var template = '<div class="' + cls.baselineBar + ' ' + '" role="BaselineBar" style="margin-top:' + this.baselineTop +
607
619
  'px;left:' + data.ganttProperties.baselineLeft + 'px;' +
608
620
  'width:' + data.ganttProperties.baselineWidth + 'px;height:' +
609
621
  this.baselineHeight + 'px;' + (this.baselineColor ? 'background-color: ' + this.baselineColor + ';' : '') + '"></div>';
@@ -617,9 +629,10 @@ var ChartRows = /** @class */ (function (_super) {
617
629
  */
618
630
  ChartRows.prototype.getMilestoneBaselineNode = function () {
619
631
  var data = this.templateData;
632
+ var baselineMilestoneHeight = this.parent.renderBaseline ? 5 : 2;
620
633
  var template = '<div class="' + cls.baselineMilestoneContainer + ' ' + '" style="' +
621
634
  'left:' + (data.ganttProperties.baselineLeft - this.milesStoneRadius) + 'px;' +
622
- 'margin-top:' + (-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) + 2) +
635
+ 'margin-top:' + (-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) + baselineMilestoneHeight) +
623
636
  'px">' + '<div class="' + cls.baselineMilestoneDiv + '">' + '<div class="' + cls.baselineMilestoneDiv +
624
637
  ' ' + cls.baselineMilestoneTop + '" ' +
625
638
  'style="top:' + (-this.milestoneHeight) + 'px;border-right:' + this.milesStoneRadius +
@@ -647,7 +660,9 @@ var ChartRows = /** @class */ (function (_super) {
647
660
  */
648
661
  ChartRows.prototype.getLeftLabelNode = function (i) {
649
662
  var leftLabelNode = this.leftLabelContainer();
650
- leftLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('left'));
663
+ if (this.generateTaskLabelAriaLabel('left') !== "") {
664
+ leftLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('left'));
665
+ }
651
666
  var leftLabelTemplateNode = null;
652
667
  if (this.leftTaskLabelTemplateFunction) {
653
668
  leftLabelTemplateNode = this.leftTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'LeftLabelTemplate', this.getTemplateID('LeftLabelTemplate'), false, undefined, leftLabelNode[0], this.parent.treeGrid['root']);
@@ -669,9 +684,10 @@ var ChartRows = /** @class */ (function (_super) {
669
684
  return leftLabelNode;
670
685
  };
671
686
  ChartRows.prototype.getLableText = function (labelString, labelDiv) {
687
+ var leftLabelHeight = this.parent.renderBaseline ? ((this.parent.rowHeight - this.taskBarHeight) / 2) : this.taskBarMarginTop;
672
688
  var templateString = createElement('div', {
673
689
  className: labelDiv, styles: 'height:' + (this.taskBarHeight) + 'px;' +
674
- 'margin-top:' + this.taskBarMarginTop + 'px;'
690
+ 'margin-top:' + leftLabelHeight + 'px;'
675
691
  });
676
692
  var spanElem = createElement('span', { className: cls.label });
677
693
  var property = this.parent.disableHtmlEncode ? 'textContent' : 'innerHTML';
@@ -690,7 +706,9 @@ var ChartRows = /** @class */ (function (_super) {
690
706
  */
691
707
  ChartRows.prototype.getRightLabelNode = function (i) {
692
708
  var rightLabelNode = this.rightLabelContainer();
693
- rightLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('right'));
709
+ if (this.generateTaskLabelAriaLabel('right') !== "") {
710
+ rightLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('right'));
711
+ }
694
712
  var rightLabelTemplateNode = null;
695
713
  if (this.rightTaskLabelTemplateFunction) {
696
714
  rightLabelTemplateNode = this.rightTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'RightLabelTemplate', this.getTemplateID('RightLabelTemplate'), false, undefined, rightLabelNode[0], this.parent.treeGrid['root']);
@@ -780,10 +798,10 @@ var ChartRows = /** @class */ (function (_super) {
780
798
  'width:' + data.ganttProperties.progressWidth + 'px;' +
781
799
  'border-top-right-radius:' + this.getBorderRadius(data) + 'px;' +
782
800
  'border-bottom-right-radius:' + this.getBorderRadius(data) + 'px;height:100%;"></div>');
801
+ var div = createElement('div');
783
802
  if (this.taskLabelTemplateFunction) {
784
803
  var parentTaskLabelNode = this.taskLabelTemplateFunction(extend({ index: i }, data), this.parent, 'TaskLabelTemplate', this.getTemplateID('TaskLabelTemplate'), false, undefined, progressBarInnerDiv[0]);
785
804
  if (parentTaskLabelNode && parentTaskLabelNode.length > 0) {
786
- var div = createElement('div');
787
805
  div.appendChild(parentTaskLabelNode[0]);
788
806
  labelString = div.innerHTML;
789
807
  }
@@ -793,21 +811,35 @@ var ChartRows = /** @class */ (function (_super) {
793
811
  labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
794
812
  }
795
813
  if (labelString !== 'null') {
814
+ if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate') {
815
+ labelString = '';
816
+ }
796
817
  if (isNaN(parseInt(labelString))) {
797
- labelDiv = this.createDivElement('<span class="' + cls.taskLabel + '" style="line-height:' +
818
+ labelDiv = '<span class="' + cls.taskLabel + '" style="line-height:' +
798
819
  (this.taskBarHeight - 1) + 'px; text-align: left;' +
799
820
  'display:' + 'inline-block;' +
800
821
  'width:' + (data.ganttProperties.width - 10) + 'px; height:' +
801
- this.taskBarHeight + 'px;">' + labelString + '</span>');
822
+ this.taskBarHeight + 'px;">' + labelString + '</span>';
802
823
  }
803
824
  else {
804
- labelDiv = this.createDivElement('<span class="' +
825
+ labelDiv = '<span class="' +
805
826
  cls.taskLabel + '" style="line-height:' +
806
- (this.taskBarHeight - 1) + 'px; display:' + (this.parent.viewType === 'ResourceView' ? 'inline-flex;' : ';') + 'width:' +
807
- (this.parent.viewType === 'ResourceView' ? (data.ganttProperties.width - 10) : ';') + 'px; height:' +
808
- this.taskBarHeight + 'px;">' + labelString + '</span>');
827
+ (this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'display:inline-flex;' : '') +
828
+ (this.parent.viewType === 'ResourceView' ? 'width:' + (data.ganttProperties.width - 10) : '') + 'px; height:' +
829
+ (this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'display: inline-flex;' : '') +
830
+ (this.parent.viewType === 'ResourceView' ? 'width:' + (data.ganttProperties.width - 10) : '') + 'px; height:' +
831
+ this.taskBarHeight + 'px;">' + labelString + '</span>';
809
832
  }
810
- progressBarInnerDiv[0].appendChild([].slice.call(labelDiv)[0]);
833
+ var labelElement = this.createDivElement(labelDiv)[0];
834
+ labelElement.appendChild(div);
835
+ progressBarInnerDiv[0].appendChild(labelElement);
836
+ var parentLabel = this.parent.labelSettings.taskLabel;
837
+ if (progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent !== '' &&
838
+ !this.isTemplate(parentLabel))
839
+ progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].children[0].remove();
840
+ if (progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent == '' &&
841
+ parentLabel && !parentLabel['elementRef'])
842
+ progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent = parentLabel;
811
843
  }
812
844
  var milestoneTemplate = '<div class="' + cls.parentMilestone + '" style="position:absolute;">' +
813
845
  '<div class="' + cls.parentMilestoneTop + '" style="border-right-width:' +
@@ -833,10 +865,10 @@ var ChartRows = /** @class */ (function (_super) {
833
865
  var className = (this.parent.gridLines === 'Horizontal' || this.parent.gridLines === 'Both') ?
834
866
  'e-chart-row-border' : '';
835
867
  table.innerHTML = '<tr class="' + this.getRowClassName(this.templateData) + ' ' + cls.chartRow + '"' +
836
- 'style="display:' + this.getExpandDisplayProp(this.templateData) + ';height:' +
868
+ 'role="ChartRow" style="display:' + this.getExpandDisplayProp(this.templateData) + ';height:' +
837
869
  this.parent.rowHeight + 'px;">' +
838
870
  '<td class="' + cls.chartRowCell + ' ' + className
839
- + '" style="width:' + this.parent.timelineModule.totalTimelineWidth + 'px;"></td></tr>';
871
+ + '" role="ChartCell" style="width:' + this.parent.timelineModule.totalTimelineWidth + 'px;"></td></tr>';
840
872
  return table.childNodes;
841
873
  };
842
874
  /**
@@ -901,7 +933,7 @@ var ChartRows = /** @class */ (function (_super) {
901
933
  };
902
934
  ChartRows.prototype.leftLabelContainer = function () {
903
935
  var template = '<div class="' + ((this.leftTaskLabelTemplateFunction) ? cls.leftLabelTempContainer :
904
- cls.leftLabelContainer) + ' ' + '" tabindex="-1" style="height:' +
936
+ cls.leftLabelContainer) + ' ' + '" tabindex="-1" role="LeftLabel" style="height:' +
905
937
  (this.parent.rowHeight - 2) + 'px;width:' + this.taskNameWidth(this.templateData) + '"></div>';
906
938
  return this.createDivElement(template);
907
939
  };
@@ -913,7 +945,7 @@ var ChartRows = /** @class */ (function (_super) {
913
945
  var template = '<div class="' + cls.taskBarMainContainer + ' ' +
914
946
  this.parent.getUnscheduledTaskClass(data.ganttProperties) + ' ' +
915
947
  ((data.ganttProperties.cssClass) ? data.ganttProperties.cssClass : '') + '" ' +
916
- ' tabindex="-1" style="' + ((data.ganttProperties.isMilestone && !manualParent) ?
948
+ ' tabindex="-1" role="TaskBar" style="' + ((data.ganttProperties.isMilestone && !manualParent) ?
917
949
  ('width:' + this.milestoneHeight + 'px;height:' +
918
950
  this.milestoneHeight + 'px;margin-top:' + this.milestoneMarginTop + 'px;left:' + (data.ganttProperties.left -
919
951
  (this.milestoneHeight / 2)) + 'px;') : ('width:' + data.ganttProperties.width +
@@ -924,26 +956,26 @@ var ChartRows = /** @class */ (function (_super) {
924
956
  };
925
957
  ChartRows.prototype.rightLabelContainer = function () {
926
958
  var template = '<div class="' + ((this.rightTaskLabelTemplateFunction) ? cls.rightLabelTempContainer :
927
- cls.rightLabelContainer) + '" ' + ' tabindex="-1" style="left:' + this.getRightLabelLeft(this.templateData) + 'px;height:'
959
+ cls.rightLabelContainer) + '" ' + ' tabindex="-1" role="RightLabel" style="left:' + this.getRightLabelLeft(this.templateData) + 'px; height:'
928
960
  + (this.parent.rowHeight - 2) + 'px;"></div>';
929
961
  return this.createDivElement(template);
930
962
  };
931
963
  ChartRows.prototype.childTaskbarLeftResizer = function () {
932
964
  var lResizerLeft = -(this.parent.isAdaptive ? 12 : 2);
933
965
  var template = '<div class="' + cls.taskBarLeftResizer + ' ' + cls.icon + '"' +
934
- ' style="left:' + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
966
+ ' role="LeftResizer" style="left:' + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
935
967
  return this.createDivElement(template);
936
968
  };
937
969
  ChartRows.prototype.childTaskbarRightResizer = function () {
938
970
  var rResizerLeft = this.parent.isAdaptive ? -2 : -10;
939
971
  var template = '<div class="' + cls.taskBarRightResizer + ' ' + cls.icon + '"' +
940
- ' style="left:' + (this.templateData.ganttProperties.width + rResizerLeft) + 'px;' +
972
+ ' role="RightResizer" style="left:' + (this.templateData.ganttProperties.width + rResizerLeft) + 'px;' +
941
973
  'height:' + (this.taskBarHeight) + 'px;"></div>';
942
974
  return this.createDivElement(template);
943
975
  };
944
976
  ChartRows.prototype.childTaskbarProgressResizer = function () {
945
977
  var template = '<div class="' + cls.childProgressResizer + '"' +
946
- ' style="left:' + (this.templateData.ganttProperties.progressWidth - 6) + 'px;margin-top:' +
978
+ ' role="ProgressResizer" style="left:' + (this.templateData.ganttProperties.progressWidth - 6) + 'px;margin-top:' +
947
979
  (this.taskBarHeight - 4) + 'px;"><div class="' + cls.progressBarHandler + '"' +
948
980
  '><div class="' + cls.progressHandlerElement + '"></div>' +
949
981
  '<div class="' + cls.progressBarHandlerAfter + '"></div></div>';
@@ -1141,10 +1173,13 @@ var ChartRows = /** @class */ (function (_super) {
1141
1173
  * @private
1142
1174
  */
1143
1175
  ChartRows.prototype.initChartHelperPrivateVariable = function () {
1176
+ var taskbarHeightValue = this.parent.renderBaseline ? 0.45 : 0.62;
1177
+ var taskBarMarginTopValue = this.parent.renderBaseline ? 4 : 2;
1178
+ var milestoneHeightValue = this.parent.renderBaseline ? 1.13 : 0.82;
1144
1179
  this.baselineColor = !isNullOrUndefined(this.parent.baselineColor) &&
1145
1180
  this.parent.baselineColor !== '' ? this.parent.baselineColor : null;
1146
1181
  this.taskBarHeight = isNullOrUndefined(this.parent.taskbarHeight) || this.parent.taskbarHeight >= this.parent.rowHeight ?
1147
- Math.floor(this.parent.rowHeight * 0.62) : this.parent.taskbarHeight; // 0.62 -- Standard Ratio.
1182
+ Math.floor(this.parent.rowHeight * taskbarHeightValue) : this.parent.taskbarHeight; // 0.62 -- Standard Ratio.
1148
1183
  if (this.parent.renderBaseline) {
1149
1184
  var height = void 0;
1150
1185
  if ((this.taskBarHeight + this.baselineHeight) <= this.parent.rowHeight) {
@@ -1155,11 +1190,11 @@ var ChartRows = /** @class */ (function (_super) {
1155
1190
  }
1156
1191
  this.taskBarHeight = height;
1157
1192
  }
1158
- this.milestoneHeight = Math.floor(this.taskBarHeight * 0.82); // 0.82 -- Standard Ratio.
1159
- this.taskBarMarginTop = Math.floor((this.parent.rowHeight - this.taskBarHeight) / 2);
1193
+ this.milestoneHeight = Math.floor(this.taskBarHeight * milestoneHeightValue); // 0.82 -- Standard Ratio.
1194
+ this.taskBarMarginTop = Math.floor((this.parent.rowHeight - this.taskBarHeight) / taskBarMarginTopValue);
1160
1195
  this.milestoneMarginTop = Math.floor((this.parent.rowHeight - this.milestoneHeight) / 2);
1161
1196
  this.milesStoneRadius = Math.floor((this.milestoneHeight) / 2);
1162
- this.baselineTop = -(Math.floor((this.parent.rowHeight - (this.taskBarHeight + this.taskBarMarginTop))) - 1);
1197
+ this.baselineTop = -(Math.floor((this.parent.rowHeight - (this.taskBarHeight + this.taskBarMarginTop))) - 4);
1163
1198
  this.connectorPointWidth = this.parent.isAdaptive ? Math.round(this.taskBarHeight / 2) : 8;
1164
1199
  this.connectorPointMargin = Math.floor((this.taskBarHeight / 2) - (this.connectorPointWidth / 2));
1165
1200
  };
@@ -1353,6 +1388,7 @@ var ChartRows = /** @class */ (function (_super) {
1353
1388
  var indicators = this.templateData.ganttProperties.indicators;
1354
1389
  for (var indicatorIndex = 0; indicatorIndex < indicators.length; indicatorIndex++) {
1355
1390
  taskIndicatorNode = this.getIndicatorNode(indicators[indicatorIndex]);
1391
+ taskIndicatorNode[0].setAttribute('aria-label', indicators[indicatorIndex].name);
1356
1392
  if (indicators[indicatorIndex].name.indexOf('$') > -1 || indicators[indicatorIndex].name.indexOf('#') > -1) {
1357
1393
  taskIndicatorTextFunction = this.templateCompiler(indicators[indicatorIndex].name);
1358
1394
  taskIndicatorTextNode = taskIndicatorTextFunction(extend({ index: i }, this.templateData), this.parent, 'indicatorLabelText');
@@ -1631,6 +1667,18 @@ var ChartRows = /** @class */ (function (_super) {
1631
1667
  };
1632
1668
  ChartRows.prototype.getResourceParent = function (record) {
1633
1669
  var chartRows = this.parent.ganttChartModule.getChartRows();
1670
+ //Below code is for rendering taskbartemplate in resource view with multi taskbar
1671
+ if (this.parent.initialChartRowElements) {
1672
+ for (var j = 0; j <= this.parent.initialChartRowElements.length; j++) {
1673
+ if (!isNullOrUndefined(chartRows[j])) {
1674
+ if (!isNullOrUndefined(chartRows[j].childNodes[0].childNodes[1].childNodes[2]) &&
1675
+ !isNullOrUndefined(this.parent.initialChartRowElements[j].childNodes[0].childNodes[1].childNodes[2])) {
1676
+ // eslint-disable-next-line
1677
+ chartRows[j].childNodes[0].childNodes[1].childNodes[2]['innerHTML'] = this.parent.initialChartRowElements[j].childNodes[0].childNodes[1].childNodes[2]['innerHTML'];
1678
+ }
1679
+ }
1680
+ }
1681
+ }
1634
1682
  this.templateData = record;
1635
1683
  var parentTrNode = this.getTableTrNode();
1636
1684
  var leftLabelNode = this.leftLabelContainer();
@@ -115,7 +115,7 @@ var ConnectorLine = /** @class */ (function () {
115
115
  for (var i = 0; i < childNodes.length; i++) {
116
116
  var innerChild = childNodes[i].childNodes;
117
117
  for (var j = 0; j < innerChild.length; j++) {
118
- var ariaString = this.parent.connectorLineModule.generateAriaLabel(ariaConnector[i]);
118
+ var ariaString = 'Connector Line ' + this.parent.connectorLineModule.generateAriaLabel(ariaConnector[i]);
119
119
  innerChild[j].setAttribute('aria-label', ariaString);
120
120
  }
121
121
  }
@@ -372,7 +372,11 @@ var ConnectorLine = /** @class */ (function () {
372
372
  var connectorContainer = '';
373
373
  var isVirtual = this.parent.virtualScrollModule && this.parent.enableVirtualization;
374
374
  var connectorLine = this.getPosition(data, this.getParentPosition(data), height);
375
- var heightValue = isVirtual ? connectorLine.height : height;
375
+ var isMilestoneValue = 0;
376
+ if (this.parent.renderBaseline) {
377
+ isMilestoneValue = (data.milestoneParent && data.milestoneChild) ? 0 : data.milestoneParent ? -5 : data.milestoneChild ? 5 : 0;
378
+ }
379
+ var heightValue = isVirtual ? connectorLine.height : (height + isMilestoneValue);
376
380
  if (this.getParentPosition(data)) {
377
381
  connectorContainer = '<div id="ConnectorLine' + data.connectorLineId + '" style="background-color:black">';
378
382
  var div = '<div class="' + cls.connectorLineContainer +
@@ -400,7 +404,7 @@ var ConnectorLine = /** @class */ (function () {
400
404
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
401
405
  if (this.getParentPosition(data) === 'FSType1') {
402
406
  div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
403
- ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
407
+ ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
404
408
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType1">';
405
409
  div = div + eLine;
406
410
  div = div + 'left:' + (isMilestoneParent ? -1 : 0) + 'px;width:' + (isMilestoneParent ?
@@ -421,7 +425,7 @@ var ConnectorLine = /** @class */ (function () {
421
425
  }
422
426
  if (this.getParentPosition(data) === 'FSType2') {
423
427
  div = div + 'left:' + data.parentLeft + 'px;top:' + (isVirtual ? connectorLine.top : ((data.parentIndex * data.rowHeight) +
424
- this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
428
+ this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
425
429
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType2">';
426
430
  div = div + eLine;
427
431
  div = div + 'left:' + (isMilestoneParent ? data.parentWidth - 1 : data.parentWidth) + 'px;width:' +
@@ -452,7 +456,7 @@ var ConnectorLine = /** @class */ (function () {
452
456
  }
453
457
  if (this.getParentPosition(data) === 'FSType3') {
454
458
  div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
455
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
459
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
456
460
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType3">';
457
461
  div = div + rightArrow;
458
462
  div = div + 'left:10px;' + this.getBorderStyles('left', 10) +
@@ -482,7 +486,7 @@ var ConnectorLine = /** @class */ (function () {
482
486
  }
483
487
  if (this.getParentPosition(data) === 'FSType4') {
484
488
  div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
485
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
489
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
486
490
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType4">';
487
491
  div = div + rightArrow;
488
492
  div = div + 'left:' + (data.childLeft - (data.parentLeft + data.parentWidth + 10)) + 'px;' +
@@ -508,7 +512,7 @@ var ConnectorLine = /** @class */ (function () {
508
512
  }
509
513
  if (this.getParentPosition(data) === 'SSType4') {
510
514
  div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
511
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
515
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
512
516
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType4">';
513
517
  div = div + rightArrow;
514
518
  div = div + 'left:' + (data.childLeft - data.parentLeft) + 'px;' + duplicateStingTwo;
@@ -521,7 +525,7 @@ var ConnectorLine = /** @class */ (function () {
521
525
  }
522
526
  if (this.getParentPosition(data) === 'SSType3') {
523
527
  div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
524
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
528
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
525
529
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType3">';
526
530
  div = div + rightArrow;
527
531
  div = div + 'left:10px;' + duplicateStingTwo;
@@ -534,7 +538,7 @@ var ConnectorLine = /** @class */ (function () {
534
538
  }
535
539
  if (this.getParentPosition(data) === 'SSType2') {
536
540
  div = div + 'left:' + setInnerElementLeftSSType2 + 'px;top:' + (isVirtual ? connectorLine.top :
537
- ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
541
+ ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
538
542
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType2">';
539
543
  div = div + eLine;
540
544
  div = div + 'width:' + (setInnerChildWidthSSType2 + 1) + 'px;' +
@@ -555,7 +559,7 @@ var ConnectorLine = /** @class */ (function () {
555
559
  if (this.getParentPosition(data) === 'SSType1') {
556
560
  div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
557
561
  ((data.parentIndex * data.rowHeight) +
558
- this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
562
+ this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
559
563
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType1">';
560
564
  div = div + eLine;
561
565
  div = div + 'width:' + (data.parentLeft - data.childLeft + 21) + 'px;' +
@@ -572,7 +576,7 @@ var ConnectorLine = /** @class */ (function () {
572
576
  }
573
577
  if (this.getParentPosition(data) === 'FFType1') {
574
578
  div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
575
- ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
579
+ ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
576
580
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType1">';
577
581
  div = div + eLine;
578
582
  div = div + 'left:' + (isMilestoneParent ? (((data.parentLeft + data.parentWidth) -
@@ -596,7 +600,7 @@ var ConnectorLine = /** @class */ (function () {
596
600
  }
597
601
  if (this.getParentPosition(data) === 'FFType2') {
598
602
  div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
599
- ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
603
+ ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
600
604
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType2">';
601
605
  div = div + eLine;
602
606
  div = div + (isMilestoneParent ? 'left:-1px;' : '') + 'width:' +
@@ -622,7 +626,7 @@ var ConnectorLine = /** @class */ (function () {
622
626
  }
623
627
  if (this.getParentPosition(data) === 'FFType3') {
624
628
  div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
625
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
629
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
626
630
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType3">';
627
631
  div = div + duplicateStingOne;
628
632
  div = div + eLine;
@@ -645,7 +649,7 @@ var ConnectorLine = /** @class */ (function () {
645
649
  }
646
650
  if (this.getParentPosition(data) === 'FFType4') {
647
651
  div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
648
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
652
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
649
653
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType4">';
650
654
  div = div + leftArrow;
651
655
  div = div + ('left:' + ((data.childLeft + data.childWidth) -
@@ -674,7 +678,7 @@ var ConnectorLine = /** @class */ (function () {
674
678
  }
675
679
  if (this.getParentPosition(data) === 'SFType4') {
676
680
  div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
677
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;width:1px;' +
681
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;width:1px;' +
678
682
  'height:' + heightValue + 'px;position:absolute" data-connectortype="SFType4">';
679
683
  div = div + duplicateStingFour + 'top:' + (-5 - this.lineStroke + (this.lineStroke - 1)) + 'px;' +
680
684
  'border-bottom-width:' + (5 + this.lineStroke) +
@@ -702,7 +706,7 @@ var ConnectorLine = /** @class */ (function () {
702
706
  }
703
707
  if (this.getParentPosition(data) === 'SFType3') {
704
708
  div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
705
- ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
709
+ ((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
706
710
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType3">';
707
711
  div = div + duplicateStingOne;
708
712
  div = div + eLine;
@@ -720,7 +724,7 @@ var ConnectorLine = /** @class */ (function () {
720
724
  }
721
725
  if (this.getParentPosition(data) === 'SFType1') {
722
726
  div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
723
- ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
727
+ ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
724
728
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType1">';
725
729
  div = div + eLine;
726
730
  div = div + 'width:11px;' + this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
@@ -745,7 +749,7 @@ var ConnectorLine = /** @class */ (function () {
745
749
  }
746
750
  if (this.getParentPosition(data) === 'SFType2') {
747
751
  div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
748
- ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
752
+ ((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
749
753
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType2">';
750
754
  div = div + eLine;
751
755
  div = div + 'left:' + (((data.parentLeft) - (data.childLeft + data.childWidth)) - 10) +
@@ -15,6 +15,7 @@ var EventMarker = /** @class */ (function () {
15
15
  this.eventMarkersContainer = createElement('div', {
16
16
  className: cls.eventMarkersContainer
17
17
  });
18
+ this.eventMarkersContainer.setAttribute("role", "EventMarker");
18
19
  this.parent.ganttChartModule.chartBodyContent.appendChild(this.eventMarkersContainer);
19
20
  }
20
21
  this.eventMarkersContainer.innerHTML = '';
@@ -1,4 +1,4 @@
1
- import { createElement, formatUnit, remove } from '@syncfusion/ej2-base';
1
+ import { createElement, formatUnit, remove, isNullOrUndefined } from '@syncfusion/ej2-base';
2
2
  import * as cls from '../base/css-constants';
3
3
  var NonWorkingDay = /** @class */ (function () {
4
4
  function NonWorkingDay(gantt) {
@@ -17,6 +17,7 @@ var NonWorkingDay = /** @class */ (function () {
17
17
  this.nonworkingContainer = createElement('div', {
18
18
  className: cls.nonworkingContainer
19
19
  });
20
+ this.nonworkingContainer.setAttribute("role", "NonWorkingDays");
20
21
  this.parent.ganttChartModule.chartBodyContent.appendChild(this.nonworkingContainer);
21
22
  }
22
23
  };
@@ -54,8 +55,11 @@ var NonWorkingDay = /** @class */ (function () {
54
55
  var toDate;
55
56
  var container = createElement('div');
56
57
  var height = this.parent.contentHeight;
57
- var scrollElement = this.parent.ganttChartModule.scrollElement;
58
- var viewportHeight = parseInt(scrollElement.style.height, 10);
58
+ var toolbarHeight = 0;
59
+ if (!isNullOrUndefined(this.parent.toolbarModule)) {
60
+ toolbarHeight = this.parent.toolbarModule.element.offsetHeight;
61
+ }
62
+ var viewportHeight = this.parent.ganttHeight - toolbarHeight - this.parent.ganttChartModule.chartTimelineContainer.offsetHeight;
59
63
  for (var i = 0; i < this.parent.holidays.length; i++) {
60
64
  if (this.parent.holidays[i].from && this.parent.holidays[i].to) {
61
65
  fromDate = this.parent.dateValidationModule.getDateFromFormat(this.parent.holidays[i].from);
@@ -148,9 +152,12 @@ var NonWorkingDay = /** @class */ (function () {
148
152
  return container;
149
153
  };
150
154
  NonWorkingDay.prototype.updateHolidayLabelHeight = function () {
151
- var height = this.parent.contentHeight;
152
- var scrollElement = this.parent.ganttChartModule.scrollElement;
153
- var viewportHeight = parseInt(scrollElement.style.height, 10);
155
+ var height = this.parent.getContentHeight();
156
+ var toolbarHeight = 0;
157
+ if (!isNullOrUndefined(this.parent.toolbarModule) && !isNullOrUndefined(this.parent.toolbarModule.element)) {
158
+ toolbarHeight = this.parent.toolbarModule.element.offsetHeight;
159
+ }
160
+ var viewportHeight = this.parent.ganttHeight - toolbarHeight - this.parent.ganttChartModule.chartTimelineContainer.offsetHeight;
154
161
  var top = (viewportHeight < height) ? viewportHeight / 2 : height / 2;
155
162
  var labels = this.holidayContainer.querySelectorAll('.' + cls.holidayLabel);
156
163
  for (var i = 0; i < labels.length; i++) {
@@ -212,6 +212,7 @@ export declare class Timeline {
212
212
  * @private
213
213
  */
214
214
  private createTimelineTemplate;
215
+ updateTimelineAfterZooming(endDate: Date, resized: boolean): void;
215
216
  private getTimelineRoundOffEndDate;
216
217
  /**
217
218
  *
@@ -843,6 +843,40 @@ var Timeline = /** @class */ (function () {
843
843
  } while ((startDate < endDate));
844
844
  return parentTh;
845
845
  };
846
+ Timeline.prototype.updateTimelineAfterZooming = function (endDate, resized) {
847
+ var timeDiff;
848
+ var perDayWidth;
849
+ var totWidth;
850
+ var contentElement = document.getElementsByClassName('e-chart-scroll-container e-content')[0];
851
+ if (!isNullOrUndefined(contentElement)) {
852
+ var contentWidth = contentElement['offsetWidth'];
853
+ var contentHeight = contentElement['offsetHeight'];
854
+ var scrollHeight = document.getElementsByClassName('e-chart-rows-container')[0]['offsetHeight'];
855
+ timeDiff = Math.abs(this.timelineStartDate.getTime() - endDate.getTime());
856
+ timeDiff = timeDiff / (1000 * 3600 * 24);
857
+ if (this.bottomTier === 'None') {
858
+ perDayWidth = this.getPerDayWidth(this.customTimelineSettings.timelineUnitSize, this.customTimelineSettings.topTier.count, this.topTier);
859
+ }
860
+ else {
861
+ perDayWidth = this.getPerDayWidth(this.customTimelineSettings.timelineUnitSize, this.customTimelineSettings.bottomTier.count, this.bottomTier);
862
+ }
863
+ if (contentHeight < scrollHeight) {
864
+ totWidth = (perDayWidth * timeDiff) + 17;
865
+ }
866
+ else {
867
+ totWidth = (perDayWidth * timeDiff);
868
+ }
869
+ if (contentWidth >= totWidth) {
870
+ var widthDiff = contentWidth - totWidth;
871
+ widthDiff = Math.round(widthDiff / perDayWidth);
872
+ endDate.setDate(endDate.getDate() + widthDiff);
873
+ this.parent.timelineModule.timelineEndDate = endDate;
874
+ if (resized) {
875
+ this.parent.updateProjectDates(this.timelineStartDate, this.timelineEndDate, this.parent.isTimelineRoundOff);
876
+ }
877
+ }
878
+ }
879
+ };
846
880
  Timeline.prototype.getTimelineRoundOffEndDate = function (date) {
847
881
  var tierMode = this.topTier === 'None' ? this.bottomTier : this.topTier;
848
882
  var endDate = new Date(date.toString());
@@ -857,6 +891,9 @@ var Timeline = /** @class */ (function () {
857
891
  endDate.setHours(24, 0, 0, 0);
858
892
  }
859
893
  }
894
+ if (this.isZooming || this.parent.isLoad) {
895
+ this.updateTimelineAfterZooming(endDate, false);
896
+ }
860
897
  return endDate;
861
898
  };
862
899
  /**
@@ -926,7 +963,6 @@ var Timeline = /** @class */ (function () {
926
963
  }
927
964
  return increment;
928
965
  };
929
- ;
930
966
  /**
931
967
  * Method to find header cell was weekend or not
932
968
  *
@@ -174,6 +174,7 @@ var Tooltip = /** @class */ (function () {
174
174
  * @returns {void} .
175
175
  */
176
176
  Tooltip.prototype.updateTooltipPosition = function (args) {
177
+ args.element.style.visibility = 'visible';
177
178
  if (isNullOrUndefined(this.tooltipMouseEvent) || args.target.classList.contains('e-notes-info')) {
178
179
  return;
179
180
  }
@@ -203,7 +204,6 @@ var Tooltip = /** @class */ (function () {
203
204
  tooltipPositionY = tooltipPositionY + 10;
204
205
  }
205
206
  args.element.style.top = tooltipPositionY + 'px';
206
- args.element.style.visibility = 'visible';
207
207
  };
208
208
  /**
209
209
  * Method to get mouse pointor position
@@ -245,9 +245,16 @@ var Tooltip = /** @class */ (function () {
245
245
  switch (elementType) {
246
246
  case 'milestone':
247
247
  {
248
- var sDate = !isNullOrUndefined(data.startDate) ? '<tr><td class = "e-gantt-tooltip-label"> Date</td><td>:</td>' +
248
+ var milestoneStartDate = void 0;
249
+ if (args.target.className.includes('e-baseline-gantt-milestone') && !isNullOrUndefined(data.baselineStartDate)) {
250
+ milestoneStartDate = data.baselineStartDate;
251
+ }
252
+ else if (!isNullOrUndefined(data.startDate)) {
253
+ milestoneStartDate = data.startDate;
254
+ }
255
+ var sDate = !isNullOrUndefined(milestoneStartDate) ? '<tr><td class = "e-gantt-tooltip-label"> Date</td><td>:</td>' +
249
256
  '<td class = "e-gantt-tooltip-value">' +
250
- this.parent.getFormatedDate(data.startDate, this.parent.getDateFormat()) + '</td></tr>' : '';
257
+ this.parent.getFormatedDate(milestoneStartDate, this.parent.getDateFormat()) + '</td></tr>' : '';
251
258
  content = '<table class = "e-gantt-tooltiptable"><tbody>' +
252
259
  taskName + sDate + '</tbody></table>';
253
260
  break;