@syncfusion/ej2-gantt 20.2.38 → 20.2.44

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 (70) hide show
  1. package/CHANGELOG.md +34 -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 +115 -46
  5. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es5.js +115 -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/context-menu.js +1 -1
  14. package/src/gantt/actions/critical-path.js +2 -8
  15. package/src/gantt/actions/edit.js +3 -2
  16. package/src/gantt/actions/rowdragdrop.js +8 -2
  17. package/src/gantt/base/date-processor.js +9 -3
  18. package/src/gantt/base/gantt-chart.d.ts +4 -0
  19. package/src/gantt/base/gantt-chart.js +36 -4
  20. package/src/gantt/base/gantt.d.ts +1 -0
  21. package/src/gantt/base/gantt.js +46 -26
  22. package/src/gantt/base/tree-grid.js +1 -0
  23. package/src/gantt/renderer/chart-rows.js +6 -0
  24. package/src/gantt/renderer/tooltip.js +1 -1
  25. package/styles/bootstrap-dark.css +4 -4
  26. package/styles/bootstrap.css +4 -4
  27. package/styles/bootstrap4.css +4 -4
  28. package/styles/bootstrap5-dark.css +4 -4
  29. package/styles/bootstrap5.css +4 -4
  30. package/styles/fabric-dark.css +4 -4
  31. package/styles/fabric.css +4 -4
  32. package/styles/fluent-dark.css +4 -4
  33. package/styles/fluent.css +4 -4
  34. package/styles/gantt/_layout.scss +9 -19
  35. package/styles/gantt/_theme.scss +1 -19
  36. package/styles/gantt/bootstrap-dark.css +4 -4
  37. package/styles/gantt/bootstrap.css +4 -4
  38. package/styles/gantt/bootstrap4.css +4 -4
  39. package/styles/gantt/bootstrap5-dark.css +4 -4
  40. package/styles/gantt/bootstrap5.css +4 -4
  41. package/styles/gantt/fabric-dark.css +4 -4
  42. package/styles/gantt/fabric.css +4 -4
  43. package/styles/gantt/fluent-dark.css +4 -4
  44. package/styles/gantt/fluent.css +4 -4
  45. package/styles/gantt/highcontrast-light.css +4 -4
  46. package/styles/gantt/highcontrast.css +4 -4
  47. package/styles/gantt/icons/_bootstrap-dark.scss +3 -3
  48. package/styles/gantt/icons/_bootstrap.scss +3 -3
  49. package/styles/gantt/icons/_bootstrap4.scss +5 -5
  50. package/styles/gantt/icons/_bootstrap5.scss +3 -3
  51. package/styles/gantt/icons/_fabric-dark.scss +3 -3
  52. package/styles/gantt/icons/_fabric.scss +3 -3
  53. package/styles/gantt/icons/_fluent.scss +3 -3
  54. package/styles/gantt/icons/_fusionnew.scss +3 -3
  55. package/styles/gantt/icons/_highcontrast.scss +3 -3
  56. package/styles/gantt/icons/_material-dark.scss +3 -3
  57. package/styles/gantt/icons/_material.scss +3 -3
  58. package/styles/gantt/icons/_material3.scss +3 -3
  59. package/styles/gantt/icons/_tailwind-dark.scss +3 -3
  60. package/styles/gantt/icons/_tailwind.scss +3 -3
  61. package/styles/gantt/material-dark.css +4 -4
  62. package/styles/gantt/material.css +4 -4
  63. package/styles/gantt/tailwind-dark.css +4 -4
  64. package/styles/gantt/tailwind.css +4 -4
  65. package/styles/highcontrast-light.css +4 -4
  66. package/styles/highcontrast.css +4 -4
  67. package/styles/material-dark.css +4 -4
  68. package/styles/material.css +4 -4
  69. package/styles/tailwind-dark.css +4 -4
  70. package/styles/tailwind.css +4 -4
@@ -367,7 +367,7 @@ var DateProcessor = /** @__PURE__ @class */ (function () {
367
367
  if (hour < this.parent.defaultStartTime) {
368
368
  this.setTime(this.parent.defaultStartTime, cloneDate);
369
369
  }
370
- else if (hour >= this.parent.defaultEndTime) {
370
+ else if (hour > this.parent.defaultEndTime) {
371
371
  cloneDate.setDate(cloneDate.getDate() + 1);
372
372
  this.setTime(this.parent.defaultStartTime, cloneDate);
373
373
  }
@@ -401,7 +401,7 @@ var DateProcessor = /** @__PURE__ @class */ (function () {
401
401
  if (hour > this.parent.defaultEndTime) {
402
402
  this.setTime(this.parent.defaultEndTime, cloneDate);
403
403
  }
404
- else if (hour <= this.parent.defaultStartTime && !ganttProp.isMilestone) {
404
+ else if (hour <= this.parent.defaultStartTime && !isNullOrUndefined(ganttProp) && !ganttProp.isMilestone) {
405
405
  cloneDate.setDate(cloneDate.getDate() - 1);
406
406
  this.setTime(this.parent.defaultEndTime, cloneDate);
407
407
  }
@@ -1473,7 +1473,13 @@ var DateProcessor = /** @__PURE__ @class */ (function () {
1473
1473
  }
1474
1474
  sortDates(taskRange);
1475
1475
  if (!minStartDate || !maxEndDate) {
1476
- minStartDate = isNullOrUndefined(minStartDate) ? this.getDateFromFormat(new Date()) : minStartDate;
1476
+ if (!minStartDate) {
1477
+ minStartDate = isNullOrUndefined(minStartDate) ? this.getDateFromFormat(new Date()) : minStartDate;
1478
+ minStartDate.setHours(0, 0, 0, 0);
1479
+ }
1480
+ else {
1481
+ minStartDate = isNullOrUndefined(minStartDate) ? this.getDateFromFormat(new Date()) : minStartDate;
1482
+ }
1477
1483
  maxEndDate = this.getDateFromFormat(new Date(minStartDate.getTime()));
1478
1484
  maxEndDate.setDate(maxEndDate.getDate() + 20);
1479
1485
  }
@@ -4862,7 +4868,7 @@ var GanttChart = /** @__PURE__ @class */ (function () {
4862
4868
  * @private
4863
4869
  */
4864
4870
  GanttChart.prototype.expandedGanttRow = function (args) {
4865
- if (isNullOrUndefined(args['gridRow'])) {
4871
+ if ((isNullOrUndefined(args['gridRow']) || isNullOrUndefined(args['chartRow'])) && this.parent.enableVirtualization) {
4866
4872
  return;
4867
4873
  }
4868
4874
  var record = getValue('data', args);
@@ -5072,6 +5078,23 @@ var GanttChart = /** @__PURE__ @class */ (function () {
5072
5078
  $target.closest('.e-chart-row') ? $target.closest('.e-chart-row').rowIndex : -1;
5073
5079
  var isTab = (e.action === 'tab') ? true : false;
5074
5080
  var nextElement = this.getNextElement($target, isTab, isInEditedState);
5081
+ this.tempNextElement = nextElement;
5082
+ if (!isNullOrUndefined(nextElement['cellIndex'])) {
5083
+ if (this.parent.allowRowDragAndDrop) {
5084
+ this.childrenIndex = nextElement['cellIndex'];
5085
+ this.nextElementIndex = nextElement['cellIndex'] - 1;
5086
+ }
5087
+ else {
5088
+ this.childrenIndex = nextElement['cellIndex'];
5089
+ this.nextElementIndex = nextElement['cellIndex'];
5090
+ }
5091
+ if (!this.parent.ganttColumns[this.nextElementIndex]['allowEditing'] && this.parent.ganttColumns[this.nextElementIndex]['field'] !== this.parent.taskFields.id) {
5092
+ this.isEditableElement = true;
5093
+ }
5094
+ else {
5095
+ this.isEditableElement = false;
5096
+ }
5097
+ }
5075
5098
  if (nextElement === 'noNextRow') {
5076
5099
  this.manageFocus($target, 'remove', true);
5077
5100
  return;
@@ -5090,7 +5113,7 @@ var GanttChart = /** @__PURE__ @class */ (function () {
5090
5113
  if (isTab) {
5091
5114
  if (this.parent.editSettings.allowNextRowEdit) {
5092
5115
  var rowData = this.parent.currentViewData[this.focusedRowIndex];
5093
- var columnName = this.parent.ganttColumns[nextElement.getAttribute('aria-colindex')].field;
5116
+ var columnName = this.parent.ganttColumns[nextElement.getAttribute('data-colindex')].field;
5094
5117
  if (rowData.hasChildRecords) {
5095
5118
  if (columnName === this.parent.taskFields.endDate || columnName ===
5096
5119
  this.parent.taskFields.duration || columnName === this.parent.taskFields.dependency ||
@@ -5104,7 +5127,9 @@ var GanttChart = /** @__PURE__ @class */ (function () {
5104
5127
  }
5105
5128
  else {
5106
5129
  this.parent.treeGrid.grid.notify('key-pressed', e);
5107
- this.parent.treeGrid.editCell(this.focusedRowIndex, columnName); // eslint-disable-line
5130
+ if (isInEditedState) {
5131
+ this.parent.treeGrid.editCell(this.focusedRowIndex, columnName); // eslint-disable-line
5132
+ }
5108
5133
  }
5109
5134
  }
5110
5135
  else {
@@ -5119,7 +5144,8 @@ var GanttChart = /** @__PURE__ @class */ (function () {
5119
5144
  this.parent.treeGrid.grid.notify('key-pressed', e);
5120
5145
  }
5121
5146
  }
5122
- if (!isNullOrUndefined(isInEditedState) && !this.parent.editModule.cellEditModule.isCellEdit) {
5147
+ if (!(this.parent.editModule && this.parent.editModule.cellEditModule
5148
+ && !isNullOrUndefined(this.parent.editModule.cellEditModule.editedColumn))) {
5123
5149
  if (nextElement) {
5124
5150
  if ($target.classList.contains('e-rowcell')) {
5125
5151
  this.manageFocus($target, 'remove', false);
@@ -5323,6 +5349,18 @@ var GanttChart = /** @__PURE__ @class */ (function () {
5323
5349
  childElement = element;
5324
5350
  }
5325
5351
  }
5352
+ if (element.classList.contains('e-right-label-temp-container') || element.classList.contains('e-left-label-temp-container') || element.classList.contains('e-indicator-span')) {
5353
+ if (focus === 'add') {
5354
+ element.setAttribute('tabIndex', '0');
5355
+ addClass([element], 'e-active-container');
5356
+ element.focus();
5357
+ }
5358
+ else {
5359
+ removeClass([element], 'e-active-container');
5360
+ element.setAttribute('tabIndex', '-1');
5361
+ element.blur();
5362
+ }
5363
+ }
5326
5364
  if (focus === 'add' && !isNullOrUndefined(childElement)) {
5327
5365
  element.setAttribute('tabIndex', '0');
5328
5366
  addClass([childElement], 'e-active-container');
@@ -6978,6 +7016,7 @@ var GanttTreeGrid = /** @__PURE__ @class */ (function () {
6978
7016
  };
6979
7017
  GanttTreeGrid.prototype.composeProperties = function () {
6980
7018
  this.parent.treeGrid.showColumnMenu = this.parent.showColumnMenu;
7019
+ this.parent.treeGrid.enableCollapseAll = this.parent.collapseAllParentTasks;
6981
7020
  this.parent.treeGrid.columnMenuItems = this.parent.columnMenuItems;
6982
7021
  this.parent.treeGrid.childMapping = isNullOrUndefined(this.parent.taskFields.child) ? '' : this.parent.taskFields.child;
6983
7022
  this.parent.treeGrid.treeColumnIndex = this.parent.treeColumnIndex;
@@ -10028,6 +10067,12 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
10028
10067
  }
10029
10068
  var dataId = this.parent.viewType === 'ProjectView' ? data.ganttProperties.taskId : data.ganttProperties.rowUniqueID;
10030
10069
  this.parent.treeGrid.grid.setRowData(dataId, data);
10070
+ var nextEditableElement = this.parent.ganttChartModule.tempNextElement;
10071
+ if (this.parent.ganttChartModule.isEditableElement && nextEditableElement) {
10072
+ this.parent.treeGrid.grid.focusModule.focus();
10073
+ addClass([this.parent.treeGrid.getRows()[tr['ariaRowIndex']].children[this.parent.ganttChartModule.childrenIndex]], 'e-focused');
10074
+ this.parent.ganttChartModule.tempNextElement = null;
10075
+ }
10031
10076
  var row = this.parent.treeGrid.grid.getRowObjectFromUID(this.parent.treeGrid.grid.getDataRows()[index].getAttribute('data-uid'));
10032
10077
  row.data = data;
10033
10078
  }
@@ -12226,7 +12271,7 @@ var Tooltip$1 = /** @__PURE__ @class */ (function () {
12226
12271
  if (ganttData) {
12227
12272
  data = ganttData.ganttProperties;
12228
12273
  taskName = !isNullOrUndefined(data.taskName) ? '<tr class = "e-gantt-tooltip-rowcell"><td colspan="3">' +
12229
- data.taskName + '</td></tr>' : '';
12274
+ (this.parent.disableHtmlEncode ? data.taskName.replace(/</g, "&lt;").replace(/>/g, "&gt;") : data.taskName) + '</td></tr>' : '';
12230
12275
  }
12231
12276
  switch (elementType) {
12232
12277
  case 'milestone':
@@ -13109,6 +13154,16 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
13109
13154
  this.renderChartVerticalLines();
13110
13155
  }
13111
13156
  };
13157
+ Gantt.prototype.removeCriticalPathStyles = function () {
13158
+ var ganttChartElement = this.ganttChartModule.chartElement;
13159
+ removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-taskbar-inner-div'), criticalChildTaskBarInnerDiv);
13160
+ removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-progressbar-inner-div'), criticalChildProgressBarInnerDiv);
13161
+ removeClass(ganttChartElement.querySelectorAll('.e-milestone-top'), criticalMilestoneTop);
13162
+ removeClass(ganttChartElement.querySelectorAll('.e-milestone-bottom'), criticalMilestoneBottom);
13163
+ removeClass(this.element.querySelectorAll('.e-line'), criticalConnectorLine);
13164
+ removeClass(this.element.querySelectorAll('.e-connector-line-right-arrow'), criticalConnectorLineRightArrow);
13165
+ removeClass(this.element.querySelectorAll('.e-connector-line-left-arrow'), criticalConnectorLineLeftArrow);
13166
+ };
13112
13167
  Gantt.prototype.wireEvents = function () {
13113
13168
  if (this.allowKeyboard) {
13114
13169
  this.keyboardModule = new KeyboardEvents(this.element, {
@@ -13272,139 +13327,140 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
13272
13327
  * @private
13273
13328
  */
13274
13329
  Gantt.prototype.getZoomingLevels = function () {
13330
+ var _WeekStartDay = this.timelineSettings.weekStartDay;
13275
13331
  var zoomingLevels = [
13276
13332
  {
13277
13333
  topTier: { unit: 'Year', format: 'yyyy', count: 50 },
13278
13334
  bottomTier: { unit: 'Year', format: 'yyyy', count: 10 }, timelineUnitSize: 99, level: 0,
13279
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13335
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13280
13336
  },
13281
13337
  {
13282
13338
  topTier: { unit: 'Year', format: 'yyyy', count: 20 },
13283
13339
  bottomTier: { unit: 'Year', format: 'yyyy', count: 5 }, timelineUnitSize: 99, level: 1,
13284
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13340
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13285
13341
  },
13286
13342
  {
13287
13343
  topTier: { unit: 'Year', format: 'yyyy', count: 5 },
13288
13344
  bottomTier: { unit: 'Year', format: 'yyyy', count: 1 }, timelineUnitSize: 99, level: 2,
13289
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13345
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13290
13346
  },
13291
13347
  {
13292
13348
  topTier: { unit: 'Year', format: 'MMM, yy', count: 1 },
13293
13349
  bottomTier: {
13294
13350
  unit: 'Month', formatter: this.displayHalfValue, count: 6
13295
13351
  }, timelineUnitSize: 66, level: 3,
13296
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13352
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13297
13353
  },
13298
13354
  {
13299
13355
  topTier: { unit: 'Year', format: 'MMM, yy', count: 1 },
13300
13356
  bottomTier: {
13301
13357
  unit: 'Month', formatter: this.displayHalfValue, count: 6
13302
13358
  }, timelineUnitSize: 99, level: 4,
13303
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13359
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13304
13360
  },
13305
13361
  {
13306
13362
  topTier: { unit: 'Year', format: 'MMM, yy', count: 1 },
13307
13363
  bottomTier: {
13308
13364
  unit: 'Month', formatter: this.displayQuarterValue, count: 3
13309
13365
  }, timelineUnitSize: 66, level: 5,
13310
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13366
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13311
13367
  },
13312
13368
  {
13313
13369
  topTier: { unit: 'Year', format: 'yyyy', count: 1 },
13314
13370
  bottomTier: {
13315
13371
  unit: 'Month', formatter: this.displayQuarterValue, count: 3
13316
13372
  }, timelineUnitSize: 99, level: 6,
13317
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13373
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13318
13374
  },
13319
13375
  {
13320
13376
  topTier: { unit: 'Year', format: 'yyyy', count: 1 },
13321
13377
  bottomTier: { unit: 'Month', format: 'MMM yyyy', count: 1 }, timelineUnitSize: 99, level: 7,
13322
- timelineViewMode: 'Year', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13378
+ timelineViewMode: 'Year', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13323
13379
  },
13324
13380
  {
13325
13381
  topTier: { unit: 'Month', format: 'MMM, yy', count: 1 },
13326
13382
  bottomTier: { unit: 'Week', format: 'dd', count: 1 }, timelineUnitSize: 33, level: 8,
13327
- timelineViewMode: 'Month', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13383
+ timelineViewMode: 'Month', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13328
13384
  },
13329
13385
  {
13330
13386
  topTier: { unit: 'Month', format: 'MMM, yyyy', count: 1 },
13331
13387
  bottomTier: { unit: 'Week', format: 'dd MMM', count: 1 }, timelineUnitSize: 66, level: 9,
13332
- timelineViewMode: 'Month', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13388
+ timelineViewMode: 'Month', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13333
13389
  },
13334
13390
  {
13335
13391
  topTier: { unit: 'Month', format: 'MMM, yyyy', count: 1 },
13336
13392
  bottomTier: { unit: 'Week', format: 'dd MMM', count: 1 }, timelineUnitSize: 99, level: 10,
13337
- timelineViewMode: 'Month', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13393
+ timelineViewMode: 'Month', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13338
13394
  },
13339
13395
  {
13340
13396
  topTier: { unit: 'Week', format: 'MMM dd, yyyy', count: 1 },
13341
13397
  bottomTier: { unit: 'Day', format: 'd', count: 1 }, timelineUnitSize: 33, level: 11,
13342
- timelineViewMode: 'Week', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13398
+ timelineViewMode: 'Week', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13343
13399
  },
13344
13400
  {
13345
13401
  topTier: { unit: 'Week', format: 'MMM dd, yyyy', count: 1 },
13346
13402
  bottomTier: { unit: 'Day', format: 'd', count: 1 }, timelineUnitSize: 66, level: 12,
13347
- timelineViewMode: 'Week', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13403
+ timelineViewMode: 'Week', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13348
13404
  },
13349
13405
  {
13350
13406
  topTier: { unit: 'Week', format: 'MMM dd, yyyy', count: 1 },
13351
13407
  bottomTier: { unit: 'Day', format: 'd', count: 1 }, timelineUnitSize: 99, level: 13,
13352
- timelineViewMode: 'Week', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13408
+ timelineViewMode: 'Week', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13353
13409
  },
13354
13410
  {
13355
13411
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13356
13412
  bottomTier: { unit: 'Hour', format: 'hh a', count: 12 }, timelineUnitSize: 66, level: 14,
13357
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13413
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13358
13414
  },
13359
13415
  {
13360
13416
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13361
13417
  bottomTier: { unit: 'Hour', format: 'hh a', count: 12 }, timelineUnitSize: 99, level: 15,
13362
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13418
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13363
13419
  },
13364
13420
  {
13365
13421
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13366
13422
  bottomTier: { unit: 'Hour', format: 'hh a', count: 6 }, timelineUnitSize: 66, level: 16,
13367
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13423
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13368
13424
  },
13369
13425
  {
13370
13426
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13371
13427
  bottomTier: { unit: 'Hour', format: 'hh a', count: 6 }, timelineUnitSize: 99, level: 17,
13372
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13428
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13373
13429
  },
13374
13430
  {
13375
13431
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13376
13432
  bottomTier: { unit: 'Hour', format: 'hh a', count: 2 }, timelineUnitSize: 66, level: 18,
13377
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13433
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13378
13434
  },
13379
13435
  {
13380
13436
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13381
13437
  bottomTier: { unit: 'Hour', format: 'hh a', count: 2 }, timelineUnitSize: 99, level: 19,
13382
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13438
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13383
13439
  },
13384
13440
  {
13385
13441
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13386
13442
  bottomTier: { unit: 'Hour', format: 'hh a', count: 1 }, timelineUnitSize: 66, level: 20,
13387
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13443
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13388
13444
  },
13389
13445
  {
13390
13446
  topTier: { unit: 'Day', format: 'E dd yyyy', count: 1 },
13391
13447
  bottomTier: { unit: 'Hour', format: 'hh a', count: 1 }, timelineUnitSize: 99, level: 21,
13392
- timelineViewMode: 'Day', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13448
+ timelineViewMode: 'Day', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13393
13449
  },
13394
13450
  {
13395
13451
  topTier: { unit: 'Hour', format: 'ddd MMM, h a', count: 1 },
13396
13452
  bottomTier: { unit: 'Minutes', format: 'mm', count: 30 }, timelineUnitSize: 66, level: 22,
13397
- timelineViewMode: 'Hour', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13453
+ timelineViewMode: 'Hour', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13398
13454
  },
13399
13455
  {
13400
13456
  topTier: { unit: 'Hour', format: 'ddd MMM, h a', count: 1 },
13401
13457
  bottomTier: { unit: 'Minutes', format: 'mm', count: 15 }, timelineUnitSize: 66, level: 23,
13402
- timelineViewMode: 'Hour', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13458
+ timelineViewMode: 'Hour', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13403
13459
  },
13404
13460
  {
13405
13461
  topTier: { unit: 'Hour', format: 'ddd MMM, h a', count: 1 },
13406
13462
  bottomTier: { unit: 'Minutes', format: 'mm', count: 1 }, timelineUnitSize: 66, level: 24,
13407
- timelineViewMode: 'Hour', weekStartDay: 0, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13463
+ timelineViewMode: 'Hour', weekStartDay: _WeekStartDay, updateTimescaleView: true, weekendBackground: null, showTooltip: true
13408
13464
  }
13409
13465
  ];
13410
13466
  return zoomingLevels;
@@ -13651,9 +13707,18 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
13651
13707
  }
13652
13708
  break;
13653
13709
  case 'timezone':
13654
- case 'enableCriticalPath':
13655
13710
  this.dataOperation.checkDataBinding(true);
13656
13711
  break;
13712
+ case 'enableCriticalPath':
13713
+ if (this.enableCriticalPath && this.criticalPathModule) {
13714
+ this.criticalPathModule.showCriticalPath(this.enableCriticalPath);
13715
+ var criticalModule = this.criticalPathModule;
13716
+ this.criticalPathModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
13717
+ }
13718
+ else {
13719
+ this.removeCriticalPathStyles();
13720
+ }
13721
+ break;
13657
13722
  case 'filterSettings':
13658
13723
  this.treeGrid.filterSettings = getActualProperties(this.filterSettings);
13659
13724
  this.treeGrid.dataBind();
@@ -16193,6 +16258,9 @@ var CellEdit = /** @__PURE__ @class */ (function () {
16193
16258
  this.parent.editModule.endEditAction(args);
16194
16259
  }
16195
16260
  this.isCellEdit = false;
16261
+ if (!isNullOrUndefined(this.parent.editModule.cellEditModule.editedColumn)) {
16262
+ this.parent.editModule.cellEditModule.editedColumn = null;
16263
+ }
16196
16264
  if (!isNullOrUndefined(this.parent.toolbarModule)) {
16197
16265
  this.parent.toolbarModule.refreshToolbarItems();
16198
16266
  }
@@ -21784,7 +21852,7 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
21784
21852
  if (column.field === this.parent.taskFields.id) {
21785
21853
  this.updateIDColumnEditParams(column);
21786
21854
  }
21787
- else if (column.field === this.parent.taskFields.progress) {
21855
+ else if (column.field === this.parent.taskFields.progress && isNullOrUndefined(column.edit)) {
21788
21856
  this.updateProgessColumnEditParams(column);
21789
21857
  }
21790
21858
  else if (column.field === this.parent.taskFields.resourceInfo) {
@@ -23751,6 +23819,7 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
23751
23819
  eventArgs.modifiedRecords = args.updatedRecordCollection;
23752
23820
  eventArgs.modifiedTaskData = getTaskData(args.updatedRecordCollection, null, null, this.parent);
23753
23821
  setValue('action', args.action, eventArgs);
23822
+ this.parent.isOnDelete = false;
23754
23823
  this.parent.trigger('actionComplete', eventArgs);
23755
23824
  this.deletedTaskDetails = [];
23756
23825
  this.parent.initiateEditAction(false);
@@ -24371,7 +24440,7 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
24371
24440
  else {
24372
24441
  if (_this.parent.viewType === 'ProjectView') {
24373
24442
  if ((rowPosition === 'Top' || rowPosition === 'Bottom') ||
24374
- ((rowPosition === 'Above' || rowPosition === 'Below' || rowPosition === 'Child') && !args.data.parentItem)) {
24443
+ ((rowPosition === 'Above' || rowPosition === 'Below' || rowPosition === 'Child') || isNullOrUndefined(rowPosition) && !args.data.parentItem)) {
24375
24444
  if (args.data instanceof Array) {
24376
24445
  _this.updateRealDataSource(args.data, rowPosition);
24377
24446
  }
@@ -27727,10 +27796,7 @@ var CriticalPath = /** @__PURE__ @class */ (function () {
27727
27796
  /* eslint-disable-next-line */
27728
27797
  CriticalPath.prototype.criticalConnectorLine = function (criticalPathIds, collection, condition, collectionTaskId) {
27729
27798
  var ganttChartElement = this.parent.ganttChartModule.chartElement;
27730
- removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-taskbar-inner-div'), criticalChildTaskBarInnerDiv);
27731
- removeClass(ganttChartElement.querySelectorAll('.e-gantt-child-progressbar-inner-div'), criticalChildProgressBarInnerDiv);
27732
- removeClass(ganttChartElement.querySelectorAll('.e-milestone-top'), criticalMilestoneTop);
27733
- removeClass(ganttChartElement.querySelectorAll('.e-milestone-bottom'), criticalMilestoneBottom);
27799
+ this.parent.removeCriticalPathStyles();
27734
27800
  for (var i = 0; i < criticalPathIds.length; i++) {
27735
27801
  var criticalData = void 0;
27736
27802
  if (this.parent.viewType === 'ProjectView') {
@@ -27765,9 +27831,6 @@ var CriticalPath = /** @__PURE__ @class */ (function () {
27765
27831
  }
27766
27832
  }
27767
27833
  }
27768
- removeClass(this.parent.element.querySelectorAll('.e-line'), criticalConnectorLine);
27769
- removeClass(this.parent.element.querySelectorAll('.e-connector-line-right-arrow'), criticalConnectorLineRightArrow);
27770
- removeClass(this.parent.element.querySelectorAll('.e-connector-line-left-arrow'), criticalConnectorLineLeftArrow);
27771
27834
  if (collection.length !== 0) {
27772
27835
  var index = 0;
27773
27836
  var currentdata = void 0;
@@ -28101,7 +28164,7 @@ var ContextMenu$2 = /** @__PURE__ @class */ (function () {
28101
28164
  var rowIndex = -1;
28102
28165
  if (args.gridRow) {
28103
28166
  // eslint-disable-next-line
28104
- rowIndex = parseInt(args.gridRow.getAttribute('aria-rowindex'), 0);
28167
+ rowIndex = parseInt(args.gridRow.getAttribute('data-rowindex'), 0);
28105
28168
  }
28106
28169
  else if (args.chartRow) {
28107
28170
  // eslint-disable-next-line
@@ -28737,7 +28800,7 @@ var RowDD$1 = /** @__PURE__ @class */ (function () {
28737
28800
  ganttDragelem.remove();
28738
28801
  }
28739
28802
  var gridRow = closest(args.target, '.e-row');
28740
- var dropIndex = gridRow ? parseInt(gridRow.getAttribute('aria-rowindex'), 10) : args.dropIndex;
28803
+ var dropIndex = gridRow ? parseInt(gridRow.getAttribute('data-rowindex'), 10) : args.dropIndex;
28741
28804
  args.dropIndex = dropIndex;
28742
28805
  args.dropRecord = this.parent.updatedRecords[args.dropIndex];
28743
28806
  this.parent.trigger('rowDrop', args);
@@ -29065,6 +29128,7 @@ var RowDD$1 = /** @__PURE__ @class */ (function () {
29065
29128
  var proxy = this.parent;
29066
29129
  var tempDataSource;
29067
29130
  var idx;
29131
+ var ganttFields = this.parent.taskFields;
29068
29132
  if (this.parent.dataSource instanceof DataManager) {
29069
29133
  tempDataSource = getValue('dataOperation.dataArray', this.parent);
29070
29134
  }
@@ -29073,7 +29137,12 @@ var RowDD$1 = /** @__PURE__ @class */ (function () {
29073
29137
  }
29074
29138
  if (tempDataSource.length > 0 && (!isNullOrUndefined(droppedRecord) && !droppedRecord.parentItem)) {
29075
29139
  for (var i = 0; i < Object.keys(tempDataSource).length; i++) {
29076
- if (tempDataSource[i][this.parent.taskFields.child] === droppedRecord.taskData[this.parent.taskFields.child]) {
29140
+ if (!isNullOrUndefined(droppedRecord.taskData[ganttFields.child]) &&
29141
+ tempDataSource[i][ganttFields.child] === droppedRecord.taskData[ganttFields.child]) {
29142
+ idx = i;
29143
+ }
29144
+ else if (isNullOrUndefined(droppedRecord.taskData[ganttFields.child]) &&
29145
+ droppedRecord.taskData[ganttFields.id] === tempDataSource[i][ganttFields.id]) {
29077
29146
  idx = i;
29078
29147
  }
29079
29148
  }