@syncfusion/ej2-gantt 22.1.39 → 22.2.7

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 (67) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/ej2-gantt.min.js +2 -2
  3. package/dist/ej2-gantt.umd.min.js +2 -2
  4. package/dist/ej2-gantt.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-gantt.es2015.js +239 -178
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +240 -178
  8. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  9. package/dist/global/ej2-gantt.min.js +2 -2
  10. package/dist/global/ej2-gantt.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +20 -20
  13. package/src/gantt/actions/context-menu.js +1 -1
  14. package/src/gantt/actions/critical-path.js +14 -3
  15. package/src/gantt/actions/edit.js +6 -2
  16. package/src/gantt/actions/filter.d.ts +1 -1
  17. package/src/gantt/actions/filter.js +1 -1
  18. package/src/gantt/actions/keyboard.js +0 -1
  19. package/src/gantt/actions/selection.js +4 -0
  20. package/src/gantt/actions/taskbar-edit.js +10 -1
  21. package/src/gantt/base/gantt-chart.js +7 -0
  22. package/src/gantt/base/gantt.d.ts +1 -0
  23. package/src/gantt/base/gantt.js +3 -0
  24. package/src/gantt/base/interface.d.ts +0 -2
  25. package/src/gantt/base/task-processor.js +1 -0
  26. package/src/gantt/base/tree-grid.d.ts +1 -0
  27. package/src/gantt/base/tree-grid.js +30 -5
  28. package/src/gantt/renderer/chart-rows.js +13 -6
  29. package/src/gantt/renderer/connector-line.d.ts +0 -2
  30. package/src/gantt/renderer/connector-line.js +130 -153
  31. package/src/gantt/renderer/timeline.js +1 -2
  32. package/styles/bootstrap-dark.css +1 -2
  33. package/styles/bootstrap.css +1 -2
  34. package/styles/bootstrap4.css +1 -2
  35. package/styles/bootstrap5-dark.css +1 -2
  36. package/styles/bootstrap5.css +1 -2
  37. package/styles/fabric-dark.css +1 -2
  38. package/styles/fabric.css +1 -2
  39. package/styles/fluent-dark.css +1 -2
  40. package/styles/fluent.css +1 -2
  41. package/styles/gantt/_layout.scss +1 -1
  42. package/styles/gantt/_theme.scss +0 -1
  43. package/styles/gantt/bootstrap-dark.css +1 -2
  44. package/styles/gantt/bootstrap.css +1 -2
  45. package/styles/gantt/bootstrap4.css +1 -2
  46. package/styles/gantt/bootstrap5-dark.css +1 -2
  47. package/styles/gantt/bootstrap5.css +1 -2
  48. package/styles/gantt/fabric-dark.css +1 -2
  49. package/styles/gantt/fabric.css +1 -2
  50. package/styles/gantt/fluent-dark.css +1 -2
  51. package/styles/gantt/fluent.css +1 -2
  52. package/styles/gantt/highcontrast-light.css +1 -2
  53. package/styles/gantt/highcontrast.css +1 -2
  54. package/styles/gantt/material-dark.css +1 -2
  55. package/styles/gantt/material.css +1 -2
  56. package/styles/gantt/material3-dark.css +1 -2
  57. package/styles/gantt/material3.css +1 -2
  58. package/styles/gantt/tailwind-dark.css +1 -2
  59. package/styles/gantt/tailwind.css +1 -2
  60. package/styles/highcontrast-light.css +1 -2
  61. package/styles/highcontrast.css +1 -2
  62. package/styles/material-dark.css +1 -2
  63. package/styles/material.css +1 -2
  64. package/styles/material3-dark.css +1 -2
  65. package/styles/material3.css +1 -2
  66. package/styles/tailwind-dark.css +1 -2
  67. package/styles/tailwind.css +1 -2
@@ -3952,6 +3952,7 @@ class TaskProcessor extends DateProcessor {
3952
3952
  this.parent.setRecordValue('progress', Math.floor(parentProgress), parentProp, true);
3953
3953
  this.parent.setRecordValue('totalProgress', totalProgress, parentProp, true);
3954
3954
  this.parent.setRecordValue('totalDuration', totalDuration, parentProp, true);
3955
+ this.parent.setRecordValue('autoDuration', parentProp.duration, parentProp, true);
3955
3956
  if (!parentProp.isAutoSchedule) {
3956
3957
  this.parent.setRecordValue('autoDuration', this.calculateAutoDuration(parentProp), parentProp, true);
3957
3958
  this.updateAutoWidthLeft(parentData);
@@ -4505,6 +4506,9 @@ class GanttChart {
4505
4506
  }
4506
4507
  this.updateWidthAndHeight();
4507
4508
  this.parent.notify('selectRowByIndex', {});
4509
+ if (this.parent.timelineModule.isZoomToFit) {
4510
+ this.parent.timelineModule.processZoomToFit();
4511
+ }
4508
4512
  }
4509
4513
  /**
4510
4514
  * @param {IGanttData[]} records .
@@ -4791,6 +4795,10 @@ class GanttChart {
4791
4795
  if (!isNullOrUndefined(this.parent.editModule) && !isNullOrUndefined(this.parent.editModule.taskbarEditModule)) {
4792
4796
  this.parent.editModule.taskbarEditModule.removeFalseLine(false);
4793
4797
  }
4798
+ var resizeCheck = this.parent.element.querySelector(".e-taskbar-resize-div");
4799
+ if (!isNullOrUndefined(resizeCheck)) {
4800
+ resizeCheck.remove();
4801
+ }
4794
4802
  if (this.parent.allowRowDragAndDrop) {
4795
4803
  const ganttDragElemet = this.parent.element.querySelector('.e-ganttdrag');
4796
4804
  if (ganttDragElemet) {
@@ -6106,8 +6114,7 @@ class Timeline {
6106
6114
  this.parent.showSpinner();
6107
6115
  }
6108
6116
  this.changeTimelineSettings(newTimeline);
6109
- this.isZoomToFit = false;
6110
- this.parent.isTimelineRoundOff = this.isZoomToFit ? false : isNullOrUndefined(this.parent.projectStartDate) ? true : false;
6117
+ this.parent.isTimelineRoundOff = isNullOrUndefined(this.parent.projectStartDate) ? true : false;
6111
6118
  }
6112
6119
  bottomTierCellWidthCalc(mode, zoomLevel, date) {
6113
6120
  let convertedMilliSeconds;
@@ -7787,6 +7794,7 @@ class GanttTreeGrid {
7787
7794
  }
7788
7795
  }
7789
7796
  this.parent.editModule.cellEditModule.initiateCellEdit(args, this.currentEditRow);
7797
+ this.parent.editModule.cellEditModule.isCellEdit = false;
7790
7798
  this.currentEditRow = {};
7791
7799
  }
7792
7800
  }
@@ -7812,7 +7820,14 @@ class GanttTreeGrid {
7812
7820
  }
7813
7821
  }
7814
7822
  else {
7815
- this.parent.selectRow(0);
7823
+ var indexvalue = 0;
7824
+ this.parent.currentViewData.map((data, index) => {
7825
+ if (!isNullOrUndefined(this.parent.currentSelection) && ((data.ganttProperties.taskId === this.parent.currentSelection[this.parent.taskFields.id])) || (!isNullOrUndefined(this.parent.currentSelection)) && (data.ganttProperties.taskId === this.parent.currentSelection.taskId)) {
7826
+ indexvalue = index;
7827
+ }
7828
+ });
7829
+ this.addedRecord = true;
7830
+ this.parent.selectRow((isNullOrUndefined(indexvalue) ? 0 : indexvalue));
7816
7831
  }
7817
7832
  this.parent.addDeleteRecord = false;
7818
7833
  }
@@ -7991,8 +8006,16 @@ class GanttTreeGrid {
7991
8006
  this.parent.getDateFormat().toLowerCase().indexOf('hh') !== -1 ? 'datetimepickeredit' : 'datepickeredit';
7992
8007
  column.format = column.format ? column.format : { type: 'date', format: this.parent.getDateFormat() };
7993
8008
  column.width = column.width ? column.width : 150;
7994
- if (!column.edit || (column.edit && !column.edit.create)) {
7995
- column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
8009
+ if (column.edit && column.edit.params) {
8010
+ column.edit.params['renderDayCell'] = this.parent.renderWorkingDayCell.bind(this.parent);
8011
+ }
8012
+ else {
8013
+ if (column.edit) {
8014
+ column.edit.params = { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) };
8015
+ }
8016
+ else {
8017
+ column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
8018
+ }
7996
8019
  }
7997
8020
  }
7998
8021
  else if (taskSettings.endDate === column.field) {
@@ -8006,8 +8029,16 @@ class GanttTreeGrid {
8006
8029
  column.editType = column.editType ? column.editType :
8007
8030
  this.parent.getDateFormat().toLowerCase().indexOf('hh') !== -1 ? 'datetimepickeredit' : 'datepickeredit';
8008
8031
  column.width = column.width ? column.width : 150;
8009
- if (!column.edit || (column.edit && !column.edit.create)) {
8010
- column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
8032
+ if (column.edit && column.edit.params) {
8033
+ column.edit.params['renderDayCell'] = this.parent.renderWorkingDayCell.bind(this.parent);
8034
+ }
8035
+ else {
8036
+ if (column.edit) {
8037
+ column.edit.params = { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) };
8038
+ }
8039
+ else {
8040
+ column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
8041
+ }
8011
8042
  }
8012
8043
  }
8013
8044
  else if (taskSettings.duration === column.field) {
@@ -9052,7 +9083,7 @@ class ChartRows extends DateProcessor {
9052
9083
  childTaskbarNode = this.createDivElement(template);
9053
9084
  }
9054
9085
  }
9055
- if (this.parent.enableRtl && childTaskbarNode[0] && childTaskbarNode[0].querySelector('.e-task-label')) {
9086
+ if (this.parent.enableRtl && !isNullOrUndefined(childTaskbarNode) && childTaskbarNode[0] && childTaskbarNode[0].querySelector('.e-task-label')) {
9056
9087
  childTaskbarNode[0].querySelector('.e-task-label').style.marginLeft = '15px';
9057
9088
  childTaskbarNode[0].querySelector('.e-task-label').style.marginRight = '8px';
9058
9089
  if (childTaskbarNode[0].querySelector('.e-gantt-child-progressbar')) {
@@ -9434,8 +9465,8 @@ class ChartRows extends DateProcessor {
9434
9465
  milestoneNode = this.milestoneTemplateFunction(extend({ index: i }, data), this.parent, 'MilestoneTemplate', this.getTemplateID('MilestoneTemplate'), false, undefined, rootElement[0], this.parent.treeGrid['root']);
9435
9466
  }
9436
9467
  else {
9437
- const template = '<div class="' + traceMilestone + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight - 3 : this.taskBarHeight - 7)) + 'px;height:' +
9438
- ((this.parent.renderBaseline ? this.taskBarHeight - 3 : this.taskBarHeight - 7)) + 'px;position:absolute;transform: rotate(45deg);top:' + (this.parent.rowHeight > 40 ? 0 : 2) + 'px;left:' + (this.parent.renderBaseline ? 2 : 1) + 'px;"> </div>';
9468
+ const template = '<div class="' + traceMilestone + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 6)) + 'px;height:' +
9469
+ ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 6)) + 'px;position:absolute;transform: rotate(45deg);top:' + (this.parent.rowHeight > 40 ? 0 : 1) + 'px;left:' + 1 + 'px;"> </div>';
9439
9470
  milestoneNode = this.createDivElement(template);
9440
9471
  }
9441
9472
  return milestoneNode;
@@ -9463,9 +9494,9 @@ class ChartRows extends DateProcessor {
9463
9494
  getMilestoneBaselineNode() {
9464
9495
  const data = this.templateData;
9465
9496
  let baselineMilestoneHeight = this.parent.renderBaseline ? 5 : 2;
9466
- const template = '<div class="' + baselineMilestoneContainer + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight - 5 : this.taskBarHeight - 10) + 2) + 'px;height:' +
9467
- ((this.parent.renderBaseline ? this.taskBarHeight - 5 : this.taskBarHeight - 10) + 2) + 'px;position:absolute;transform:rotate(45deg);' + (this.parent.enableRtl ? 'right:' : 'left:') + (this.parent.enableRtl ? (data.ganttProperties.left -
9468
- (this.milestoneHeight / 2) + 3) : (data.ganttProperties.left - (this.milestoneHeight / 2) + 2)) + 'px;' + (this.baselineColor ? 'background-color: ' + this.baselineColor + ';' : '') + 'margin-top:' + ((-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) + baselineMilestoneHeight) + 3) + 'px"> </div>';
9497
+ const template = '<div class="' + baselineMilestoneContainer + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 10)) + 'px;height:' +
9498
+ ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 10)) + 'px;position:absolute;transform:rotate(45deg);' + (this.parent.enableRtl ? 'right:' : 'left:') + (this.parent.enableRtl ? (data.ganttProperties.left -
9499
+ (this.milestoneHeight / 2) + 3) : (data.ganttProperties.left - (this.milestoneHeight / 2) + 1)) + 'px;' + (this.baselineColor ? 'background-color: ' + this.baselineColor + ';' : '') + 'margin-top:' + ((-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) + baselineMilestoneHeight) + 2) + 'px"> </div>';
9469
9500
  return this.createDivElement(template);
9470
9501
  }
9471
9502
  /**
@@ -10150,6 +10181,12 @@ class ChartRows extends DateProcessor {
10150
10181
  this.ganttChartTableBody.replaceChildren(...dupChartBody.childNodes);
10151
10182
  this.parent.initialChartRowElements = this.parent.ganttChartModule.getChartRows();
10152
10183
  }
10184
+ if (this.parent.enableCriticalPath && this.parent.criticalPathModule) {
10185
+ var criticalModule = this.parent.criticalPathModule;
10186
+ if (criticalModule.criticalPathCollection) {
10187
+ this.parent.criticalPathModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
10188
+ }
10189
+ }
10153
10190
  this.parent.renderTemplates();
10154
10191
  this.triggerQueryTaskbarInfo();
10155
10192
  this.parent.modifiedRecords = [];
@@ -10164,6 +10201,7 @@ class ChartRows extends DateProcessor {
10164
10201
  }
10165
10202
  }
10166
10203
  }
10204
+ this.parent.isGanttChartRendered = true;
10167
10205
  this.parent.renderTemplates();
10168
10206
  }
10169
10207
  /**
@@ -11828,8 +11866,6 @@ class ConnectorLine {
11828
11866
  connectorObj.connectorLineId = 'parent' + parentId + 'child' + childId;
11829
11867
  connectorObj.milestoneParent = parentGanttRecord.isMilestone ? true : false;
11830
11868
  connectorObj.milestoneChild = childGanttRecord.isMilestone ? true : false;
11831
- connectorObj.isManualParent = (!(this.parent.flatData[parentIndex].ganttProperties.isAutoSchedule) && this.parent.flatData[parentIndex].hasChildRecords);
11832
- connectorObj.isManualChild = (!(this.parent.flatData[childIndex].ganttProperties.isAutoSchedule) && this.parent.flatData[childIndex].hasChildRecords);
11833
11869
  connectorObj.parentEndPoint = connectorObj.parentLeft + connectorObj.parentWidth;
11834
11870
  connectorObj.childEndPoint = connectorObj.childLeft + connectorObj.childWidth;
11835
11871
  if (isNullOrUndefined(isScheduledTask(parentGanttRecord)) || isNullOrUndefined(isScheduledTask(childGanttRecord))) {
@@ -12133,6 +12169,8 @@ class ConnectorLine {
12133
12169
  isMilestoneValue = (data.milestoneParent && data.milestoneChild) ? 0 : data.milestoneParent ? -5 : data.milestoneChild ? 5 : 0;
12134
12170
  }
12135
12171
  let heightValue = isVirtual ? connectorLine$$1.height : (height + isMilestoneValue);
12172
+ let borderTopWidth = 0;
12173
+ let addTop = 0;
12136
12174
  let parentOverlapTopValue = 0;
12137
12175
  let childOverlapTopValue = 0;
12138
12176
  let count = 0;
@@ -12169,30 +12207,56 @@ class ConnectorLine {
12169
12207
  }
12170
12208
  if (isValid) {
12171
12209
  if (((fromRecordIsParent && !fromRecordIsManual) && (toRecordIsParent && !toRecordIsManual))) {
12172
-
12210
+ addTop = -11;
12173
12211
  }
12174
12212
  else if (!((fromRecordIsParent && !fromRecordIsManual) && (toRecordIsParent && !toRecordIsManual))) {
12175
12213
  if (data.childIndex > data.parentIndex) {
12176
-
12214
+ if (!fromRecordIsParent && toRecordIsParent) {
12215
+ borderTopWidth = -11;
12216
+ }
12217
+ else {
12218
+ borderTopWidth = 11;
12219
+ addTop = -11;
12220
+ }
12177
12221
  }
12178
12222
  else {
12179
-
12223
+ if ((fromRecordIsParent && !toRecordIsParent)) {
12224
+ borderTopWidth = -11;
12225
+ }
12226
+ else {
12227
+ borderTopWidth = 11;
12228
+ addTop = -11;
12229
+ }
12180
12230
  }
12181
12231
  }
12182
12232
  if (this.parent.currentViewData[data.parentIndex].ganttProperties.isMilestone) {
12183
12233
  if (data.parentIndex > data.childIndex) {
12184
-
12234
+ addTop = -11;
12235
+ borderTopWidth = 12;
12185
12236
  }
12186
12237
  else if (data.type === 'SS' || data.type === 'FF') {
12187
-
12238
+ addTop = -5;
12188
12239
  }
12189
12240
  }
12190
12241
  else if (this.parent.currentViewData[data.childIndex].ganttProperties.isMilestone) {
12191
12242
  if (data.parentIndex > data.childIndex) {
12192
-
12243
+ addTop = 5;
12244
+ borderTopWidth = -10;
12193
12245
  }
12194
- else if (data.type === 'SS' || data.type === 'FF') {
12195
-
12246
+ else if (data.parentIndex < data.childIndex) {
12247
+ if (data.type === 'SS' || data.type === 'FF') {
12248
+ addTop = -10;
12249
+ }
12250
+ }
12251
+ }
12252
+ else {
12253
+ if (data.parentIndex < data.childIndex && fromRecordIsManual && !toRecordIsManual) {
12254
+ addTop = 0;
12255
+ borderTopWidth = -11;
12256
+ }
12257
+ else if (data.childIndex < data.parentIndex && !fromRecordIsManual && toRecordIsManual) {
12258
+ addTop = 0;
12259
+ borderTopWidth = -11;
12196
12260
  }
12197
12261
  }
12198
12262
  }
@@ -12225,127 +12289,110 @@ class ConnectorLine {
12225
12289
  if (this.getParentPosition(data) === 'FSType1') {
12226
12290
  this.taskLineValue = data.milestoneChild ? 1 : 0;
12227
12291
  this.x1 = data.parentEndPoint + (data.milestoneParent ? -1 : (data.milestoneChild ? -1 : 0));
12228
- this.x2 = data.milestoneParent ? ((((data.childLeft - (data.parentEndPoint + 10)) + 1) - 10) + 1) : (((data.childLeft - (data.parentEndPoint + 10))) - 10);
12229
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12230
- this.y2 = heightValue + this.taskLineValue;
12231
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12232
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12233
- this.connectorLinePath = "M " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x1 + this.x2) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x1 + this.x2) + " " + (this.y1 + this.y2) +
12234
- " L " + (this.x1 + this.x2 + 11) + " " + (this.y1 + this.y2);
12235
- this.arrowPath = "M " + (this.x1 + this.x2 + 18) + " " + (this.y1 + this.y2 + this.manualChild) +
12236
- " L " + (this.x1 + this.x2 + 11) + " " + (this.y1 + this.y2 - (4 + this.lineStroke) + this.manualChild) +
12237
- " L " + (this.x1 + this.x2 + 11) + " " + (this.y1 + this.y2 + 4 + this.lineStroke + this.manualChild) + " Z";
12292
+ this.x2 = data.milestoneParent ? ((((data.childLeft - (data.parentLeft + data.parentWidth + 10)) + this.lineStroke) - 10) + 1) : (((data.childLeft - (data.parentLeft + data.parentWidth + 10)) + this.lineStroke) - 10);
12293
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue));
12294
+ this.y2 = heightValue + this.taskLineValue + borderTopWidth - this.lineStroke;
12295
+ this.connectorLinePath = "M " + this.x1 + " " + (this.y1) + " L " + (this.x1 + this.x2) + " " + (this.y1) + " L " + (this.x1 + this.x2) + " " + (this.y1 + this.y2) +
12296
+ " L " + (this.x1 + this.x2 + 12) + " " + (this.y1 + this.y2);
12297
+ this.arrowPath = "M " + (this.x1 + this.x2 + 20) + " " + (this.y1 + this.y2) +
12298
+ " L " + (this.x1 + this.x2 + 12) + " " + (this.y1 + this.y2 - (4 + this.lineStroke)) +
12299
+ " L " + (this.x1 + this.x2 + 12) + " " + (this.y1 + this.y2 + 4) + " Z";
12238
12300
  }
12239
12301
  if (this.getParentPosition(data) === 'FSType2') {
12240
- this.taskLineValue = data.milestoneChild ? 1 : 0;
12241
- this.x1 = data.parentLeft + (data.milestoneChild ? -1 : 0);
12242
- this.x2 = data.parentWidth + (data.milestoneParent ? 1 : 0);
12302
+ this.x1 = data.parentLeft;
12303
+ this.x2 = data.parentWidth + (data.milestoneParent ? -1 : 0);
12243
12304
  this.x3 = this.x2 + (data.milestoneParent ? 11 : 10);
12244
12305
  this.x4 = data.parentWidth - ((data.parentEndPoint - data.childLeft) + 20);
12245
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12246
- this.y2 = heightValue - this.getconnectorLineGap(data) + this.taskLineValue;
12306
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue));
12307
+ this.y2 = heightValue + borderTopWidth - this.getconnectorLineGap(data) - this.lineStroke;
12247
12308
  this.y3 = this.getconnectorLineGap(data);
12248
- this.y4 = this.y1 + this.y2 - ((this.y1 + this.y2) % data.rowHeight);
12249
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12250
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12251
- this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1 + this.manualParent + this.manualChild) + " " + " L " + (this.x1 + this.x3) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x1 + this.x3) + " " + this.y4 +
12252
- " L " + (this.x1 + this.x4) + " " + this.y4 + " L " + (this.x1 + this.x4) + " " + (this.y1 + this.y2 + this.y3) + " L " + (this.x1 + this.x4 + 11) + " " + (this.y1 + this.y2 + this.y3);
12253
- this.arrowPath = "M " + (this.x1 + this.x4 + 18) + " " + (this.y1 + this.y2 + this.y3 + this.manualChild) +
12254
- " L " + (this.x1 + this.x4 + 11) + " " + (this.y1 + this.y2 + this.y3 - (4 + this.lineStroke) + this.manualChild) +
12255
- " L " + (this.x1 + this.x4 + 11) + " " + (this.y1 + this.y2 + this.y3 + 4 + this.lineStroke + this.manualChild) + " Z";
12309
+ this.y4 = (!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (this.y1 + this.y2 - ((this.y1 + this.y2) % data.rowHeight)));
12310
+ this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1) + " " + " L " + (this.x1 + this.x3) + " " + (this.y1) + " L " + (this.x1 + this.x3) + " " + this.y4 +
12311
+ " L " + (this.x1 + this.x4) + " " + this.y4 + " L " + (this.x1 + this.x4) + " " + (this.y1 + this.y2 + this.y3) + " L " + (this.x1 + this.x4 + 12) + " " + (this.y1 + this.y2 + this.y3);
12312
+ this.arrowPath = "M " + (this.x1 + this.x4 + 20) + " " + (this.y1 + this.y2 + this.y3) +
12313
+ " L " + (this.x1 + this.x4 + 12) + " " + (this.y1 + this.y2 + this.y3 - (4 + this.lineStroke)) +
12314
+ " L " + (this.x1 + this.x4 + 12) + " " + (this.y1 + this.y2 + this.y3 + 4 + this.lineStroke) + " Z";
12256
12315
  }
12257
12316
  if (this.getParentPosition(data) === 'FSType3') {
12258
12317
  this.taskLineValue = data.milestoneChild ? 1 : 0;
12259
- this.point1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild));
12318
+ this.point1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue));
12260
12319
  this.x1 = (data.childLeft + (data.milestoneChild ? -1 : 0) + (data.milestoneParent ? 1 : 0)) - 20;
12261
12320
  this.x2 = (data.parentEndPoint - data.childLeft) + 30;
12262
- this.y1 = this.point1 + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12263
- this.y2 = this.point1 + heightValue - this.getconnectorLineGap(data) + this.taskLineValue + (this.parent.renderBaseline ? (data.milestoneChild ? -10 : 0) : 0);
12264
- this.y3 = this.getconnectorLineGap(data) + (this.parent.renderBaseline ? (data.milestoneParent ? 10 : 0) : 0);
12321
+ this.y1 = this.point1 + (this.parent.renderBaseline ? (data.milestoneChild && !(data.milestoneParent) ? 11 : data.milestoneParent && !(data.milestoneChild) ? -12 : 0) : 0);
12322
+ this.y2 = this.point1 + heightValue + borderTopWidth - this.getconnectorLineGap(data) - this.lineStroke + this.taskLineValue;
12323
+ this.y3 = this.getconnectorLineGap(data);
12265
12324
  this.y4 = this.y2 - (this.y2 % data.rowHeight);
12266
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12267
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12268
- this.connectorLinePath = "M " + (this.x1 + 12) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + this.y4 +
12325
+ this.connectorLinePath = "M " + (this.x1 + 12) + " " + (this.y1) + " L " + this.x1 + " " + (this.y1) + " L " + this.x1 + " " + this.y4 +
12269
12326
  " L " + (this.x1 + this.x2) + " " + this.y4 + " L " + (this.x1 + this.x2) + " " + (this.y2 + this.y3) + " L " + (this.x1 + this.x2 - 12) + " " + (this.y2 + this.y3);
12270
- this.arrowPath = "M " + (this.x1 + 18) + " " + (this.y1 + this.manualChild) +
12271
- " L " + (this.x1 + 11) + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12272
- " L " + (this.x1 + 11) + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12327
+ this.arrowPath = "M " + (this.x1 + 20) + " " + (this.y1) +
12328
+ " L " + (this.x1 + 12) + " " + (this.y1 - (4 + this.lineStroke)) +
12329
+ " L " + (this.x1 + 12) + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12273
12330
  }
12274
12331
  if (this.getParentPosition(data) === 'FSType4') {
12275
- this.point1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild));
12332
+ this.point1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1)));
12276
12333
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : 0;
12277
12334
  this.x1 = data.parentEndPoint + (data.milestoneChild ? -1 : 0) + (data.milestoneParent ? 1 : 0);
12278
12335
  this.x2 = data.childLeft - data.parentEndPoint - 20;
12279
- this.y1 = this.point1 + (data.milestoneChild ? 1 : 0) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12280
- this.y2 = this.point1 + heightValue + this.taskLineValue + (this.parent.renderBaseline ? (data.milestoneParent ? 10 : 0) : 0);
12281
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12282
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12283
- this.connectorLinePath = "M " + (this.x1 + this.x2 + 11) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x1 + this.x2) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x1 + this.x2) + " " + this.y2 +
12336
+ this.y1 = this.point1 + (data.milestoneChild ? -1 : 0);
12337
+ this.y2 = this.point1 + heightValue + borderTopWidth - this.lineStroke + 1 + this.taskLineValue + (this.parent.renderBaseline ? (data.milestoneChild && !(data.milestoneParent) ? -12 : data.milestoneParent && !(data.milestoneChild) ? 11 : 0) : 0);
12338
+ this.connectorLinePath = "M " + (this.x1 + this.x2 + 12) + " " + (this.y1) + " L " + (this.x1 + this.x2) + " " + (this.y1) + " L " + (this.x1 + this.x2) + " " + this.y2 +
12284
12339
  " L " + this.x1 + " " + this.y2;
12285
- this.arrowPath = "M " + (this.x1 + this.x2 + 18) + " " + (this.y1 + this.manualChild) +
12286
- " L " + (this.x1 + this.x2 + 11) + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12287
- " L " + (this.x1 + this.x2 + 11) + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12340
+ this.arrowPath = "M " + (this.x1 + this.x2 + 20) + " " + (this.y1) +
12341
+ " L " + (this.x1 + this.x2 + 12) + " " + (this.y1 - (4 + this.lineStroke)) +
12342
+ " L " + (this.x1 + this.x2 + 12) + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12288
12343
  }
12289
12344
  if (this.getParentPosition(data) === 'SSType4') {
12290
12345
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : 0;
12291
- this.point1 = heightValue + this.taskLineValue;
12292
- this.point2 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild));
12293
- this.x1 = data.parentLeft - 8;
12346
+ this.point1 = heightValue + this.taskLineValue + borderTopWidth;
12347
+ this.point2 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1)));
12348
+ this.x1 = data.parentLeft - 10;
12294
12349
  this.x2 = data.childLeft - data.parentLeft;
12295
- this.y1 = this.point2 + (data.milestoneChild ? 1 : 0) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12296
- this.y2 = this.y1 + this.point1 + (this.parent.renderBaseline ? (data.milestoneParent ? 10 : 0) : 0);
12297
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12298
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12299
- this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) +
12350
+ this.y1 = this.point2 + (data.milestoneChild ? 1 : 0);
12351
+ this.y2 = this.y1 + this.point1 + (this.parent.renderBaseline ? (data.milestoneParent && !(data.milestoneChild) ? 10 : data.milestoneChild && !(data.milestoneParent) ? -13 : 0) : 0);
12352
+ this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1) + " L " + this.x1 + " " + (this.y1) +
12300
12353
  " L " + this.x1 + " " + this.y2 + " L " + (this.x1 + 10) + " " + this.y2;
12301
- this.arrowPath = "M " + (this.x1 + this.x2 + 8) + " " + (this.y1 + this.manualChild) +
12302
- " L " + (this.x1 + this.x2) + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12303
- " L " + (this.x1 + this.x2) + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12354
+ this.arrowPath = "M " + (this.x1 + this.x2 + 8) + " " + (this.y1) +
12355
+ " L " + (this.x1 + this.x2) + " " + (this.y1 - (4 + this.lineStroke)) +
12356
+ " L " + (this.x1 + this.x2) + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12304
12357
  }
12305
12358
  if (this.getParentPosition(data) === 'SSType3') {
12306
12359
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : data.milestoneChild ? 1 : 0;
12307
- this.point1 = heightValue + this.taskLineValue;
12360
+ this.point1 = heightValue + this.taskLineValue + borderTopWidth - (this.lineStroke - 1);
12308
12361
  this.x1 = data.childLeft - 20;
12309
- this.y1 = (data.milestoneChild ? 1 : 0) + ((this.parent.enableVirtualization ? rowPositionHeight : (!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild))) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12362
+ this.y1 = (data.milestoneChild ? 1 : 0) + (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1)));
12310
12363
  this.x2 = data.parentLeft - data.childLeft + 21;
12311
- this.y2 = this.y1 + this.point1 + (this.parent.renderBaseline ? (data.milestoneChild ? -11 : data.milestoneParent ? 10 : 0) : 0);
12312
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12313
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12314
- this.connectorLinePath = "M " + (this.x1 + 12) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) +
12364
+ this.y2 = this.y1 + this.point1 + (this.parent.renderBaseline ? (data.milestoneChild && !(data.milestoneParent) ? -11 : data.milestoneParent && !(data.milestoneChild) ? 10 : 0) : 0);
12365
+ this.connectorLinePath = "M " + (this.x1 + 12) + " " + (this.y1) + " L " + this.x1 + " " + (this.y1) +
12315
12366
  " L " + this.x1 + " " + this.y2 + " L " + (this.x1 + this.x2) + " " + this.y2;
12316
- this.arrowPath = "M " + (this.x1 + 20) + " " + (this.y1 + this.manualChild) +
12317
- " L " + (this.x1 + 12) + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12318
- " L " + (this.x1 + 12) + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12367
+ this.arrowPath = "M " + (this.x1 + 20) + " " + (this.y1) +
12368
+ " L " + (this.x1 + 12) + " " + (this.y1 - (4 + this.lineStroke)) +
12369
+ " L " + (this.x1 + 12) + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12319
12370
  }
12320
12371
  if (this.getParentPosition(data) === 'SSType2') {
12321
12372
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : data.milestoneChild ? 1 : 0;
12322
- this.point1 = heightValue + this.taskLineValue;
12373
+ this.point1 = heightValue + this.taskLineValue + borderTopWidth - this.lineStroke;
12323
12374
  this.x1 = setInnerElementLeftSSType2;
12324
12375
  this.x2 = setInnerChildWidthSSType2 + 1;
12325
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12376
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1)));
12326
12377
  this.y2 = this.y1 + this.point1;
12327
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12328
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12329
- this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + this.y2 +
12378
+ this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1) + " L " + this.x1 + " " + (this.y1) + " L " + this.x1 + " " + this.y2 +
12330
12379
  " L " + (this.x1 + setInnerElementWidthSSType2) + " " + this.y2;
12331
- this.arrowPath = "M " + (this.x1 + setInnerElementWidthSSType2 + 8) + " " + (this.y2 + this.manualChild) +
12332
- " L " + (this.x1 + setInnerElementWidthSSType2) + " " + (this.y2 - (4 + this.lineStroke) + this.manualChild) +
12333
- " L " + (this.x1 + setInnerElementWidthSSType2) + " " + (this.y2 + 4 + this.lineStroke + this.manualChild) + " Z";
12380
+ this.arrowPath = "M " + (this.x1 + setInnerElementWidthSSType2 + 8) + " " + (this.y2) +
12381
+ " L " + (this.x1 + setInnerElementWidthSSType2) + " " + (this.y2 - (4 + this.lineStroke)) +
12382
+ " L " + (this.x1 + setInnerElementWidthSSType2) + " " + (this.y2 + 4 + this.lineStroke) + " Z";
12334
12383
  }
12335
12384
  if (this.getParentPosition(data) === 'SSType1') {
12336
12385
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : data.milestoneChild ? 1 : 0;
12337
- this.point1 = heightValue + this.taskLineValue;
12386
+ this.point1 = heightValue + this.taskLineValue + borderTopWidth - this.lineStroke;
12338
12387
  this.x1 = data.childLeft - 20;
12339
12388
  this.x2 = data.parentLeft - data.childLeft + 21;
12340
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + +((data.isManualParent && data.isManualChild) ? -10 : 0);
12389
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1)));
12341
12390
  this.y2 = this.y1 + this.point1;
12342
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12343
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12344
- this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + this.y2 +
12391
+ this.connectorLinePath = "M " + (this.x1 + this.x2) + " " + (this.y1) + " L " + this.x1 + " " + (this.y1) + " L " + this.x1 + " " + this.y2 +
12345
12392
  " L " + (this.x1 + 12) + " " + this.y2;
12346
- this.arrowPath = "M " + (this.x1 + 20) + " " + (this.y2 + this.manualChild) +
12347
- " L " + (this.x1 + 12) + " " + (this.y2 - (4 + this.lineStroke) + this.manualChild) +
12348
- " L " + (this.x1 + 12) + " " + (this.y2 + 4 + this.lineStroke + this.manualChild) + " Z";
12393
+ this.arrowPath = "M " + (this.x1 + 20) + " " + (this.y2) +
12394
+ " L " + (this.x1 + 12) + " " + (this.y2 - (4 + this.lineStroke)) +
12395
+ " L " + (this.x1 + 12) + " " + (this.y2 + 4 + this.lineStroke) + " Z";
12349
12396
  }
12350
12397
  if (this.getParentPosition(data) === 'FFType1') {
12351
12398
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : (data.milestoneChild ? 1 : 0);
@@ -12353,30 +12400,26 @@ class ConnectorLine {
12353
12400
  this.x2 = data.parentEndPoint + (data.milestoneParent ? -1 : 0);
12354
12401
  this.x3 = data.milestoneParent ? 22 : 21;
12355
12402
  this.x4 = data.milestoneChild ? 4 : 8;
12356
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12357
- this.y2 = heightValue + this.taskLineValue;
12358
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12359
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12360
- this.connectorLinePath = "M " + this.x2 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x2 + this.x3) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x2 + this.x3) + " " + (this.y1 + this.y2) +
12403
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1)));
12404
+ this.y2 = heightValue + this.taskLineValue + borderTopWidth - this.lineStroke;
12405
+ this.connectorLinePath = "M " + this.x2 + " " + (this.y1) + " L " + (this.x2 + this.x3) + " " + (this.y1) + " L " + (this.x2 + this.x3) + " " + (this.y1 + this.y2) +
12361
12406
  " L " + (this.x1 + this.x4) + " " + (this.y1 + this.y2);
12362
- this.arrowPath = "M " + this.x1 + " " + (this.y1 + this.y2 + this.manualChild) +
12363
- " L " + (this.x1 + 8) + " " + (this.y1 + this.y2 - (4 + this.lineStroke) + this.manualChild) +
12364
- " L " + (this.x1 + 8) + " " + (this.y1 + this.y2 + 4 + this.lineStroke + this.manualChild) + " Z";
12407
+ this.arrowPath = "M " + this.x1 + " " + (this.y1 + this.y2) +
12408
+ " L " + (this.x1 + 8) + " " + (this.y1 + this.y2 - (4 + this.lineStroke)) +
12409
+ " L " + (this.x1 + 8) + " " + (this.y1 + this.y2 + 4 + this.lineStroke) + " Z";
12365
12410
  }
12366
12411
  if (this.getParentPosition(data) === 'FFType2') {
12367
12412
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : (data.milestoneChild ? 1 : 0);
12368
12413
  this.x1 = data.parentEndPoint;
12369
12414
  this.x2 = data.childEndPoint + (data.milestoneParent ? 22 : 21);
12370
12415
  this.x3 = data.childEndPoint + (data.milestoneChild ? 9 : 8);
12371
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12372
- this.y2 = heightValue + this.taskLineValue;
12373
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12374
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12375
- this.connectorLinePath = "M " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x2 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x2 + " " + (this.y1 + this.y2) +
12416
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(data.milestoneParent) - (this.lineStroke - 1)));
12417
+ this.y2 = heightValue + this.taskLineValue + borderTopWidth - this.lineStroke;
12418
+ this.connectorLinePath = "M " + this.x1 + " " + (this.y1) + " L " + this.x2 + " " + (this.y1) + " L " + this.x2 + " " + (this.y1 + this.y2) +
12376
12419
  " L " + this.x3 + " " + (this.y1 + this.y2);
12377
- this.arrowPath = "M " + (this.x3 - 8) + " " + (this.y1 + this.y2 + this.manualChild) +
12378
- " L " + this.x3 + " " + (this.y1 + this.y2 - (4 + this.lineStroke) + this.manualChild) +
12379
- " L " + this.x3 + " " + (this.y1 + this.y2 + 4 + this.lineStroke + this.manualChild) + " Z";
12420
+ this.arrowPath = "M " + (this.x3 - 8) + " " + (this.y1 + this.y2) +
12421
+ " L " + this.x3 + " " + (this.y1 + this.y2 - (4 + this.lineStroke)) +
12422
+ " L " + this.x3 + " " + (this.y1 + this.y2 + 4 + this.lineStroke) + " Z";
12380
12423
  }
12381
12424
  if (this.getParentPosition(data) === 'FFType3') {
12382
12425
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : 0;
@@ -12384,98 +12427,86 @@ class ConnectorLine {
12384
12427
  this.x2 = this.x1 + (data.milestoneChild ? 4 : 8);
12385
12428
  this.x3 = data.parentEndPoint - data.childEndPoint + (data.milestoneChild ? 16 : 10);
12386
12429
  this.x4 = data.parentEndPoint + (data.milestoneParent ? -1 : 0);
12387
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild)) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12388
- this.y2 = heightValue + this.taskLineValue + (this.parent.renderBaseline ? (data.milestoneParent ? 10 : 0) : 0);
12389
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12390
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12391
- this.connectorLinePath = "M " + this.x2 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x2 + this.x3) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x2 + this.x3) + " " + (this.y1 + this.y2) +
12430
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1)));
12431
+ this.y2 = heightValue + this.taskLineValue + borderTopWidth - this.lineStroke + (this.parent.renderBaseline ? (data.milestoneParent && !(data.milestoneChild) ? 10 : data.milestoneChild && !(data.milestoneParent) ? -11 : 0) : 0);
12432
+ this.connectorLinePath = "M " + this.x2 + " " + (this.y1) + " L " + (this.x2 + this.x3) + " " + (this.y1) + " L " + (this.x2 + this.x3) + " " + (this.y1 + this.y2) +
12392
12433
  " L " + this.x4 + " " + (this.y1 + this.y2);
12393
- this.arrowPath = "M " + this.x1 + " " + (this.y1 + this.manualChild) +
12394
- " L " + (this.x1 + 8) + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12395
- " L " + (this.x1 + 8) + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12434
+ this.arrowPath = "M " + this.x1 + " " + (this.y1) +
12435
+ " L " + (this.x1 + 8) + " " + (this.y1 - (4 + this.lineStroke)) +
12436
+ " L " + (this.x1 + 8) + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12396
12437
  }
12397
12438
  if (this.getParentPosition(data) === 'FFType4') {
12398
12439
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : 0;
12399
12440
  this.x1 = data.parentEndPoint;
12400
12441
  this.x2 = data.childEndPoint + (data.milestoneChild ? 7 : 8);
12401
12442
  this.x3 = this.x2 + (data.milestoneChild ? 12 : 11);
12402
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild)) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12403
- this.y2 = heightValue + this.taskLineValue + +(this.parent.renderBaseline ? (data.milestoneParent ? 10 : 0) : 0);
12404
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12405
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12406
- this.connectorLinePath = "M " + this.x2 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x3 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x3 + " " + (this.y1 + this.y2) +
12443
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1)));
12444
+ this.y2 = heightValue + this.taskLineValue + borderTopWidth + (this.parent.renderBaseline ? (data.milestoneParent && !(data.milestoneChild) ? 10 : data.milestoneChild && !(data.milestoneParent) ? -12 : 0) : 0) - this.lineStroke + 1;
12445
+ this.connectorLinePath = "M " + this.x2 + " " + (this.y1) + " L " + this.x3 + " " + (this.y1) + " L " + this.x3 + " " + (this.y1 + this.y2) +
12407
12446
  " L " + this.x1 + " " + (this.y1 + this.y2);
12408
- this.arrowPath = "M " + (this.x2 - 8) + " " + (this.y1 + this.manualChild) +
12409
- " L " + this.x2 + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12410
- " L " + this.x2 + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12447
+ this.arrowPath = "M " + (this.x2 - 8) + " " + (this.y1) +
12448
+ " L " + this.x2 + " " + (this.y1 - (4 + this.lineStroke)) +
12449
+ " L " + this.x2 + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12411
12450
  }
12412
12451
  if (this.getParentPosition(data) === 'SFType4') {
12413
12452
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : (data.milestoneChild ? -1 : 0);
12414
- this.point1 = heightValue - this.getconnectorLineGap(data) + this.taskLineValue;
12415
- this.point2 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild));
12453
+ this.point1 = (this.taskLineValue + heightValue + borderTopWidth - this.getconnectorLineGap(data) - (this.lineStroke - 1));
12454
+ this.point2 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue));
12416
12455
  this.x1 = data.parentLeft - 10;
12417
12456
  this.x2 = this.x1 + ((data.childEndPoint - data.parentLeft) + 18);
12418
12457
  this.x3 = this.x2 + (data.milestoneChild ? 16 : 11);
12419
- this.y1 = this.point2 + (data.milestoneChild ? 1 : 0) + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12420
- this.y2 = this.y1 + this.point1 + (this.parent.renderBaseline ? (data.milestoneChild ? -11 : 0) : 0);
12421
- this.y3 = this.getconnectorLineGap(data) + (this.parent.renderBaseline ? (data.milestoneParent ? 10 : 0) : 0);
12458
+ this.y1 = this.point2 + (data.milestoneChild ? 2 : 0) + (this.parent.renderBaseline ? (data.milestoneParent ? -5 : 0) : 0);
12459
+ this.y2 = this.y1 + this.point1 + (this.parent.renderBaseline ? (data.milestoneChild && !(data.milestoneParent) ? -9 : data.milestoneParent && !(data.milestoneChild) ? 9 : 0) : 0);
12460
+ this.y3 = this.getconnectorLineGap(data);
12422
12461
  this.y4 = this.y2 - (this.y2 % data.rowHeight);
12423
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12424
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12425
- this.connectorLinePath = "M " + this.x2 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x3 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x3 + " " + this.y4 + " L " + this.x1 + " " + this.y4 +
12462
+ this.connectorLinePath = "M " + this.x2 + " " + (this.y1) + " L " + this.x3 + " " + (this.y1) + " L " + this.x3 + " " + this.y4 + " L " + this.x1 + " " + this.y4 +
12426
12463
  " L " + this.x1 + " " + (this.y2 + this.y3) + " L " + (this.x1 + 11) + " " + (this.y2 + this.y3);
12427
- this.arrowPath = "M " + (this.x2 - 8) + " " + (this.y1 + this.manualChild) +
12428
- " L " + this.x2 + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12429
- " L " + this.x2 + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12464
+ this.arrowPath = "M " + (this.x2 - 8) + " " + (this.y1) +
12465
+ " L " + this.x2 + " " + (this.y1 - (4 + this.lineStroke)) +
12466
+ " L " + this.x2 + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12430
12467
  }
12431
12468
  if (this.getParentPosition(data) === 'SFType3') {
12432
12469
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : 0;
12433
- this.point1 = (data.parentLeft - (data.childEndPoint + (data.milestoneParent ? 25 : 20))) + 1 + (this.parent.renderBaseline ? (data.milestoneParent ? 5 : 0) : 0);
12434
- this.point2 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.childIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneChild));
12470
+ this.point1 = (data.parentLeft - (data.childEndPoint + (data.milestoneParent ? 23 : 20))) + 1;
12471
+ this.point2 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? childOverlapTopValue : (data.childIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1)));
12435
12472
  this.x1 = data.childEndPoint;
12436
12473
  this.x2 = this.x1 + (data.milestoneChild ? 9 : 8);
12437
12474
  this.x3 = this.x2 + (data.milestoneChild ? 17 : 11);
12438
- this.y1 = this.point2 + ((data.isManualParent && data.isManualChild) ? -10 : 0);
12439
- this.y2 = this.y1 + heightValue + this.taskLineValue + (this.parent.renderBaseline ? (data.milestoneParent ? 10 : 0) : 0);
12440
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12441
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12442
- this.connectorLinePath = "M " + this.x2 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x3 + " " + (this.y1 + this.manualParent + this.manualChild) +
12475
+ this.y1 = this.point2;
12476
+ this.y2 = this.y1 + heightValue + borderTopWidth - (this.lineStroke - 1) + this.taskLineValue + (this.parent.renderBaseline ? (data.milestoneChild && !(data.milestoneParent) ? -12 : data.milestoneParent && !(data.milestoneChild) ? 10 : 0) : 0);
12477
+ this.connectorLinePath = "M " + this.x2 + " " + (this.y1) + " L " + this.x3 + " " + (this.y1) +
12443
12478
  " L " + this.x3 + " " + this.y2 + " L " + (this.x3 + this.point1) + " " + this.y2;
12444
- this.arrowPath = "M " + (this.x2 - 8) + " " + (this.y1 + this.manualChild) +
12445
- " L " + this.x2 + " " + (this.y1 - (4 + this.lineStroke) + this.manualChild) +
12446
- " L " + this.x2 + " " + (this.y1 + 4 + this.lineStroke + this.manualChild) + " Z";
12479
+ this.arrowPath = "M " + (this.x2 - 8) + " " + (this.y1) +
12480
+ " L " + this.x2 + " " + (this.y1 - (4 + this.lineStroke)) +
12481
+ " L " + this.x2 + " " + (this.y1 + 4 + this.lineStroke) + " Z";
12447
12482
  }
12448
12483
  if (this.getParentPosition(data) === 'SFType1') {
12449
12484
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : data.milestoneChild ? 1 : 0;
12450
- this.point1 = heightValue - this.getconnectorLineGap(data) + this.taskLineValue;
12485
+ this.point1 = heightValue + borderTopWidth - this.getconnectorLineGap(data) + this.taskLineValue - this.lineStroke;
12451
12486
  this.point2 = this.getconnectorLineGap(data);
12452
12487
  this.x1 = data.parentLeft - 10;
12453
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + +((data.isManualParent && data.isManualChild) ? -10 : 0);
12488
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue));
12454
12489
  this.x2 = (data.childEndPoint - data.parentLeft) + 31;
12455
12490
  this.y2 = this.y1 + this.point1;
12456
12491
  this.x3 = (data.childEndPoint - data.parentLeft) + 18;
12457
12492
  this.y3 = this.y2 - (this.y2 % data.rowHeight);
12458
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12459
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12460
- this.connectorLinePath = "M " + (this.x1 + 11) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + this.x1 + " " + this.y3 +
12493
+ this.connectorLinePath = "M " + (this.x1 + 11) + " " + (this.y1) + " L " + this.x1 + " " + (this.y1) + " L " + this.x1 + " " + this.y3 +
12461
12494
  " L " + (this.x1 + this.x2) + " " + this.y3 + " L " + (this.x1 + this.x2) + " " + (this.y2 + this.point2) + " L " + (this.x1 + this.x3) + " " + (this.y2 + this.point2);
12462
- this.arrowPath = "M " + (this.x1 + this.x3 - 8) + " " + (this.y2 + this.point2 + this.manualChild) +
12463
- " L " + (this.x1 + this.x3) + " " + (this.y2 + this.point2 - (4 + this.lineStroke) + this.manualChild) +
12464
- " L " + (this.x1 + this.x3) + " " + (this.y2 + this.point2 + 4 + this.lineStroke + this.manualChild) + " Z";
12495
+ this.arrowPath = "M " + (this.x1 + this.x3 - 8) + " " + (this.y2 + this.point2) +
12496
+ " L " + (this.x1 + this.x3) + " " + (this.y2 + this.point2 - (4 + this.lineStroke)) +
12497
+ " L " + (this.x1 + this.x3) + " " + (this.y2 + this.point2 + 4 + this.lineStroke) + " Z";
12465
12498
  }
12466
12499
  if (this.getParentPosition(data) === 'SFType2') {
12467
12500
  this.taskLineValue = this.parent.renderBaseline ? this.taskLineValue : 0;
12468
12501
  this.x1 = data.childEndPoint;
12469
- this.y1 = this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + this.getTaskbarMidpoint(data.milestoneParent)) + +((data.isManualParent && data.isManualChild) ? -10 : 0);
12502
+ this.y1 = (this.parent.enableVirtualization ? rowPositionHeight : ((!this.parent.allowTaskbarOverlap ? parentOverlapTopValue : (data.parentIndex * data.rowHeight)) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1)));
12470
12503
  this.x2 = (data.parentLeft - data.childEndPoint);
12471
- this.y2 = this.y1 + heightValue + this.taskLineValue;
12472
- this.manualParent = (data.isManualParent && !data.isManualChild ? -10 : 0);
12473
- this.manualChild = (data.isManualChild && !data.isManualParent ? -10 : 0);
12474
- this.connectorLinePath = "M " + (this.x1 + this.x2 + 1) + " " + (this.y1 + this.manualParent + this.manualChild) + " L " + (this.x1 + this.x2 - 10) + " " + (this.y1 + this.manualParent + this.manualChild) +
12504
+ this.y2 = this.y1 + heightValue + this.taskLineValue + borderTopWidth - this.lineStroke;
12505
+ this.connectorLinePath = "M " + (this.x1 + this.x2 + 1) + " " + (this.y1) + " L " + (this.x1 + this.x2 - 10) + " " + (this.y1) +
12475
12506
  " L " + (this.x1 + this.x2 - 10) + " " + this.y2 + " L " + (this.x1 + 8) + " " + this.y2;
12476
- this.arrowPath = "M " + this.x1 + " " + (this.y2 + this.manualChild) +
12477
- " L " + (this.x1 + 8) + " " + (this.y2 - (4 + this.lineStroke) + this.manualChild) +
12478
- " L " + (this.x1 + 8) + " " + (this.y2 + 4 + this.lineStroke + this.manualChild) + " Z";
12507
+ this.arrowPath = "M " + this.x1 + " " + (this.y2) +
12508
+ " L " + (this.x1 + 8) + " " + (this.y2 - (4 + this.lineStroke)) +
12509
+ " L " + (this.x1 + 8) + " " + (this.y2 + 4 + this.lineStroke) + " Z";
12479
12510
  }
12480
12511
  this.connectorPath.setAttribute("d", this.connectorLinePath);
12481
12512
  this.arrowlinePath.setAttribute("d", this.arrowPath);
@@ -13481,7 +13512,6 @@ class FocusModule {
13481
13512
  if (ganttObj.editModule.dialogModule.dialogObj && getValue('dialogOpen', ganttObj.editModule.dialogModule.dialogObj)) {
13482
13513
  return;
13483
13514
  }
13484
- ganttObj.editModule.cellEditModule.isCellEdit = false;
13485
13515
  ganttObj.treeGrid.grid.saveCell();
13486
13516
  const focussedElement = ganttObj.element.querySelector('.e-treegrid');
13487
13517
  focussedElement.focus();
@@ -16244,6 +16274,9 @@ let Gantt = class Gantt extends Component {
16244
16274
  }
16245
16275
  else {
16246
16276
  this.editModule.addRecord(data, rowPosition, rowIndex);
16277
+ if (rowPosition === 'Above' || rowPosition === 'Below' || rowPosition === 'Child') {
16278
+ this.currentSelection = data;
16279
+ }
16247
16280
  }
16248
16281
  }
16249
16282
  }
@@ -19298,7 +19331,16 @@ class TaskbarEdit extends DateProcessor {
19298
19331
  }
19299
19332
  else {
19300
19333
  if (this.mouseMoveX < (item.left + segment.left)) {
19301
- segment.width = this.parent.perDayWidth;
19334
+ var segmentWidth = (this.parent.timelineModule.isSingleTier &&
19335
+ (this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Hour" ||
19336
+ this.parent.timelineModule.customTimelineSettings.topTier.unit === "Hour" ||
19337
+ this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Minutes" ||
19338
+ this.parent.timelineModule.customTimelineSettings.topTier.unit === "Minutes")) ||
19339
+ (this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Hour" ||
19340
+ this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Minutes") ?
19341
+ this.parent.timelineModule.customTimelineSettings.timelineUnitSize :
19342
+ this.parent.perDayWidth;
19343
+ segment.width = segmentWidth;
19302
19344
  }
19303
19345
  }
19304
19346
  }
@@ -26597,7 +26639,7 @@ class Edit$2 {
26597
26639
  /* tslint:disable-next-line */
26598
26640
  const query = this.parent.query instanceof Query ? this.parent.query : new Query();
26599
26641
  const adaptor = data.adaptor;
26600
- if (!(adaptor instanceof WebApiAdaptor && adaptor instanceof ODataAdaptor) || data.dataSource.batchUrl) {
26642
+ if (!(adaptor instanceof WebApiAdaptor && adaptor instanceof ODataAdaptor && adaptor instanceof ODataV4Adaptor) || data.dataSource.batchUrl) {
26601
26643
  /* tslint:disable-next-line */
26602
26644
  const crud = data.saveChanges(updatedData, this.parent.taskFields.id, null, query);
26603
26645
  crud.then((e) => {
@@ -26649,6 +26691,7 @@ class Edit$2 {
26649
26691
  let data = [];
26650
26692
  data.push(args.data);
26651
26693
  this.updateRealDataSource(data, rowPosition);
26694
+ this.parent.currentSelection = cAddedRecord[0].ganttProperties;
26652
26695
  }
26653
26696
  }
26654
26697
  }
@@ -26731,6 +26774,9 @@ class Edit$2 {
26731
26774
  else if (ganttColumns[i].field === 'taskType') {
26732
26775
  tempRecord[fieldName] = this.parent.taskType;
26733
26776
  }
26777
+ else if (ganttColumns[i].field === taskSettingsFields.milestone) {
26778
+ tempRecord[fieldName] = null;
26779
+ }
26734
26780
  else {
26735
26781
  tempRecord[this.parent.ganttColumns[i].field] = '';
26736
26782
  }
@@ -27959,7 +28005,7 @@ class Filter$1 {
27959
28005
  this.parent.off('columnMenuOpen', this.columnMenuOpen);
27960
28006
  }
27961
28007
  /**
27962
- * To destroy module
28008
+ * This method is used to destroy the filter module. When called, it performs any necessary cleanup operations related to the filter module.
27963
28009
  *
27964
28010
  * @returns {void} .
27965
28011
  */
@@ -28255,6 +28301,10 @@ class Selection$1 {
28255
28301
  selectRow(index, isToggle, isPreventFocus) {
28256
28302
  const ganttRow = [].slice.call(this.parent.ganttChartModule.chartBodyContent.querySelector('tbody').children);
28257
28303
  // eslint-disable-next-line
28304
+ if (this.parent.enableVirtualization && this.parent.treeGridModule.addedRecord) {
28305
+ index = this.parent.flatData.indexOf(this.parent.currentViewData[index]);
28306
+ this.parent.treeGridModule.addedRecord = false;
28307
+ }
28258
28308
  const selectedRow = ganttRow.filter((e) => parseInt(e.getAttribute('aria-rowindex'), 0) === index)[0];
28259
28309
  let condition;
28260
28310
  if (index === -1 || isNullOrUndefined(selectedRow) || this.parent.selectionSettings.mode === 'Cell') {
@@ -30105,7 +30155,7 @@ class CriticalPath {
30105
30155
  }
30106
30156
  const predecessorLength = flatRecords[index].ganttProperties.predecessor;
30107
30157
  const noSlackValue = 0 + ' ' + flatRecords[index].ganttProperties.durationUnit;
30108
- for (let i = 0; i < predecessorLength.length; i++) {
30158
+ for (let i = predecessorLength.length - 1; i >= 0; i--) {
30109
30159
  let toID;
30110
30160
  if (this.parent.viewType === 'ProjectView') {
30111
30161
  toID = this.parent.ids.indexOf(predecessorLength[i].to);
@@ -30116,8 +30166,19 @@ class CriticalPath {
30116
30166
  let dateDifference;
30117
30167
  const currentData = flatRecords[index].ganttProperties;
30118
30168
  if (predecessorLength[i].type === 'FS') {
30119
- /* eslint-disable-next-line */
30120
- dateDifference = this.parent.dataOperation.getDuration(currentData.endDate, flatRecords[toID].ganttProperties.startDate, currentData.durationUnit, currentData.isAutoSchedule, currentData.isMilestone);
30169
+ if (predecessorLength[i].to != currentData.taskId.toString() || this.parent.viewType === 'ResourceView') {
30170
+ /* eslint-disable-next-line */
30171
+ dateDifference = this.parent.dataOperation.getDuration(currentData.endDate, flatRecords[toID].ganttProperties.startDate, currentData.durationUnit, currentData.isAutoSchedule, currentData.isMilestone);
30172
+ }
30173
+ else {
30174
+ toID = this.parent.ids.indexOf(predecessorLength[i].from);
30175
+ /* eslint-disable-next-line */
30176
+ dateDifference = this.parent.dataOperation.getDuration(flatRecords[toID].ganttProperties.endDate, currentData.startDate, currentData.durationUnit, currentData.isAutoSchedule, currentData.isMilestone);
30177
+ if (dateDifference === 0 && index !== toID && flatRecords[index].slack == noSlackValue) {
30178
+ flatRecords[toID].slack = flatRecords[index].slack;
30179
+ flatRecords[toID].ganttProperties.slack = flatRecords[index].slack;
30180
+ }
30181
+ }
30121
30182
  if (dateDifference === 0 && index !== toID && flatRecords[index].slack !== noSlackValue) {
30122
30183
  flatRecords[index].slack = flatRecords[toID].slack;
30123
30184
  flatRecords[index].ganttProperties.slack = flatRecords[toID].slack;
@@ -30384,7 +30445,7 @@ class ContextMenu$2 {
30384
30445
  switch (this.item) {
30385
30446
  case 'TaskInformation':
30386
30447
  if (!isNullOrUndefined(this.rowData)) {
30387
- if (isNaN(Number(this.rowData.ganttProperties.rowUniqueID))) {
30448
+ if (typeof this.rowData.ganttProperties.taskId == "string") {
30388
30449
  this.parent.openEditDialog(this.rowData.ganttProperties.rowUniqueID);
30389
30450
  }
30390
30451
  else {