@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
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 22.1.39
3
+ * version : 22.2.7
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@22.1.38",
3
+ "_id": "@syncfusion/ej2-gantt@22.2.5",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-7FedUEMWDQKsmt0e1+CD2/34MjEu9feyw9UQYunIzqsUCu1qDRWFkf4nic/+sA4oY0vBEt2l62pS+co4QgnBwQ==",
5
+ "_integrity": "sha512-UDwacL/LfLOpFmKDI1ZYpjmlQyZtiKw/Nl11Nm7qIyi2ujoFpfwtx6Ba0e9JdEDR3If8g24FolNt5LRLzO04lQ==",
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": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-22.1.38.tgz",
27
- "_shasum": "9e008d4d18aadf6f4e10de761d95397499fd9053",
26
+ "_resolved": "https://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-22.2.5.tgz",
27
+ "_shasum": "95538b88216a3ffdfc5d9ee6cbb720c39e7a50e0",
28
28
  "_spec": "@syncfusion/ej2-gantt@*",
29
29
  "_where": "/jenkins/workspace/elease-automation_release_21.1.1/packages/included",
30
30
  "author": {
@@ -35,21 +35,21 @@
35
35
  },
36
36
  "bundleDependencies": false,
37
37
  "dependencies": {
38
- "@syncfusion/ej2-base": "~22.1.38",
39
- "@syncfusion/ej2-buttons": "~22.1.39",
40
- "@syncfusion/ej2-calendars": "~22.1.38",
41
- "@syncfusion/ej2-data": "~22.1.38",
42
- "@syncfusion/ej2-dropdowns": "~22.1.39",
43
- "@syncfusion/ej2-grids": "~22.1.39",
44
- "@syncfusion/ej2-inputs": "~22.1.39",
45
- "@syncfusion/ej2-layouts": "~22.1.37",
46
- "@syncfusion/ej2-lists": "~22.1.34",
47
- "@syncfusion/ej2-navigations": "~22.1.39",
48
- "@syncfusion/ej2-notifications": "~22.1.34",
49
- "@syncfusion/ej2-popups": "~22.1.38",
50
- "@syncfusion/ej2-richtexteditor": "~22.1.39",
51
- "@syncfusion/ej2-svg-base": "~22.1.39",
52
- "@syncfusion/ej2-treegrid": "~22.1.39"
38
+ "@syncfusion/ej2-base": "~22.2.5",
39
+ "@syncfusion/ej2-buttons": "~22.2.5",
40
+ "@syncfusion/ej2-calendars": "~22.2.5",
41
+ "@syncfusion/ej2-data": "~22.2.5",
42
+ "@syncfusion/ej2-dropdowns": "~22.2.5",
43
+ "@syncfusion/ej2-grids": "~22.2.7",
44
+ "@syncfusion/ej2-inputs": "~22.2.7",
45
+ "@syncfusion/ej2-layouts": "~22.2.5",
46
+ "@syncfusion/ej2-lists": "~22.2.5",
47
+ "@syncfusion/ej2-navigations": "~22.2.7",
48
+ "@syncfusion/ej2-notifications": "~22.2.5",
49
+ "@syncfusion/ej2-popups": "~22.2.7",
50
+ "@syncfusion/ej2-richtexteditor": "~22.2.5",
51
+ "@syncfusion/ej2-svg-base": "~22.2.5",
52
+ "@syncfusion/ej2-treegrid": "~22.2.7"
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": "22.1.39",
77
+ "version": "22.2.7",
78
78
  "sideEffects": false
79
79
  }
@@ -102,7 +102,7 @@ var ContextMenu = /** @class */ (function () {
102
102
  switch (this.item) {
103
103
  case 'TaskInformation':
104
104
  if (!isNullOrUndefined(this.rowData)) {
105
- if (isNaN(Number(this.rowData.ganttProperties.rowUniqueID))) {
105
+ if (typeof this.rowData.ganttProperties.taskId == "string") {
106
106
  this.parent.openEditDialog(this.rowData.ganttProperties.rowUniqueID);
107
107
  }
108
108
  else {
@@ -619,7 +619,7 @@ var CriticalPath = /** @class */ (function () {
619
619
  }
620
620
  var predecessorLength = flatRecords[index].ganttProperties.predecessor;
621
621
  var noSlackValue = 0 + ' ' + flatRecords[index].ganttProperties.durationUnit;
622
- for (var i = 0; i < predecessorLength.length; i++) {
622
+ for (var i = predecessorLength.length - 1; i >= 0; i--) {
623
623
  var toID = void 0;
624
624
  if (this.parent.viewType === 'ProjectView') {
625
625
  toID = this.parent.ids.indexOf(predecessorLength[i].to);
@@ -630,8 +630,19 @@ var CriticalPath = /** @class */ (function () {
630
630
  var dateDifference = void 0;
631
631
  var currentData = flatRecords[index].ganttProperties;
632
632
  if (predecessorLength[i].type === 'FS') {
633
- /* eslint-disable-next-line */
634
- dateDifference = this.parent.dataOperation.getDuration(currentData.endDate, flatRecords[toID].ganttProperties.startDate, currentData.durationUnit, currentData.isAutoSchedule, currentData.isMilestone);
633
+ if (predecessorLength[i].to != currentData.taskId.toString() || this.parent.viewType === 'ResourceView') {
634
+ /* eslint-disable-next-line */
635
+ dateDifference = this.parent.dataOperation.getDuration(currentData.endDate, flatRecords[toID].ganttProperties.startDate, currentData.durationUnit, currentData.isAutoSchedule, currentData.isMilestone);
636
+ }
637
+ else {
638
+ toID = this.parent.ids.indexOf(predecessorLength[i].from);
639
+ /* eslint-disable-next-line */
640
+ dateDifference = this.parent.dataOperation.getDuration(flatRecords[toID].ganttProperties.endDate, currentData.startDate, currentData.durationUnit, currentData.isAutoSchedule, currentData.isMilestone);
641
+ if (dateDifference === 0 && index !== toID && flatRecords[index].slack == noSlackValue) {
642
+ flatRecords[toID].slack = flatRecords[index].slack;
643
+ flatRecords[toID].ganttProperties.slack = flatRecords[index].slack;
644
+ }
645
+ }
635
646
  if (dateDifference === 0 && index !== toID && flatRecords[index].slack !== noSlackValue) {
636
647
  flatRecords[index].slack = flatRecords[toID].slack;
637
648
  flatRecords[index].ganttProperties.slack = flatRecords[toID].slack;
@@ -1,5 +1,5 @@
1
1
  import { isNullOrUndefined, isUndefined, extend, setValue, getValue, deleteObject, createElement } from '@syncfusion/ej2-base';
2
- import { DataManager, Query, ODataAdaptor, WebApiAdaptor } from '@syncfusion/ej2-data';
2
+ import { DataManager, Query, ODataAdaptor, WebApiAdaptor, ODataV4Adaptor } from '@syncfusion/ej2-data';
3
3
  import { getUid } from '@syncfusion/ej2-grids';
4
4
  import { getSwapKey, isScheduledTask, getTaskData, isRemoteData, getIndex, isCountRequired, updateDates } from '../base/utils';
5
5
  import { CellEdit } from './cell-edit';
@@ -2926,7 +2926,7 @@ var Edit = /** @class */ (function () {
2926
2926
  /* tslint:disable-next-line */
2927
2927
  var query = _this.parent.query instanceof Query ? _this.parent.query : new Query();
2928
2928
  var adaptor = data_2.adaptor;
2929
- if (!(adaptor instanceof WebApiAdaptor && adaptor instanceof ODataAdaptor) || data_2.dataSource.batchUrl) {
2929
+ if (!(adaptor instanceof WebApiAdaptor && adaptor instanceof ODataAdaptor && adaptor instanceof ODataV4Adaptor) || data_2.dataSource.batchUrl) {
2930
2930
  /* tslint:disable-next-line */
2931
2931
  var crud = data_2.saveChanges(updatedData_2, _this.parent.taskFields.id, null, query);
2932
2932
  crud.then(function (e) {
@@ -2978,6 +2978,7 @@ var Edit = /** @class */ (function () {
2978
2978
  var data_3 = [];
2979
2979
  data_3.push(args.data);
2980
2980
  _this.updateRealDataSource(data_3, rowPosition);
2981
+ _this.parent.currentSelection = cAddedRecord_1[0].ganttProperties;
2981
2982
  }
2982
2983
  }
2983
2984
  }
@@ -3060,6 +3061,9 @@ var Edit = /** @class */ (function () {
3060
3061
  else if (ganttColumns[i].field === 'taskType') {
3061
3062
  tempRecord[fieldName] = this.parent.taskType;
3062
3063
  }
3064
+ else if (ganttColumns[i].field === taskSettingsFields.milestone) {
3065
+ tempRecord[fieldName] = null;
3066
+ }
3063
3067
  else {
3064
3068
  tempRecord[this.parent.ganttColumns[i].field] = '';
3065
3069
  }
@@ -43,7 +43,7 @@ export declare class Filter {
43
43
  private updateFilterMenuPosition;
44
44
  private removeEventListener;
45
45
  /**
46
- * To destroy module
46
+ * This method is used to destroy the filter module. When called, it performs any necessary cleanup operations related to the filter module.
47
47
  *
48
48
  * @returns {void} .
49
49
  */
@@ -358,7 +358,7 @@ var Filter = /** @class */ (function () {
358
358
  this.parent.off('columnMenuOpen', this.columnMenuOpen);
359
359
  };
360
360
  /**
361
- * To destroy module
361
+ * This method is used to destroy the filter module. When called, it performs any necessary cleanup operations related to the filter module.
362
362
  *
363
363
  * @returns {void} .
364
364
  */
@@ -114,7 +114,6 @@ var FocusModule = /** @class */ (function () {
114
114
  if (ganttObj.editModule.dialogModule.dialogObj && getValue('dialogOpen', ganttObj.editModule.dialogModule.dialogObj)) {
115
115
  return;
116
116
  }
117
- ganttObj.editModule.cellEditModule.isCellEdit = false;
118
117
  ganttObj.treeGrid.grid.saveCell();
119
118
  var focussedElement = ganttObj.element.querySelector('.e-treegrid');
120
119
  focussedElement.focus();
@@ -202,6 +202,10 @@ var Selection = /** @class */ (function () {
202
202
  Selection.prototype.selectRow = function (index, isToggle, isPreventFocus) {
203
203
  var ganttRow = [].slice.call(this.parent.ganttChartModule.chartBodyContent.querySelector('tbody').children);
204
204
  // eslint-disable-next-line
205
+ if (this.parent.enableVirtualization && this.parent.treeGridModule.addedRecord) {
206
+ index = this.parent.flatData.indexOf(this.parent.currentViewData[index]);
207
+ this.parent.treeGridModule.addedRecord = false;
208
+ }
205
209
  var selectedRow = ganttRow.filter(function (e) { return parseInt(e.getAttribute('aria-rowindex'), 0) === index; })[0];
206
210
  var condition;
207
211
  if (index === -1 || isNullOrUndefined(selectedRow) || this.parent.selectionSettings.mode === 'Cell') {
@@ -1110,7 +1110,16 @@ var TaskbarEdit = /** @class */ (function (_super) {
1110
1110
  }
1111
1111
  else {
1112
1112
  if (this.mouseMoveX < (item.left + segment.left)) {
1113
- segment.width = this.parent.perDayWidth;
1113
+ var segmentWidth = (this.parent.timelineModule.isSingleTier &&
1114
+ (this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Hour" ||
1115
+ this.parent.timelineModule.customTimelineSettings.topTier.unit === "Hour" ||
1116
+ this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Minutes" ||
1117
+ this.parent.timelineModule.customTimelineSettings.topTier.unit === "Minutes")) ||
1118
+ (this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Hour" ||
1119
+ this.parent.timelineModule.customTimelineSettings.bottomTier.unit === "Minutes") ?
1120
+ this.parent.timelineModule.customTimelineSettings.timelineUnitSize :
1121
+ this.parent.perDayWidth;
1122
+ segment.width = segmentWidth;
1114
1123
  }
1115
1124
  }
1116
1125
  }
@@ -120,6 +120,9 @@ var GanttChart = /** @class */ (function () {
120
120
  }
121
121
  this.updateWidthAndHeight();
122
122
  this.parent.notify('selectRowByIndex', {});
123
+ if (this.parent.timelineModule.isZoomToFit) {
124
+ this.parent.timelineModule.processZoomToFit();
125
+ }
123
126
  };
124
127
  /**
125
128
  * @param {IGanttData[]} records .
@@ -402,6 +405,10 @@ var GanttChart = /** @class */ (function () {
402
405
  if (!isNullOrUndefined(this.parent.editModule) && !isNullOrUndefined(this.parent.editModule.taskbarEditModule)) {
403
406
  this.parent.editModule.taskbarEditModule.removeFalseLine(false);
404
407
  }
408
+ var resizeCheck = this.parent.element.querySelector(".e-taskbar-resize-div");
409
+ if (!isNullOrUndefined(resizeCheck)) {
410
+ resizeCheck.remove();
411
+ }
405
412
  if (this.parent.allowRowDragAndDrop) {
406
413
  var ganttDragElemet = this.parent.element.querySelector('.e-ganttdrag');
407
414
  if (ganttDragElemet) {
@@ -87,6 +87,7 @@ export declare class Gantt extends Component<HTMLElement> implements INotifyProp
87
87
  private headerMaskTable;
88
88
  /** @hidden */
89
89
  private isProjectDateUpdated;
90
+ currentSelection: any;
90
91
  columnLoop: any;
91
92
  showIndicator: boolean;
92
93
  singleTier: number;
@@ -2617,6 +2617,9 @@ var Gantt = /** @class */ (function (_super) {
2617
2617
  }
2618
2618
  else {
2619
2619
  this.editModule.addRecord(data, rowPosition, rowIndex);
2620
+ if (rowPosition === 'Above' || rowPosition === 'Below' || rowPosition === 'Child') {
2621
+ this.currentSelection = data;
2622
+ }
2620
2623
  }
2621
2624
  }
2622
2625
  };
@@ -401,8 +401,6 @@ export interface IConnectorLineObject {
401
401
  isCritical?: boolean;
402
402
  parentEndPoint?: number;
403
403
  childEndPoint?: number;
404
- isManualChild?: boolean;
405
- isManualParent?: boolean;
406
404
  }
407
405
  export interface ISplitterResizedEventArgs {
408
406
  /** Defines the element. */
@@ -2430,6 +2430,7 @@ var TaskProcessor = /** @class */ (function (_super) {
2430
2430
  this.parent.setRecordValue('progress', Math.floor(parentProgress), parentProp, true);
2431
2431
  this.parent.setRecordValue('totalProgress', totalProgress, parentProp, true);
2432
2432
  this.parent.setRecordValue('totalDuration', totalDuration, parentProp, true);
2433
+ this.parent.setRecordValue('autoDuration', parentProp.duration, parentProp, true);
2433
2434
  if (!parentProp.isAutoSchedule) {
2434
2435
  this.parent.setRecordValue('autoDuration', this.calculateAutoDuration(parentProp), parentProp, true);
2435
2436
  this.updateAutoWidthLeft(parentData);
@@ -15,6 +15,7 @@ export declare class GanttTreeGrid {
15
15
  * @private
16
16
  */
17
17
  currentEditRow: {};
18
+ addedRecord: boolean;
18
19
  private previousScroll;
19
20
  /** @hidden */
20
21
  prevCurrentView: Object;
@@ -381,6 +381,7 @@ var GanttTreeGrid = /** @class */ (function () {
381
381
  }
382
382
  };
383
383
  GanttTreeGrid.prototype.treeActionComplete = function (args) {
384
+ var _this = this;
384
385
  var updatedArgs = extend({}, args);
385
386
  if (getValue('requestType', args) === 'sorting') {
386
387
  this.parent.notify('updateModel', {});
@@ -403,6 +404,7 @@ var GanttTreeGrid = /** @class */ (function () {
403
404
  }
404
405
  }
405
406
  this.parent.editModule.cellEditModule.initiateCellEdit(args, this.currentEditRow);
407
+ this.parent.editModule.cellEditModule.isCellEdit = false;
406
408
  this.currentEditRow = {};
407
409
  }
408
410
  }
@@ -428,7 +430,14 @@ var GanttTreeGrid = /** @class */ (function () {
428
430
  }
429
431
  }
430
432
  else {
431
- this.parent.selectRow(0);
433
+ var indexvalue = 0;
434
+ this.parent.currentViewData.map(function (data, index) {
435
+ 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)) {
436
+ indexvalue = index;
437
+ }
438
+ });
439
+ this.addedRecord = true;
440
+ this.parent.selectRow((isNullOrUndefined(indexvalue) ? 0 : indexvalue));
432
441
  }
433
442
  this.parent.addDeleteRecord = false;
434
443
  }
@@ -611,8 +620,16 @@ var GanttTreeGrid = /** @class */ (function () {
611
620
  this.parent.getDateFormat().toLowerCase().indexOf('hh') !== -1 ? 'datetimepickeredit' : 'datepickeredit';
612
621
  column.format = column.format ? column.format : { type: 'date', format: this.parent.getDateFormat() };
613
622
  column.width = column.width ? column.width : 150;
614
- if (!column.edit || (column.edit && !column.edit.create)) {
615
- column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
623
+ if (column.edit && column.edit.params) {
624
+ column.edit.params['renderDayCell'] = this.parent.renderWorkingDayCell.bind(this.parent);
625
+ }
626
+ else {
627
+ if (column.edit) {
628
+ column.edit.params = { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) };
629
+ }
630
+ else {
631
+ column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
632
+ }
616
633
  }
617
634
  }
618
635
  else if (taskSettings.endDate === column.field) {
@@ -626,8 +643,16 @@ var GanttTreeGrid = /** @class */ (function () {
626
643
  column.editType = column.editType ? column.editType :
627
644
  this.parent.getDateFormat().toLowerCase().indexOf('hh') !== -1 ? 'datetimepickeredit' : 'datepickeredit';
628
645
  column.width = column.width ? column.width : 150;
629
- if (!column.edit || (column.edit && !column.edit.create)) {
630
- column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
646
+ if (column.edit && column.edit.params) {
647
+ column.edit.params['renderDayCell'] = this.parent.renderWorkingDayCell.bind(this.parent);
648
+ }
649
+ else {
650
+ if (column.edit) {
651
+ column.edit.params = { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) };
652
+ }
653
+ else {
654
+ column.edit = { params: { renderDayCell: this.parent.renderWorkingDayCell.bind(this.parent) } };
655
+ }
631
656
  }
632
657
  }
633
658
  else if (taskSettings.duration === column.field) {
@@ -256,7 +256,7 @@ var ChartRows = /** @class */ (function (_super) {
256
256
  childTaskbarNode = this.createDivElement(template);
257
257
  }
258
258
  }
259
- if (this.parent.enableRtl && childTaskbarNode[0] && childTaskbarNode[0].querySelector('.e-task-label')) {
259
+ if (this.parent.enableRtl && !isNullOrUndefined(childTaskbarNode) && childTaskbarNode[0] && childTaskbarNode[0].querySelector('.e-task-label')) {
260
260
  childTaskbarNode[0].querySelector('.e-task-label').style.marginLeft = '15px';
261
261
  childTaskbarNode[0].querySelector('.e-task-label').style.marginRight = '8px';
262
262
  if (childTaskbarNode[0].querySelector('.e-gantt-child-progressbar')) {
@@ -638,8 +638,8 @@ var ChartRows = /** @class */ (function (_super) {
638
638
  milestoneNode = this.milestoneTemplateFunction(extend({ index: i }, data), this.parent, 'MilestoneTemplate', this.getTemplateID('MilestoneTemplate'), false, undefined, rootElement[0], this.parent.treeGrid['root']);
639
639
  }
640
640
  else {
641
- var template = '<div class="' + cls.traceMilestone + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight - 3 : this.taskBarHeight - 7)) + 'px;height:' +
642
- ((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>';
641
+ var template = '<div class="' + cls.traceMilestone + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 6)) + 'px;height:' +
642
+ ((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>';
643
643
  milestoneNode = this.createDivElement(template);
644
644
  }
645
645
  return milestoneNode;
@@ -667,9 +667,9 @@ var ChartRows = /** @class */ (function (_super) {
667
667
  ChartRows.prototype.getMilestoneBaselineNode = function () {
668
668
  var data = this.templateData;
669
669
  var baselineMilestoneHeight = this.parent.renderBaseline ? 5 : 2;
670
- var template = '<div class="' + cls.baselineMilestoneContainer + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight - 5 : this.taskBarHeight - 10) + 2) + 'px;height:' +
671
- ((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 -
672
- (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>';
670
+ var template = '<div class="' + cls.baselineMilestoneContainer + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight : this.taskBarHeight - 10)) + 'px;height:' +
671
+ ((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 -
672
+ (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>';
673
673
  return this.createDivElement(template);
674
674
  };
675
675
  /**
@@ -1355,6 +1355,12 @@ var ChartRows = /** @class */ (function (_super) {
1355
1355
  (_a = this.ganttChartTableBody).replaceChildren.apply(_a, dupChartBody.childNodes);
1356
1356
  this.parent.initialChartRowElements = this.parent.ganttChartModule.getChartRows();
1357
1357
  }
1358
+ if (this.parent.enableCriticalPath && this.parent.criticalPathModule) {
1359
+ var criticalModule = this.parent.criticalPathModule;
1360
+ if (criticalModule.criticalPathCollection) {
1361
+ this.parent.criticalPathModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
1362
+ }
1363
+ }
1358
1364
  this.parent.renderTemplates();
1359
1365
  this.triggerQueryTaskbarInfo();
1360
1366
  this.parent.modifiedRecords = [];
@@ -1369,6 +1375,7 @@ var ChartRows = /** @class */ (function (_super) {
1369
1375
  }
1370
1376
  }
1371
1377
  }
1378
+ this.parent.isGanttChartRendered = true;
1372
1379
  this.parent.renderTemplates();
1373
1380
  };
1374
1381
  /**
@@ -17,8 +17,6 @@ export declare class ConnectorLine {
17
17
  private y2;
18
18
  private y3;
19
19
  private y4;
20
- private manualParent;
21
- private manualChild;
22
20
  private point1;
23
21
  private point2;
24
22
  private parent;