@syncfusion/ej2-gantt 19.4.56 → 20.1.50

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 (82) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/ej2-gantt.umd.min.js +2 -2
  3. package/dist/ej2-gantt.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-gantt.es2015.js +230 -83
  5. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es5.js +248 -91
  7. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  8. package/dist/global/ej2-gantt.min.js +2 -2
  9. package/dist/global/ej2-gantt.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +18 -18
  12. package/src/gantt/actions/cell-edit.js +2 -1
  13. package/src/gantt/actions/dialog-edit.js +11 -1
  14. package/src/gantt/actions/edit.js +11 -2
  15. package/src/gantt/actions/filter.js +4 -2
  16. package/src/gantt/actions/rowdragdrop.js +41 -17
  17. package/src/gantt/base/date-processor.js +0 -1
  18. package/src/gantt/base/gantt-chart.js +10 -5
  19. package/src/gantt/base/gantt.d.ts +2 -0
  20. package/src/gantt/base/gantt.js +3 -2
  21. package/src/gantt/base/splitter.js +1 -0
  22. package/src/gantt/base/tree-grid.js +3 -1
  23. package/src/gantt/renderer/chart-rows.js +80 -32
  24. package/src/gantt/renderer/connector-line.js +22 -18
  25. package/src/gantt/renderer/event-marker.js +1 -0
  26. package/src/gantt/renderer/nonworking-day.js +13 -6
  27. package/src/gantt/renderer/timeline.d.ts +1 -0
  28. package/src/gantt/renderer/timeline.js +37 -1
  29. package/src/gantt/renderer/tooltip.js +10 -3
  30. package/styles/bootstrap-dark.css +37 -10
  31. package/styles/bootstrap.css +37 -10
  32. package/styles/bootstrap4.css +37 -10
  33. package/styles/bootstrap5-dark.css +53 -19
  34. package/styles/bootstrap5.css +53 -19
  35. package/styles/fabric-dark.css +34 -7
  36. package/styles/fabric.css +37 -10
  37. package/styles/fluent-dark.css +1942 -0
  38. package/styles/fluent-dark.scss +1 -0
  39. package/styles/fluent.css +1942 -0
  40. package/styles/fluent.scss +1 -0
  41. package/styles/gantt/_bootstrap-dark-definition.scss +10 -2
  42. package/styles/gantt/_bootstrap-definition.scss +11 -3
  43. package/styles/gantt/_bootstrap4-definition.scss +10 -2
  44. package/styles/gantt/_bootstrap5-definition.scss +17 -9
  45. package/styles/gantt/_fabric-dark-definition.scss +8 -0
  46. package/styles/gantt/_fabric-definition.scss +10 -2
  47. package/styles/gantt/_fluent-dark-definition.scss +1 -0
  48. package/styles/gantt/_fluent-definition.scss +21 -13
  49. package/styles/gantt/_highcontrast-definition.scss +9 -1
  50. package/styles/gantt/_highcontrast-light-definition.scss +9 -1
  51. package/styles/gantt/_layout.scss +53 -2
  52. package/styles/gantt/_material-dark-definition.scss +9 -1
  53. package/styles/gantt/_material-definition.scss +10 -2
  54. package/styles/gantt/_tailwind-definition.scss +13 -5
  55. package/styles/gantt/_theme.scss +2 -5
  56. package/styles/gantt/bootstrap-dark.css +37 -10
  57. package/styles/gantt/bootstrap.css +37 -10
  58. package/styles/gantt/bootstrap4.css +37 -10
  59. package/styles/gantt/bootstrap5-dark.css +53 -19
  60. package/styles/gantt/bootstrap5.css +53 -19
  61. package/styles/gantt/fabric-dark.css +34 -7
  62. package/styles/gantt/fabric.css +37 -10
  63. package/styles/gantt/fluent-dark.css +1942 -0
  64. package/styles/gantt/fluent-dark.scss +22 -0
  65. package/styles/gantt/fluent.css +1942 -0
  66. package/styles/gantt/fluent.scss +22 -0
  67. package/styles/gantt/highcontrast-light.css +34 -7
  68. package/styles/gantt/highcontrast.css +34 -7
  69. package/styles/gantt/icons/_fluent-dark.scss +1 -0
  70. package/styles/gantt/icons/_fluent.scss +1 -1
  71. package/styles/gantt/icons/_tailwind-dark.scss +28 -29
  72. package/styles/gantt/icons/_tailwind.scss +26 -27
  73. package/styles/gantt/material-dark.css +37 -10
  74. package/styles/gantt/material.css +37 -10
  75. package/styles/gantt/tailwind-dark.css +70 -99
  76. package/styles/gantt/tailwind.css +70 -99
  77. package/styles/highcontrast-light.css +34 -7
  78. package/styles/highcontrast.css +34 -7
  79. package/styles/material-dark.css +37 -10
  80. package/styles/material.css +37 -10
  81. package/styles/tailwind-dark.css +70 -99
  82. package/styles/tailwind.css +70 -99
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.4.56
3
+ * version : 20.1.50
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. 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@19.4.55",
3
+ "_id": "@syncfusion/ej2-gantt@20.1.48",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-gZWXMRL9cYEDUGsm8sokogX51ecVxkU/WFkb4+yH88KmjX/hb2jQn1SWtweE/UEIe310KERxFu9fxtBlBwbIIA==",
5
+ "_integrity": "sha512-exX12YVuBYKhsKh34tR0TsRYiuTEawpjZoVzbb6/ccK3K0yCSjkJjmO42cfYbmLH1zLI0RAFZ6wAa5jPTVfRNQ==",
6
6
  "_location": "/@syncfusion/ej2-gantt",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -23,8 +23,8 @@
23
23
  "/@syncfusion/ej2-react-gantt",
24
24
  "/@syncfusion/ej2-vue-gantt"
25
25
  ],
26
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-19.4.55.tgz",
27
- "_shasum": "63cf81d6fdc34d12a5659d652bf45a03a70186cb",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-20.1.48.tgz",
27
+ "_shasum": "2379a558869377d6cd73d63d10ae81f2d52d730b",
28
28
  "_spec": "@syncfusion/ej2-gantt@*",
29
29
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
30
30
  "author": {
@@ -35,19 +35,19 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~19.4.52",
39
- "@syncfusion/ej2-buttons": "~19.4.55",
40
- "@syncfusion/ej2-calendars": "~19.4.56",
41
- "@syncfusion/ej2-data": "~19.4.54",
42
- "@syncfusion/ej2-dropdowns": "~19.4.56",
43
- "@syncfusion/ej2-grids": "~19.4.56",
44
- "@syncfusion/ej2-inputs": "~19.4.52",
45
- "@syncfusion/ej2-layouts": "~19.4.52",
46
- "@syncfusion/ej2-lists": "~19.4.55",
47
- "@syncfusion/ej2-navigations": "~19.4.56",
48
- "@syncfusion/ej2-popups": "~19.4.53",
49
- "@syncfusion/ej2-richtexteditor": "~19.4.56",
50
- "@syncfusion/ej2-treegrid": "~19.4.56"
38
+ "@syncfusion/ej2-base": "~20.1.50",
39
+ "@syncfusion/ej2-buttons": "~20.1.50",
40
+ "@syncfusion/ej2-calendars": "~20.1.47",
41
+ "@syncfusion/ej2-data": "~20.1.47",
42
+ "@syncfusion/ej2-dropdowns": "~20.1.50",
43
+ "@syncfusion/ej2-grids": "~20.1.48",
44
+ "@syncfusion/ej2-inputs": "~20.1.48",
45
+ "@syncfusion/ej2-layouts": "~20.1.47",
46
+ "@syncfusion/ej2-lists": "~20.1.47",
47
+ "@syncfusion/ej2-navigations": "~20.1.48",
48
+ "@syncfusion/ej2-popups": "~20.1.47",
49
+ "@syncfusion/ej2-richtexteditor": "~20.1.50",
50
+ "@syncfusion/ej2-treegrid": "~20.1.48"
51
51
  },
52
52
  "deprecated": false,
53
53
  "description": "Essential JS 2 Gantt Component",
@@ -75,6 +75,6 @@
75
75
  "url": "git+https://github.com/syncfusion/ej2-gantt.git"
76
76
  },
77
77
  "typings": "index.d.ts",
78
- "version": "19.4.56",
78
+ "version": "20.1.50",
79
79
  "sideEffects": false
80
80
  }
@@ -48,7 +48,8 @@ var CellEdit = /** @class */ (function () {
48
48
  args.cancel = true;
49
49
  return;
50
50
  }
51
- if (data.hasChildRecords && (field === taskSettings.endDate || field === taskSettings.duration
51
+ if (data.hasChildRecords && ((field === taskSettings.endDate && ((!isNullOrUndefined(data['isManual']) &&
52
+ data['isManual'] == false) || this.parent.taskMode == 'Auto')) || field === taskSettings.duration
52
53
  || field === taskSettings.dependency || field === taskSettings.progress
53
54
  || field === taskSettings.work || field === 'taskType')) {
54
55
  args.cancel = true;
@@ -364,6 +364,13 @@ var DialogEdit = /** @class */ (function () {
364
364
  dialogModel.target = document.body;
365
365
  dialogModel.close = this.dialogClose.bind(this);
366
366
  dialogModel.closeOnEscape = true;
367
+ dialogModel.beforeClose = function (args) {
368
+ if (args.closedBy == "escape") {
369
+ if (args.event.name == "key-pressed" && args.event.target.nodeName == 'INPUT') {
370
+ args.cancel = true;
371
+ }
372
+ }
373
+ };
367
374
  dialogModel.open = function (args) {
368
375
  var dialogElement = getValue('element', args);
369
376
  var generalTabElement = dialogElement.querySelector('#' + _this.parent.element.id + 'GeneralTabContainer');
@@ -650,6 +657,8 @@ var DialogEdit = /** @class */ (function () {
650
657
  }
651
658
  else if (id === ganttObj.element.id + 'NotesTabContainer') {
652
659
  document.getElementById(id).ej2_instances[0].refresh();
660
+ var notesTabElement = document.querySelector('#' + this.parent.element.id + 'NotesTabContainer');
661
+ notesTabElement.style.overflow = 'scroll';
653
662
  }
654
663
  else if (id === ganttObj.element.id + 'SegmentsTabContainer') {
655
664
  if (isNullOrUndefined(this.beforeOpenArgs.rowData.ganttProperties.startDate)) {
@@ -1537,7 +1546,8 @@ var DialogEdit = /** @class */ (function () {
1537
1546
  disabled = true;
1538
1547
  }
1539
1548
  if (this.editedRecord.hasChildRecords) {
1540
- if (column.field === this.parent.taskFields.endDate || column.field === this.parent.taskFields.duration ||
1549
+ if ((column.field === this.parent.taskFields.endDate && ((!isNullOrUndefined(this.editedRecord['isManual']) &&
1550
+ this.editedRecord['isManual'] == false) || this.parent.taskMode == 'Auto')) || column.field === this.parent.taskFields.duration ||
1541
1551
  column.field === this.parent.taskFields.progress || column.field === this.parent.taskFields.work ||
1542
1552
  column.field === 'taskType') {
1543
1553
  disabled = true;
@@ -2356,14 +2356,20 @@ var Edit = /** @class */ (function () {
2356
2356
  }
2357
2357
  else {
2358
2358
  childIndex = parentItem.childRecords.length;
2359
- } /*Child collection update*/
2359
+ }
2360
+ /*Child collection update*/
2360
2361
  parentItem.childRecords.splice(childIndex, 0, record);
2361
2362
  if ((this.parent.dataSource instanceof DataManager &&
2362
2363
  isNullOrUndefined(parentItem.taskData[this.parent.taskFields.parentID])) ||
2363
2364
  !isNullOrUndefined(this.parent.dataSource)) {
2364
2365
  var child = this.parent.taskFields.child;
2365
2366
  if (parentItem.taskData[child] && parentItem.taskData[child].length > 0) {
2366
- parentItem.taskData[child].splice(childIndex, 0, record.taskData);
2367
+ if (rowPosition === 'Above' || rowPosition === 'Below') {
2368
+ parentItem.taskData[child].splice(childIndex, 0, record.taskData);
2369
+ }
2370
+ else {
2371
+ parentItem.taskData[child].push(record.taskData);
2372
+ }
2367
2373
  }
2368
2374
  else {
2369
2375
  parentItem.taskData[child] = [];
@@ -2824,6 +2830,9 @@ var Edit = /** @class */ (function () {
2824
2830
  }
2825
2831
  this.addSuccess(args);
2826
2832
  args = this.constructTaskAddedEventArgs(cAddedRecord, args.modifiedRecords, 'add');
2833
+ if (this.dialogModule.isAddNewResource && !this.parent.isEdit && this.parent.taskFields.work) {
2834
+ this.parent.dataOperation.updateWorkWithDuration(cAddedRecord[0]);
2835
+ }
2827
2836
  this.parent.trigger('actionComplete', args);
2828
2837
  if (this.dialogModule.dialog && !this.dialogModule.dialogObj.isDestroyed) {
2829
2838
  this.dialogModule.dialogObj.hide();
@@ -185,11 +185,13 @@ var Filter = /** @class */ (function () {
185
185
  // ...
186
186
  };
187
187
  Filter.prototype.closeFilterOnContextClick = function (element) {
188
+ var datePickerElement = document.querySelector('body > div.e-datepicker');
189
+ var dateTimePickerElement = document.querySelector('body > div.e-datetimepicker');
188
190
  if (this.filterMenuElement && document.body.contains(this.filterMenuElement)) {
189
191
  var ganttElement = closest(element, '#' + this.parent.element.id)
190
192
  || element.querySelector('#' + this.parent.element.id);
191
- if ((!(this.filterMenuElement.contains(element)) && !isNullOrUndefined(ganttElement)) || element.nodeName === 'HTML'
192
- || ((element.nodeName === 'DIV') && (!element.classList.contains('e-day')))) {
193
+ if ((!(this.filterMenuElement.contains(element)) && !isNullOrUndefined(ganttElement)) || (!(this.filterMenuElement.contains(element)) && (isNullOrUndefined(datePickerElement))
194
+ && (isNullOrUndefined(dateTimePickerElement)) && ((element.nodeName === 'DIV') || (element.nodeName === 'HTML')))) {
193
195
  remove(this.filterMenuElement);
194
196
  this.parent.treeGrid.grid.notify('filter-menu-close', { isOpen: false });
195
197
  this.filterMenuElement = null;
@@ -149,10 +149,12 @@ var RowDD = /** @class */ (function () {
149
149
  }
150
150
  }
151
151
  if (!args.cancel) {
152
- args.cancel = true;
153
152
  args.requestType = 'beforeDrop';
154
153
  this.parent.trigger('actionBegin', args);
155
- this.dropRows(args, true); // method to update the data collections based on drop action
154
+ if (!args.cancel) {
155
+ this.dropRows(args, true); // method to update the data collections based on drop action
156
+ args.cancel = true;
157
+ }
156
158
  }
157
159
  };
158
160
  RowDD.prototype.dropRows = function (args, isByMethod) {
@@ -249,33 +251,55 @@ var RowDD = /** @class */ (function () {
249
251
  var data_1 = gObj.flatData;
250
252
  var startIndex = void 0;
251
253
  var endIndex = void 0;
254
+ var ganttData_1 = this_1.parent.dataSource;
255
+ var uniqueTaskID_1 = this_1.parent.taskFields.id;
252
256
  if (draggedRecord.index < droppedRecord.index) {
253
257
  startIndex = draggedRecord.index;
254
- endIndex = droppedRecord.index;
258
+ var _loop_2 = function (i_1) {
259
+ var currentData = this_1.parent.currentViewData.filter(function (e) {
260
+ return e[uniqueTaskID_1] === ganttData_1[i_1][uniqueTaskID_1];
261
+ })[0];
262
+ if (currentData.index > droppedRecord.index) {
263
+ endIndex = currentData.index;
264
+ return "break";
265
+ }
266
+ };
267
+ for (var i_1 = 0; i_1 < ganttData_1.length; i_1++) {
268
+ var state_2 = _loop_2(i_1);
269
+ if (state_2 === "break")
270
+ break;
271
+ }
255
272
  }
256
273
  else {
257
274
  startIndex = droppedRecord.index;
258
- var rootChildRecord = draggedRecord;
259
- if (rootChildRecord.childRecords.length > 0) {
260
- do {
261
- rootChildRecord = rootChildRecord.childRecords[rootChildRecord.childRecords.length - 1];
262
- } while (rootChildRecord.childRecords.length > 0);
275
+ var _loop_3 = function (i_2) {
276
+ var currentData = this_1.parent.currentViewData.filter(function (e) {
277
+ return e[uniqueTaskID_1] === ganttData_1[i_2][uniqueTaskID_1];
278
+ })[0];
279
+ if (currentData.index > draggedRecord.index) {
280
+ endIndex = currentData.index;
281
+ return "break";
282
+ }
283
+ };
284
+ for (var i_2 = 0; i_2 < ganttData_1.length; i_2++) {
285
+ var state_3 = _loop_3(i_2);
286
+ if (state_3 === "break")
287
+ break;
263
288
  }
264
- endIndex = rootChildRecord.index;
265
289
  }
266
- var _loop_2 = function (i_1) {
267
- if (!isNullOrUndefined(data_1[i_1])) {
268
- data_1[i_1].index = i_1;
269
- if (!isNullOrUndefined(data_1[i_1].parentItem)) {
290
+ var _loop_4 = function (i_3) {
291
+ if (!isNullOrUndefined(data_1[i_3])) {
292
+ data_1[i_3].index = i_3;
293
+ if (!isNullOrUndefined(data_1[i_3].parentItem)) {
270
294
  var updatedParent = data_1.filter(function (e) {
271
- return e.uniqueID === data_1[i_1].parentUniqueID;
295
+ return e.uniqueID === data_1[i_3].parentUniqueID;
272
296
  })[0];
273
- data_1[i_1].parentItem.index = updatedParent.index;
297
+ data_1[i_3].parentItem.index = updatedParent.index;
274
298
  }
275
299
  }
276
300
  };
277
- for (var i_1 = startIndex; i_1 <= endIndex; i_1++) {
278
- _loop_2(i_1);
301
+ for (var i_3 = startIndex; i_3 <= endIndex; i_3++) {
302
+ _loop_4(i_3);
279
303
  }
280
304
  }
281
305
  gObj.rowDragAndDropModule.refreshDataSource();
@@ -282,7 +282,6 @@ var DateProcessor = /** @class */ (function () {
282
282
  tDuration = this.parent.editModule.taskbarEditModule.sumOfDuration(ganttProperties.segments);
283
283
  }
284
284
  else {
285
- // eslint-disable-next-line
286
285
  if (!isNullOrUndefined(ganttProperties.startDate) && !isNullOrUndefined(ganttProperties.endDate) &&
287
286
  (ganttProperties.startDate).getTime() === (ganttProperties.endDate).getTime() && !isNullOrUndefined(ganttData.taskData[this.parent.taskFields.milestone])) {
288
287
  tDuration = 1;
@@ -16,6 +16,7 @@ var GanttChart = /** @class */ (function () {
16
16
  this.chartTimelineContainer = null;
17
17
  this.rangeViewContainer =
18
18
  createElement('div', { className: cls.rangeContainer });
19
+ this.rangeViewContainer.setAttribute("role", "RangeContainer");
19
20
  this.virtualRender = new VirtualContentRenderer(this.parent);
20
21
  this.addEventListener();
21
22
  }
@@ -170,6 +171,7 @@ var GanttChart = /** @class */ (function () {
170
171
  GanttChart.prototype.renderTimelineContainer = function () {
171
172
  this.chartTimelineContainer =
172
173
  createElement('div', { className: cls.timelineHeaderContainer });
174
+ this.chartTimelineContainer.setAttribute("role", "TimelineHeader");
173
175
  this.chartElement.appendChild(this.chartTimelineContainer);
174
176
  };
175
177
  /**
@@ -210,7 +212,7 @@ var GanttChart = /** @class */ (function () {
210
212
  var emptydivHeight = 36;
211
213
  var emptyHeight = this.parent.contentHeight === 0 ? this.parent.flatData.length > 1 ? emptydivHeight : 0 : this.parent.contentHeight;
212
214
  var contentElement = this.parent.element.getElementsByClassName('e-chart-scroll-container e-content')[0];
213
- if (emptyHeight >= contentElement['offsetHeight']) {
215
+ if (emptyHeight >= contentElement['offsetHeight'] || this.parent.height === 'auto') {
214
216
  this.chartBodyContent.style.height = formatUnit(emptyHeight);
215
217
  }
216
218
  else {
@@ -221,8 +223,7 @@ var GanttChart = /** @class */ (function () {
221
223
  else {
222
224
  this.chartBodyContent.style.height = contentElement['offsetHeight'] + 'px';
223
225
  }
224
- }
225
- //let element: HTMLElement = this.chartTimelineContainer.querySelector('.' + cls.timelineHeaderTableContainer);
226
+ } //let element: HTMLElement = this.chartTimelineContainer.querySelector('.' + cls.timelineHeaderTableContainer);
226
227
  this.chartBodyContent.style.width = formatUnit(this.parent.timelineModule.totalTimelineWidth);
227
228
  this.setVirtualHeight();
228
229
  this.parent.notify('updateHeight', {});
@@ -400,7 +401,7 @@ var GanttChart = /** @class */ (function () {
400
401
  var target = e.target;
401
402
  var isOnTaskbarElement = e.target.classList.contains(cls.taskBarMainContainer)
402
403
  || closest(e.target, '.' + cls.taskBarMainContainer);
403
- if (closest(target, '.e-gantt-parent-taskbar')) {
404
+ if (closest(target, '.e-gantt-parent-taskbar') && !this.parent.editSettings.allowEditing) {
404
405
  this.chartExpandCollapseRequest(e);
405
406
  }
406
407
  else if (!isOnTaskbarElement && this.parent.autoFocusTasks) {
@@ -924,6 +925,10 @@ var GanttChart = /** @class */ (function () {
924
925
  $target.classList.contains('e-headercell') || $target.closest('.e-segmented-taskbar')) {
925
926
  e.preventDefault();
926
927
  }
928
+ if (isTab && $target.classList.contains('e-rowdragdrop')) {
929
+ this.parent.treeGrid.grid.notify('key-pressed', e);
930
+ return;
931
+ }
927
932
  if ($target.classList.contains('e-rowcell') && (nextElement && nextElement.classList.contains('e-rowcell')) ||
928
933
  $target.classList.contains('e-headercell')) { // eslint-disable-line
929
934
  if (isTab) {
@@ -966,7 +971,7 @@ var GanttChart = /** @class */ (function () {
966
971
  else {
967
972
  this.manageFocus($target, 'remove', true);
968
973
  }
969
- if (nextElement.classList.contains('e-rowcell')) {
974
+ if (nextElement.classList.contains('e-rowcell') && $target.nextElementSibling) {
970
975
  if (!$target.classList.contains('e-rowcell')) {
971
976
  this.parent.treeGrid.grid.notify('key-pressed', e);
972
977
  var fmodule = getValue('focusModule', this.parent.treeGrid.grid);
@@ -108,6 +108,8 @@ export declare class Gantt extends Component<HTMLElement> implements INotifyProp
108
108
  /** @hidden */
109
109
  ganttHeight: number;
110
110
  /** @hidden */
111
+ initialChartRowElements: NodeListOf<Element>;
112
+ /** @hidden */
111
113
  ganttWidth: number;
112
114
  /** @hidden */
113
115
  predecessorModule: Dependency;
@@ -784,7 +784,7 @@ var Gantt = /** @class */ (function (_super) {
784
784
  gridHeight = 'calc(100% - ' + timelineContainer + 'px)';
785
785
  // eslint-disable-next-line
786
786
  this.element.getElementsByClassName('e-chart-scroll-container e-content')[0]['style'].height = 'calc(100% - ' + timelineContainer + 'px)';
787
- if (!isNullOrUndefined(this.toolbarModule)) {
787
+ if (!isNullOrUndefined(this.toolbarModule) && !isNullOrUndefined(this.toolbarModule.element)) {
788
788
  this.splitterElement.style.height = 'calc(100% - ' + this.toolbarModule.element.offsetHeight + 'px)';
789
789
  }
790
790
  else {
@@ -821,6 +821,7 @@ var Gantt = /** @class */ (function (_super) {
821
821
  this.getCurrentRecords(args);
822
822
  }
823
823
  this.notify('recordsUpdated', {});
824
+ this.initialChartRowElements = this.ganttChartModule.getChartRows();
824
825
  this.isLoad = false;
825
826
  this.trigger('dataBound', args);
826
827
  };
@@ -1320,7 +1321,7 @@ var Gantt = /** @class */ (function (_super) {
1320
1321
  */
1321
1322
  Gantt.prototype.updateGridLineContainerHeight = function () {
1322
1323
  if (this.chartVerticalLineContainer) {
1323
- this.chartVerticalLineContainer.style.height = formatUnit(this.getContentHeight());
1324
+ this.chartVerticalLineContainer.style.height = formatUnit(this.contentHeight);
1324
1325
  }
1325
1326
  };
1326
1327
  /**
@@ -60,6 +60,7 @@ var Splitter = /** @class */ (function () {
60
60
  _this.splitterObject.paneSettings[1].size = null;
61
61
  _this.splitterObject.paneSettings[1].size = _this.getSpliterPositionInPercentage(_this.splitterPreviousPositionChart);
62
62
  }
63
+ _this.parent.timelineModule.updateTimelineAfterZooming(_this.parent.timelineModule.timelineEndDate, true);
63
64
  callBackPromise.resolve(splitterResizedArgs);
64
65
  });
65
66
  return callBackPromise;
@@ -92,6 +92,8 @@ var GanttTreeGrid = /** @class */ (function () {
92
92
  GanttTreeGrid.prototype.renderTreeGrid = function () {
93
93
  this.composeProperties();
94
94
  this.bindEvents();
95
+ var root = 'root';
96
+ this.parent.treeGrid[root] = this.parent[root] ? this.parent[root] : this.parent;
95
97
  this.parent.treeGrid.appendTo(this.treeGridElement);
96
98
  this.wireEvents();
97
99
  };
@@ -155,7 +157,7 @@ var GanttTreeGrid = /** @class */ (function () {
155
157
  var scrollWidth = this.getScrollbarWidth();
156
158
  var isMobile = /Android|Mac|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
157
159
  if (scrollWidth !== 0) {
158
- content.style.cssText += 'width: calc(100% + ' + scrollWidth + 'px);';
160
+ content.style.cssText += 'width: calc(100% + ' + (scrollWidth + 1) + 'px);';
159
161
  }
160
162
  else {
161
163
  content.classList.add('e-gantt-scroll-padding');