@syncfusion/ej2-gantt 19.4.54 → 20.1.47

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 (81) hide show
  1. package/CHANGELOG.md +33 -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 +257 -140
  5. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es5.js +279 -148
  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 +2 -1
  14. package/src/gantt/actions/edit.js +36 -9
  15. package/src/gantt/actions/rowdragdrop.js +37 -15
  16. package/src/gantt/actions/selection.js +3 -0
  17. package/src/gantt/base/date-processor.js +0 -1
  18. package/src/gantt/base/gantt-chart.js +36 -5
  19. package/src/gantt/base/gantt.js +15 -56
  20. package/src/gantt/base/splitter.js +1 -0
  21. package/src/gantt/base/tree-grid.js +3 -1
  22. package/src/gantt/renderer/chart-rows.js +59 -32
  23. package/src/gantt/renderer/connector-line.js +22 -18
  24. package/src/gantt/renderer/event-marker.js +1 -0
  25. package/src/gantt/renderer/nonworking-day.js +13 -6
  26. package/src/gantt/renderer/timeline.d.ts +1 -0
  27. package/src/gantt/renderer/timeline.js +40 -1
  28. package/src/gantt/renderer/tooltip.js +10 -3
  29. package/styles/bootstrap-dark.css +37 -10
  30. package/styles/bootstrap.css +37 -10
  31. package/styles/bootstrap4.css +37 -10
  32. package/styles/bootstrap5-dark.css +53 -19
  33. package/styles/bootstrap5.css +53 -19
  34. package/styles/fabric-dark.css +34 -7
  35. package/styles/fabric.css +37 -10
  36. package/styles/fluent-dark.css +1942 -0
  37. package/styles/fluent-dark.scss +1 -0
  38. package/styles/fluent.css +1942 -0
  39. package/styles/fluent.scss +1 -0
  40. package/styles/gantt/_bootstrap-dark-definition.scss +10 -2
  41. package/styles/gantt/_bootstrap-definition.scss +11 -3
  42. package/styles/gantt/_bootstrap4-definition.scss +10 -2
  43. package/styles/gantt/_bootstrap5-definition.scss +17 -9
  44. package/styles/gantt/_fabric-dark-definition.scss +8 -0
  45. package/styles/gantt/_fabric-definition.scss +10 -2
  46. package/styles/gantt/_fluent-dark-definition.scss +1 -0
  47. package/styles/gantt/_fluent-definition.scss +21 -13
  48. package/styles/gantt/_highcontrast-definition.scss +9 -1
  49. package/styles/gantt/_highcontrast-light-definition.scss +9 -1
  50. package/styles/gantt/_layout.scss +53 -2
  51. package/styles/gantt/_material-dark-definition.scss +9 -1
  52. package/styles/gantt/_material-definition.scss +10 -2
  53. package/styles/gantt/_tailwind-definition.scss +13 -5
  54. package/styles/gantt/_theme.scss +2 -5
  55. package/styles/gantt/bootstrap-dark.css +37 -10
  56. package/styles/gantt/bootstrap.css +37 -10
  57. package/styles/gantt/bootstrap4.css +37 -10
  58. package/styles/gantt/bootstrap5-dark.css +53 -19
  59. package/styles/gantt/bootstrap5.css +53 -19
  60. package/styles/gantt/fabric-dark.css +34 -7
  61. package/styles/gantt/fabric.css +37 -10
  62. package/styles/gantt/fluent-dark.css +1942 -0
  63. package/styles/gantt/fluent-dark.scss +22 -0
  64. package/styles/gantt/fluent.css +1942 -0
  65. package/styles/gantt/fluent.scss +22 -0
  66. package/styles/gantt/highcontrast-light.css +34 -7
  67. package/styles/gantt/highcontrast.css +34 -7
  68. package/styles/gantt/icons/_fluent-dark.scss +1 -0
  69. package/styles/gantt/icons/_fluent.scss +1 -1
  70. package/styles/gantt/icons/_tailwind-dark.scss +28 -29
  71. package/styles/gantt/icons/_tailwind.scss +26 -27
  72. package/styles/gantt/material-dark.css +37 -10
  73. package/styles/gantt/material.css +37 -10
  74. package/styles/gantt/tailwind-dark.css +70 -99
  75. package/styles/gantt/tailwind.css +70 -99
  76. package/styles/highcontrast-light.css +34 -7
  77. package/styles/highcontrast.css +34 -7
  78. package/styles/material-dark.css +37 -10
  79. package/styles/material.css +37 -10
  80. package/styles/tailwind-dark.css +70 -99
  81. 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);
@@ -140,7 +140,7 @@ var ChartRows = /** @class */ (function (_super) {
140
140
  var childTaskbarNode = null;
141
141
  var data = this.templateData;
142
142
  if (this.childTaskbarTemplateFunction) {
143
- childTaskbarNode = this.childTaskbarTemplateFunction(extend({ index: i }, data), this.parent, 'TaskbarTemplate', this.getTemplateID('TaskbarTemplate'), false, undefined, rootElement[0]);
143
+ childTaskbarNode = this.childTaskbarTemplateFunction(extend({ index: i }, data), this.parent, 'TaskbarTemplate', this.getTemplateID('TaskbarTemplate'), false, undefined, rootElement[0], this.parent.treeGrid['root']);
144
144
  }
145
145
  else {
146
146
  var labelString = '';
@@ -184,9 +184,9 @@ var ChartRows = /** @class */ (function (_super) {
184
184
  }
185
185
  else {
186
186
  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:' +
187
+ (this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'text-align: left;' : '') +
188
+ +(this.parent.viewType === 'ResourceView' ? 'display:inline-flex;' : '') +
189
+ +(this.parent.viewType === 'ResourceView' ? (data.ganttProperties.width - 10) : '') + 'px; height:' +
190
190
  this.taskBarHeight + 'px;">' + labelString + '</span>';
191
191
  }
192
192
  }
@@ -579,7 +579,7 @@ var ChartRows = /** @class */ (function (_super) {
579
579
  var milestoneNode = null;
580
580
  var data = this.templateData;
581
581
  if (this.milestoneTemplateFunction) {
582
- milestoneNode = this.milestoneTemplateFunction(extend({ index: i }, data), this.parent, 'MilestoneTemplate', this.getTemplateID('MilestoneTemplate'), false, undefined, rootElement[0]);
582
+ milestoneNode = this.milestoneTemplateFunction(extend({ index: i }, data), this.parent, 'MilestoneTemplate', this.getTemplateID('MilestoneTemplate'), false, undefined, rootElement[0], this.parent.treeGrid['root']);
583
583
  }
584
584
  else {
585
585
  var template = '<div class="' + cls.traceMilestone + '" style="position:absolute;">' +
@@ -603,7 +603,7 @@ var ChartRows = /** @class */ (function (_super) {
603
603
  */
604
604
  ChartRows.prototype.getTaskBaselineNode = function () {
605
605
  var data = this.templateData;
606
- var template = '<div class="' + cls.baselineBar + ' ' + '" style="margin-top:' + this.baselineTop +
606
+ var template = '<div class="' + cls.baselineBar + ' ' + '" role="BaselineBar" style="margin-top:' + this.baselineTop +
607
607
  'px;left:' + data.ganttProperties.baselineLeft + 'px;' +
608
608
  'width:' + data.ganttProperties.baselineWidth + 'px;height:' +
609
609
  this.baselineHeight + 'px;' + (this.baselineColor ? 'background-color: ' + this.baselineColor + ';' : '') + '"></div>';
@@ -617,9 +617,10 @@ var ChartRows = /** @class */ (function (_super) {
617
617
  */
618
618
  ChartRows.prototype.getMilestoneBaselineNode = function () {
619
619
  var data = this.templateData;
620
+ var baselineMilestoneHeight = this.parent.renderBaseline ? 5 : 2;
620
621
  var template = '<div class="' + cls.baselineMilestoneContainer + ' ' + '" style="' +
621
622
  'left:' + (data.ganttProperties.baselineLeft - this.milesStoneRadius) + 'px;' +
622
- 'margin-top:' + (-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) + 2) +
623
+ 'margin-top:' + (-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) + baselineMilestoneHeight) +
623
624
  'px">' + '<div class="' + cls.baselineMilestoneDiv + '">' + '<div class="' + cls.baselineMilestoneDiv +
624
625
  ' ' + cls.baselineMilestoneTop + '" ' +
625
626
  'style="top:' + (-this.milestoneHeight) + 'px;border-right:' + this.milesStoneRadius +
@@ -647,10 +648,12 @@ var ChartRows = /** @class */ (function (_super) {
647
648
  */
648
649
  ChartRows.prototype.getLeftLabelNode = function (i) {
649
650
  var leftLabelNode = this.leftLabelContainer();
650
- leftLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('left'));
651
+ if (this.generateTaskLabelAriaLabel('left') !== "") {
652
+ leftLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('left'));
653
+ }
651
654
  var leftLabelTemplateNode = null;
652
655
  if (this.leftTaskLabelTemplateFunction) {
653
- leftLabelTemplateNode = this.leftTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'LeftLabelTemplate', this.getTemplateID('LeftLabelTemplate'), false, undefined, leftLabelNode[0]);
656
+ leftLabelTemplateNode = this.leftTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'LeftLabelTemplate', this.getTemplateID('LeftLabelTemplate'), false, undefined, leftLabelNode[0], this.parent.treeGrid['root']);
654
657
  }
655
658
  else {
656
659
  var field = this.parent.labelSettings.leftLabel;
@@ -661,14 +664,18 @@ var ChartRows = /** @class */ (function (_super) {
661
664
  }
662
665
  }
663
666
  if (leftLabelTemplateNode && leftLabelTemplateNode.length > 0) {
667
+ if (leftLabelTemplateNode[0]['data'] === 'null') {
668
+ leftLabelTemplateNode[0]['data'] = '';
669
+ }
664
670
  leftLabelNode[0].appendChild([].slice.call(leftLabelTemplateNode)[0]);
665
671
  }
666
672
  return leftLabelNode;
667
673
  };
668
674
  ChartRows.prototype.getLableText = function (labelString, labelDiv) {
675
+ var leftLabelHeight = this.parent.renderBaseline ? ((this.parent.rowHeight - this.taskBarHeight) / 2) : this.taskBarMarginTop;
669
676
  var templateString = createElement('div', {
670
677
  className: labelDiv, styles: 'height:' + (this.taskBarHeight) + 'px;' +
671
- 'margin-top:' + this.taskBarMarginTop + 'px;'
678
+ 'margin-top:' + leftLabelHeight + 'px;'
672
679
  });
673
680
  var spanElem = createElement('span', { className: cls.label });
674
681
  var property = this.parent.disableHtmlEncode ? 'textContent' : 'innerHTML';
@@ -687,10 +694,12 @@ var ChartRows = /** @class */ (function (_super) {
687
694
  */
688
695
  ChartRows.prototype.getRightLabelNode = function (i) {
689
696
  var rightLabelNode = this.rightLabelContainer();
690
- rightLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('right'));
697
+ if (this.generateTaskLabelAriaLabel('right') !== "") {
698
+ rightLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('right'));
699
+ }
691
700
  var rightLabelTemplateNode = null;
692
701
  if (this.rightTaskLabelTemplateFunction) {
693
- rightLabelTemplateNode = this.rightTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'RightLabelTemplate', this.getTemplateID('RightLabelTemplate'), false, undefined, rightLabelNode[0]);
702
+ rightLabelTemplateNode = this.rightTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'RightLabelTemplate', this.getTemplateID('RightLabelTemplate'), false, undefined, rightLabelNode[0], this.parent.treeGrid['root']);
694
703
  }
695
704
  else {
696
705
  var field = this.parent.labelSettings.rightLabel;
@@ -701,6 +710,9 @@ var ChartRows = /** @class */ (function (_super) {
701
710
  }
702
711
  }
703
712
  if (rightLabelTemplateNode && rightLabelTemplateNode.length > 0) {
713
+ if (rightLabelTemplateNode[0]['data'] === 'null') {
714
+ rightLabelTemplateNode[0]['data'] = '';
715
+ }
704
716
  rightLabelNode[0].appendChild([].slice.call(rightLabelTemplateNode)[0]);
705
717
  }
706
718
  return rightLabelNode;
@@ -755,7 +767,7 @@ var ChartRows = /** @class */ (function (_super) {
755
767
  var parentTaskbarNode = null;
756
768
  var data = this.templateData;
757
769
  if (this.parentTaskbarTemplateFunction) {
758
- parentTaskbarNode = this.parentTaskbarTemplateFunction(extend({ index: i }, data), this.parent, 'ParentTaskbarTemplate', this.getTemplateID('ParentTaskbarTemplate'), false, undefined, rootElement[0]);
770
+ parentTaskbarNode = this.parentTaskbarTemplateFunction(extend({ index: i }, data), this.parent, 'ParentTaskbarTemplate', this.getTemplateID('ParentTaskbarTemplate'), false, undefined, rootElement[0], this.parent.treeGrid['root']);
759
771
  }
760
772
  else {
761
773
  var labelString = '';
@@ -797,8 +809,10 @@ var ChartRows = /** @class */ (function (_super) {
797
809
  else {
798
810
  labelDiv = this.createDivElement('<span class="' +
799
811
  cls.taskLabel + '" style="line-height:' +
800
- (this.taskBarHeight - 1) + 'px; display:' + (this.parent.viewType === 'ResourceView' ? 'inline-flex;' : ';') + 'width:' +
801
- (this.parent.viewType === 'ResourceView' ? (data.ganttProperties.width - 10) : ';') + 'px; height:' +
812
+ (this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'display:inline-flex;' : '') +
813
+ (this.parent.viewType === 'ResourceView' ? 'width:' + (data.ganttProperties.width - 10) : '') + 'px; height:' +
814
+ (this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'display: inline-flex;' : '') +
815
+ (this.parent.viewType === 'ResourceView' ? 'width:' + (data.ganttProperties.width - 10) : '') + 'px; height:' +
802
816
  this.taskBarHeight + 'px;">' + labelString + '</span>');
803
817
  }
804
818
  progressBarInnerDiv[0].appendChild([].slice.call(labelDiv)[0]);
@@ -827,10 +841,10 @@ var ChartRows = /** @class */ (function (_super) {
827
841
  var className = (this.parent.gridLines === 'Horizontal' || this.parent.gridLines === 'Both') ?
828
842
  'e-chart-row-border' : '';
829
843
  table.innerHTML = '<tr class="' + this.getRowClassName(this.templateData) + ' ' + cls.chartRow + '"' +
830
- 'style="display:' + this.getExpandDisplayProp(this.templateData) + ';height:' +
844
+ 'role="ChartRow" style="display:' + this.getExpandDisplayProp(this.templateData) + ';height:' +
831
845
  this.parent.rowHeight + 'px;">' +
832
846
  '<td class="' + cls.chartRowCell + ' ' + className
833
- + '" style="width:' + this.parent.timelineModule.totalTimelineWidth + 'px;"></td></tr>';
847
+ + '" role="ChartCell" style="width:' + this.parent.timelineModule.totalTimelineWidth + 'px;"></td></tr>';
834
848
  return table.childNodes;
835
849
  };
836
850
  /**
@@ -869,10 +883,19 @@ var ChartRows = /** @class */ (function (_super) {
869
883
  };
870
884
  ChartRows.prototype.isTemplate = function (template) {
871
885
  var result = false;
886
+ for (var i = 0; i < this.parent.ganttColumns.length; i++) {
887
+ if (template === this.parent.ganttColumns[i].field) {
888
+ result = true;
889
+ break;
890
+ }
891
+ }
872
892
  if (typeof template !== 'string' || template.indexOf('#') === 0 || template.indexOf('<') > -1
873
- || template.indexOf('$') > -1) {
893
+ || template.indexOf('$') > -1 || !result) {
874
894
  result = true;
875
895
  }
896
+ else {
897
+ result = false;
898
+ }
876
899
  return result;
877
900
  };
878
901
  /**
@@ -886,8 +909,8 @@ var ChartRows = /** @class */ (function (_super) {
886
909
  };
887
910
  ChartRows.prototype.leftLabelContainer = function () {
888
911
  var template = '<div class="' + ((this.leftTaskLabelTemplateFunction) ? cls.leftLabelTempContainer :
889
- cls.leftLabelContainer) + ' ' + '" tabindex="-1" style="height:' +
890
- (this.parent.rowHeight - 1) + 'px;width:' + this.taskNameWidth(this.templateData) + '"></div>';
912
+ cls.leftLabelContainer) + ' ' + '" tabindex="-1" role="LeftLabel" style="height:' +
913
+ (this.parent.rowHeight - 2) + 'px;width:' + this.taskNameWidth(this.templateData) + '"></div>';
891
914
  return this.createDivElement(template);
892
915
  };
893
916
  ChartRows.prototype.taskbarContainer = function () {
@@ -898,7 +921,7 @@ var ChartRows = /** @class */ (function (_super) {
898
921
  var template = '<div class="' + cls.taskBarMainContainer + ' ' +
899
922
  this.parent.getUnscheduledTaskClass(data.ganttProperties) + ' ' +
900
923
  ((data.ganttProperties.cssClass) ? data.ganttProperties.cssClass : '') + '" ' +
901
- ' tabindex="-1" style="' + ((data.ganttProperties.isMilestone && !manualParent) ?
924
+ ' tabindex="-1" role="TaskBar" style="' + ((data.ganttProperties.isMilestone && !manualParent) ?
902
925
  ('width:' + this.milestoneHeight + 'px;height:' +
903
926
  this.milestoneHeight + 'px;margin-top:' + this.milestoneMarginTop + 'px;left:' + (data.ganttProperties.left -
904
927
  (this.milestoneHeight / 2)) + 'px;') : ('width:' + data.ganttProperties.width +
@@ -909,26 +932,26 @@ var ChartRows = /** @class */ (function (_super) {
909
932
  };
910
933
  ChartRows.prototype.rightLabelContainer = function () {
911
934
  var template = '<div class="' + ((this.rightTaskLabelTemplateFunction) ? cls.rightLabelTempContainer :
912
- cls.rightLabelContainer) + '" ' + ' tabindex="-1" style="left:' + this.getRightLabelLeft(this.templateData) + 'px;height:'
913
- + (this.parent.rowHeight - 1) + 'px;"></div>';
935
+ cls.rightLabelContainer) + '" ' + ' tabindex="-1" role="RightLabel" style="left:' + this.getRightLabelLeft(this.templateData) + 'px; height:'
936
+ + (this.parent.rowHeight - 2) + 'px;"></div>';
914
937
  return this.createDivElement(template);
915
938
  };
916
939
  ChartRows.prototype.childTaskbarLeftResizer = function () {
917
940
  var lResizerLeft = -(this.parent.isAdaptive ? 12 : 2);
918
941
  var template = '<div class="' + cls.taskBarLeftResizer + ' ' + cls.icon + '"' +
919
- ' style="left:' + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
942
+ ' role="LeftResizer" style="left:' + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
920
943
  return this.createDivElement(template);
921
944
  };
922
945
  ChartRows.prototype.childTaskbarRightResizer = function () {
923
946
  var rResizerLeft = this.parent.isAdaptive ? -2 : -10;
924
947
  var template = '<div class="' + cls.taskBarRightResizer + ' ' + cls.icon + '"' +
925
- ' style="left:' + (this.templateData.ganttProperties.width + rResizerLeft) + 'px;' +
948
+ ' role="RightResizer" style="left:' + (this.templateData.ganttProperties.width + rResizerLeft) + 'px;' +
926
949
  'height:' + (this.taskBarHeight) + 'px;"></div>';
927
950
  return this.createDivElement(template);
928
951
  };
929
952
  ChartRows.prototype.childTaskbarProgressResizer = function () {
930
953
  var template = '<div class="' + cls.childProgressResizer + '"' +
931
- ' style="left:' + (this.templateData.ganttProperties.progressWidth - 6) + 'px;margin-top:' +
954
+ ' role="ProgressResizer" style="left:' + (this.templateData.ganttProperties.progressWidth - 6) + 'px;margin-top:' +
932
955
  (this.taskBarHeight - 4) + 'px;"><div class="' + cls.progressBarHandler + '"' +
933
956
  '><div class="' + cls.progressHandlerElement + '"></div>' +
934
957
  '<div class="' + cls.progressBarHandlerAfter + '"></div></div>';
@@ -1126,10 +1149,13 @@ var ChartRows = /** @class */ (function (_super) {
1126
1149
  * @private
1127
1150
  */
1128
1151
  ChartRows.prototype.initChartHelperPrivateVariable = function () {
1152
+ var taskbarHeightValue = this.parent.renderBaseline ? 0.45 : 0.62;
1153
+ var taskBarMarginTopValue = this.parent.renderBaseline ? 4 : 2;
1154
+ var milestoneHeightValue = this.parent.renderBaseline ? 1.13 : 0.82;
1129
1155
  this.baselineColor = !isNullOrUndefined(this.parent.baselineColor) &&
1130
1156
  this.parent.baselineColor !== '' ? this.parent.baselineColor : null;
1131
1157
  this.taskBarHeight = isNullOrUndefined(this.parent.taskbarHeight) || this.parent.taskbarHeight >= this.parent.rowHeight ?
1132
- Math.floor(this.parent.rowHeight * 0.62) : this.parent.taskbarHeight; // 0.62 -- Standard Ratio.
1158
+ Math.floor(this.parent.rowHeight * taskbarHeightValue) : this.parent.taskbarHeight; // 0.62 -- Standard Ratio.
1133
1159
  if (this.parent.renderBaseline) {
1134
1160
  var height = void 0;
1135
1161
  if ((this.taskBarHeight + this.baselineHeight) <= this.parent.rowHeight) {
@@ -1140,11 +1166,11 @@ var ChartRows = /** @class */ (function (_super) {
1140
1166
  }
1141
1167
  this.taskBarHeight = height;
1142
1168
  }
1143
- this.milestoneHeight = Math.floor(this.taskBarHeight * 0.82); // 0.82 -- Standard Ratio.
1144
- this.taskBarMarginTop = Math.floor((this.parent.rowHeight - this.taskBarHeight) / 2);
1169
+ this.milestoneHeight = Math.floor(this.taskBarHeight * milestoneHeightValue); // 0.82 -- Standard Ratio.
1170
+ this.taskBarMarginTop = Math.floor((this.parent.rowHeight - this.taskBarHeight) / taskBarMarginTopValue);
1145
1171
  this.milestoneMarginTop = Math.floor((this.parent.rowHeight - this.milestoneHeight) / 2);
1146
1172
  this.milesStoneRadius = Math.floor((this.milestoneHeight) / 2);
1147
- this.baselineTop = -(Math.floor((this.parent.rowHeight - (this.taskBarHeight + this.taskBarMarginTop))) - 1);
1173
+ this.baselineTop = -(Math.floor((this.parent.rowHeight - (this.taskBarHeight + this.taskBarMarginTop))) - 4);
1148
1174
  this.connectorPointWidth = this.parent.isAdaptive ? Math.round(this.taskBarHeight / 2) : 8;
1149
1175
  this.connectorPointMargin = Math.floor((this.taskBarHeight / 2) - (this.connectorPointWidth / 2));
1150
1176
  };
@@ -1338,6 +1364,7 @@ var ChartRows = /** @class */ (function (_super) {
1338
1364
  var indicators = this.templateData.ganttProperties.indicators;
1339
1365
  for (var indicatorIndex = 0; indicatorIndex < indicators.length; indicatorIndex++) {
1340
1366
  taskIndicatorNode = this.getIndicatorNode(indicators[indicatorIndex]);
1367
+ taskIndicatorNode[0].setAttribute('aria-label', indicators[indicatorIndex].name);
1341
1368
  if (indicators[indicatorIndex].name.indexOf('$') > -1 || indicators[indicatorIndex].name.indexOf('#') > -1) {
1342
1369
  taskIndicatorTextFunction = this.templateCompiler(indicators[indicatorIndex].name);
1343
1370
  taskIndicatorTextNode = taskIndicatorTextFunction(extend({ index: i }, this.templateData), this.parent, 'indicatorLabelText');
@@ -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
  *
@@ -123,6 +123,9 @@ var Timeline = /** @class */ (function () {
123
123
  }
124
124
  }
125
125
  }
126
+ currentLevel = this.parent.zoomingLevels.findIndex(function (tempLevel) {
127
+ return tempLevel.level === currentLevel;
128
+ });
126
129
  var newTimeline = this.parent.zoomingLevels[currentLevel];
127
130
  var args = {
128
131
  requestType: isZoomIn ? 'beforeZoomIn' : 'beforeZoomOut',
@@ -840,6 +843,40 @@ var Timeline = /** @class */ (function () {
840
843
  } while ((startDate < endDate));
841
844
  return parentTh;
842
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
+ };
843
880
  Timeline.prototype.getTimelineRoundOffEndDate = function (date) {
844
881
  var tierMode = this.topTier === 'None' ? this.bottomTier : this.topTier;
845
882
  var endDate = new Date(date.toString());
@@ -854,6 +891,9 @@ var Timeline = /** @class */ (function () {
854
891
  endDate.setHours(24, 0, 0, 0);
855
892
  }
856
893
  }
894
+ if (this.isZooming || this.parent.isLoad) {
895
+ this.updateTimelineAfterZooming(endDate, false);
896
+ }
857
897
  return endDate;
858
898
  };
859
899
  /**
@@ -923,7 +963,6 @@ var Timeline = /** @class */ (function () {
923
963
  }
924
964
  return increment;
925
965
  };
926
- ;
927
966
  /**
928
967
  * Method to find header cell was weekend or not
929
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;