@syncfusion/ej2-gantt 19.3.55 → 19.4.40

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 (45) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +1 -1
  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 +131 -54
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +128 -51
  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 +18 -18
  13. package/src/gantt/actions/context-menu.js +36 -15
  14. package/src/gantt/actions/dialog-edit.js +5 -2
  15. package/src/gantt/actions/edit.js +5 -1
  16. package/src/gantt/actions/keyboard.js +2 -2
  17. package/src/gantt/actions/rowdragdrop.js +2 -0
  18. package/src/gantt/actions/taskbar-edit.d.ts +0 -15
  19. package/src/gantt/actions/taskbar-edit.js +6 -24
  20. package/src/gantt/base/gantt.d.ts +17 -0
  21. package/src/gantt/base/gantt.js +32 -3
  22. package/src/gantt/base/task-processor.js +20 -3
  23. package/src/gantt/base/tree-grid.js +3 -0
  24. package/src/gantt/renderer/timeline.js +17 -1
  25. package/styles/bootstrap5-dark.css +6 -4
  26. package/styles/bootstrap5.css +6 -4
  27. package/styles/fabric-dark.css +1 -1
  28. package/styles/gantt/_bootstrap4-definition.scss +1 -0
  29. package/styles/gantt/_bootstrap5-definition.scss +1 -1
  30. package/styles/gantt/_fabric-dark-definition.scss +2 -1
  31. package/styles/gantt/_fluent-definition.scss +163 -0
  32. package/styles/gantt/_layout.scss +7 -7
  33. package/styles/gantt/_material-dark-definition.scss +2 -1
  34. package/styles/gantt/_theme.scss +2 -1
  35. package/styles/gantt/bootstrap5-dark.css +6 -4
  36. package/styles/gantt/bootstrap5.css +6 -4
  37. package/styles/gantt/fabric-dark.css +1 -1
  38. package/styles/gantt/icons/_fluent.scss +112 -0
  39. package/styles/gantt/icons/_tailwind-dark.scss +112 -112
  40. package/styles/gantt/material-dark.css +1 -1
  41. package/styles/gantt/tailwind-dark.css +1 -1
  42. package/styles/gantt/tailwind.css +1 -1
  43. package/styles/material-dark.css +1 -1
  44. package/styles/tailwind-dark.css +1 -1
  45. package/styles/tailwind.css +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 19.3.55
3
+ * version : 19.4.40
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.3.53",
3
+ "_id": "@syncfusion/ej2-gantt@19.4.38",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-U/p3jxN5jnp69SFmscoROYZ5BzSZniFIGIaJoGYLzGA86OOXgeXaMnMe4ZX31hbDR994LlgTMolzp6uoHYsA9w==",
5
+ "_integrity": "sha512-I4mKtas9zkKCjTiN5d4oVMdJMWsRrGuf7CaKPBU26Amdl+EIu0CVXKma+XQ/pBnWN3AatdP8vuaoDKkV51zkOw==",
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/@syncfusion/ej2-gantt/-/ej2-gantt-19.3.53.tgz",
27
- "_shasum": "09ad17fec4db43b1da7931fd236686090ea7b6ea",
26
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-gantt/-/ej2-gantt-19.4.38.tgz",
27
+ "_shasum": "3370b7a2ca464a19f79d45e1e20d853f97694af6",
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.3.54",
39
- "@syncfusion/ej2-buttons": "~19.3.53",
40
- "@syncfusion/ej2-calendars": "~19.3.55",
41
- "@syncfusion/ej2-data": "~19.3.53",
42
- "@syncfusion/ej2-dropdowns": "~19.3.55",
43
- "@syncfusion/ej2-grids": "~19.3.55",
44
- "@syncfusion/ej2-inputs": "~19.3.53",
45
- "@syncfusion/ej2-layouts": "~19.3.53",
46
- "@syncfusion/ej2-lists": "~19.3.53",
47
- "@syncfusion/ej2-navigations": "~19.3.54",
48
- "@syncfusion/ej2-popups": "~19.3.53",
49
- "@syncfusion/ej2-richtexteditor": "~19.3.55",
50
- "@syncfusion/ej2-treegrid": "~19.3.55"
38
+ "@syncfusion/ej2-base": "~19.4.38",
39
+ "@syncfusion/ej2-buttons": "~19.4.38",
40
+ "@syncfusion/ej2-calendars": "~19.4.38",
41
+ "@syncfusion/ej2-data": "~19.4.38",
42
+ "@syncfusion/ej2-dropdowns": "~19.4.40",
43
+ "@syncfusion/ej2-grids": "~19.4.40",
44
+ "@syncfusion/ej2-inputs": "~19.4.38",
45
+ "@syncfusion/ej2-layouts": "~19.4.38",
46
+ "@syncfusion/ej2-lists": "~19.4.38",
47
+ "@syncfusion/ej2-navigations": "~19.4.40",
48
+ "@syncfusion/ej2-popups": "~19.4.38",
49
+ "@syncfusion/ej2-richtexteditor": "~19.4.40",
50
+ "@syncfusion/ej2-treegrid": "~19.4.40"
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.3.55",
78
+ "version": "19.4.40",
79
79
  "sideEffects": false
80
80
  }
@@ -108,6 +108,12 @@ var ContextMenu = /** @class */ (function () {
108
108
  position = this.item;
109
109
  data = extend({}, {}, this.rowData.taskData, true);
110
110
  taskfields = this.parent.taskFields;
111
+ if (data[taskfields.startDate]) {
112
+ this.parent.setRecordValue(taskfields.startDate, this.rowData.ganttProperties.startDate, data, true);
113
+ }
114
+ if (data[taskfields.endDate]) {
115
+ this.parent.setRecordValue(taskfields.endDate, this.rowData.ganttProperties.endDate, data, true);
116
+ }
111
117
  if (!isNullOrUndefined(taskfields.dependency)) {
112
118
  data[taskfields.dependency] = null;
113
119
  }
@@ -301,7 +307,12 @@ var ContextMenu = /** @class */ (function () {
301
307
  var item = _a[_i];
302
308
  // let target: EventTarget = target;
303
309
  if (!item.separator) {
304
- this.updateItemStatus(item, target, rowIndex);
310
+ if ((target.classList.contains('e-gantt-unscheduled-taskbar')) && ((item.text === this.getLocale('splitTask')) || (item.text === this.getLocale('mergeTask')))) {
311
+ this.hideItems.push(item.text);
312
+ }
313
+ else {
314
+ this.updateItemStatus(item, target, rowIndex);
315
+ }
305
316
  }
306
317
  }
307
318
  args.rowData = this.rowData;
@@ -413,24 +424,34 @@ var ContextMenu = /** @class */ (function () {
413
424
  break;
414
425
  case 'Indent':
415
426
  {
416
- var index = this.parent.selectedRowIndex;
417
- var isSelected = this.parent.selectionModule ? this.parent.selectionModule.selectedRowIndexes.length === 1 ||
418
- this.parent.selectionModule.getSelectedRowCellIndexes().length === 1 ? true : false : false;
419
- var prevRecord = this.parent.updatedRecords[this.parent.selectionModule.getSelectedRowIndexes()[0] - 1];
420
- if (!this.parent.editSettings.allowEditing || index === 0 || index === -1 || !isSelected ||
421
- this.parent.viewType === 'ResourceView' || this.parent.updatedRecords[index].level - prevRecord.level === 1) {
422
- this.updateItemVisibility(item.text);
427
+ if (!this.parent.allowSelection) {
428
+ this.hideItems.push(item.text);
429
+ }
430
+ else {
431
+ var index = this.parent.selectedRowIndex;
432
+ var isSelected = this.parent.selectionModule ? this.parent.selectionModule.selectedRowIndexes.length === 1 ||
433
+ this.parent.selectionModule.getSelectedRowCellIndexes().length === 1 ? true : false : false;
434
+ var prevRecord = this.parent.updatedRecords[this.parent.selectionModule.getSelectedRowIndexes()[0] - 1];
435
+ if (!this.parent.editSettings.allowEditing || index === 0 || index === -1 || !isSelected ||
436
+ this.parent.viewType === 'ResourceView' || this.parent.updatedRecords[index].level - prevRecord.level === 1) {
437
+ this.updateItemVisibility(item.text);
438
+ }
423
439
  }
424
440
  break;
425
441
  }
426
442
  case 'Outdent':
427
443
  {
428
- var ind = this.parent.selectionModule.getSelectedRowIndexes()[0];
429
- var isSelect = this.parent.selectionModule ? this.parent.selectionModule.selectedRowIndexes.length === 1 ||
430
- this.parent.selectionModule.getSelectedRowCellIndexes().length === 1 ? true : false : false;
431
- if (!this.parent.editSettings.allowEditing || ind === -1 || ind === 0 || !isSelect ||
432
- this.parent.viewType === 'ResourceView' || this.parent.updatedRecords[ind].level === 0) {
433
- this.updateItemVisibility(item.text);
444
+ if (!this.parent.allowSelection) {
445
+ this.hideItems.push(item.text);
446
+ }
447
+ else {
448
+ var ind = this.parent.selectionModule.getSelectedRowIndexes()[0];
449
+ var isSelect = this.parent.selectionModule ? this.parent.selectionModule.selectedRowIndexes.length === 1 ||
450
+ this.parent.selectionModule.getSelectedRowCellIndexes().length === 1 ? true : false : false;
451
+ if (!this.parent.editSettings.allowEditing || ind === -1 || ind === 0 || !isSelect ||
452
+ this.parent.viewType === 'ResourceView' || this.parent.updatedRecords[ind].level === 0) {
453
+ this.updateItemVisibility(item.text);
454
+ }
434
455
  }
435
456
  break;
436
457
  }
@@ -493,7 +514,7 @@ var ContextMenu = /** @class */ (function () {
493
514
  };
494
515
  ContextMenu.prototype.contextMenuOpen = function (args) {
495
516
  this.isOpen = true;
496
- var firstMenuItem = args.element.querySelectorAll('li:not(.e-menu-hide)')[0];
517
+ var firstMenuItem = args.element.querySelectorAll('li:not(.e-menu-hide):not(.e-disabled)')[0];
497
518
  addClass([firstMenuItem], 'e-focused');
498
519
  };
499
520
  ContextMenu.prototype.getMenuItems = function () {
@@ -1106,7 +1106,7 @@ var DialogEdit = /** @class */ (function () {
1106
1106
  var datePickerModel = _this.beforeOpenArgs[generalTabString][_this.parent.taskFields[fields[i]]];
1107
1107
  var value = args.rowData[args.column.field];
1108
1108
  setValue('value', value, datePickerModel);
1109
- var datePicker = new DatePicker(datePickerModel);
1109
+ var datePicker = new _this.inputs[_this.parent.columnByField[_this.parent.taskFields[fields[i]]].editType](datePickerModel);
1110
1110
  datePicker.appendTo(args.element);
1111
1111
  },
1112
1112
  read: function (args) {
@@ -1181,7 +1181,7 @@ var DialogEdit = /** @class */ (function () {
1181
1181
  inputValue = dialog.querySelector('#' + ganttId + 'SegmentsTabContainer' + columnName)
1182
1182
  .ej2_instances[0];
1183
1183
  }
1184
- if (inputValue.value !== tempValue.toString()) {
1184
+ if (inputValue.value.toString() !== tempValue.toString()) {
1185
1185
  inputValue.value = tempValue;
1186
1186
  inputValue.dataBind();
1187
1187
  }
@@ -1993,6 +1993,9 @@ var DialogEdit = /** @class */ (function () {
1993
1993
  this.rowData.ganttProperties.segments = dataSource;
1994
1994
  this.parent.setRecordValue('segments', this.parent.dataOperation.setSegmentsInfo(this.rowData, false), this.rowData.ganttProperties, true);
1995
1995
  this.parent.setRecordValue('taskData.' + this.parent.taskFields.segments, userData, this.rowData);
1996
+ if (dataSource.length <= 0) {
1997
+ this.validateDuration(this.rowData);
1998
+ }
1996
1999
  }
1997
2000
  };
1998
2001
  // eslint-disable-next-line
@@ -799,7 +799,7 @@ var Edit = /** @class */ (function () {
799
799
  this.updateParentItemOnEditing();
800
800
  }
801
801
  /** Update parent up-to zeroth level */
802
- if (ganttRecord.parentItem || this.parent.taskMode !== 'Auto') {
802
+ if (ganttRecord.parentItem) {
803
803
  this.parent.dataOperation.updateParentItems(ganttRecord, true);
804
804
  }
805
805
  this.initiateSaveAction(args);
@@ -2433,6 +2433,9 @@ var Edit = /** @class */ (function () {
2433
2433
  var taskFields = this.parent.taskFields;
2434
2434
  var dataSource = isCountRequired(this.parent) ? getValue('result', this.parent.dataSource) :
2435
2435
  this.parent.dataSource;
2436
+ if (this.parent.dataSource instanceof DataManager) {
2437
+ dataSource = this.parent.dataSource.dataSource.json;
2438
+ }
2436
2439
  for (var i = 0; i < addedRecord.length; i++) {
2437
2440
  if (isNullOrUndefined(rowPosition) || isNullOrUndefined(this.addRowSelectedItem)) {
2438
2441
  rowPosition = 'Top';
@@ -2505,6 +2508,7 @@ var Edit = /** @class */ (function () {
2505
2508
  Edit.prototype.addRecord = function (data, rowPosition, rowIndex) {
2506
2509
  var _this = this;
2507
2510
  if (this.parent.editModule && this.parent.editSettings.allowAdding) {
2511
+ this.parent.isDynamicData = true;
2508
2512
  var cAddedRecord_1 = [];
2509
2513
  if (isNullOrUndefined(data)) {
2510
2514
  this.validateTaskPosition(data, rowPosition, rowIndex, cAddedRecord_1);
@@ -137,9 +137,9 @@ var FocusModule = /** @class */ (function () {
137
137
  {
138
138
  if (isNullOrUndefined(document.getElementById(this.parent.element.id + '_dialog'))) {
139
139
  e.preventDefault();
140
- var focussedElement = ganttObj.element.querySelector('.e-gantt-chart');
141
- focussedElement.focus();
142
140
  ganttObj.addRecord();
141
+ var focussedElement = ganttObj.element;
142
+ focussedElement.focus();
143
143
  }
144
144
  break;
145
145
  }
@@ -541,6 +541,7 @@ var RowDD = /** @class */ (function () {
541
541
  else {
542
542
  var level = 1;
543
543
  draggedRecord.level = droppedRecord.level + 1;
544
+ this.parent.setRecordValue('level', this.draggedRecord.level, this.draggedRecord);
544
545
  this.updateChildRecordLevel(draggedRecord, level);
545
546
  }
546
547
  droppedRecord.expanded = true;
@@ -625,6 +626,7 @@ var RowDD = /** @class */ (function () {
625
626
  parentData = this.parent.treeGrid[id][record.parentItem.uniqueID];
626
627
  }
627
628
  currentRecord.level = record.parentItem ? parentData.level + level : record.level + 1;
629
+ this.parent.setRecordValue('level', currentRecord.level, currentRecord);
628
630
  if (currentRecord.hasChildRecords) {
629
631
  level--;
630
632
  level = this.updateChildRecordLevel(currentRecord, level);
@@ -224,21 +224,6 @@ export declare class TaskbarEdit extends DateProcessor {
224
224
  * @private
225
225
  */
226
226
  getDateByLeft(left: number): Date;
227
- /**
228
- * To get timezone offset.
229
- *
230
- * @returns {number} .
231
- * @private
232
- */
233
- private getDefaultTZOffset;
234
- /**
235
- * To check whether the date is in DST.
236
- *
237
- * @param {Date} date .
238
- * @returns {boolean} .
239
- * @private
240
- */
241
- isInDst(date: Date): boolean;
242
227
  /**
243
228
  * To set item position.
244
229
  *
@@ -493,8 +493,11 @@ var TaskbarEdit = /** @class */ (function (_super) {
493
493
  if (this.isMouseDragged && this.taskBarEditAction) {
494
494
  var args = {
495
495
  cancel: false,
496
- requestType: 'mergeSegment'
496
+ requestType: 'taskbarediting'
497
497
  };
498
+ if (this.segmentIndex !== -1) {
499
+ args.requestType = 'mergeSegment';
500
+ }
498
501
  this.parent.trigger('actionBegin', args, function (arg) {
499
502
  if (arg.cancel === false) {
500
503
  _this.taskBarEditingAction(event, false);
@@ -1321,36 +1324,15 @@ var TaskbarEdit = /** @class */ (function (_super) {
1321
1324
  var tierMode = this.parent.timelineModule.bottomTier !== 'None' ? this.parent.timelineModule.topTier :
1322
1325
  this.parent.timelineModule.bottomTier;
1323
1326
  if (tierMode !== 'Hour' && tierMode !== 'Minutes') {
1324
- if (this.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && !this.isInDst(pStartDate)) {
1327
+ if (this.parent.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && !this.parent.isInDst(pStartDate)) {
1325
1328
  pStartDate.setTime(pStartDate.getTime() + (60 * 60 * 1000));
1326
1329
  }
1327
- else if (!this.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && this.isInDst(pStartDate)) {
1330
+ else if (!this.parent.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && this.parent.isInDst(pStartDate)) {
1328
1331
  pStartDate.setTime(pStartDate.getTime() - (60 * 60 * 1000));
1329
1332
  }
1330
1333
  }
1331
1334
  return pStartDate;
1332
1335
  };
1333
- /**
1334
- * To get timezone offset.
1335
- *
1336
- * @returns {number} .
1337
- * @private
1338
- */
1339
- TaskbarEdit.prototype.getDefaultTZOffset = function () {
1340
- var janMonth = new Date(new Date().getFullYear(), 0, 1);
1341
- var julMonth = new Date(new Date().getFullYear(), 6, 1); //Because there is no reagions DST inbetwwen this range
1342
- return Math.max(janMonth.getTimezoneOffset(), julMonth.getTimezoneOffset());
1343
- };
1344
- /**
1345
- * To check whether the date is in DST.
1346
- *
1347
- * @param {Date} date .
1348
- * @returns {boolean} .
1349
- * @private
1350
- */
1351
- TaskbarEdit.prototype.isInDst = function (date) {
1352
- return date.getTimezoneOffset() < this.getDefaultTZOffset();
1353
- };
1354
1336
  /**
1355
1337
  * To set item position.
1356
1338
  *
@@ -199,6 +199,8 @@ export declare class Gantt extends Component<HTMLElement> implements INotifyProp
199
199
  /** @hidden */
200
200
  isExpandCollapseLevelMethod: boolean;
201
201
  /** @hidden */
202
+ isDynamicData: boolean;
203
+ /** @hidden */
202
204
  contentHeight: number;
203
205
  /** @hidden */
204
206
  isAdaptive: Boolean;
@@ -1220,6 +1222,21 @@ export declare class Gantt extends Component<HTMLElement> implements INotifyProp
1220
1222
  * @private
1221
1223
  */
1222
1224
  getDateFormat(): string;
1225
+ /**
1226
+ * To get timezone offset.
1227
+ *
1228
+ * @returns {number} .
1229
+ * @private
1230
+ */
1231
+ private getDefaultTZOffset;
1232
+ /**
1233
+ * To check whether the date is in DST.
1234
+ *
1235
+ * @param {Date} date .
1236
+ * @returns {boolean} .
1237
+ * @private
1238
+ */
1239
+ isInDst(date: Date): boolean;
1223
1240
  /**
1224
1241
  * Method to map resource fields.
1225
1242
  *
@@ -72,6 +72,8 @@ var Gantt = /** @class */ (function (_super) {
72
72
  /** @hidden */
73
73
  _this.isExpandCollapseLevelMethod = false;
74
74
  /** @hidden */
75
+ _this.isDynamicData = false;
76
+ /** @hidden */
75
77
  _this.isConnectorLineUpdate = false;
76
78
  /** @hidden */
77
79
  _this.staticSelectedRowIndex = -1;
@@ -229,6 +231,27 @@ var Gantt = /** @class */ (function (_super) {
229
231
  return ganttDateFormat;
230
232
  }
231
233
  };
234
+ /**
235
+ * To get timezone offset.
236
+ *
237
+ * @returns {number} .
238
+ * @private
239
+ */
240
+ Gantt.prototype.getDefaultTZOffset = function () {
241
+ var janMonth = new Date(new Date().getFullYear(), 0, 1);
242
+ var julMonth = new Date(new Date().getFullYear(), 6, 1); //Because there is no reagions DST inbetwwen this range
243
+ return Math.max(janMonth.getTimezoneOffset(), julMonth.getTimezoneOffset());
244
+ };
245
+ /**
246
+ * To check whether the date is in DST.
247
+ *
248
+ * @param {Date} date .
249
+ * @returns {boolean} .
250
+ * @private
251
+ */
252
+ Gantt.prototype.isInDst = function (date) {
253
+ return date.getTimezoneOffset() < this.getDefaultTZOffset();
254
+ };
232
255
  /**
233
256
  * Method to map resource fields.
234
257
  *
@@ -360,6 +383,8 @@ var Gantt = /** @class */ (function (_super) {
360
383
  Gantt.prototype.renderGantt = function (isChange) {
361
384
  // predecessor calculation
362
385
  if (this.predecessorModule && this.taskFields.dependency) {
386
+ this.predecessorModule['parentIds'] = [];
387
+ this.predecessorModule['parentRecord'] = [];
363
388
  this.predecessorModule.updatePredecessors();
364
389
  if (this.isInPredecessorValidation && this.enableValidation) {
365
390
  this.predecessorModule.updatedRecordsDateByPredecessor();
@@ -379,7 +404,7 @@ var Gantt = /** @class */ (function (_super) {
379
404
  this.treeGrid.dataSource = { result: this.flatData, count: count };
380
405
  }
381
406
  else {
382
- this.treeGrid.dataSource = this.flatData.length > 0 ? this.flatData : [];
407
+ this.treeGrid.dataSource = this.flatData;
383
408
  }
384
409
  }
385
410
  else {
@@ -2427,6 +2452,7 @@ var Gantt = /** @class */ (function (_super) {
2427
2452
  * @public
2428
2453
  */
2429
2454
  Gantt.prototype.updateDataSource = function (dataSource, args) {
2455
+ this.isDynamicData = true;
2430
2456
  if (!isNullOrUndefined(args)) {
2431
2457
  for (var _i = 0, _a = Object.keys(args); _i < _a.length; _i++) { // eslint-disable-line
2432
2458
  var prop = _a[_i];
@@ -2630,12 +2656,15 @@ var Gantt = /** @class */ (function (_super) {
2630
2656
  if (!isNullOrUndefined(rowData)) {
2631
2657
  var data = extend({}, {}, rowData.taskData, true);
2632
2658
  var taskfields = this.taskFields;
2659
+ if (data[taskfields.startDate]) {
2660
+ this.setRecordValue(taskfields.startDate, rowData.ganttProperties.startDate, data, true);
2661
+ }
2633
2662
  if (!isNullOrUndefined(taskfields.duration)) {
2634
2663
  data[taskfields.duration] = 0;
2635
2664
  }
2636
2665
  else {
2637
- data[taskfields.startDate] = new Date(rowData.taskData[taskfields.startDate]);
2638
- data[taskfields.endDate] = new Date(rowData.taskData[taskfields.startDate]);
2666
+ data[taskfields.startDate] = new Date(rowData.ganttProperties.startDate);
2667
+ data[taskfields.endDate] = new Date(rowData.ganttProperties.endDate);
2639
2668
  }
2640
2669
  if (!isNullOrUndefined(taskfields.milestone)) {
2641
2670
  if (data[taskfields.milestone] === false) {
@@ -734,8 +734,16 @@ var TaskProcessor = /** @class */ (function (_super) {
734
734
  var ganttProperties = ganttData.ganttProperties;
735
735
  var duration = data[taskSettings.duration];
736
736
  duration = isNullOrUndefined(duration) || duration === '' ? null : duration;
737
- var startDate = this.getDateFromFormat(data[taskSettings.startDate], true);
738
- var endDate = this.getDateFromFormat(data[taskSettings.endDate], true);
737
+ var startDate;
738
+ var endDate;
739
+ if (ganttProperties.startDate && ganttProperties.endDate) {
740
+ startDate = this.getDateFromFormat(ganttProperties.startDate, true);
741
+ endDate = this.getDateFromFormat(ganttProperties.endDate, true);
742
+ }
743
+ else {
744
+ startDate = this.getDateFromFormat(data[taskSettings.startDate], true);
745
+ endDate = this.getDateFromFormat(data[taskSettings.endDate], true);
746
+ }
739
747
  var segments = taskSettings.segments ? (data[taskSettings.segments] ||
740
748
  ganttData.taskData[taskSettings.segments]) : null;
741
749
  var isMileStone = taskSettings.milestone ? data[taskSettings.milestone] ? true : false : false;
@@ -1337,7 +1345,10 @@ var TaskProcessor = /** @class */ (function (_super) {
1337
1345
  if (!isNullOrUndefined(value)) {
1338
1346
  value = new Date(tempDate.getTime());
1339
1347
  }
1340
- this.parent.setRecordValue('taskData.' + mapping, value, task);
1348
+ if (!this.parent.isLoad && !this.parent.isDynamicData) {
1349
+ this.parent.setRecordValue('taskData.' + mapping, value, task);
1350
+ }
1351
+ this.parent.isDynamicData = false;
1341
1352
  };
1342
1353
  TaskProcessor.prototype.getDurationInDay = function (duration, durationUnit) {
1343
1354
  if (durationUnit === 'day') {
@@ -2160,7 +2171,13 @@ var TaskProcessor = /** @class */ (function (_super) {
2160
2171
  continue;
2161
2172
  }
2162
2173
  var startDate = this.getValidStartDate(childData.ganttProperties);
2174
+ if (parentData.hasChildRecords && !ganttProp.isAutoSchedule && !isNullOrUndefined(childData.ganttProperties.autoStartDate)) {
2175
+ startDate = childData.ganttProperties.autoStartDate;
2176
+ }
2163
2177
  var endDate = this.getValidEndDate(childData.ganttProperties);
2178
+ if (parentData.hasChildRecords && !ganttProp.isAutoSchedule && !isNullOrUndefined(childData.ganttProperties.autoEndDate)) {
2179
+ endDate = childData.ganttProperties.autoEndDate;
2180
+ }
2164
2181
  if (isNullOrUndefined(minStartDate)) {
2165
2182
  minStartDate = this.getDateFromFormat(startDate);
2166
2183
  }
@@ -297,6 +297,9 @@ var GanttTreeGrid = /** @class */ (function () {
297
297
  if (getValue('requestType', args) === 'refresh' && isNullOrUndefined(getValue('type', args)) && this.parent.addDeleteRecord) {
298
298
  if (this.parent.selectedRowIndex != -1) {
299
299
  this.parent.selectRow(this.parent.selectedRowIndex);
300
+ if (this.parent.selectedRowIndex > this.parent.currentViewData.length - 1) {
301
+ this.parent.selectedRowIndex = -1;
302
+ }
300
303
  }
301
304
  else {
302
305
  this.parent.selectRow(0);
@@ -817,6 +817,9 @@ var Timeline = /** @class */ (function () {
817
817
  parentTr = this.getHeaterTemplateString(new Date(startDate.toString()), mode, tier, false, count, timelineCell);
818
818
  scheduleDateCollection.push(new Date(startDate.toString()));
819
819
  increment = this.getIncrement(startDate, count, mode);
820
+ if (this.parent.isInDst(startDate)) {
821
+ increment = increment + (1000 * 60 * 60);
822
+ }
820
823
  newTime = startDate.getTime() + increment;
821
824
  startDate.setTime(newTime);
822
825
  if (startDate >= endDate) {
@@ -880,11 +883,19 @@ var Timeline = /** @class */ (function () {
880
883
  dayIntervel - 1 : dayIntervel : dayIntervel;
881
884
  lastDay.setDate(lastDay.getDate() + (dayIntervel + (7 * count)));
882
885
  increment = lastDay.getTime() - firstDay.getTime();
886
+ if ((this.parent.isInDst(lastDay) && !this.parent.isInDst(firstDay)) ||
887
+ (!this.parent.isInDst(lastDay) && this.parent.isInDst(firstDay))) {
888
+ increment = increment - (1000 * 60 * 60);
889
+ }
883
890
  break;
884
891
  }
885
892
  case 'Day':
886
893
  lastDay.setHours(24, 0, 0, 0);
887
894
  increment = (lastDay.getTime() - firstDay.getTime()) + (1000 * 60 * 60 * 24 * (count - 1));
895
+ if ((this.parent.isInDst(lastDay) && !this.parent.isInDst(firstDay)) ||
896
+ (!this.parent.isInDst(lastDay) && this.parent.isInDst(firstDay))) {
897
+ increment -= (1000 * 60 * 60);
898
+ }
888
899
  break;
889
900
  case 'Hour':
890
901
  lastDay.setMinutes(60);
@@ -979,7 +990,12 @@ var Timeline = /** @class */ (function () {
979
990
  * @private
980
991
  */
981
992
  Timeline.prototype.calculateWidthBetweenTwoDate = function (mode, scheduleWeeks, endDate) {
982
- var balanceDay = ((endDate.getTime() - scheduleWeeks.getTime()) / (1000 * 60 * 60 * 24));
993
+ var timeDifference = (endDate.getTime() - scheduleWeeks.getTime());
994
+ if ((this.parent.isInDst(scheduleWeeks) && !this.parent.isInDst(endDate)) ||
995
+ (!this.parent.isInDst(scheduleWeeks) && this.parent.isInDst(endDate))) {
996
+ timeDifference = timeDifference - (1000 * 60 * 60);
997
+ }
998
+ var balanceDay = (timeDifference / (1000 * 60 * 60 * 24));
983
999
  return balanceDay * this.parent.perDayWidth;
984
1000
  };
985
1001
  /**
@@ -181,6 +181,8 @@
181
181
  border-left-width: 0;
182
182
  }
183
183
 
184
+ /*! Toolbar's bootstrap5 theme wise override definitions and variables */
185
+ /*! Tab's bootstrap5 theme wise override definitions and variables */
184
186
  /*! Horizontal Tab */
185
187
  /*! Bootstrap specific themes definition's */
186
188
  /*! Vertical Tab */
@@ -1608,21 +1610,21 @@
1608
1610
  .e-gantt .e-gantt-chart .e-left-label-temp-container {
1609
1611
  color: #ced4da;
1610
1612
  font-size: 14px;
1611
- padding-right: 16px;
1613
+ padding-right: 25px;
1612
1614
  }
1613
1615
 
1614
1616
  .e-gantt .e-gantt-chart .e-right-label-temp-container {
1615
1617
  color: #ced4da;
1616
1618
  font-size: 14px;
1617
- margin-left: 16px;
1619
+ margin-left: 25px;
1618
1620
  }
1619
1621
 
1620
1622
  .e-gantt .e-gantt-chart .e-right-label-container {
1621
- margin-left: 16px;
1623
+ margin-left: 25px;
1622
1624
  }
1623
1625
 
1624
1626
  .e-gantt .e-gantt-chart .e-left-label-container {
1625
- padding-right: 16px;
1627
+ padding-right: 25px;
1626
1628
  }
1627
1629
 
1628
1630
  .e-gantt .e-gantt-chart .e-connectorpoint-right {
@@ -181,6 +181,8 @@
181
181
  border-left-width: 0;
182
182
  }
183
183
 
184
+ /*! Toolbar's bootstrap5 theme wise override definitions and variables */
185
+ /*! Tab's bootstrap5 theme wise override definitions and variables */
184
186
  /*! Horizontal Tab */
185
187
  /*! Bootstrap specific themes definition's */
186
188
  /*! Vertical Tab */
@@ -1608,21 +1610,21 @@
1608
1610
  .e-gantt .e-gantt-chart .e-left-label-temp-container {
1609
1611
  color: #495057;
1610
1612
  font-size: 14px;
1611
- padding-right: 16px;
1613
+ padding-right: 25px;
1612
1614
  }
1613
1615
 
1614
1616
  .e-gantt .e-gantt-chart .e-right-label-temp-container {
1615
1617
  color: #495057;
1616
1618
  font-size: 14px;
1617
- margin-left: 16px;
1619
+ margin-left: 25px;
1618
1620
  }
1619
1621
 
1620
1622
  .e-gantt .e-gantt-chart .e-right-label-container {
1621
- margin-left: 16px;
1623
+ margin-left: 25px;
1622
1624
  }
1623
1625
 
1624
1626
  .e-gantt .e-gantt-chart .e-left-label-container {
1625
- padding-right: 16px;
1627
+ padding-right: 25px;
1626
1628
  }
1627
1629
 
1628
1630
  .e-gantt .e-gantt-chart .e-connectorpoint-right {
@@ -637,7 +637,7 @@
637
637
  }
638
638
 
639
639
  .e-gantt .e-gantt-chart .e-gantt-split-container-line {
640
- border-color: inherit;
640
+ border-color: #a9a9a9;
641
641
  border-top-style: dotted;
642
642
  border-top-width: 2px;
643
643
  height: 0;
@@ -142,6 +142,7 @@ $gantt-header-font-weight: 500 !default;
142
142
  $gantt-drag-clone-font-weight: $gantt-header-font-weight !default;
143
143
  $gantt-drag-clone-opacity: 1 !default;
144
144
  $gantt-group-clone-text-align: center !default;
145
+ $grid-grey-base: #000 !default;
145
146
  $gantt-clone-prop-box-shadow: 0 6px 12px rgba($grid-grey-base, .175) !default;
146
147
  $gantt-drag-clone-bg-color: $content-bg !default;
147
148
  $gantt-drag-clone-border-color: #ddd !default;
@@ -104,7 +104,7 @@ $gantt-parent-task-bar-border: 1px solid $border-dark !default;
104
104
  $gantt-progress-bar-left-radius: 2px !default;
105
105
  $gantt-unscheduled-taskbar-left-radius: 0px !default;
106
106
  $gantt-connector-point-right-margin-left: 2px !default;
107
- $gantt-right-label-container-margin-left: 16px !default;
107
+ $gantt-right-label-container-margin-left: 25px !default;
108
108
  $gantt-task-label-font-size: 12px !default;
109
109
  $gantt-label-font-size: 14px !default;
110
110
  $gantt-bigger-label-font-size: 16px !default;
@@ -154,4 +154,5 @@ $gantt-active-container-border: $neutral-secondary !default;
154
154
  $grid-active-container-border: 0 0 0 1px $neutral-secondary inset !default;
155
155
  $gantt-collapse-progress-width: 0px !important;
156
156
  $rangecontainer-border-color: #FC7A05;
157
- $gantt-range-container-arc-radius: 0px !default;
157
+ $gantt-range-container-arc-radius: 0px !default;
158
+ $gantt-active-background-color: #a9a9a9;