@syncfusion/ej2-gantt 21.2.10 → 22.1.34

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 (99) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +12 -0
  3. package/dist/ej2-gantt.min.js +2 -2
  4. package/dist/ej2-gantt.umd.min.js +2 -2
  5. package/dist/ej2-gantt.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es2015.js +734 -711
  7. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  8. package/dist/es6/ej2-gantt.es5.js +773 -751
  9. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  10. package/dist/global/ej2-gantt.min.js +2 -2
  11. package/dist/global/ej2-gantt.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +20 -19
  14. package/src/gantt/actions/connector-line-edit.js +21 -26
  15. package/src/gantt/actions/context-menu.js +2 -2
  16. package/src/gantt/actions/critical-path.js +4 -9
  17. package/src/gantt/actions/day-markers.js +4 -1
  18. package/src/gantt/actions/edit.js +8 -6
  19. package/src/gantt/actions/pdf-export.js +1 -1
  20. package/src/gantt/actions/taskbar-edit.d.ts +6 -0
  21. package/src/gantt/actions/taskbar-edit.js +120 -45
  22. package/src/gantt/base/css-constants.d.ts +5 -10
  23. package/src/gantt/base/css-constants.js +5 -10
  24. package/src/gantt/base/date-processor.js +1 -19
  25. package/src/gantt/base/enum.d.ts +215 -231
  26. package/src/gantt/base/gantt-chart.js +112 -5
  27. package/src/gantt/base/gantt-model.d.ts +6 -3
  28. package/src/gantt/base/gantt.d.ts +7 -3
  29. package/src/gantt/base/gantt.js +17 -13
  30. package/src/gantt/base/interface.d.ts +36 -1
  31. package/src/gantt/base/task-processor.js +14 -15
  32. package/src/gantt/base/tree-grid.js +1 -1
  33. package/src/gantt/export/export-helper.js +1 -0
  34. package/src/gantt/export/pdf-connector-line.d.ts +4 -4
  35. package/src/gantt/export/pdf-connector-line.js +11 -22
  36. package/src/gantt/export/pdf-gantt.d.ts +1 -2
  37. package/src/gantt/export/pdf-gantt.js +4 -4
  38. package/src/gantt/models/column.d.ts +8 -4
  39. package/src/gantt/models/edit-settings-model.d.ts +1 -0
  40. package/src/gantt/models/edit-settings.d.ts +1 -0
  41. package/src/gantt/models/filter-settings-model.d.ts +3 -0
  42. package/src/gantt/models/filter-settings.d.ts +3 -0
  43. package/src/gantt/models/search-settings-model.d.ts +1 -0
  44. package/src/gantt/models/search-settings.d.ts +1 -0
  45. package/src/gantt/models/sort-settings-model.d.ts +1 -0
  46. package/src/gantt/models/sort-settings.d.ts +1 -0
  47. package/src/gantt/models/tooltip-settings-model.d.ts +8 -4
  48. package/src/gantt/models/tooltip-settings.d.ts +8 -4
  49. package/src/gantt/renderer/chart-rows.d.ts +1 -1
  50. package/src/gantt/renderer/chart-rows.js +27 -65
  51. package/src/gantt/renderer/connector-line.d.ts +23 -0
  52. package/src/gantt/renderer/connector-line.js +287 -384
  53. package/src/gantt/renderer/edit-tooltip.js +4 -4
  54. package/src/gantt/renderer/nonworking-day.js +2 -2
  55. package/src/gantt/renderer/tooltip.d.ts +3 -3
  56. package/src/gantt/renderer/tooltip.js +103 -76
  57. package/styles/bootstrap-dark.css +27 -47
  58. package/styles/bootstrap.css +29 -49
  59. package/styles/bootstrap4.css +29 -49
  60. package/styles/bootstrap5-dark.css +27 -47
  61. package/styles/bootstrap5.css +27 -47
  62. package/styles/fabric-dark.css +27 -47
  63. package/styles/fabric.css +27 -47
  64. package/styles/fluent-dark.css +28 -47
  65. package/styles/fluent.css +28 -47
  66. package/styles/gantt/_layout.scss +53 -7
  67. package/styles/gantt/_material3-dark-definition.scss +1 -0
  68. package/styles/gantt/_material3-definition.scss +220 -0
  69. package/styles/gantt/_theme.scss +53 -53
  70. package/styles/gantt/bootstrap-dark.css +27 -47
  71. package/styles/gantt/bootstrap.css +29 -49
  72. package/styles/gantt/bootstrap4.css +29 -49
  73. package/styles/gantt/bootstrap5-dark.css +27 -47
  74. package/styles/gantt/bootstrap5.css +27 -47
  75. package/styles/gantt/fabric-dark.css +27 -47
  76. package/styles/gantt/fabric.css +27 -47
  77. package/styles/gantt/fluent-dark.css +28 -47
  78. package/styles/gantt/fluent.css +28 -47
  79. package/styles/gantt/highcontrast-light.css +27 -47
  80. package/styles/gantt/highcontrast.css +27 -47
  81. package/styles/gantt/icons/_material3-dark.scss +1 -0
  82. package/styles/gantt/material-dark.css +27 -47
  83. package/styles/gantt/material.css +27 -47
  84. package/styles/gantt/material3-dark.css +2184 -0
  85. package/styles/gantt/material3-dark.scss +23 -0
  86. package/styles/gantt/material3.css +2240 -0
  87. package/styles/gantt/material3.scss +23 -0
  88. package/styles/gantt/tailwind-dark.css +27 -47
  89. package/styles/gantt/tailwind.css +27 -47
  90. package/styles/highcontrast-light.css +27 -47
  91. package/styles/highcontrast.css +27 -47
  92. package/styles/material-dark.css +27 -47
  93. package/styles/material.css +27 -47
  94. package/styles/material3-dark.css +2184 -0
  95. package/styles/material3-dark.scss +3 -0
  96. package/styles/material3.css +2240 -0
  97. package/styles/material3.scss +3 -0
  98. package/styles/tailwind-dark.css +27 -47
  99. package/styles/tailwind.css +27 -47
@@ -245,8 +245,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
245
245
  || target.classList.contains(cls.manualParentTaskBar)) {
246
246
  element = parentsUntil(target, cls.manualParentMainContainer);
247
247
  }
248
- else if (target.classList.contains(cls.manualParentMilestoneTop) || target.classList.contains(cls.manualParentMilestoneBottom)
249
- || target.classList.contains(cls.manualParentMilestone)) {
248
+ else if (target.classList.contains(cls.manualParentMilestone)) {
250
249
  element = parentsUntil(target, cls.manualParentMilestone);
251
250
  }
252
251
  else {
@@ -262,18 +261,60 @@ var TaskbarEdit = /** @class */ (function (_super) {
262
261
  if (this.parent.editSettings.allowTaskbarEditing && element) {
263
262
  this.showHideTaskBarEditingElements(element, this.taskBarEditElement);
264
263
  this.editElement = element;
265
- this.taskBarEditElement = element;
266
- var index = this.taskBarEditElement.getAttribute('data-segment-index');
264
+ this.realTaskbarElement = this.editElement;
265
+ var index = this.editElement.getAttribute('data-segment-index');
267
266
  if (!isNullOrUndefined(index)) {
268
267
  this.segmentIndex = Number(index);
269
268
  }
270
269
  else {
271
270
  this.segmentIndex = -1;
272
271
  }
273
- this.taskBarEditRecord = this.parent.ganttChartModule.getRecordByTaskBar(this.taskBarEditElement);
272
+ this.taskBarEditRecord = this.parent.ganttChartModule.getRecordByTaskBar(this.editElement);
274
273
  if (e.type === 'mousedown' || e.type === 'touchstart' || e.type === 'click') {
275
- this.roundOffDuration = true;
276
274
  this.taskBarEditAction = this.getTaskBarAction(e);
275
+ var index_1 = this.editElement.getAttribute('data-segment-index');
276
+ var currentRecord = this.parent.ganttChartModule.getRecordByTaskBar(element);
277
+ var ganttprop = currentRecord.ganttProperties;
278
+ var parentleft = this.editElement.parentElement.offsetLeft;
279
+ this.currentData = currentRecord;
280
+ var resizeElement = createElement('div', { styles: 'height:100%;border-style:dashed;border-bottom:none;border-top:none;border-width:1px;position:absolute;z-index:10000' });
281
+ addClass([resizeElement], 'e-taskbar-resize-div');
282
+ resizeElement.style.setProperty("width", ganttprop.width + "px");
283
+ var currentindex = this.editElement.getAttribute('data-segment-index');
284
+ resizeElement.style.setProperty("left", ((!isNullOrUndefined(ganttprop.segments) ? parentleft + ganttprop.segments[Number(currentindex)].left + "px" : (ganttprop.left) + "px")));
285
+ var resizeTable = this.parent.createElement('table');
286
+ var resizetableBody = this.parent.createElement("tbody");
287
+ resizetableBody.appendChild(resizeElement);
288
+ resizeTable.appendChild(resizetableBody);
289
+ var Check = this.parent.ganttChartModule.chartBodyContainer.querySelector('.e-clone-taskbar');
290
+ var createTable = null;
291
+ if ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && !isNullOrUndefined(index_1) && !isNullOrUndefined(index_1) ? Number(index_1) === 0 : false) {
292
+ var cloneTaskBar = this.editElement.parentElement.cloneNode(true);
293
+ }
294
+ else {
295
+ var cloneTaskBar = this.editElement.cloneNode(true);
296
+ }
297
+ if (!Check) {
298
+ addClass([cloneTaskBar], 'e-clone-taskbar');
299
+ cloneTaskBar.style.setProperty("position", "absolute");
300
+ cloneTaskBar.style.setProperty("top", 0 + "px");
301
+ createTable = this.parent.createElement('table');
302
+ var tableBody = this.parent.createElement("tbody");
303
+ tableBody.appendChild(cloneTaskBar);
304
+ createTable.appendChild(tableBody);
305
+ }
306
+ if ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && !isNullOrUndefined(index_1) && !isNullOrUndefined(index_1) ? Number(index_1) === 0 : false) {
307
+ var segmentedTasks = cloneTaskBar.getElementsByClassName('e-segmented-taskbar');
308
+ this.cloneTaskbarElement = segmentedTasks[Number(index_1)];
309
+ }
310
+ else {
311
+ this.cloneTaskbarElement = cloneTaskBar;
312
+ }
313
+ this.taskBarEditElement = this.cloneTaskbarElement;
314
+ this.taskbarElement = createTable;
315
+ this.taskbarResizer = resizeTable;
316
+ this.currentIndex = index_1;
317
+ this.roundOffDuration = true;
277
318
  if ((this.taskBarEditAction === 'ConnectorPointLeftDrag' || this.taskBarEditAction === 'ConnectorPointRightDrag') &&
278
319
  isNullOrUndefined(this.parent.taskFields.dependency)) {
279
320
  this.taskBarEditAction = null;
@@ -304,7 +345,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
304
345
  this.initPublicProp();
305
346
  }
306
347
  else {
307
- this.showHideTaskBarEditingElements(element, this.taskBarEditElement);
348
+ this.showHideTaskBarEditingElements(element, this.editElement);
308
349
  }
309
350
  }
310
351
  };
@@ -339,9 +380,10 @@ var TaskbarEdit = /** @class */ (function (_super) {
339
380
  addClass([element.querySelector('.' + cls.taskBarLeftResizer)], [cls.leftResizeGripper]);
340
381
  addClass([element.querySelector('.' + cls.taskBarRightResizer)], [cls.rightResizeGripper]);
341
382
  if (isShowProgressResizer) {
342
- var progresElement = !isNullOrUndefined(element.querySelector('.' + cls.childProgressResizer)) ? true : false;
343
- if (progresElement) {
344
- addClass([element.querySelector('.' + cls.childProgressResizer)], [cls.progressResizeGripper]);
383
+ var progressElement = element.querySelector('.' + cls.childProgressResizer);
384
+ if (!isNullOrUndefined(progressElement)) {
385
+ addClass([progressElement], [cls.progressResizeGripper]);
386
+ progressElement.style.top = '3px';
345
387
  }
346
388
  }
347
389
  }
@@ -422,9 +464,6 @@ var TaskbarEdit = /** @class */ (function (_super) {
422
464
  }
423
465
  else if (mouseDownElement.classList.contains(cls.manualParentTaskBar) ||
424
466
  mouseDownElement.classList.contains(cls.manualParentMainContainer) ||
425
- mouseDownElement.classList.contains(cls.manualParentMilestone) ||
426
- mouseDownElement.classList.contains(cls.manualParentMilestoneTop) ||
427
- mouseDownElement.classList.contains(cls.manualParentMilestoneBottom) ||
428
467
  mouseDownElement.classList.contains(cls.manualParentMilestone)) {
429
468
  action = 'ManualParentDrag';
430
469
  }
@@ -521,6 +560,21 @@ var TaskbarEdit = /** @class */ (function (_super) {
521
560
  this.dragMouseLeave = false;
522
561
  this.isMouseDragCheck();
523
562
  if (this.isMouseDragged && this.taskBarEditAction) {
563
+ if (!isNullOrUndefined(this.taskbarElement) && !isNullOrUndefined(this.editElement) && (this.taskBarEditAction !== "ConnectorPointRightDrag" && this.taskBarEditAction !== "ConnectorPointLeftDrag") && !(this.parent.viewType === 'ResourceView' && this.currentData.hasChildRecords)) {
564
+ var currentElement = this.editElement.parentElement;
565
+ currentElement.style.setProperty("position", "absolute");
566
+ if ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && !isNullOrUndefined(this.currentIndex) && !isNullOrUndefined(this.currentIndex) ? Number(this.currentIndex) === 0 : false) {
567
+ this.taskbarElement.childNodes[0].childNodes[0].style.setProperty("top", currentElement.parentElement.offsetTop + "px");
568
+ currentElement.parentElement.appendChild(this.taskbarElement);
569
+ }
570
+ else {
571
+ currentElement.appendChild(this.taskbarElement);
572
+ }
573
+ if (this.taskBarEditAction !== 'ProgressResizing') {
574
+ var rootElement = this.parent.ganttChartModule.chartBodyContainer.querySelectorAll(".e-chart-rows-container");
575
+ rootElement[0].appendChild(this.taskbarResizer);
576
+ }
577
+ }
524
578
  var args_1 = {
525
579
  cancel: false,
526
580
  requestType: 'taskbarediting',
@@ -627,16 +681,6 @@ var TaskbarEdit = /** @class */ (function (_super) {
627
681
  merge(_this.taskBarEditRecord.ganttProperties, arg.previousData);
628
682
  }
629
683
  });
630
- this.parent.flatData.map(function (data) {
631
- if ((!isNullOrUndefined(_this.taskBarEditRecord.parentItem)) && data.ganttProperties.taskId === _this.taskBarEditRecord.parentItem.taskId) {
632
- data.childRecords.map(function (s) {
633
- if (isNullOrUndefined(s.ganttProperties.startDate) || isNullOrUndefined(s.ganttProperties.endDate) ||
634
- isNullOrUndefined(s.ganttProperties.duration)) {
635
- _this.parent.dataOperation.updateGanttData();
636
- }
637
- });
638
- }
639
- });
640
684
  }
641
685
  };
642
686
  /**
@@ -1442,6 +1486,15 @@ var TaskbarEdit = /** @class */ (function (_super) {
1442
1486
  * @private
1443
1487
  */
1444
1488
  TaskbarEdit.prototype.setItemPosition = function () {
1489
+ if (!isNullOrUndefined(this.editElement)) {
1490
+ var currentElement = this.editElement.parentElement;
1491
+ if (this.parent.viewType == 'ResourceView' && this.parent.allowTaskbarDragAndDrop && this.taskBarEditAction === 'ChildDrag') {
1492
+ currentElement.style.position = null;
1493
+ }
1494
+ else {
1495
+ currentElement.style.setProperty("position", "absolute");
1496
+ }
1497
+ }
1445
1498
  var item = this.taskBarEditRecord.ganttProperties;
1446
1499
  var position = this.parent.enableRtl ? "right" : "left";
1447
1500
  var segment = !isNullOrUndefined(item.segments) ? item.segments[this.segmentIndex] : null;
@@ -1451,13 +1504,10 @@ var TaskbarEdit = /** @class */ (function (_super) {
1451
1504
  if (!isNullOrUndefined(segment)) {
1452
1505
  rightResizer = this.parent.isAdaptive ? (segment.width - 2) : (segment.width - 10);
1453
1506
  }
1454
- var taskBarMainContainer = (!this.taskBarEditElement.classList.contains(cls.taskBarMainContainer)) ? closest(this.taskBarEditElement, 'tr.' + cls.chartRow)
1507
+ this.taskBarEditElement.style.setProperty("opacity", '.75');
1508
+ var taskBarMainContainer = (!this.taskBarEditElement.classList.contains(cls.taskBarMainContainer)) ? ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && this.segmentIndex === 0) ? this.taskBarEditElement.parentElement : closest(this.taskBarEditElement, 'tr.' + cls.chartRow)
1455
1509
  .querySelector('.' + cls.taskBarMainContainer) : this.taskBarEditElement;
1456
1510
  var segmentedTaskBarContainer = this.taskBarEditElement.classList.contains('e-segmented-taskbar');
1457
- var leftLabelContainer = closest(this.taskBarEditElement, 'tr.' + cls.chartRow)
1458
- .querySelector('.' + cls.leftLabelContainer);
1459
- var rightLabelContainer = closest(this.taskBarEditElement, 'tr.' + cls.chartRow)
1460
- .querySelector('.' + cls.rightLabelContainer);
1461
1511
  var traceChildProgressBar = this.taskBarEditElement.querySelector('.' + cls.traceChildProgressBar);
1462
1512
  var traceChildTaskBar = this.taskBarEditElement.querySelector('.' + cls.traceChildTaskBar);
1463
1513
  var childProgressResizer = this.taskBarEditElement.querySelector('.' + cls.childProgressResizer);
@@ -1469,34 +1519,45 @@ var TaskbarEdit = /** @class */ (function (_super) {
1469
1519
  var manualTaskbar = this.taskBarEditElement.querySelector('.' + cls.manualParentTaskBar);
1470
1520
  var manualParentRight = this.taskBarEditElement.querySelector('.' + cls.manualParentRightResizer);
1471
1521
  var manualParentLeft = this.taskBarEditElement.querySelector('.' + cls.manualParentLeftResizer);
1522
+ var resizeLine = this.parent.ganttChartModule.chartBodyContainer.querySelector('.e-taskbar-resize-div');
1472
1523
  if (this.taskBarEditAction !== 'ConnectorPointRightDrag' &&
1473
1524
  this.taskBarEditAction !== 'ConnectorPointLeftDrag') {
1474
1525
  if (this.taskBarEditAction !== 'ParentResizing' && this.taskBarEditAction !== 'ManualParentDrag') {
1475
1526
  if (segmentedTaskBarContainer && !isNullOrUndefined(item.segments)
1476
1527
  && (this.taskBarEditAction === 'RightResizing' || this.segmentIndex !== 0)) {
1528
+ if (!isNullOrUndefined(resizeLine)) {
1529
+ resizeLine.style.width = (segment.width) + "px";
1530
+ }
1477
1531
  this.taskBarEditElement.style.width = (segment.width) + 'px';
1478
1532
  if (this.parent.enableRtl) {
1479
1533
  this.taskBarEditElement.style.right = (segment.left) + 'px';
1480
1534
  }
1481
1535
  else {
1482
1536
  this.taskBarEditElement.style.left = (segment.left) + 'px';
1537
+ if (!isNullOrUndefined(resizeLine)) {
1538
+ resizeLine.style.left = (segment.left + this.editElement.parentElement.offsetLeft) + "px";
1539
+ }
1483
1540
  }
1484
1541
  }
1485
- taskBarMainContainer.style.width = (width) + 'px';
1486
- leftLabelContainer.style.width = (item.left) + 'px';
1487
1542
  taskBarMainContainer.style.setProperty(position, (item.left) + 'px');
1543
+ taskBarMainContainer.style.width = (width) + 'px';
1488
1544
  if (this.parent.viewType === 'ResourceView' && this.parent.allowTaskbarDragAndDrop && this.parent.rowDragAndDropModule &&
1489
1545
  (this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'MilestoneDrag')) {
1490
1546
  taskBarMainContainer.style.setProperty('top', (this.topValue) + 'px');
1491
1547
  taskBarMainContainer.style.zIndex = '4';
1492
1548
  }
1493
1549
  if (this.taskBarEditAction === 'LeftResizing' && this.segmentIndex === 0) {
1550
+ this.taskBarEditElement.style.setProperty("opacity", '.75');
1494
1551
  var parent_1 = this.taskBarEditElement.parentElement;
1495
1552
  var segmentedTasks = parent_1.getElementsByClassName('e-segmented-taskbar');
1496
1553
  for (var i = 0; i < item.segments.length; i++) {
1497
1554
  var segment_4 = item.segments[i];
1498
1555
  var segmentElement = segmentedTasks[i];
1499
1556
  segmentElement.style.width = (segment_4.width) + 'px';
1557
+ if (i === 0) {
1558
+ resizeLine.style.width = (segment_4.width) + "px";
1559
+ resizeLine.style.left = (segment_4.left + item.left) + "px";
1560
+ }
1500
1561
  if (this.parent.enableRtl) {
1501
1562
  segmentElement.style.right = (segment_4.left) + 'px';
1502
1563
  }
@@ -1505,8 +1566,10 @@ var TaskbarEdit = /** @class */ (function (_super) {
1505
1566
  }
1506
1567
  }
1507
1568
  }
1508
- if (!isNullOrUndefined(rightLabelContainer)) {
1509
- rightLabelContainer.style.setProperty(position, (item.left + width) + 'px');
1569
+ if (this.taskBarEditAction === 'ChildDrag' && this.segmentIndex === 0) {
1570
+ resizeLine.style.width = (width) + "px";
1571
+ resizeLine.style.left = (item.left) + "px";
1572
+ taskBarMainContainer.style.setProperty("opacity", '.75');
1510
1573
  }
1511
1574
  }
1512
1575
  if (traceConnectorPointRight) {
@@ -1519,10 +1582,8 @@ var TaskbarEdit = /** @class */ (function (_super) {
1519
1582
  }
1520
1583
  if (this.taskBarEditAction === 'MilestoneDrag' || item.isMilestone) {
1521
1584
  taskBarMainContainer.style.setProperty(position, (item.left - (width / 2)) + 'px');
1522
- leftLabelContainer.style.width = (item.left - (width / 2)) + 'px';
1523
- if (!isNullOrUndefined(rightLabelContainer)) {
1524
- rightLabelContainer.style.setProperty(position, (item.left + (width / 2)) + 'px');
1525
- }
1585
+ resizeLine.style.left = (item.left - (width / 2)) + 'px';
1586
+ resizeLine.style.width = (width) + "px";
1526
1587
  }
1527
1588
  else if (this.taskBarEditAction === 'ProgressResizing') {
1528
1589
  if (this.segmentIndex === -1) {
@@ -1545,6 +1606,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
1545
1606
  }
1546
1607
  }
1547
1608
  else if (this.taskBarEditAction === 'RightResizing' && !isNullOrUndefined(traceChildTaskBar)) {
1609
+ resizeLine.style.width = (width) + 'px';
1548
1610
  traceChildTaskBar.style.width = (width) + 'px';
1549
1611
  if (!isNullOrUndefined(traceChildProgressBar)) {
1550
1612
  traceChildProgressBar.style.width = (item.progressWidth) + 'px';
@@ -1555,23 +1617,36 @@ var TaskbarEdit = /** @class */ (function (_super) {
1555
1617
  }
1556
1618
  }
1557
1619
  else if (this.taskBarEditAction === 'ParentDrag') {
1620
+ resizeLine.style.left = (item.left) + 'px';
1621
+ resizeLine.style.width = (width) + "px";
1622
+ resizeLine.style.width = (item.width) + 'px';
1558
1623
  if (!isNullOrUndefined(traceParentTaskBar)) {
1559
1624
  traceParentTaskBar.style.width = (width) + 'px';
1625
+ resizeLine.style.width = (item.width) + 'px';
1560
1626
  }
1561
1627
  if (!isNullOrUndefined(traceChildProgressBar)) {
1562
1628
  traceParentProgressBar.style.width = (item.progressWidth) + 'px';
1563
1629
  }
1564
1630
  }
1565
1631
  else if (this.taskBarEditAction === 'ParentResizing') {
1632
+ resizeLine.style.width = (item.width) + 'px';
1633
+ resizeLine.style.left = item.left + 'px';
1566
1634
  manualParentTaskbar.style.width = manualTaskbar.style.width = (item.width) + 'px';
1567
1635
  manualParentRight.style.setProperty(position, item.width - manualParentLeft.offsetLeft + 'px');
1568
1636
  }
1569
1637
  else if (this.taskBarEditAction === 'ManualParentDrag') {
1638
+ resizeLine.style.width = (item.width) + 'px';
1639
+ resizeLine.style.left = item.left + 'px';
1570
1640
  manualParentTaskbar.style.setProperty(position, item.left - item.autoLeft + 'px');
1571
1641
  }
1572
1642
  else {
1573
1643
  if (!isNullOrUndefined(traceChildTaskBar) && !segmentedTaskBarContainer) {
1574
- traceChildTaskBar.style.width = (width) + 'px';
1644
+ traceChildTaskBar.style.width = (item.width) + 'px';
1645
+ traceChildTaskBar.style.left = (item.left) + 'px';
1646
+ this.taskBarEditElement.style.width = (item.width) + 'px';
1647
+ this.taskBarEditElement.style.left = (item.left) + "px";
1648
+ resizeLine.style.left = (item.left) + 'px';
1649
+ resizeLine.style.width = (item.width) + "px";
1575
1650
  }
1576
1651
  if (!isNullOrUndefined(traceChildProgressBar)) {
1577
1652
  taskBarRightResizer.style.setProperty(position, rightResizer + 'px');
@@ -1967,21 +2042,21 @@ var TaskbarEdit = /** @class */ (function (_super) {
1967
2042
  if ((this.parent.virtualScrollModule && this.parent.enableVirtualization &&
1968
2043
  !this.elementOffsetLeft) || !this.parent.enableVirtualization) {
1969
2044
  if (!this.parent.allowParentDependency) {
1970
- this.elementOffsetLeft = this.taskBarEditElement.offsetLeft;
1971
- this.elementOffsetTop = this.taskBarEditElement.offsetTop + scrollTop;
2045
+ this.elementOffsetLeft = this.realTaskbarElement.offsetLeft;
2046
+ this.elementOffsetTop = this.realTaskbarElement.parentElement.offsetTop + this.realTaskbarElement.offsetHeight / 3 + scrollTop;
1972
2047
  }
1973
2048
  else {
1974
2049
  if (this.taskBarEditElement.children[0].classList.contains('e-manualparent-main-container')) {
1975
- this.elementOffsetLeft = this.taskBarEditElement.children[0]['offsetLeft'] + this.taskBarEditElement.offsetLeft;
1976
- this.elementOffsetTop = ((this.taskBarEditElement.offsetTop - 5) + this.taskBarEditElement.children[0]['offsetTop']) + scrollTop;
2050
+ this.elementOffsetLeft = this.realTaskbarElement.children[0]['offsetLeft'] + this.realTaskbarElement.offsetLeft;
2051
+ this.elementOffsetTop = ((this.realTaskbarElement.parentElement.offsetTop + this.realTaskbarElement.offsetHeight / 3 - 5) + this.taskBarEditElement.children[0]['offsetTop']) + scrollTop;
1977
2052
  }
1978
2053
  else {
1979
- this.elementOffsetLeft = this.taskBarEditElement.offsetLeft;
1980
- this.elementOffsetTop = this.taskBarEditElement.offsetTop + scrollTop;
2054
+ this.elementOffsetLeft = this.realTaskbarElement.offsetLeft;
2055
+ this.elementOffsetTop = this.realTaskbarElement.parentElement.offsetTop + this.realTaskbarElement.offsetHeight / 3 + scrollTop;
1981
2056
  }
1982
2057
  }
1983
- this.elementOffsetWidth = this.taskBarEditElement.offsetWidth;
1984
- this.elementOffsetHeight = this.taskBarEditElement.offsetHeight;
2058
+ this.elementOffsetWidth = this.realTaskbarElement.offsetWidth;
2059
+ this.elementOffsetHeight = this.realTaskbarElement.offsetHeight;
1985
2060
  }
1986
2061
  this.showHideTaskBarEditingElements(element, this.highlightedSecondElement, true);
1987
2062
  }
@@ -38,15 +38,10 @@ export declare const childTaskBarInnerDiv: string;
38
38
  export declare const childProgressBarInnerDiv: string;
39
39
  export declare const criticalChildTaskBarInnerDiv: string;
40
40
  export declare const criticalChildProgressBarInnerDiv: string;
41
- export declare const milestoneTop: string;
42
- export declare const milestoneBottom: string;
43
- export declare const criticalMilestoneTop: string;
44
- export declare const criticalMilestoneBottom: string;
41
+ export declare const criticalMilestone: string;
45
42
  export declare const baselineBar: string;
46
43
  export declare const baselineMilestoneContainer: string;
47
44
  export declare const baselineMilestoneDiv: string;
48
- export declare const baselineMilestoneTop: string;
49
- export declare const baselineMilestoneBottom: string;
50
45
  export declare const chartRowCell: string;
51
46
  export declare const chartRow: string;
52
47
  export declare const rowExpand: string;
@@ -60,15 +55,11 @@ export declare const progressBarHandlerAfter: string;
60
55
  export declare const icon: string;
61
56
  export declare const traceMilestone: string;
62
57
  export declare const parentMilestone: string;
63
- export declare const parentMilestoneTop: string;
64
- export declare const parentMilestoneBottom: string;
65
58
  export declare const traceChildTaskBar: string;
66
59
  export declare const traceChildProgressBar: string;
67
60
  export declare const manualParentMainContainer: string;
68
61
  export declare const manualParentTaskBar: string;
69
62
  export declare const manualParentMilestone: string;
70
- export declare const manualParentMilestoneTop: string;
71
- export declare const manualParentMilestoneBottom: string;
72
63
  export declare const manualChildTaskBar: string;
73
64
  export declare const manualChildProgressBar: string;
74
65
  export declare const manualParentRightResizer: string;
@@ -100,6 +91,10 @@ export declare const unscheduledMilestoneBottom: string;
100
91
  export declare const dependencyViewContainer: string;
101
92
  export declare const connectorLineContainer: string;
102
93
  export declare const connectorLine: string;
94
+ export declare const connectorLineSVG: string;
95
+ export declare const criticalConnectorLineSVG: string;
96
+ export declare const criticalConnectorArrowSVG: string;
97
+ export declare const connectorLineArrow: string;
103
98
  export declare const criticalConnectorLine: string;
104
99
  export declare const criticalConnectorLineRightArrow: string;
105
100
  export declare const criticalConnectorLineLeftArrow: string;
@@ -40,15 +40,10 @@ export var childTaskBarInnerDiv = 'e-gantt-child-taskbar-inner-div';
40
40
  export var childProgressBarInnerDiv = 'e-gantt-child-progressbar-inner-div';
41
41
  export var criticalChildTaskBarInnerDiv = 'e-gantt-child-critical-taskbar-inner-div';
42
42
  export var criticalChildProgressBarInnerDiv = 'e-gantt-child-critical-progressbar-inner-div';
43
- export var milestoneTop = 'e-milestone-top';
44
- export var milestoneBottom = 'e-milestone-bottom';
45
- export var criticalMilestoneTop = 'e-critical-milestone-top';
46
- export var criticalMilestoneBottom = 'e-critical-milestone-bottom';
43
+ export var criticalMilestone = 'e-critical-milestone';
47
44
  export var baselineBar = 'e-baseline-bar';
48
45
  export var baselineMilestoneContainer = 'e-baseline-gantt-milestone-container';
49
46
  export var baselineMilestoneDiv = 'e-baseline-gantt-milestone';
50
- export var baselineMilestoneTop = 'e-baseline-milestone-top';
51
- export var baselineMilestoneBottom = 'e-baseline-milestone-bottom';
52
47
  export var chartRowCell = 'e-chart-row-cell';
53
48
  export var chartRow = 'e-chart-row';
54
49
  export var rowExpand = 'e-row-expand';
@@ -62,15 +57,11 @@ export var progressBarHandlerAfter = 'e-progressbar-handler-after';
62
57
  export var icon = 'e-icon';
63
58
  export var traceMilestone = 'e-gantt-milestone';
64
59
  export var parentMilestone = 'e-gantt-parent-milestone';
65
- export var parentMilestoneTop = 'e-parent-milestone-top';
66
- export var parentMilestoneBottom = 'e-parent-milestone-bottom';
67
60
  export var traceChildTaskBar = 'e-gantt-child-taskbar';
68
61
  export var traceChildProgressBar = 'e-gantt-child-progressbar';
69
62
  export var manualParentMainContainer = 'e-manualparent-main-container';
70
63
  export var manualParentTaskBar = 'e-gantt-manualparenttaskbar';
71
64
  export var manualParentMilestone = 'e-gantt-manualparent-milestone';
72
- export var manualParentMilestoneTop = 'e-manualparent-milestone-top';
73
- export var manualParentMilestoneBottom = 'e-manualparent-milestone-bottom';
74
65
  export var manualChildTaskBar = 'e-gantt-child-manualtaskbar';
75
66
  export var manualChildProgressBar = 'e-gantt-child-manualprogressbar';
76
67
  export var manualParentRightResizer = 'e-gantt-manualparenttaskbar-right';
@@ -107,6 +98,10 @@ export var unscheduledMilestoneBottom = 'e-unscheduled-milestone-bottom';
107
98
  export var dependencyViewContainer = 'e-gantt-dependency-view-container';
108
99
  export var connectorLineContainer = 'e-connector-line-container';
109
100
  export var connectorLine = 'e-line';
101
+ export var connectorLineSVG = 'e-connector-line';
102
+ export var criticalConnectorLineSVG = 'e-critical-line';
103
+ export var criticalConnectorArrowSVG = 'e-critical-line-arrow';
104
+ export var connectorLineArrow = 'e-connector-line-arrow';
110
105
  export var criticalConnectorLine = 'e-criticalconnector-line';
111
106
  export var criticalConnectorLineRightArrow = 'e-criticalconnector-line-right-arrow';
112
107
  export var criticalConnectorLineLeftArrow = 'e-criticalconnector-line-left-arrow';
@@ -522,7 +522,6 @@ var DateProcessor = /** @class */ (function () {
522
522
  * @private
523
523
  */
524
524
  DateProcessor.prototype.getValidStartDate = function (ganttProp, isAuto) {
525
- var _this = this;
526
525
  var sDate = null;
527
526
  var startDate = isAuto ? ganttProp.autoStartDate : ganttProp.startDate;
528
527
  var endDate = isAuto ? ganttProp.autoEndDate : ganttProp.endDate;
@@ -533,24 +532,7 @@ var DateProcessor = /** @class */ (function () {
533
532
  this.setTime(this.parent.defaultStartTime, sDate);
534
533
  }
535
534
  else if (!isNullOrUndefined(duration)) {
536
- this.parent.flatData.map(function (record) {
537
- if (record.ganttProperties.taskId == ganttProp.taskId) {
538
- if ((!isNullOrUndefined(record.parentItem)) && (record.parentItem.taskId)) {
539
- _this.parent.flatData.map(function (data) {
540
- if (data.ganttProperties.taskId === record.parentItem.taskId) {
541
- if (!isNullOrUndefined(data.ganttProperties.startDate))
542
- sDate = data.ganttProperties.startDate;
543
- }
544
- else {
545
- sDate = _this.getProjectStartDate(ganttProp);
546
- }
547
- });
548
- }
549
- else {
550
- sDate = _this.getProjectStartDate(ganttProp);
551
- }
552
- }
553
- });
535
+ sDate = this.getProjectStartDate(ganttProp);
554
536
  }
555
537
  }
556
538
  else {