@syncfusion/ej2-gantt 19.2.62 → 19.3.46

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 (83) hide show
  1. package/.eslintrc.json +1 -1
  2. package/CHANGELOG.md +38 -0
  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 +124 -105
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +127 -107
  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/cell-edit.js +1 -0
  14. package/src/gantt/actions/dialog-edit.js +6 -1
  15. package/src/gantt/actions/edit.js +12 -5
  16. package/src/gantt/actions/filter.js +1 -1
  17. package/src/gantt/actions/taskbar-edit.js +3 -3
  18. package/src/gantt/base/gantt-chart.js +1 -1
  19. package/src/gantt/base/gantt-model.d.ts +3 -30
  20. package/src/gantt/base/gantt.d.ts +2 -30
  21. package/src/gantt/base/gantt.js +59 -4
  22. package/src/gantt/base/interface.d.ts +4 -22
  23. package/src/gantt/base/splitter.js +7 -2
  24. package/src/gantt/base/task-processor.js +11 -3
  25. package/src/gantt/base/tree-grid.js +8 -2
  26. package/src/gantt/base/utils.js +2 -2
  27. package/src/gantt/export/export-helper.js +12 -14
  28. package/src/gantt/models/column.d.ts +11 -6
  29. package/src/gantt/models/day-working-time-model.d.ts +0 -4
  30. package/src/gantt/models/day-working-time.d.ts +0 -4
  31. package/src/gantt/models/selection-settings-model.d.ts +0 -4
  32. package/src/gantt/models/selection-settings.d.ts +0 -4
  33. package/src/gantt/renderer/chart-rows.d.ts +0 -1
  34. package/src/gantt/renderer/chart-rows.js +3 -71
  35. package/src/gantt/renderer/nonworking-day.js +1 -1
  36. package/styles/bootstrap-dark.css +17 -0
  37. package/styles/bootstrap.css +17 -0
  38. package/styles/bootstrap4.css +22 -0
  39. package/styles/bootstrap5-dark.css +1922 -0
  40. package/styles/bootstrap5-dark.scss +1 -0
  41. package/styles/bootstrap5.css +1922 -0
  42. package/styles/bootstrap5.scss +1 -0
  43. package/styles/fabric-dark.css +17 -0
  44. package/styles/fabric.css +17 -0
  45. package/styles/gantt/_bootstrap-dark-definition.scss +3 -0
  46. package/styles/gantt/_bootstrap-definition.scss +3 -0
  47. package/styles/gantt/_bootstrap4-definition.scss +3 -0
  48. package/styles/gantt/_bootstrap5-dark-definition.scss +1 -0
  49. package/styles/gantt/_bootstrap5-definition.scss +164 -0
  50. package/styles/gantt/_fabric-dark-definition.scss +3 -0
  51. package/styles/gantt/_fabric-definition.scss +3 -0
  52. package/styles/gantt/_highcontrast-definition.scss +3 -0
  53. package/styles/gantt/_highcontrast-light-definition.scss +3 -0
  54. package/styles/gantt/_layout.scss +15 -3
  55. package/styles/gantt/_material-dark-definition.scss +3 -0
  56. package/styles/gantt/_material-definition.scss +3 -0
  57. package/styles/gantt/_tailwind-dark-definition.scss +1 -156
  58. package/styles/gantt/_tailwind-definition.scss +67 -60
  59. package/styles/gantt/_theme.scss +8 -1
  60. package/styles/gantt/bootstrap-dark.css +17 -0
  61. package/styles/gantt/bootstrap.css +17 -0
  62. package/styles/gantt/bootstrap4.css +22 -0
  63. package/styles/gantt/bootstrap5-dark.css +1922 -0
  64. package/styles/gantt/bootstrap5-dark.scss +22 -0
  65. package/styles/gantt/bootstrap5.css +1922 -0
  66. package/styles/gantt/bootstrap5.scss +22 -0
  67. package/styles/gantt/fabric-dark.css +17 -0
  68. package/styles/gantt/fabric.css +17 -0
  69. package/styles/gantt/highcontrast-light.css +17 -0
  70. package/styles/gantt/highcontrast.css +17 -0
  71. package/styles/gantt/icons/_bootstrap5-dark.scss +1 -0
  72. package/styles/gantt/icons/_bootstrap5.scss +112 -0
  73. package/styles/gantt/icons/_tailwind-dark.scss +112 -112
  74. package/styles/gantt/material-dark.css +19 -2
  75. package/styles/gantt/material.css +17 -0
  76. package/styles/gantt/tailwind-dark.css +41 -25
  77. package/styles/gantt/tailwind.css +39 -23
  78. package/styles/highcontrast-light.css +17 -0
  79. package/styles/highcontrast.css +17 -0
  80. package/styles/material-dark.css +19 -2
  81. package/styles/material.css +17 -0
  82. package/styles/tailwind-dark.css +41 -25
  83. package/styles/tailwind.css +39 -23
@@ -1,7 +1,7 @@
1
- import { Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, addClass, append, classList, closest, compile, createElement, deleteObject, extend, formatUnit, getValue, isNullOrUndefined, isObject, isObjectArray, isUndefined, merge, remove, removeClass, resetBlazorTemplate, setValue, updateBlazorTemplate } from '@syncfusion/ej2-base';
1
+ import { Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, addClass, append, classList, closest, compile, createElement, deleteObject, extend, formatUnit, getValue, isNullOrUndefined, isObject, isObjectArray, isUndefined, merge, remove, removeClass, setValue } from '@syncfusion/ej2-base';
2
2
  import { Dialog, Tooltip, createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
3
3
  import { Edit, ForeignKey, Grid, Page, Predicate, Toolbar, ValueFormatter, click, filterAfterOpen, getActualProperties, getCustomDateFormat, getFilterMenuPostion, getForeignData, getObject, getUid, parentsUntil, setCssInGridPopUp } from '@syncfusion/ej2-grids';
4
- import { CacheAdaptor, DataManager, DataUtil, Deferred, JsonAdaptor, ODataAdaptor, ODataV4Adaptor, Query, RemoteSaveAdaptor, UrlAdaptor, WebApiAdaptor, WebMethodAdaptor } from '@syncfusion/ej2-data';
4
+ import { CacheAdaptor, DataManager, DataUtil, Deferred, ODataAdaptor, ODataV4Adaptor, Query, RemoteSaveAdaptor, UrlAdaptor, WebApiAdaptor, WebMethodAdaptor } from '@syncfusion/ej2-data';
5
5
  import { ColumnMenu, ContextMenu, Edit as Edit$1, ExcelExport, Filter, Reorder, Resize, RowDD, Selection, Sort, TreeGrid, VirtualScroll } from '@syncfusion/ej2-treegrid';
6
6
  import { Splitter } from '@syncfusion/ej2-layouts';
7
7
  import { ContextMenu as ContextMenu$1, Tab, Toolbar as Toolbar$1 } from '@syncfusion/ej2-navigations';
@@ -86,7 +86,7 @@ function isRemoteData(dataSource) {
86
86
  return (adaptor instanceof ODataAdaptor || (adaptor instanceof ODataV4Adaptor) ||
87
87
  (adaptor instanceof WebApiAdaptor) || (adaptor instanceof WebMethodAdaptor) ||
88
88
  (adaptor instanceof CacheAdaptor) || (adaptor instanceof RemoteSaveAdaptor) ||
89
- (adaptor instanceof JsonAdaptor) || adaptor instanceof UrlAdaptor);
89
+ adaptor instanceof UrlAdaptor);
90
90
  }
91
91
  return false;
92
92
  }
@@ -1856,6 +1856,7 @@ var TaskProcessor = /** @__PURE__ @class */ (function (_super) {
1856
1856
  this.parent.setRecordValue('isAutoSchedule', autoSchedule, ganttProperties, true);
1857
1857
  this.parent.setRecordValue('resourceInfo', this.setResourceInfo(data), ganttProperties, true);
1858
1858
  this.parent.setRecordValue('isMilestone', false, ganttProperties, true);
1859
+ this.parent.setRecordValue('indicators', data[taskSettings.indicators], ganttProperties, true);
1859
1860
  this.updateResourceName(ganttData);
1860
1861
  this.calculateScheduledValues(ganttData, data, isLoad);
1861
1862
  this.parent.setRecordValue('baselineStartDate', this.checkBaselineStartDate(baselineStartDate), ganttProperties, true);
@@ -1867,7 +1868,6 @@ var TaskProcessor = /** @__PURE__ @class */ (function (_super) {
1867
1868
  this.parent.setRecordValue('progress', progress, ganttProperties, true);
1868
1869
  this.parent.setRecordValue('totalProgress', progress, ganttProperties, true);
1869
1870
  this.parent.setRecordValue('predecessorsName', predecessors, ganttProperties, true);
1870
- this.parent.setRecordValue('indicators', data[taskSettings.indicators], ganttProperties, true);
1871
1871
  this.parent.setRecordValue('notes', notes, ganttProperties, true);
1872
1872
  this.parent.setRecordValue('cssClass', data[taskSettings.cssClass], ganttProperties, true);
1873
1873
  this.parent.setRecordValue('parentItem', this.getCloneParent(parentItem), ganttData);
@@ -2142,6 +2142,7 @@ var TaskProcessor = /** @__PURE__ @class */ (function (_super) {
2142
2142
  }
2143
2143
  };
2144
2144
  TaskProcessor.prototype.addTaskData = function (ganttData, data, isLoad) {
2145
+ var _this = this;
2145
2146
  var taskSettings = this.parent.taskFields;
2146
2147
  var dataManager = this.parent.dataSource;
2147
2148
  if (isLoad) {
@@ -2150,8 +2151,15 @@ var TaskProcessor = /** @__PURE__ @class */ (function (_super) {
2150
2151
  if (taskSettings.parentID) {
2151
2152
  var id = data[taskSettings.id];
2152
2153
  var index = this.taskIds.indexOf(id.toString());
2153
- var tempData = (index > -1) ? this.dataArray[index] : {};
2154
- this.parent.setRecordValue('taskData', tempData, ganttData);
2154
+ var tempData_1 = (index > -1) ? this.dataArray[index] : {};
2155
+ if (!isNullOrUndefined(this.parent.taskFields.segmentId)) {
2156
+ var segmentDataCollection = this.segmentCollection.
2157
+ filter(function (x) { return x.key === tempData_1[_this.parent.taskFields.id]; });
2158
+ if (segmentDataCollection.length > 0) {
2159
+ tempData_1[this.parent.taskFields.segments] = segmentDataCollection[0].items;
2160
+ }
2161
+ }
2162
+ this.parent.setRecordValue('taskData', tempData_1, ganttData);
2155
2163
  }
2156
2164
  else {
2157
2165
  this.parent.setRecordValue('taskData', data, ganttData);
@@ -4277,7 +4285,7 @@ var GanttChart = /** @__PURE__ @class */ (function () {
4277
4285
  GanttChart.prototype.updateWidthAndHeight = function () {
4278
4286
  //empty row height
4279
4287
  var emptydivHeight = 36;
4280
- var emptyHeight = this.parent.contentHeight === 0 ? emptydivHeight : this.parent.contentHeight;
4288
+ var emptyHeight = this.parent.contentHeight === 0 ? this.parent.flatData.length > 1 ? emptydivHeight : 0 : this.parent.contentHeight;
4281
4289
  this.chartBodyContent.style.height = formatUnit(emptyHeight);
4282
4290
  //let element: HTMLElement = this.chartTimelineContainer.querySelector('.' + cls.timelineHeaderTableContainer);
4283
4291
  this.chartBodyContent.style.width = formatUnit(this.parent.timelineModule.totalTimelineWidth);
@@ -6926,8 +6934,14 @@ var GanttTreeGrid = /** @__PURE__ @class */ (function () {
6926
6934
  setValue('action', 'CellEditing', updatedArgs);
6927
6935
  this.parent.isCancelled = false;
6928
6936
  }
6929
- if (getValue('requestType', args) === 'refresh' && isNullOrUndefined(getValue('type', args))) {
6930
- this.parent.selectRow(this.parent.selectedRowIndex);
6937
+ if (getValue('requestType', args) === 'refresh' && isNullOrUndefined(getValue('type', args)) && this.parent.addDeleteRecord) {
6938
+ if (this.parent.selectedRowIndex != -1) {
6939
+ this.parent.selectRow(this.parent.selectedRowIndex);
6940
+ }
6941
+ else {
6942
+ this.parent.selectRow(0);
6943
+ }
6944
+ this.parent.addDeleteRecord = false;
6931
6945
  }
6932
6946
  this.parent.trigger('actionComplete', updatedArgs);
6933
6947
  };
@@ -8264,7 +8278,7 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
8264
8278
  labelString = this.getTaskLabel(this.parent.labelSettings.taskLabel);
8265
8279
  labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
8266
8280
  }
8267
- if (labelString) {
8281
+ if (labelString !== 'null') {
8268
8282
  taskLabel$$1 = '<span class="' + taskLabel + '" style="line-height:' +
8269
8283
  (this.taskBarHeight - 1) + 'px; text-align:' + (this.parent.viewType === 'ResourceView' ? 'left;' : '') +
8270
8284
  'display:' + (this.parent.viewType === 'ResourceView' ? 'inline-flex;' : '') +
@@ -8867,7 +8881,7 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
8867
8881
  labelString = this.getTaskLabel(this.parent.labelSettings.taskLabel);
8868
8882
  labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
8869
8883
  }
8870
- if (labelString !== '') {
8884
+ if (labelString !== 'null') {
8871
8885
  labelDiv = this.createDivElement('<span class="' +
8872
8886
  taskLabel + '" style="line-height:' +
8873
8887
  (this.taskBarHeight - 1) + 'px; display:' + (this.parent.viewType === 'ResourceView' ? 'inline-flex;' : '') + 'width:' +
@@ -8956,70 +8970,6 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
8956
8970
  var ganttID = this.parent.element.id;
8957
8971
  return ganttID + templateName;
8958
8972
  };
8959
- ChartRows.prototype.updateTaskbarBlazorTemplate = function (isUpdate, ganttData) {
8960
- var isMilestone = true;
8961
- var isParent = true;
8962
- var isChild = true;
8963
- if (ganttData) {
8964
- if (ganttData.ganttProperties.isMilestone) {
8965
- isParent = isChild = false;
8966
- }
8967
- else if (ganttData.hasChildRecords) {
8968
- isMilestone = isChild = false;
8969
- }
8970
- else if (!ganttData.hasChildRecords) {
8971
- isParent = isMilestone = false;
8972
- }
8973
- }
8974
- if (this.parentTaskbarTemplateFunction && isParent) {
8975
- if (isUpdate) {
8976
- updateBlazorTemplate(this.getTemplateID('ParentTaskbarTemplate'), 'ParentTaskbarTemplate', this.parent, false);
8977
- }
8978
- else {
8979
- resetBlazorTemplate(this.getTemplateID('ParentTaskbarTemplate'), 'ParentTaskbarTemplate');
8980
- }
8981
- }
8982
- if (this.childTaskbarTemplateFunction && isChild) {
8983
- if (isUpdate) {
8984
- updateBlazorTemplate(this.getTemplateID('TaskbarTemplate'), 'TaskbarTemplate', this.parent, false);
8985
- }
8986
- else {
8987
- resetBlazorTemplate(this.getTemplateID('TaskbarTemplate'), 'TaskbarTemplate');
8988
- }
8989
- }
8990
- if (this.milestoneTemplateFunction && isMilestone) {
8991
- if (isUpdate) {
8992
- updateBlazorTemplate(this.getTemplateID('MilestoneTemplate'), 'MilestoneTemplate', this.parent, false);
8993
- }
8994
- else {
8995
- resetBlazorTemplate(this.getTemplateID('MilestoneTemplate'), 'MilestoneTemplate');
8996
- }
8997
- }
8998
- if (this.leftTaskLabelTemplateFunction) {
8999
- if (isUpdate) {
9000
- updateBlazorTemplate(this.getTemplateID('LeftLabelTemplate'), 'LeftLabelTemplate', this.parent.labelSettings, false);
9001
- }
9002
- else {
9003
- resetBlazorTemplate(this.getTemplateID('LeftLabelTemplate'), 'LeftLabelTemplate');
9004
- }
9005
- }
9006
- if (this.rightTaskLabelTemplateFunction) {
9007
- if (isUpdate) {
9008
- updateBlazorTemplate(this.getTemplateID('RightLabelTemplate'), 'RightLabelTemplate', this.parent.labelSettings, false);
9009
- }
9010
- else {
9011
- resetBlazorTemplate(this.getTemplateID('RightLabelTemplate'), 'RightLabelTemplate');
9012
- }
9013
- }
9014
- if (this.taskLabelTemplateFunction && (isParent || isChild)) {
9015
- if (isUpdate) {
9016
- updateBlazorTemplate(this.getTemplateID('TaskLabelTemplate'), 'TaskLabelTemplate', this.parent.labelSettings, false);
9017
- }
9018
- else {
9019
- resetBlazorTemplate(this.getTemplateID('TaskLabelTemplate'), 'TaskLabelTemplate');
9020
- }
9021
- }
9022
- };
9023
8973
  ChartRows.prototype.leftLabelContainer = function () {
9024
8974
  var template = '<div class="' + ((this.leftTaskLabelTemplateFunction) ? leftLabelTempContainer :
9025
8975
  leftLabelContainer) + ' ' + '" tabindex="-1" style="height:' +
@@ -9311,7 +9261,6 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
9311
9261
  * @private
9312
9262
  */
9313
9263
  ChartRows.prototype.createTaskbarTemplate = function () {
9314
- this.updateTaskbarBlazorTemplate(false);
9315
9264
  var trs = [].slice.call(this.ganttChartTableBody.querySelectorAll('tr'));
9316
9265
  this.ganttChartTableBody.innerHTML = '';
9317
9266
  var collapsedResourceRecord = [];
@@ -9370,7 +9319,6 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
9370
9319
  }
9371
9320
  }
9372
9321
  this.parent.renderTemplates();
9373
- this.updateTaskbarBlazorTemplate(true);
9374
9322
  };
9375
9323
  /**
9376
9324
  * To render taskbars.
@@ -9787,7 +9735,6 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
9787
9735
  */
9788
9736
  ChartRows.prototype.refreshRecords = function (items, isValidateRange) {
9789
9737
  if (this.parent.isGanttChartRendered) {
9790
- this.updateTaskbarBlazorTemplate(false);
9791
9738
  this.parent.renderTemplates();
9792
9739
  if (this.parent.viewType === 'ResourceView' && this.parent.enableMultiTaskbar) {
9793
9740
  var sortedRecords = [];
@@ -9800,7 +9747,6 @@ var ChartRows = /** @__PURE__ @class */ (function (_super) {
9800
9747
  this.refreshRow(index, isValidateRange);
9801
9748
  }
9802
9749
  this.parent.ganttChartModule.updateLastRowBottomWidth();
9803
- this.updateTaskbarBlazorTemplate(true);
9804
9750
  }
9805
9751
  };
9806
9752
  ChartRows.prototype.removeEventListener = function () {
@@ -11600,8 +11546,13 @@ var Splitter$1 = /** @__PURE__ @class */ (function () {
11600
11546
  return this.getSpliterPositionInPercentage(splitter$$1.position);
11601
11547
  }
11602
11548
  else if (!isNullOrUndefined(splitter$$1.columnIndex) && splitter$$1.columnIndex >= 0) {
11603
- return isDynamic ? this.getSpliterPositionInPercentage(this.getTotalColumnWidthByIndex(splitter$$1.columnIndex).toString() + 'px') :
11604
- this.getSpliterPositionInPercentage((splitter$$1.columnIndex * 150) + 'px');
11549
+ if ((splitter$$1.columnIndex * 150) < this.parent.ganttWidth || !this.parent.element.classList.contains('e-device')) {
11550
+ return isDynamic ? this.getSpliterPositionInPercentage(this.getTotalColumnWidthByIndex(splitter$$1.columnIndex).toString() + 'px') :
11551
+ this.getSpliterPositionInPercentage((splitter$$1.columnIndex * 150) + 'px');
11552
+ }
11553
+ else {
11554
+ return this.getSpliterPositionInPercentage((splitter$$1.columnIndex * 130) + 'px');
11555
+ }
11605
11556
  }
11606
11557
  else {
11607
11558
  return this.getSpliterPositionInPercentage('250px');
@@ -12450,6 +12401,8 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
12450
12401
  /** @hidden */
12451
12402
  _this.showActiveElement = true;
12452
12403
  /** @hidden */
12404
+ _this.addDeleteRecord = false;
12405
+ /** @hidden */
12453
12406
  _this.enableHeaderFocus = true;
12454
12407
  /** @hidden */
12455
12408
  _this.enableValidation = true;
@@ -12636,7 +12589,19 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
12636
12589
  * @returns {void} .
12637
12590
  */
12638
12591
  Gantt.prototype.calculateDimensions = function () {
12639
- var settingsHeight = this.validateDimentionValue(this.height);
12592
+ var settingsHeight;
12593
+ if (typeof (this.height) !== 'number' && this.height.indexOf('%') !== -1 && (this.element.parentElement &&
12594
+ !this.element.parentElement.style.height)) {
12595
+ var ganttHeight = Number(this.height.split("%")[0]);
12596
+ ganttHeight = (ganttHeight * window.innerHeight) / 100;
12597
+ if (this.height === '100%') {
12598
+ ganttHeight = ganttHeight - 16;
12599
+ }
12600
+ settingsHeight = this.validateDimentionValue(ganttHeight);
12601
+ }
12602
+ else {
12603
+ settingsHeight = this.validateDimentionValue(this.height);
12604
+ }
12640
12605
  var settingsWidth = this.validateDimentionValue(this.width);
12641
12606
  if (!isNullOrUndefined(this.width) && typeof (this.width) === 'string' && this.width.indexOf('%') !== -1) {
12642
12607
  settingsWidth = this.width;
@@ -12777,6 +12742,33 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
12777
12742
  */
12778
12743
  Gantt.prototype.windowResize = function () {
12779
12744
  if (!isNullOrUndefined(this.element)) {
12745
+ var settingsHeight = void 0;
12746
+ if (this.height.indexOf('%') !== -1) {
12747
+ var ganttHeight = Number(this.height.split("%")[0]);
12748
+ if (this.element.parentElement && this.element.parentElement.style.height) {
12749
+ var containerHeight = Number(this.element.parentElement.style.height.split("px")[0]);
12750
+ ganttHeight = (ganttHeight * containerHeight) / 100;
12751
+ }
12752
+ else {
12753
+ ganttHeight = Number(this.height.split("%")[0]);
12754
+ ganttHeight = (ganttHeight * window.innerHeight) / 100;
12755
+ }
12756
+ if (this.height === '100%') {
12757
+ ganttHeight = ganttHeight - 16;
12758
+ }
12759
+ var toolbarHeight = 0;
12760
+ if (!isNullOrUndefined(this.toolbarModule) && !isNullOrUndefined(this.toolbarModule.element)) {
12761
+ toolbarHeight = this.toolbarModule.element.offsetHeight;
12762
+ }
12763
+ var contentHeight = ganttHeight - this.ganttChartModule.chartTimelineContainer.offsetHeight - toolbarHeight;
12764
+ settingsHeight = this.validateDimentionValue(ganttHeight);
12765
+ this.element.style.height = settingsHeight;
12766
+ this.element.querySelectorAll('.e-content')[0]['style'].height = contentHeight + 'px';
12767
+ this.element.querySelectorAll('.e-content')[2]['style'].height = contentHeight + 'px';
12768
+ }
12769
+ else {
12770
+ settingsHeight = this.validateDimentionValue(this.height);
12771
+ }
12780
12772
  this.updateContentHeight();
12781
12773
  this.ganttChartModule.updateWidthAndHeight(); // Updating chart scroll conatiner height for row mismatch
12782
12774
  this.treeGridModule.ensureScrollBar();
@@ -13684,6 +13676,23 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
13684
13676
  this.treeGrid.height = this.ganttHeight - toolbarHeight -
13685
13677
  this.treeGrid.grid.getHeaderContent().offsetHeight;
13686
13678
  this.splitterModule.splitterObject.height = (this.ganttHeight - toolbarHeight).toString();
13679
+ if (!isNullOrUndefined(this.chartVerticalLineContainer)) {
13680
+ this.chartVerticalLineContainer.style.height = this.ganttHeight + 'px';
13681
+ }
13682
+ if (!isNullOrUndefined(this.dayMarkersModule)) {
13683
+ var holidayContainer$$1 = getValue('nonworkingDayRender.holidayContainer', this.dayMarkersModule);
13684
+ var weekendContainer$$1 = getValue('nonworkingDayRender.weekendContainer', this.dayMarkersModule);
13685
+ var eventMarkersContainer$$1 = getValue('eventMarkerRender.eventMarkersContainer', this.dayMarkersModule);
13686
+ if (holidayContainer$$1) {
13687
+ holidayContainer$$1.style.height = this.ganttHeight + 'px';
13688
+ }
13689
+ if (weekendContainer$$1) {
13690
+ weekendContainer$$1.style.height = this.ganttHeight + 'px';
13691
+ }
13692
+ if (eventMarkersContainer$$1) {
13693
+ eventMarkersContainer$$1.style.height = this.ganttHeight + 'px';
13694
+ }
13695
+ }
13687
13696
  this.splitterModule.splitterObject.width = this.ganttWidth.toString();
13688
13697
  this.ganttChartModule.scrollObject.
13689
13698
  setHeight(this.ganttHeight - this.ganttChartModule.chartTimelineContainer.offsetHeight - toolbarHeight);
@@ -13960,7 +13969,6 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
13960
13969
  * @param {workbook} workbook - Defines the Workbook if multiple export is enabled.
13961
13970
  * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
13962
13971
  * @returns {Promise<any>} .
13963
- * @blazorType void
13964
13972
  */
13965
13973
  Gantt.prototype.excelExport = function (excelExportProperties, isMultipleExport,
13966
13974
  /* eslint-disable-next-line */
@@ -13975,7 +13983,6 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
13975
13983
  * @param {workbook} workbook - Defines the Workbook if multiple export is enabled.
13976
13984
  * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
13977
13985
  * @returns {Promise<any>} .
13978
- * @blazorType void
13979
13986
  */
13980
13987
  Gantt.prototype.csvExport = function (excelExportProperties,
13981
13988
  /* eslint-disable-next-line */
@@ -13989,7 +13996,6 @@ var Gantt = /** @__PURE__ @class */ (function (_super) {
13989
13996
  * @param {isMultipleExport} isMultipleExport - Define to enable multiple export.
13990
13997
  * @param {pdfDoc} pdfDoc - Defined the Pdf Document if multiple export is enabled.
13991
13998
  * @returns {Promise<any>} .
13992
- * @blazorType void
13993
13999
  */
13994
14000
  Gantt.prototype.pdfExport = function (pdfExportProperties, isMultipleExport, pdfDoc) {
13995
14001
  return this.pdfExportModule ? this.pdfExportModule.export(pdfExportProperties, isMultipleExport, pdfDoc)
@@ -15978,6 +15984,7 @@ var CellEdit = /** @__PURE__ @class */ (function () {
15978
15984
  this.parent.editModule.dialogModule.isResourceUpdate = true;
15979
15985
  this.parent.editModule.dialogModule.previousResource = previousResource;
15980
15986
  }
15987
+ this.updateDates(args);
15981
15988
  this.updateEditedRecord(args);
15982
15989
  }
15983
15990
  };
@@ -16575,7 +16582,7 @@ var TaskbarEdit = /** @__PURE__ @class */ (function (_super) {
16575
16582
  */
16576
16583
  TaskbarEdit.prototype.showHideTaskBarEditingElements = function (element, secondElement, fadeConnectorLine) {
16577
16584
  secondElement = secondElement ? secondElement : this.editElement;
16578
- var isShowProgressResizer = true;
16585
+ var isShowProgressResizer = this.parent.taskFields.progress ? true : false;
16579
16586
  if (this.parent.readOnly) {
16580
16587
  return;
16581
16588
  }
@@ -16663,8 +16670,8 @@ var TaskbarEdit = /** @__PURE__ @class */ (function (_super) {
16663
16670
  else if (mouseDownElement.classList.contains(taskBarRightResizer)) {
16664
16671
  action = 'RightResizing';
16665
16672
  }
16666
- else if (mouseDownElement.classList.contains(childProgressResizer) ||
16667
- closest(mouseDownElement, '.' + childProgressResizer)) {
16673
+ else if ((mouseDownElement.classList.contains(childProgressResizer) ||
16674
+ closest(mouseDownElement, '.' + childProgressResizer)) && (this.parent.taskFields.progress)) {
16668
16675
  action = 'ProgressResizing';
16669
16676
  }
16670
16677
  else if (mouseDownElement.classList.contains(connectorPointLeft)) {
@@ -20313,7 +20320,12 @@ var DialogEdit = /** @__PURE__ @class */ (function () {
20313
20320
  var ganttObj = this.parent;
20314
20321
  var rte = notesElement.ej2_instances[0];
20315
20322
  if (this.isEdit) {
20316
- this.parent.setRecordValue('notes', rte.getHtml(), this.rowData.ganttProperties, true);
20323
+ if (ganttObj.columnByField[ganttObj.taskFields.notes].disableHtmlEncode) {
20324
+ this.parent.setRecordValue('notes', rte.getHtml(), this.rowData.ganttProperties, true);
20325
+ }
20326
+ else {
20327
+ this.parent.setRecordValue('notes', rte.getText(), this.rowData.ganttProperties, true);
20328
+ }
20317
20329
  ganttObj.dataOperation.updateMappingData(this.rowData, 'notes');
20318
20330
  }
20319
20331
  else {
@@ -21685,7 +21697,10 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
21685
21697
  if (ganttProp.work > 0 || column === 'work') {
21686
21698
  switch (taskType) {
21687
21699
  case 'FixedUnit':
21688
- if (isAutoSchedule && ganttProp.resourceInfo.length &&
21700
+ if (ganttProp.resourceInfo.length === 0) {
21701
+ return;
21702
+ }
21703
+ else if (isAutoSchedule && ganttProp.resourceInfo.length &&
21689
21704
  (column === 'work' || (column === 'resource'))) {
21690
21705
  this.parent.dataOperation.updateDurationWithWork(currentData);
21691
21706
  }
@@ -22831,6 +22846,7 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
22831
22846
  Edit$$1.prototype.deleteRow = function (tasks) {
22832
22847
  var rowItems = tasks && tasks.length ? tasks :
22833
22848
  this.parent.selectionModule.getSelectedRecords();
22849
+ this.parent.addDeleteRecord = true;
22834
22850
  if (rowItems.length) {
22835
22851
  this.parent.isOnDelete = true;
22836
22852
  rowItems.forEach(function (item) {
@@ -23557,6 +23573,7 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
23557
23573
  // this.parent.connectorLineIds = [];
23558
23574
  // this.parent.predecessorModule.createConnectorLinesCollection(this.parent.flatData);
23559
23575
  this.parent.treeGrid.parentData = [];
23576
+ this.parent.addDeleteRecord = true;
23560
23577
  this.parent.selectedRowIndex = 0;
23561
23578
  this.parent.treeGrid.refresh();
23562
23579
  if (this.parent.enableImmutableMode) {
@@ -23812,7 +23829,12 @@ var Edit$2 = /** @__PURE__ @class */ (function () {
23812
23829
  switch (rowPosition) {
23813
23830
  case 'Top':
23814
23831
  case 'Bottom':
23815
- level = 0;
23832
+ if (this.parent.viewType === "ResourceView") {
23833
+ level = 1;
23834
+ }
23835
+ else {
23836
+ level = 0;
23837
+ }
23816
23838
  break;
23817
23839
  case 'Above':
23818
23840
  case 'Below':
@@ -24654,7 +24676,7 @@ var Filter$1 = /** @__PURE__ @class */ (function () {
24654
24676
  }
24655
24677
  if (treeColumn) {
24656
24678
  treeColumn.allowFiltering = column.allowFiltering;
24657
- treeColumn.filter = column.filter;
24679
+ treeColumn.filter = column.allowFiltering ? column.filter : {};
24658
24680
  }
24659
24681
  };
24660
24682
  /**
@@ -26010,7 +26032,7 @@ var NonWorkingDay = /** @__PURE__ @class */ (function () {
26010
26032
  }
26011
26033
  this.holidayContainer.innerHTML = this.getHolidaysElement().innerHTML;
26012
26034
  }
26013
- else if (this.holidayContainer) {
26035
+ else if (this.holidayContainer && this.holidayContainer.parentNode) {
26014
26036
  remove(this.holidayContainer);
26015
26037
  if (this.nonworkingContainer && this.nonworkingContainer.childNodes.length === 0) {
26016
26038
  remove(this.nonworkingContainer);
@@ -30320,7 +30342,7 @@ var ExportHelper = /** @__PURE__ @class */ (function () {
30320
30342
  var taskFields = this.parent.taskFields;
30321
30343
  var ganttProps = data.ganttProperties;
30322
30344
  if (column.editType === 'datepickeredit' || column.editType === 'datetimepickeredit') {
30323
- cell.value = this.parent.getFormatedDate(data[column.field], this.parent.getDateFormat());
30345
+ cell.value = data[column.field];
30324
30346
  }
30325
30347
  else if (column.field === taskFields.duration) {
30326
30348
  cell.value = this.parent.getDurationString(ganttProps.duration, ganttProps.durationUnit);
@@ -30343,20 +30365,18 @@ var ExportHelper = /** @__PURE__ @class */ (function () {
30343
30365
  else {
30344
30366
  cell.style.format.paragraphIndent = cell.row.level * 10;
30345
30367
  }
30346
- if (this.parent.pdfQueryCellInfo != null) {
30347
- var args = {
30348
- data: data,
30349
- value: cell.value,
30350
- column: column,
30351
- style: cell.style,
30352
- cell: cell
30353
- };
30354
- args.value = this.exportValueFormatter.formatCellValue(args);
30355
- if (this.parent.pdfQueryCellInfo) {
30356
- this.parent.trigger('pdfQueryCellInfo', args);
30357
- }
30358
- cell.value = args.value;
30368
+ var args = {
30369
+ data: data,
30370
+ value: cell.value,
30371
+ column: column,
30372
+ style: cell.style,
30373
+ cell: cell
30374
+ };
30375
+ args.value = this.exportValueFormatter.formatCellValue(args);
30376
+ if (this.parent.pdfQueryCellInfo) {
30377
+ this.parent.trigger('pdfQueryCellInfo', args);
30359
30378
  }
30379
+ cell.value = args.value;
30360
30380
  };
30361
30381
  /**
30362
30382
  * Method for create the taskbar collection for rendering