@syncfusion/ej2-gantt 23.2.5 → 24.1.41

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 (113) hide show
  1. package/CHANGELOG.md +3 -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 +2980 -336
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +3034 -370
  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 +21 -21
  13. package/src/gantt/actions/cell-edit.js +7 -3
  14. package/src/gantt/actions/chart-scroll.d.ts +9 -1
  15. package/src/gantt/actions/chart-scroll.js +111 -3
  16. package/src/gantt/actions/connector-line-edit.js +8 -1
  17. package/src/gantt/actions/context-menu.js +2 -2
  18. package/src/gantt/actions/day-markers.d.ts +2 -1
  19. package/src/gantt/actions/dependency.js +2 -2
  20. package/src/gantt/actions/dialog-edit.d.ts +24 -0
  21. package/src/gantt/actions/dialog-edit.js +383 -1
  22. package/src/gantt/actions/edit.js +104 -41
  23. package/src/gantt/actions/keyboard.js +5 -1
  24. package/src/gantt/actions/pdf-export.js +12 -4
  25. package/src/gantt/actions/rowdragdrop.js +24 -5
  26. package/src/gantt/actions/selection.js +6 -3
  27. package/src/gantt/actions/taskbar-edit.d.ts +14 -0
  28. package/src/gantt/actions/taskbar-edit.js +513 -78
  29. package/src/gantt/actions/toolbar.js +4 -1
  30. package/src/gantt/base/css-constants.d.ts +2 -0
  31. package/src/gantt/base/css-constants.js +2 -0
  32. package/src/gantt/base/enum.d.ts +22 -0
  33. package/src/gantt/base/gantt-chart.js +63 -21
  34. package/src/gantt/base/gantt-model.d.ts +9 -1
  35. package/src/gantt/base/gantt.d.ts +11 -1
  36. package/src/gantt/base/gantt.js +46 -18
  37. package/src/gantt/base/interface.d.ts +135 -3
  38. package/src/gantt/base/splitter.js +6 -0
  39. package/src/gantt/base/task-processor.d.ts +1 -1
  40. package/src/gantt/base/task-processor.js +37 -9
  41. package/src/gantt/base/tree-grid.js +1 -1
  42. package/src/gantt/export/export-helper.d.ts +12 -0
  43. package/src/gantt/export/export-helper.js +316 -9
  44. package/src/gantt/export/pdf-base/pdf-grid-table.js +14 -1
  45. package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +36 -0
  46. package/src/gantt/export/pdf-connector-line.js +137 -32
  47. package/src/gantt/export/pdf-event-marker.d.ts +10 -0
  48. package/src/gantt/export/pdf-event-marker.js +57 -0
  49. package/src/gantt/export/pdf-gantt.d.ts +2 -0
  50. package/src/gantt/export/pdf-gantt.js +30 -10
  51. package/src/gantt/export/pdf-taskbar.d.ts +23 -2
  52. package/src/gantt/export/pdf-taskbar.js +771 -43
  53. package/src/gantt/export/pdf-timeline.d.ts +9 -0
  54. package/src/gantt/export/pdf-timeline.js +98 -20
  55. package/src/gantt/models/column.d.ts +12 -0
  56. package/src/gantt/renderer/chart-rows.d.ts +1 -1
  57. package/src/gantt/renderer/chart-rows.js +29 -16
  58. package/src/gantt/renderer/connector-line.js +8 -5
  59. package/src/gantt/renderer/edit-tooltip.js +3 -0
  60. package/src/gantt/renderer/event-marker.js +4 -1
  61. package/src/gantt/renderer/nonworking-day.js +18 -5
  62. package/src/gantt/renderer/timeline.d.ts +9 -0
  63. package/src/gantt/renderer/timeline.js +169 -21
  64. package/styles/bootstrap-dark.css +77 -16
  65. package/styles/bootstrap.css +78 -17
  66. package/styles/bootstrap4.css +78 -17
  67. package/styles/bootstrap5-dark.css +78 -17
  68. package/styles/bootstrap5.css +78 -17
  69. package/styles/fabric-dark.css +78 -17
  70. package/styles/fabric.css +78 -17
  71. package/styles/fluent-dark.css +78 -17
  72. package/styles/fluent.css +78 -17
  73. package/styles/gantt/_bootstrap-dark-definition.scss +7 -2
  74. package/styles/gantt/_bootstrap-definition.scss +7 -2
  75. package/styles/gantt/_bootstrap4-definition.scss +7 -2
  76. package/styles/gantt/_bootstrap5-definition.scss +7 -2
  77. package/styles/gantt/_fabric-dark-definition.scss +7 -2
  78. package/styles/gantt/_fabric-definition.scss +7 -2
  79. package/styles/gantt/_fluent-definition.scss +7 -2
  80. package/styles/gantt/_fusionnew-definition.scss +6 -2
  81. package/styles/gantt/_highcontrast-definition.scss +7 -2
  82. package/styles/gantt/_highcontrast-light-definition.scss +7 -2
  83. package/styles/gantt/_layout.scss +92 -20
  84. package/styles/gantt/_material-dark-definition.scss +7 -2
  85. package/styles/gantt/_material-definition.scss +7 -2
  86. package/styles/gantt/_material3-definition.scss +7 -2
  87. package/styles/gantt/_tailwind-definition.scss +6 -1
  88. package/styles/gantt/_theme.scss +11 -0
  89. package/styles/gantt/bootstrap-dark.css +77 -16
  90. package/styles/gantt/bootstrap.css +78 -17
  91. package/styles/gantt/bootstrap4.css +78 -17
  92. package/styles/gantt/bootstrap5-dark.css +78 -17
  93. package/styles/gantt/bootstrap5.css +78 -17
  94. package/styles/gantt/fabric-dark.css +78 -17
  95. package/styles/gantt/fabric.css +78 -17
  96. package/styles/gantt/fluent-dark.css +78 -17
  97. package/styles/gantt/fluent.css +78 -17
  98. package/styles/gantt/highcontrast-light.css +78 -17
  99. package/styles/gantt/highcontrast.css +78 -17
  100. package/styles/gantt/material-dark.css +78 -17
  101. package/styles/gantt/material.css +78 -17
  102. package/styles/gantt/material3-dark.css +77 -16
  103. package/styles/gantt/material3.css +77 -16
  104. package/styles/gantt/tailwind-dark.css +78 -17
  105. package/styles/gantt/tailwind.css +78 -17
  106. package/styles/highcontrast-light.css +78 -17
  107. package/styles/highcontrast.css +78 -17
  108. package/styles/material-dark.css +78 -17
  109. package/styles/material.css +78 -17
  110. package/styles/material3-dark.css +77 -16
  111. package/styles/material3.css +77 -16
  112. package/styles/tailwind-dark.css +78 -17
  113. package/styles/tailwind.css +78 -17
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 23.2.5
3
+ * version : 24.1.41
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-gantt@*",
3
- "_id": "@syncfusion/ej2-gantt@23.2.4",
3
+ "_id": "@syncfusion/ej2-gantt@23.4.3",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-wCNpECTDwGcIedOz9w24Xdjb4aa/L4eqjzhEpjtvKXnQQYVaMXirv1KaIx3kTQPB+qsFw7x02h/Ucsdyl6tTuw==",
5
+ "_integrity": "sha512-PQn3mPggjTWP+7Nd2Vwbpo0byamkSI9sXERH7wToeRAJSyhQDeD+iOTlYz4opFoDPYynPE5u3UoTpzWPOaujZA==",
6
6
  "_location": "/@syncfusion/ej2-gantt",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,10 +23,10 @@
23
23
  "/@syncfusion/ej2-react-gantt",
24
24
  "/@syncfusion/ej2-vue-gantt"
25
25
  ],
26
- "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-23.2.4.tgz",
27
- "_shasum": "94d38c11dffbbf536d2f515c84a3613fd10cd631",
26
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-gantt/-/ej2-gantt-23.4.3.tgz",
27
+ "_shasum": "2d9c70eaf24627e671f63de1ef064501cb7d9a6f",
28
28
  "_spec": "@syncfusion/ej2-gantt@*",
29
- "_where": "/jenkins/workspace/elease-automation_release_23.1.1/packages/included",
29
+ "_where": "/jenkins/workspace/elease-automation_release_24.1.1/packages/included",
30
30
  "author": {
31
31
  "name": "Syncfusion Inc."
32
32
  },
@@ -35,21 +35,21 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~23.2.4",
39
- "@syncfusion/ej2-buttons": "~23.2.4",
40
- "@syncfusion/ej2-calendars": "~23.2.4",
41
- "@syncfusion/ej2-data": "~23.2.4",
42
- "@syncfusion/ej2-dropdowns": "~23.2.5",
43
- "@syncfusion/ej2-grids": "~23.2.4",
44
- "@syncfusion/ej2-inputs": "~23.2.4",
45
- "@syncfusion/ej2-layouts": "~23.2.4",
46
- "@syncfusion/ej2-lists": "~23.2.4",
47
- "@syncfusion/ej2-navigations": "~23.2.5",
48
- "@syncfusion/ej2-notifications": "~23.2.5",
49
- "@syncfusion/ej2-popups": "~23.2.4",
50
- "@syncfusion/ej2-richtexteditor": "~23.2.5",
51
- "@syncfusion/ej2-svg-base": "~23.2.5",
52
- "@syncfusion/ej2-treegrid": "~23.2.4"
38
+ "@syncfusion/ej2-base": "~24.1.41",
39
+ "@syncfusion/ej2-buttons": "~24.1.41",
40
+ "@syncfusion/ej2-calendars": "~24.1.41",
41
+ "@syncfusion/ej2-data": "~24.1.41",
42
+ "@syncfusion/ej2-dropdowns": "~24.1.41",
43
+ "@syncfusion/ej2-grids": "~24.1.41",
44
+ "@syncfusion/ej2-inputs": "~24.1.41",
45
+ "@syncfusion/ej2-layouts": "~24.1.41",
46
+ "@syncfusion/ej2-lists": "~24.1.41",
47
+ "@syncfusion/ej2-navigations": "~24.1.41",
48
+ "@syncfusion/ej2-notifications": "~24.1.41",
49
+ "@syncfusion/ej2-popups": "~24.1.41",
50
+ "@syncfusion/ej2-richtexteditor": "~24.1.41",
51
+ "@syncfusion/ej2-svg-base": "~24.1.41",
52
+ "@syncfusion/ej2-treegrid": "~24.1.41"
53
53
  },
54
54
  "deprecated": false,
55
55
  "description": "Essential JS 2 Gantt Component",
@@ -74,6 +74,6 @@
74
74
  "url": "git+https://github.com/syncfusion/ej2-gantt.git"
75
75
  },
76
76
  "typings": "index.d.ts",
77
- "version": "23.2.5",
77
+ "version": "24.1.41",
78
78
  "sideEffects": false
79
79
  }
@@ -57,7 +57,11 @@ var CellEdit = /** @class */ (function () {
57
57
  }
58
58
  else {
59
59
  var callBackPromise_1 = new Deferred();
60
+ var parentReference_1 = this.parent;
60
61
  this.parent.trigger('cellEdit', args, function (arg) {
62
+ if (arg.columnName == parentReference_1.taskFields.progress && arg.rowData.hasChildRecords) {
63
+ arg.cancel = true;
64
+ }
61
65
  if (data.level === 0 && _this.parent.viewType === 'ResourceView') {
62
66
  arg.cancel = true;
63
67
  }
@@ -248,9 +252,9 @@ var CellEdit = /** @class */ (function () {
248
252
  this.parent.setRecordValue('startDate', null, ganttProb, true);
249
253
  this.parent.setRecordValue('duration', null, ganttProb, true);
250
254
  this.parent.setRecordValue('isMilestone', false, ganttProb, true);
251
- if (this.parent.allowUnscheduledTasks && isNOU(this.parent.taskFields.endDate)) {
252
- this.parent.setRecordValue('endDate', null, ganttProb, true);
253
- }
255
+ // if (this.parent.allowUnscheduledTasks && isNOU(this.parent.taskFields.endDate)) {
256
+ // this.parent.setRecordValue('endDate', null, ganttProb, true);
257
+ // }
254
258
  }
255
259
  }
256
260
  else if (ganttProb.endDate || !isNOU(ganttProb.duration)) {
@@ -6,9 +6,13 @@ import { Gantt } from '../base/gantt';
6
6
  */
7
7
  export declare class ChartScroll {
8
8
  private parent;
9
- private element;
9
+ element: HTMLElement;
10
10
  private isScrolling;
11
11
  private isFromTreeGrid;
12
+ previousCount: number;
13
+ isBackwardScrolled: boolean;
14
+ private nonworkingDayRender;
15
+ private isSetScrollLeft;
12
16
  previousScroll: {
13
17
  top: number;
14
18
  left: number;
@@ -44,6 +48,10 @@ export declare class ChartScroll {
44
48
  * @returns {void} .
45
49
  * @private
46
50
  */
51
+ updateContent(): void;
52
+ getTimelineLeft(): number;
53
+ deleteTableElements(): void;
54
+ updateChartElementStyles(): void;
47
55
  updateTopPosition(): void;
48
56
  private removeShimmer;
49
57
  private updateShimmer;
@@ -12,6 +12,8 @@ var ChartScroll = /** @class */ (function () {
12
12
  * @hidden
13
13
  */
14
14
  function ChartScroll(parent) {
15
+ this.previousCount = -1;
16
+ this.isSetScrollLeft = false;
15
17
  this.previousScroll = { top: 0, left: 0 };
16
18
  this.parent = parent;
17
19
  this.element = this.parent.ganttChartModule.scrollElement;
@@ -54,6 +56,80 @@ var ChartScroll = /** @class */ (function () {
54
56
  * @returns {void} .
55
57
  * @private
56
58
  */
59
+ ChartScroll.prototype.updateContent = function () {
60
+ var ganttElement = this.parent.element;
61
+ var currentCount = Math.round(this.element.scrollLeft / ganttElement.offsetWidth);
62
+ if (this.previousCount != currentCount || this.parent.timelineModule['performedTimeSpanAction']) {
63
+ this.deleteTableElements();
64
+ this.parent.timelineModule.createTimelineSeries();
65
+ if (this.parent.gridLines === 'Vertical' || this.parent.gridLines === 'Both') {
66
+ this.parent['renderChartVerticalLines']();
67
+ }
68
+ if (this.parent.dayMarkersModule) {
69
+ this.parent.dayMarkersModule['eventMarkerRender'].renderEventMarkers();
70
+ }
71
+ this.parent.timelineModule['performedTimeSpanAction'] = false;
72
+ if (this.parent.dayMarkersModule) {
73
+ this.parent.dayMarkersModule.nonworkingDayRender.renderWeekends();
74
+ this.parent.dayMarkersModule.nonworkingDayRender.renderHolidays();
75
+ }
76
+ this.updateChartElementStyles();
77
+ this.previousCount = currentCount;
78
+ if (this.isSetScrollLeft) {
79
+ this.parent.ganttChartModule.chartTimelineContainer.scrollLeft = this.element.scrollLeft;
80
+ }
81
+ }
82
+ };
83
+ ChartScroll.prototype.getTimelineLeft = function () {
84
+ var tLeft;
85
+ var ganttElement = this.parent.element;
86
+ var resultantWidth = this.parent.timelineModule.wholeTimelineWidth - ganttElement.offsetWidth * 3;
87
+ if (this.element.scrollLeft == (this.parent.enableRtl ? -resultantWidth : resultantWidth)) {
88
+ tLeft = this.element.scrollLeft;
89
+ }
90
+ else {
91
+ var left = this.parent.enableRtl ? -this.element.scrollLeft : this.element.scrollLeft;
92
+ tLeft = (left > ganttElement.offsetWidth) ? left - ganttElement.offsetWidth : 0;
93
+ }
94
+ if (tLeft >= resultantWidth) {
95
+ tLeft = resultantWidth;
96
+ }
97
+ if ((tLeft <= ganttElement.offsetWidth) && this.isBackwardScrolled) {
98
+ tLeft = 0;
99
+ }
100
+ if (this.parent.timelineModule.isZoomToFit || this.parent.timelineModule.isZooming) {
101
+ tLeft = 0;
102
+ }
103
+ return tLeft;
104
+ };
105
+ ChartScroll.prototype.deleteTableElements = function () {
106
+ var tableContainer = this.parent.element.getElementsByClassName('e-timeline-header-table-container');
107
+ do {
108
+ tableContainer[0].remove();
109
+ } while (tableContainer.length > 0);
110
+ if (this.parent.element.querySelector('#ganttContainerline-container')) {
111
+ this.parent.element.querySelector('#ganttContainerline-container').innerHTML = '';
112
+ }
113
+ if (this.parent.element.querySelector('.e-nonworking-day-container')) {
114
+ this.parent.element.querySelector('.e-nonworking-day-container').outerHTML = null;
115
+ }
116
+ };
117
+ ChartScroll.prototype.updateChartElementStyles = function () {
118
+ var translateXValue = this.getTimelineLeft();
119
+ if (this.parent.enableTimelineVirtualization) {
120
+ // updating connector line & task table styles
121
+ var dependencyViewer = this.parent.connectorLineModule.dependencyViewContainer;
122
+ var taskTable = this.parent.chartRowsModule.taskTable;
123
+ if (!this.parent.enableRtl) {
124
+ dependencyViewer.style.left = -translateXValue + "px";
125
+ taskTable.style.left = -translateXValue + "px";
126
+ }
127
+ else {
128
+ dependencyViewer.style.left = translateXValue + "px";
129
+ }
130
+ taskTable.style.width = this.parent.timelineModule.wholeTimelineWidth + "px";
131
+ }
132
+ };
57
133
  ChartScroll.prototype.updateTopPosition = function () {
58
134
  var content = this.parent.treeGrid.element.querySelector('.e-content');
59
135
  var contentScrollTop = content.scrollTop;
@@ -101,7 +177,7 @@ var ChartScroll = /** @class */ (function () {
101
177
  }
102
178
  parent.contentHeight = parent.enableRtl ? parent['element'].getElementsByClassName('e-content')[2].children[0]['offsetHeight'] :
103
179
  parent['element'].getElementsByClassName('e-content')[0].children[0]['offsetHeight'];
104
- document.getElementsByClassName('e-chart-rows-container')[0]['style'].height = parent.contentHeight + 'px';
180
+ parent.element.getElementsByClassName('e-chart-rows-container')[0]['style'].height = parent.contentHeight + 'px';
105
181
  }
106
182
  }, 0);
107
183
  };
@@ -137,22 +213,51 @@ var ChartScroll = /** @class */ (function () {
137
213
  this.updateTopPosition();
138
214
  }
139
215
  if (this.element.scrollLeft !== this.previousScroll.left) {
216
+ this.isBackwardScrolled = (this.element.scrollLeft < this.previousScroll.left && !this.parent.enableRtl);
140
217
  this.parent.ganttChartModule.chartTimelineContainer.scrollLeft = this.element.scrollLeft;
141
218
  scrollArgs.previousScrollLeft = this.previousScroll.left;
142
219
  this.previousScroll.left = this.element.scrollLeft;
143
220
  scrollArgs.scrollLeft = this.element.scrollLeft;
144
221
  scrollArgs.scrollDirection = 'Horizontal';
145
222
  scrollArgs.action = 'HorizontalScroll';
223
+ if (this.parent.enableTimelineVirtualization && this.parent.timelineModule.wholeTimelineWidth > this.parent.element.offsetWidth * 3) {
224
+ this.isSetScrollLeft = true;
225
+ if (this.parent.timelineModule.totalTimelineWidth > this.parent.element.offsetWidth * 3) {
226
+ this.updateContent();
227
+ }
228
+ this.parent.ganttChartModule.updateWidthAndHeight();
229
+ if (this.parent.element.getElementsByClassName('e-weekend-container')[0]) {
230
+ this.parent.element.getElementsByClassName('e-weekend-container')[0]['style'].height = '100%';
231
+ }
232
+ if (this.parent.element.getElementsByClassName('e-holiday-container')[0]) {
233
+ this.parent.element.getElementsByClassName('e-holiday-container')[0]['style'].height = '100%';
234
+ }
235
+ }
146
236
  }
147
- if ((scrollArgs.scrollDirection !== 'Horizontal' && !isNullOrUndefined(scrollArgs.scrollDirection)) && this.parent.enableVirtualization === true && (this.parent.isToolBarClick
237
+ this.parent.timelineModule['performedTimeSpanAction'] = false;
238
+ if ((!isNullOrUndefined(scrollArgs.scrollDirection)) && (this.parent.enableVirtualization === true || this.parent.enableTimelineVirtualization === true) && (this.parent.isToolBarClick
148
239
  || isNullOrUndefined(this.parent.isToolBarClick))) {
149
240
  this.parent.isVirtualScroll = true;
150
241
  if (this.parent.showIndicator || isNullOrUndefined(this.parent.showIndicator)) {
151
242
  if (!this.parent.enableVirtualMaskRow && this.parent.enableVirtualization && this.parent.loadingIndicator.indicatorType === 'Spinner') {
152
243
  this.updateSpinner();
153
244
  }
245
+ else if (this.parent.enableTimelineVirtualization && !this.parent['isRowSelected'] && Math.abs(this.element.scrollLeft - scrollArgs.previousScrollLeft) > 1000) {
246
+ if (!this.parent.enableVirtualMaskRow && this.parent.loadingIndicator.indicatorType === 'Spinner') {
247
+ this.updateSpinner();
248
+ }
249
+ else {
250
+ this.parent.showMaskRow();
251
+ var parent_1 = this;
252
+ setTimeout(function () {
253
+ parent_1.removeShimmer();
254
+ }, 0);
255
+ }
256
+ }
257
+ this.parent['isRowSelected'] = false;
154
258
  }
155
259
  }
260
+ this.isSetScrollLeft = false;
156
261
  this.parent.isToolBarClick = true;
157
262
  scrollArgs.requestType = 'scroll';
158
263
  this.parent.trigger('actionComplete', scrollArgs);
@@ -199,9 +304,12 @@ var ChartScroll = /** @class */ (function () {
199
304
  if (leftSign) {
200
305
  scrollLeft = leftSign === -1 && this.parent.enableRtl ? -scrollLeft : scrollLeft;
201
306
  }
307
+ this.isSetScrollLeft = true;
202
308
  this.element.scrollLeft = scrollLeft;
203
309
  this.parent.ganttChartModule.chartTimelineContainer.scrollLeft = this.element.scrollLeft;
204
- this.previousScroll.left = this.element.scrollLeft;
310
+ if (!this.parent.enableTimelineVirtualization || (!this.parent.enableTimelineVirtualization && this.parent.timelineModule.totalTimelineWidth > this.parent.element.offsetWidth * 3)) {
311
+ this.previousScroll.left = this.element.scrollLeft;
312
+ }
205
313
  };
206
314
  /**
207
315
  * Destroy scroll related elements and unbind the events
@@ -949,7 +949,14 @@ var ConnectorLineEdit = /** @class */ (function () {
949
949
  for (var p = 0; p < prevPredecessor.length; p++) {
950
950
  var parentGanttRecord = this.parent.connectorLineModule.getRecordByID(prevPredecessor[parseInt(p.toString(), 10)].from);
951
951
  if (parentGanttRecord === data) {
952
- data.ganttProperties.predecessor.push(prevPredecessor[parseInt(p.toString(), 10)]);
952
+ if (data.parentItem && this.parent.taskFields.dependency && data.ganttProperties.predecessor && this.parent.allowParentDependency) {
953
+ if (prevPredecessor[p].from !== data.parentItem.taskId && prevPredecessor[p].to !== data.parentItem.taskId) {
954
+ data.ganttProperties.predecessor.push(prevPredecessor[parseInt(p.toString(), 10)]);
955
+ }
956
+ }
957
+ else {
958
+ data.ganttProperties.predecessor.push(prevPredecessor[parseInt(p.toString(), 10)]);
959
+ }
953
960
  }
954
961
  else {
955
962
  var parentPredecessor = extend([], [], parentGanttRecord.ganttProperties.predecessor, true);
@@ -165,7 +165,7 @@ var ContextMenu = /** @class */ (function () {
165
165
  taskfields = this.parent.taskFields;
166
166
  if (!isNullOrUndefined(taskfields.duration)) {
167
167
  var ganttProp = this.rowData.ganttProperties;
168
- data[taskfields.duration] = data[taskfields.duration] <= 0 ? 1 : data[taskfields.duration];
168
+ data[taskfields.duration] = parseInt(data[taskfields.duration]) <= 0 ? 1 : data[taskfields.duration];
169
169
  }
170
170
  else {
171
171
  data[taskfields.startDate] = new Date(this.rowData.taskData[taskfields.startDate]);
@@ -353,7 +353,7 @@ var ContextMenu = /** @class */ (function () {
353
353
  }
354
354
  else if (args.chartRow) {
355
355
  // eslint-disable-next-line
356
- rowIndex = parseInt(args.chartRow.getAttribute('aria-rowindex'), 0);
356
+ rowIndex = parseInt(args.chartRow.getAttribute('data-rowindex'), 0);
357
357
  }
358
358
  if (this.parent.selectionModule && this.parent.allowSelection && !args.parentItem && !isNullOrUndefined(args.chartRow)) {
359
359
  this.parent.selectionModule.selectRow(rowIndex);
@@ -1,10 +1,11 @@
1
1
  import { Gantt } from '../base/gantt';
2
+ import { NonWorkingDay } from '../renderer/nonworking-day';
2
3
  /**
3
4
  * DayMarkers module is used to render event markers, holidays and to highlight the weekend days.
4
5
  */
5
6
  export declare class DayMarkers {
6
7
  private parent;
7
- private nonworkingDayRender;
8
+ nonworkingDayRender: NonWorkingDay;
8
9
  private eventMarkerRender;
9
10
  constructor(parent: Gantt);
10
11
  private wireEvents;
@@ -507,8 +507,8 @@ var Dependency = /** @class */ (function () {
507
507
  * @returns {void} .
508
508
  */
509
509
  Dependency.prototype.validateChildGanttRecord = function (parentGanttRecord, childGanttRecord) {
510
- if (this.parent.editedTaskBarItem === childGanttRecord || isNullOrUndefined(isScheduledTask(parentGanttRecord.ganttProperties))
511
- || isNullOrUndefined(isScheduledTask(childGanttRecord.ganttProperties))) {
510
+ if (this.parent.editedTaskBarItem === childGanttRecord || (parentGanttRecord && isNullOrUndefined(isScheduledTask(parentGanttRecord.ganttProperties)))
511
+ || (childGanttRecord && isNullOrUndefined(isScheduledTask(childGanttRecord.ganttProperties)))) {
512
512
  return;
513
513
  }
514
514
  if (this.parent.isInPredecessorValidation && (childGanttRecord.ganttProperties.isAutoSchedule ||
@@ -26,6 +26,21 @@ export declare class DialogEdit {
26
26
  private localeObj;
27
27
  private parent;
28
28
  private rowIndex;
29
+ private formObj;
30
+ private CustomformObj;
31
+ private taskFieldColumn;
32
+ private customFieldColumn;
33
+ private isFromAddDialog;
34
+ private isFromEditDialog;
35
+ private storeColumn;
36
+ private taskfields;
37
+ private storeValidTab;
38
+ private singleTab;
39
+ private storeDependencyTab;
40
+ private storeResourceTab;
41
+ private isAddingDialog;
42
+ private isEditingDialog;
43
+ private firstOccuringTab;
29
44
  private numericOrString;
30
45
  private types;
31
46
  private editedRecord;
@@ -136,6 +151,15 @@ export declare class DialogEdit {
136
151
  */
137
152
  private getEditFields;
138
153
  private createTab;
154
+ private changeFormObj;
155
+ private getFilteredDialogFields;
156
+ private isSingleCustomTab;
157
+ private validateColumn;
158
+ private createFormObj;
159
+ private valErrorPlacement;
160
+ private createTooltip;
161
+ private getElemTable;
162
+ private validationComplete;
139
163
  private tabSelectedEvent;
140
164
  private responsiveTabContent;
141
165
  private getFieldsModel;