@syncfusion/ej2-gantt 20.2.43 → 20.2.46

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 (69) hide show
  1. package/CHANGELOG.md +30 -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 +91 -46
  5. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es5.js +91 -46
  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 +3 -0
  13. package/src/gantt/actions/critical-path.js +2 -8
  14. package/src/gantt/actions/edit.js +1 -1
  15. package/src/gantt/actions/rowdragdrop.js +2 -2
  16. package/src/gantt/base/date-processor.js +1 -1
  17. package/src/gantt/base/gantt-chart.js +17 -3
  18. package/src/gantt/base/gantt.d.ts +1 -0
  19. package/src/gantt/base/gantt.js +46 -26
  20. package/src/gantt/base/splitter.js +3 -1
  21. package/src/gantt/base/task-processor.js +4 -1
  22. package/src/gantt/renderer/chart-rows.js +12 -3
  23. package/src/gantt/renderer/timeline.js +1 -1
  24. package/styles/bootstrap-dark.css +4 -4
  25. package/styles/bootstrap.css +4 -4
  26. package/styles/bootstrap4.css +4 -4
  27. package/styles/bootstrap5-dark.css +4 -4
  28. package/styles/bootstrap5.css +4 -4
  29. package/styles/fabric-dark.css +4 -4
  30. package/styles/fabric.css +4 -4
  31. package/styles/fluent-dark.css +4 -4
  32. package/styles/fluent.css +4 -4
  33. package/styles/gantt/_layout.scss +9 -19
  34. package/styles/gantt/_theme.scss +1 -19
  35. package/styles/gantt/bootstrap-dark.css +4 -4
  36. package/styles/gantt/bootstrap.css +4 -4
  37. package/styles/gantt/bootstrap4.css +4 -4
  38. package/styles/gantt/bootstrap5-dark.css +4 -4
  39. package/styles/gantt/bootstrap5.css +4 -4
  40. package/styles/gantt/fabric-dark.css +4 -4
  41. package/styles/gantt/fabric.css +4 -4
  42. package/styles/gantt/fluent-dark.css +4 -4
  43. package/styles/gantt/fluent.css +4 -4
  44. package/styles/gantt/highcontrast-light.css +4 -4
  45. package/styles/gantt/highcontrast.css +4 -4
  46. package/styles/gantt/icons/_bootstrap-dark.scss +3 -3
  47. package/styles/gantt/icons/_bootstrap.scss +3 -3
  48. package/styles/gantt/icons/_bootstrap4.scss +5 -5
  49. package/styles/gantt/icons/_bootstrap5.scss +3 -3
  50. package/styles/gantt/icons/_fabric-dark.scss +3 -3
  51. package/styles/gantt/icons/_fabric.scss +3 -3
  52. package/styles/gantt/icons/_fluent.scss +3 -3
  53. package/styles/gantt/icons/_fusionnew.scss +3 -3
  54. package/styles/gantt/icons/_highcontrast.scss +3 -3
  55. package/styles/gantt/icons/_material-dark.scss +3 -3
  56. package/styles/gantt/icons/_material.scss +3 -3
  57. package/styles/gantt/icons/_material3.scss +3 -3
  58. package/styles/gantt/icons/_tailwind-dark.scss +3 -3
  59. package/styles/gantt/icons/_tailwind.scss +3 -3
  60. package/styles/gantt/material-dark.css +4 -4
  61. package/styles/gantt/material.css +4 -4
  62. package/styles/gantt/tailwind-dark.css +4 -4
  63. package/styles/gantt/tailwind.css +4 -4
  64. package/styles/highcontrast-light.css +4 -4
  65. package/styles/highcontrast.css +4 -4
  66. package/styles/material-dark.css +4 -4
  67. package/styles/material.css +4 -4
  68. package/styles/tailwind-dark.css +4 -4
  69. package/styles/tailwind.css +4 -4
@@ -366,7 +366,7 @@ class DateProcessor {
366
366
  if (hour < this.parent.defaultStartTime) {
367
367
  this.setTime(this.parent.defaultStartTime, cloneDate);
368
368
  }
369
- else if (hour >= this.parent.defaultEndTime) {
369
+ else if (hour > this.parent.defaultEndTime) {
370
370
  cloneDate.setDate(cloneDate.getDate() + 1);
371
371
  this.setTime(this.parent.defaultStartTime, cloneDate);
372
372
  }
@@ -1853,7 +1853,10 @@ class TaskProcessor extends DateProcessor {
1853
1853
  this.setTime(this.parent.defaultEndTime, baselineEndDate);
1854
1854
  }
1855
1855
  if ((ganttProperties.baselineStartDate && baselineEndDate &&
1856
- (ganttProperties.baselineStartDate.getTime() > baselineEndDate.getTime())) || ganttProperties.isMilestone) {
1856
+ (ganttProperties.baselineStartDate.getTime() > baselineEndDate.getTime())) ||
1857
+ ((!isNullOrUndefined(ganttProperties.baselineStartDate) && !isNullOrUndefined(ganttProperties.startDate) && (ganttProperties.baselineStartDate.getTime() === ganttProperties.startDate.getTime()))
1858
+ && (!isNullOrUndefined(baselineEndDate) && !isNullOrUndefined(ganttProperties.endDate) && (baselineEndDate.toLocaleDateString() === ganttProperties.endDate.toLocaleDateString())) &&
1859
+ ganttProperties.isMilestone)) {
1857
1860
  baselineEndDate = ganttProperties.baselineStartDate;
1858
1861
  }
1859
1862
  this.parent.setRecordValue('baselineEndDate', this.checkBaselineEndDate(baselineEndDate, ganttProperties), ganttProperties, true);
@@ -4822,7 +4825,7 @@ class GanttChart {
4822
4825
  * @private
4823
4826
  */
4824
4827
  expandedGanttRow(args) {
4825
- if (isNullOrUndefined(args['gridRow']) && this.parent.enableVirtualization) {
4828
+ if ((isNullOrUndefined(args['gridRow']) && this.parent.enableVirtualization) || isNullOrUndefined(args['chartRow'])) {
4826
4829
  return;
4827
4830
  }
4828
4831
  const record = getValue('data', args);
@@ -5067,7 +5070,7 @@ class GanttChart {
5067
5070
  if (isTab) {
5068
5071
  if (this.parent.editSettings.allowNextRowEdit) {
5069
5072
  const rowData = this.parent.currentViewData[this.focusedRowIndex];
5070
- const columnName = this.parent.ganttColumns[nextElement.getAttribute('aria-colindex')].field;
5073
+ const columnName = this.parent.ganttColumns[nextElement.getAttribute('data-colindex')].field;
5071
5074
  if (rowData.hasChildRecords) {
5072
5075
  if (columnName === this.parent.taskFields.endDate || columnName ===
5073
5076
  this.parent.taskFields.duration || columnName === this.parent.taskFields.dependency ||
@@ -5081,7 +5084,9 @@ class GanttChart {
5081
5084
  }
5082
5085
  else {
5083
5086
  this.parent.treeGrid.grid.notify('key-pressed', e);
5084
- this.parent.treeGrid.editCell(this.focusedRowIndex, columnName); // eslint-disable-line
5087
+ if (isInEditedState) {
5088
+ this.parent.treeGrid.editCell(this.focusedRowIndex, columnName); // eslint-disable-line
5089
+ }
5085
5090
  }
5086
5091
  }
5087
5092
  else {
@@ -5301,6 +5306,18 @@ class GanttChart {
5301
5306
  childElement = element;
5302
5307
  }
5303
5308
  }
5309
+ if (element.classList.contains('e-right-label-temp-container') || element.classList.contains('e-left-label-temp-container') || element.classList.contains('e-indicator-span')) {
5310
+ if (focus === 'add') {
5311
+ element.setAttribute('tabIndex', '0');
5312
+ addClass([element], 'e-active-container');
5313
+ element.focus();
5314
+ }
5315
+ else {
5316
+ removeClass([element], 'e-active-container');
5317
+ element.setAttribute('tabIndex', '-1');
5318
+ element.blur();
5319
+ }
5320
+ }
5304
5321
  if (focus === 'add' && !isNullOrUndefined(childElement)) {
5305
5322
  element.setAttribute('tabIndex', '0');
5306
5323
  addClass([childElement], 'e-active-container');
@@ -6262,7 +6279,7 @@ class Timeline {
6262
6279
  endDate.setHours(24, 0, 0, 0);
6263
6280
  }
6264
6281
  }
6265
- if (this.isZooming || this.parent.isLoad) {
6282
+ if ((this.isZooming || this.parent.isLoad) && isNullOrUndefined(this.parent.projectEndDate)) {
6266
6283
  this.updateTimelineAfterZooming(endDate, false);
6267
6284
  }
6268
6285
  return endDate;
@@ -9320,7 +9337,10 @@ class ChartRows extends DateProcessor {
9320
9337
  }
9321
9338
  if (this.parent.renderBaseline && this.templateData.ganttProperties.baselineStartDate &&
9322
9339
  this.templateData.ganttProperties.baselineEndDate) {
9323
- taskBaselineTemplateNode = this.getTaskBaselineNode();
9340
+ taskBaselineTemplateNode = ((!isNullOrUndefined(this.templateData.ganttProperties.baselineStartDate) && !isNullOrUndefined(this.templateData.ganttProperties.startDate) && (this.templateData.ganttProperties.baselineStartDate.getTime() === this.templateData.ganttProperties.startDate.getTime()))
9341
+ && (!isNullOrUndefined(this.templateData.ganttProperties.baselineEndDate) && !isNullOrUndefined(this.templateData.ganttProperties.endDate) && (this.templateData.ganttProperties.baselineEndDate.toLocaleDateString() === this.templateData.ganttProperties.endDate.toLocaleDateString())) &&
9342
+ this.templateData.ganttProperties.isMilestone)
9343
+ ? this.getMilestoneBaselineNode() : this.getTaskBaselineNode();
9324
9344
  }
9325
9345
  }
9326
9346
  else if (this.templateData.ganttProperties.isMilestone) {
@@ -9330,7 +9350,10 @@ class ChartRows extends DateProcessor {
9330
9350
  }
9331
9351
  if (this.parent.renderBaseline && this.templateData.ganttProperties.baselineStartDate &&
9332
9352
  this.templateData.ganttProperties.baselineEndDate) {
9333
- taskBaselineTemplateNode = this.getMilestoneBaselineNode();
9353
+ taskBaselineTemplateNode = ((!isNullOrUndefined(this.templateData.ganttProperties.baselineStartDate) && !isNullOrUndefined(this.templateData.ganttProperties.startDate) && (this.templateData.ganttProperties.baselineStartDate.getTime() === this.templateData.ganttProperties.startDate.getTime()))
9354
+ && (!isNullOrUndefined(this.templateData.ganttProperties.baselineEndDate) && !isNullOrUndefined(this.templateData.ganttProperties.endDate) && (this.templateData.ganttProperties.baselineEndDate.toLocaleDateString() === this.templateData.ganttProperties.endDate.toLocaleDateString())) &&
9355
+ this.templateData.ganttProperties.isMilestone)
9356
+ ? this.getMilestoneBaselineNode() : this.getTaskBaselineNode();
9334
9357
  }
9335
9358
  }
9336
9359
  else {
@@ -9375,7 +9398,10 @@ class ChartRows extends DateProcessor {
9375
9398
  }
9376
9399
  if (this.parent.renderBaseline && this.templateData.ganttProperties.baselineStartDate &&
9377
9400
  this.templateData.ganttProperties.baselineEndDate) {
9378
- taskBaselineTemplateNode = this.getTaskBaselineNode();
9401
+ taskBaselineTemplateNode = ((!isNullOrUndefined(this.templateData.ganttProperties.baselineStartDate) && !isNullOrUndefined(this.templateData.ganttProperties.startDate) && (this.templateData.ganttProperties.baselineStartDate.getTime() === this.templateData.ganttProperties.startDate.getTime()))
9402
+ && (!isNullOrUndefined(this.templateData.ganttProperties.baselineEndDate) && !isNullOrUndefined(this.templateData.ganttProperties.endDate) && (this.templateData.ganttProperties.baselineEndDate.toLocaleDateString() === this.templateData.ganttProperties.endDate.toLocaleDateString())) &&
9403
+ this.templateData.ganttProperties.isMilestone)
9404
+ ? this.getMilestoneBaselineNode() : this.getTaskBaselineNode();
9379
9405
  }
9380
9406
  }
9381
9407
  if (!this.templateData.hasChildRecords) {
@@ -11509,7 +11535,9 @@ class Splitter$1 {
11509
11535
  this.splitterObject.paneSettings[1].size = null;
11510
11536
  this.splitterObject.paneSettings[1].size = this.getSpliterPositionInPercentage(this.splitterPreviousPositionChart);
11511
11537
  }
11512
- this.parent.timelineModule.updateTimelineAfterZooming(this.parent.timelineModule.timelineEndDate, true);
11538
+ if (isNullOrUndefined(this.parent.projectEndDate)) {
11539
+ this.parent.timelineModule.updateTimelineAfterZooming(this.parent.timelineModule.timelineEndDate, true);
11540
+ }
11513
11541
  callBackPromise.resolve(splitterResizedArgs);
11514
11542
  });
11515
11543
  return callBackPromise;
@@ -12726,6 +12754,16 @@ let Gantt = class Gantt extends Component {
12726
12754
  this.renderChartVerticalLines();
12727
12755
  }
12728
12756
  }
12757
+ removeCriticalPathStyles() {
12758
+ const ganttChartElement = this.ganttChartModule.chartElement;
12759
+ removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-taskbar-inner-div'), criticalChildTaskBarInnerDiv);
12760
+ removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-progressbar-inner-div'), criticalChildProgressBarInnerDiv);
12761
+ removeClass(ganttChartElement.querySelectorAll('.e-milestone-top'), criticalMilestoneTop);
12762
+ removeClass(ganttChartElement.querySelectorAll('.e-milestone-bottom'), criticalMilestoneBottom);
12763
+ removeClass(this.element.querySelectorAll('.e-line'), criticalConnectorLine);
12764
+ removeClass(this.element.querySelectorAll('.e-connector-line-right-arrow'), criticalConnectorLineRightArrow);
12765
+ removeClass(this.element.querySelectorAll('.e-connector-line-left-arrow'), criticalConnectorLineLeftArrow);
12766
+ }
12729
12767
  wireEvents() {
12730
12768
  if (this.allowKeyboard) {
12731
12769
  this.keyboardModule = new KeyboardEvents(this.element, {
@@ -12888,139 +12926,140 @@ let Gantt = class Gantt extends Component {
12888
12926
  * @private
12889
12927
  */
12890
12928
  getZoomingLevels() {
12929
+ const _WeekStartDay = this.timelineSettings.weekStartDay;
12891
12930
  const zoomingLevels = [
12892
12931
  {
12893
12932
  topTier: { unit: 'Year', format: 'yyyy', count: 50 },
12894
12933
  bottomTier: { unit: 'Year', format: 'yyyy', count: 10 }, timelineUnitSize: 99, level: 0,
12895
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12934
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12896
12935
  },
12897
12936
  {
12898
12937
  topTier: { unit: 'Year', format: 'yyyy', count: 20 },
12899
12938
  bottomTier: { unit: 'Year', format: 'yyyy', count: 5 }, timelineUnitSize: 99, level: 1,
12900
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12939
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12901
12940
  },
12902
12941
  {
12903
12942
  topTier: { unit: 'Year', format: 'yyyy', count: 5 },
12904
12943
  bottomTier: { unit: 'Year', format: 'yyyy', count: 1 }, timelineUnitSize: 99, level: 2,
12905
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12944
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12906
12945
  },
12907
12946
  {
12908
12947
  topTier: { unit: 'Year', format: 'MMM, yy', count: 1 },
12909
12948
  bottomTier: {
12910
12949
  unit: 'Month', formatter: this.displayHalfValue, count: 6
12911
12950
  }, timelineUnitSize: 66, level: 3,
12912
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12951
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12913
12952
  },
12914
12953
  {
12915
12954
  topTier: { unit: 'Year', format: 'MMM, yy', count: 1 },
12916
12955
  bottomTier: {
12917
12956
  unit: 'Month', formatter: this.displayHalfValue, count: 6
12918
12957
  }, timelineUnitSize: 99, level: 4,
12919
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12958
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12920
12959
  },
12921
12960
  {
12922
12961
  topTier: { unit: 'Year', format: 'MMM, yy', count: 1 },
12923
12962
  bottomTier: {
12924
12963
  unit: 'Month', formatter: this.displayQuarterValue, count: 3
12925
12964
  }, timelineUnitSize: 66, level: 5,
12926
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12965
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12927
12966
  },
12928
12967
  {
12929
12968
  topTier: { unit: 'Year', format: 'yyyy', count: 1 },
12930
12969
  bottomTier: {
12931
12970
  unit: 'Month', formatter: this.displayQuarterValue, count: 3
12932
12971
  }, timelineUnitSize: 99, level: 6,
12933
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12972
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12934
12973
  },
12935
12974
  {
12936
12975
  topTier: { unit: 'Year', format: 'yyyy', count: 1 },
12937
12976
  bottomTier: { unit: 'Month', format: 'MMM yyyy', count: 1 }, timelineUnitSize: 99, level: 7,
12938
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12977
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12939
12978
  },
12940
12979
  {
12941
12980
  topTier: { unit: 'Month', format: 'MMM, yy', count: 1 },
12942
12981
  bottomTier: { unit: 'Week', format: 'dd', count: 1 }, timelineUnitSize: 33, level: 8,
12943
- timelineViewMode: 'Month', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12982
+ timelineViewMode: 'Month', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12944
12983
  },
12945
12984
  {
12946
12985
  topTier: { unit: 'Month', format: 'MMM, yyyy', count: 1 },
12947
12986
  bottomTier: { unit: 'Week', format: 'dd MMM', count: 1 }, timelineUnitSize: 66, level: 9,
12948
- timelineViewMode: 'Month', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12987
+ timelineViewMode: 'Month', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12949
12988
  },
12950
12989
  {
12951
12990
  topTier: { unit: 'Month', format: 'MMM, yyyy', count: 1 },
12952
12991
  bottomTier: { unit: 'Week', format: 'dd MMM', count: 1 }, timelineUnitSize: 99, level: 10,
12953
- timelineViewMode: 'Month', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12992
+ timelineViewMode: 'Month', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12954
12993
  },
12955
12994
  {
12956
12995
  topTier: { unit: 'Week', format: 'MMM dd, yyyy', count: 1 },
12957
12996
  bottomTier: { unit: 'Day', format: 'd', count: 1 }, timelineUnitSize: 33, level: 11,
12958
- timelineViewMode: 'Week', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12997
+ timelineViewMode: 'Week', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12959
12998
  },
12960
12999
  {
12961
13000
  topTier: { unit: 'Week', format: 'MMM dd, yyyy', count: 1 },
12962
13001
  bottomTier: { unit: 'Day', format: 'd', count: 1 }, timelineUnitSize: 66, level: 12,
12963
- timelineViewMode: 'Week', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13002
+ timelineViewMode: 'Week', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12964
13003
  },
12965
13004
  {
12966
13005
  topTier: { unit: 'Week', format: 'MMM dd, yyyy', count: 1 },
12967
13006
  bottomTier: { unit: 'Day', format: 'd', count: 1 }, timelineUnitSize: 99, level: 13,
12968
- timelineViewMode: 'Week', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13007
+ timelineViewMode: 'Week', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12969
13008
  },
12970
13009
  {
12971
13010
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
12972
13011
  bottomTier: { unit: 'Hour', format: 'hh a', count: 12 }, timelineUnitSize: 66, level: 14,
12973
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13012
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12974
13013
  },
12975
13014
  {
12976
13015
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
12977
13016
  bottomTier: { unit: 'Hour', format: 'hh a', count: 12 }, timelineUnitSize: 99, level: 15,
12978
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13017
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12979
13018
  },
12980
13019
  {
12981
13020
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
12982
13021
  bottomTier: { unit: 'Hour', format: 'hh a', count: 6 }, timelineUnitSize: 66, level: 16,
12983
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13022
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12984
13023
  },
12985
13024
  {
12986
13025
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
12987
13026
  bottomTier: { unit: 'Hour', format: 'hh a', count: 6 }, timelineUnitSize: 99, level: 17,
12988
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13027
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12989
13028
  },
12990
13029
  {
12991
13030
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
12992
13031
  bottomTier: { unit: 'Hour', format: 'hh a', count: 2 }, timelineUnitSize: 66, level: 18,
12993
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13032
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12994
13033
  },
12995
13034
  {
12996
13035
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
12997
13036
  bottomTier: { unit: 'Hour', format: 'hh a', count: 2 }, timelineUnitSize: 99, level: 19,
12998
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13037
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
12999
13038
  },
13000
13039
  {
13001
13040
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13002
13041
  bottomTier: { unit: 'Hour', format: 'hh a', count: 1 }, timelineUnitSize: 66, level: 20,
13003
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13042
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13004
13043
  },
13005
13044
  {
13006
13045
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13007
13046
  bottomTier: { unit: 'Hour', format: 'hh a', count: 1 }, timelineUnitSize: 99, level: 21,
13008
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13047
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13009
13048
  },
13010
13049
  {
13011
13050
  topTier: { unit: 'Hour', format: 'ddd MMM, h a', count: 1 },
13012
13051
  bottomTier: { unit: 'Minutes', format: 'mm', count: 30 }, timelineUnitSize: 66, level: 22,
13013
- timelineViewMode: 'Hour', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13052
+ timelineViewMode: 'Hour', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13014
13053
  },
13015
13054
  {
13016
13055
  topTier: { unit: 'Hour', format: 'ddd MMM, h a', count: 1 },
13017
13056
  bottomTier: { unit: 'Minutes', format: 'mm', count: 15 }, timelineUnitSize: 66, level: 23,
13018
- timelineViewMode: 'Hour', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13057
+ timelineViewMode: 'Hour', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13019
13058
  },
13020
13059
  {
13021
13060
  topTier: { unit: 'Hour', format: 'ddd MMM, h a', count: 1 },
13022
13061
  bottomTier: { unit: 'Minutes', format: 'mm', count: 1 }, timelineUnitSize: 66, level: 24,
13023
- timelineViewMode: 'Hour', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13062
+ timelineViewMode: 'Hour', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13024
13063
  }
13025
13064
  ];
13026
13065
  return zoomingLevels;
@@ -13265,9 +13304,18 @@ let Gantt = class Gantt extends Component {
13265
13304
  }
13266
13305
  break;
13267
13306
  case 'timezone':
13268
- case 'enableCriticalPath':
13269
13307
  this.dataOperation.checkDataBinding(true);
13270
13308
  break;
13309
+ case 'enableCriticalPath':
13310
+ if (this.enableCriticalPath && this.criticalPathModule) {
13311
+ this.criticalPathModule.showCriticalPath(this.enableCriticalPath);
13312
+ let criticalModule = this.criticalPathModule;
13313
+ this.criticalPathModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
13314
+ }
13315
+ else {
13316
+ this.removeCriticalPathStyles();
13317
+ }
13318
+ break;
13271
13319
  case 'filterSettings':
13272
13320
  this.treeGrid.filterSettings = getActualProperties(this.filterSettings);
13273
13321
  this.treeGrid.dataBind();
@@ -15804,6 +15852,9 @@ class CellEdit {
15804
15852
  this.parent.editModule.endEditAction(args);
15805
15853
  }
15806
15854
  this.isCellEdit = false;
15855
+ if (!isNullOrUndefined(this.parent.editModule.cellEditModule.editedColumn)) {
15856
+ this.parent.editModule.cellEditModule.editedColumn = null;
15857
+ }
15807
15858
  if (!isNullOrUndefined(this.parent.toolbarModule)) {
15808
15859
  this.parent.toolbarModule.refreshToolbarItems();
15809
15860
  }
@@ -23891,7 +23942,7 @@ class Edit$2 {
23891
23942
  else {
23892
23943
  if (this.parent.viewType === 'ProjectView') {
23893
23944
  if ((rowPosition === 'Top' || rowPosition === 'Bottom') ||
23894
- ((rowPosition === 'Above' || rowPosition === 'Below' || rowPosition === 'Child') && !args.data.parentItem)) {
23945
+ ((rowPosition === 'Above' || rowPosition === 'Below' || rowPosition === 'Child') || isNullOrUndefined(rowPosition) && !args.data.parentItem)) {
23895
23946
  if (args.data instanceof Array) {
23896
23947
  this.updateRealDataSource(args.data, rowPosition);
23897
23948
  }
@@ -27220,10 +27271,7 @@ class CriticalPath {
27220
27271
  /* eslint-disable-next-line */
27221
27272
  criticalConnectorLine(criticalPathIds, collection, condition, collectionTaskId) {
27222
27273
  const ganttChartElement = this.parent.ganttChartModule.chartElement;
27223
- removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-taskbar-inner-div'), criticalChildTaskBarInnerDiv);
27224
- removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-progressbar-inner-div'), criticalChildProgressBarInnerDiv);
27225
- removeClass(ganttChartElement.querySelectorAll('.e-milestone-top'), criticalMilestoneTop);
27226
- removeClass(ganttChartElement.querySelectorAll('.e-milestone-bottom'), criticalMilestoneBottom);
27274
+ this.parent.removeCriticalPathStyles();
27227
27275
  for (let i = 0; i < criticalPathIds.length; i++) {
27228
27276
  let criticalData;
27229
27277
  if (this.parent.viewType === 'ProjectView') {
@@ -27258,9 +27306,6 @@ class CriticalPath {
27258
27306
  }
27259
27307
  }
27260
27308
  }
27261
- removeClass(this.parent.element.querySelectorAll('.e-line'), criticalConnectorLine);
27262
- removeClass(this.parent.element.querySelectorAll('.e-connector-line-right-arrow'), criticalConnectorLineRightArrow);
27263
- removeClass(this.parent.element.querySelectorAll('.e-connector-line-left-arrow'), criticalConnectorLineLeftArrow);
27264
27309
  if (collection.length !== 0) {
27265
27310
  let index = 0;
27266
27311
  let currentdata;
@@ -28345,7 +28390,7 @@ class RowDD$1 {
28345
28390
  let currentData = this.parent.currentViewData.filter(function (e) {
28346
28391
  return e[uniqueTaskID] === ganttData[i][uniqueTaskID];
28347
28392
  })[0];
28348
- if (currentData.index > droppedRecord.index) {
28393
+ if (currentData && currentData.index > droppedRecord.index) {
28349
28394
  endIndex = currentData.index;
28350
28395
  break;
28351
28396
  }
@@ -28357,7 +28402,7 @@ class RowDD$1 {
28357
28402
  let currentData = this.parent.currentViewData.filter(function (e) {
28358
28403
  return e[uniqueTaskID] === ganttData[i][uniqueTaskID];
28359
28404
  })[0];
28360
- if (currentData.index > draggedRecord.index) {
28405
+ if (currentData && currentData.index > draggedRecord.index) {
28361
28406
  endIndex = currentData.index;
28362
28407
  break;
28363
28408
  }