@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';
@@ -85,7 +85,7 @@ function isRemoteData(dataSource) {
85
85
  return (adaptor instanceof ODataAdaptor || (adaptor instanceof ODataV4Adaptor) ||
86
86
  (adaptor instanceof WebApiAdaptor) || (adaptor instanceof WebMethodAdaptor) ||
87
87
  (adaptor instanceof CacheAdaptor) || (adaptor instanceof RemoteSaveAdaptor) ||
88
- (adaptor instanceof JsonAdaptor) || adaptor instanceof UrlAdaptor);
88
+ adaptor instanceof UrlAdaptor);
89
89
  }
90
90
  return false;
91
91
  }
@@ -1819,6 +1819,7 @@ class TaskProcessor extends DateProcessor {
1819
1819
  this.parent.setRecordValue('isAutoSchedule', autoSchedule, ganttProperties, true);
1820
1820
  this.parent.setRecordValue('resourceInfo', this.setResourceInfo(data), ganttProperties, true);
1821
1821
  this.parent.setRecordValue('isMilestone', false, ganttProperties, true);
1822
+ this.parent.setRecordValue('indicators', data[taskSettings.indicators], ganttProperties, true);
1822
1823
  this.updateResourceName(ganttData);
1823
1824
  this.calculateScheduledValues(ganttData, data, isLoad);
1824
1825
  this.parent.setRecordValue('baselineStartDate', this.checkBaselineStartDate(baselineStartDate), ganttProperties, true);
@@ -1830,7 +1831,6 @@ class TaskProcessor extends DateProcessor {
1830
1831
  this.parent.setRecordValue('progress', progress, ganttProperties, true);
1831
1832
  this.parent.setRecordValue('totalProgress', progress, ganttProperties, true);
1832
1833
  this.parent.setRecordValue('predecessorsName', predecessors, ganttProperties, true);
1833
- this.parent.setRecordValue('indicators', data[taskSettings.indicators], ganttProperties, true);
1834
1834
  this.parent.setRecordValue('notes', notes, ganttProperties, true);
1835
1835
  this.parent.setRecordValue('cssClass', data[taskSettings.cssClass], ganttProperties, true);
1836
1836
  this.parent.setRecordValue('parentItem', this.getCloneParent(parentItem), ganttData);
@@ -2113,6 +2113,13 @@ class TaskProcessor extends DateProcessor {
2113
2113
  const id = data[taskSettings.id];
2114
2114
  const index = this.taskIds.indexOf(id.toString());
2115
2115
  const tempData = (index > -1) ? this.dataArray[index] : {};
2116
+ if (!isNullOrUndefined(this.parent.taskFields.segmentId)) {
2117
+ const segmentDataCollection = this.segmentCollection.
2118
+ filter((x) => x.key === tempData[this.parent.taskFields.id]);
2119
+ if (segmentDataCollection.length > 0) {
2120
+ tempData[this.parent.taskFields.segments] = segmentDataCollection[0].items;
2121
+ }
2122
+ }
2116
2123
  this.parent.setRecordValue('taskData', tempData, ganttData);
2117
2124
  }
2118
2125
  else {
@@ -4234,7 +4241,7 @@ class GanttChart {
4234
4241
  updateWidthAndHeight() {
4235
4242
  //empty row height
4236
4243
  const emptydivHeight = 36;
4237
- const emptyHeight = this.parent.contentHeight === 0 ? emptydivHeight : this.parent.contentHeight;
4244
+ const emptyHeight = this.parent.contentHeight === 0 ? this.parent.flatData.length > 1 ? emptydivHeight : 0 : this.parent.contentHeight;
4238
4245
  this.chartBodyContent.style.height = formatUnit(emptyHeight);
4239
4246
  //let element: HTMLElement = this.chartTimelineContainer.querySelector('.' + cls.timelineHeaderTableContainer);
4240
4247
  this.chartBodyContent.style.width = formatUnit(this.parent.timelineModule.totalTimelineWidth);
@@ -6858,8 +6865,14 @@ class GanttTreeGrid {
6858
6865
  setValue('action', 'CellEditing', updatedArgs);
6859
6866
  this.parent.isCancelled = false;
6860
6867
  }
6861
- if (getValue('requestType', args) === 'refresh' && isNullOrUndefined(getValue('type', args))) {
6862
- this.parent.selectRow(this.parent.selectedRowIndex);
6868
+ if (getValue('requestType', args) === 'refresh' && isNullOrUndefined(getValue('type', args)) && this.parent.addDeleteRecord) {
6869
+ if (this.parent.selectedRowIndex != -1) {
6870
+ this.parent.selectRow(this.parent.selectedRowIndex);
6871
+ }
6872
+ else {
6873
+ this.parent.selectRow(0);
6874
+ }
6875
+ this.parent.addDeleteRecord = false;
6863
6876
  }
6864
6877
  this.parent.trigger('actionComplete', updatedArgs);
6865
6878
  }
@@ -7877,7 +7890,7 @@ class ChartRows extends DateProcessor {
7877
7890
  labelString = this.getTaskLabel(this.parent.labelSettings.taskLabel);
7878
7891
  labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
7879
7892
  }
7880
- if (labelString) {
7893
+ if (labelString !== 'null') {
7881
7894
  taskLabel$$1 = '<span class="' + taskLabel + '" style="line-height:' +
7882
7895
  (this.taskBarHeight - 1) + 'px; text-align:' + (this.parent.viewType === 'ResourceView' ? 'left;' : '') +
7883
7896
  'display:' + (this.parent.viewType === 'ResourceView' ? 'inline-flex;' : '') +
@@ -8480,7 +8493,7 @@ class ChartRows extends DateProcessor {
8480
8493
  labelString = this.getTaskLabel(this.parent.labelSettings.taskLabel);
8481
8494
  labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
8482
8495
  }
8483
- if (labelString !== '') {
8496
+ if (labelString !== 'null') {
8484
8497
  labelDiv = this.createDivElement('<span class="' +
8485
8498
  taskLabel + '" style="line-height:' +
8486
8499
  (this.taskBarHeight - 1) + 'px; display:' + (this.parent.viewType === 'ResourceView' ? 'inline-flex;' : '') + 'width:' +
@@ -8569,70 +8582,6 @@ class ChartRows extends DateProcessor {
8569
8582
  const ganttID = this.parent.element.id;
8570
8583
  return ganttID + templateName;
8571
8584
  }
8572
- updateTaskbarBlazorTemplate(isUpdate, ganttData) {
8573
- let isMilestone = true;
8574
- let isParent = true;
8575
- let isChild = true;
8576
- if (ganttData) {
8577
- if (ganttData.ganttProperties.isMilestone) {
8578
- isParent = isChild = false;
8579
- }
8580
- else if (ganttData.hasChildRecords) {
8581
- isMilestone = isChild = false;
8582
- }
8583
- else if (!ganttData.hasChildRecords) {
8584
- isParent = isMilestone = false;
8585
- }
8586
- }
8587
- if (this.parentTaskbarTemplateFunction && isParent) {
8588
- if (isUpdate) {
8589
- updateBlazorTemplate(this.getTemplateID('ParentTaskbarTemplate'), 'ParentTaskbarTemplate', this.parent, false);
8590
- }
8591
- else {
8592
- resetBlazorTemplate(this.getTemplateID('ParentTaskbarTemplate'), 'ParentTaskbarTemplate');
8593
- }
8594
- }
8595
- if (this.childTaskbarTemplateFunction && isChild) {
8596
- if (isUpdate) {
8597
- updateBlazorTemplate(this.getTemplateID('TaskbarTemplate'), 'TaskbarTemplate', this.parent, false);
8598
- }
8599
- else {
8600
- resetBlazorTemplate(this.getTemplateID('TaskbarTemplate'), 'TaskbarTemplate');
8601
- }
8602
- }
8603
- if (this.milestoneTemplateFunction && isMilestone) {
8604
- if (isUpdate) {
8605
- updateBlazorTemplate(this.getTemplateID('MilestoneTemplate'), 'MilestoneTemplate', this.parent, false);
8606
- }
8607
- else {
8608
- resetBlazorTemplate(this.getTemplateID('MilestoneTemplate'), 'MilestoneTemplate');
8609
- }
8610
- }
8611
- if (this.leftTaskLabelTemplateFunction) {
8612
- if (isUpdate) {
8613
- updateBlazorTemplate(this.getTemplateID('LeftLabelTemplate'), 'LeftLabelTemplate', this.parent.labelSettings, false);
8614
- }
8615
- else {
8616
- resetBlazorTemplate(this.getTemplateID('LeftLabelTemplate'), 'LeftLabelTemplate');
8617
- }
8618
- }
8619
- if (this.rightTaskLabelTemplateFunction) {
8620
- if (isUpdate) {
8621
- updateBlazorTemplate(this.getTemplateID('RightLabelTemplate'), 'RightLabelTemplate', this.parent.labelSettings, false);
8622
- }
8623
- else {
8624
- resetBlazorTemplate(this.getTemplateID('RightLabelTemplate'), 'RightLabelTemplate');
8625
- }
8626
- }
8627
- if (this.taskLabelTemplateFunction && (isParent || isChild)) {
8628
- if (isUpdate) {
8629
- updateBlazorTemplate(this.getTemplateID('TaskLabelTemplate'), 'TaskLabelTemplate', this.parent.labelSettings, false);
8630
- }
8631
- else {
8632
- resetBlazorTemplate(this.getTemplateID('TaskLabelTemplate'), 'TaskLabelTemplate');
8633
- }
8634
- }
8635
- }
8636
8585
  leftLabelContainer() {
8637
8586
  const template = '<div class="' + ((this.leftTaskLabelTemplateFunction) ? leftLabelTempContainer :
8638
8587
  leftLabelContainer) + ' ' + '" tabindex="-1" style="height:' +
@@ -8924,7 +8873,6 @@ class ChartRows extends DateProcessor {
8924
8873
  * @private
8925
8874
  */
8926
8875
  createTaskbarTemplate() {
8927
- this.updateTaskbarBlazorTemplate(false);
8928
8876
  const trs = [].slice.call(this.ganttChartTableBody.querySelectorAll('tr'));
8929
8877
  this.ganttChartTableBody.innerHTML = '';
8930
8878
  const collapsedResourceRecord = [];
@@ -8983,7 +8931,6 @@ class ChartRows extends DateProcessor {
8983
8931
  }
8984
8932
  }
8985
8933
  this.parent.renderTemplates();
8986
- this.updateTaskbarBlazorTemplate(true);
8987
8934
  }
8988
8935
  /**
8989
8936
  * To render taskbars.
@@ -9399,7 +9346,6 @@ class ChartRows extends DateProcessor {
9399
9346
  */
9400
9347
  refreshRecords(items, isValidateRange) {
9401
9348
  if (this.parent.isGanttChartRendered) {
9402
- this.updateTaskbarBlazorTemplate(false);
9403
9349
  this.parent.renderTemplates();
9404
9350
  if (this.parent.viewType === 'ResourceView' && this.parent.enableMultiTaskbar) {
9405
9351
  let sortedRecords = [];
@@ -9412,7 +9358,6 @@ class ChartRows extends DateProcessor {
9412
9358
  this.refreshRow(index, isValidateRange);
9413
9359
  }
9414
9360
  this.parent.ganttChartModule.updateLastRowBottomWidth();
9415
- this.updateTaskbarBlazorTemplate(true);
9416
9361
  }
9417
9362
  }
9418
9363
  removeEventListener() {
@@ -11205,8 +11150,13 @@ class Splitter$1 {
11205
11150
  return this.getSpliterPositionInPercentage(splitter$$1.position);
11206
11151
  }
11207
11152
  else if (!isNullOrUndefined(splitter$$1.columnIndex) && splitter$$1.columnIndex >= 0) {
11208
- return isDynamic ? this.getSpliterPositionInPercentage(this.getTotalColumnWidthByIndex(splitter$$1.columnIndex).toString() + 'px') :
11209
- this.getSpliterPositionInPercentage((splitter$$1.columnIndex * 150) + 'px');
11153
+ if ((splitter$$1.columnIndex * 150) < this.parent.ganttWidth || !this.parent.element.classList.contains('e-device')) {
11154
+ return isDynamic ? this.getSpliterPositionInPercentage(this.getTotalColumnWidthByIndex(splitter$$1.columnIndex).toString() + 'px') :
11155
+ this.getSpliterPositionInPercentage((splitter$$1.columnIndex * 150) + 'px');
11156
+ }
11157
+ else {
11158
+ return this.getSpliterPositionInPercentage((splitter$$1.columnIndex * 130) + 'px');
11159
+ }
11210
11160
  }
11211
11161
  else {
11212
11162
  return this.getSpliterPositionInPercentage('250px');
@@ -12038,6 +11988,8 @@ let Gantt = class Gantt extends Component {
12038
11988
  /** @hidden */
12039
11989
  this.showActiveElement = true;
12040
11990
  /** @hidden */
11991
+ this.addDeleteRecord = false;
11992
+ /** @hidden */
12041
11993
  this.enableHeaderFocus = true;
12042
11994
  /** @hidden */
12043
11995
  this.enableValidation = true;
@@ -12223,7 +12175,19 @@ let Gantt = class Gantt extends Component {
12223
12175
  * @returns {void} .
12224
12176
  */
12225
12177
  calculateDimensions() {
12226
- const settingsHeight = this.validateDimentionValue(this.height);
12178
+ let settingsHeight;
12179
+ if (typeof (this.height) !== 'number' && this.height.indexOf('%') !== -1 && (this.element.parentElement &&
12180
+ !this.element.parentElement.style.height)) {
12181
+ let ganttHeight = Number(this.height.split("%")[0]);
12182
+ ganttHeight = (ganttHeight * window.innerHeight) / 100;
12183
+ if (this.height === '100%') {
12184
+ ganttHeight = ganttHeight - 16;
12185
+ }
12186
+ settingsHeight = this.validateDimentionValue(ganttHeight);
12187
+ }
12188
+ else {
12189
+ settingsHeight = this.validateDimentionValue(this.height);
12190
+ }
12227
12191
  let settingsWidth = this.validateDimentionValue(this.width);
12228
12192
  if (!isNullOrUndefined(this.width) && typeof (this.width) === 'string' && this.width.indexOf('%') !== -1) {
12229
12193
  settingsWidth = this.width;
@@ -12364,6 +12328,33 @@ let Gantt = class Gantt extends Component {
12364
12328
  */
12365
12329
  windowResize() {
12366
12330
  if (!isNullOrUndefined(this.element)) {
12331
+ let settingsHeight;
12332
+ if (this.height.indexOf('%') !== -1) {
12333
+ let ganttHeight = Number(this.height.split("%")[0]);
12334
+ if (this.element.parentElement && this.element.parentElement.style.height) {
12335
+ let containerHeight = Number(this.element.parentElement.style.height.split("px")[0]);
12336
+ ganttHeight = (ganttHeight * containerHeight) / 100;
12337
+ }
12338
+ else {
12339
+ ganttHeight = Number(this.height.split("%")[0]);
12340
+ ganttHeight = (ganttHeight * window.innerHeight) / 100;
12341
+ }
12342
+ if (this.height === '100%') {
12343
+ ganttHeight = ganttHeight - 16;
12344
+ }
12345
+ let toolbarHeight = 0;
12346
+ if (!isNullOrUndefined(this.toolbarModule) && !isNullOrUndefined(this.toolbarModule.element)) {
12347
+ toolbarHeight = this.toolbarModule.element.offsetHeight;
12348
+ }
12349
+ let contentHeight = ganttHeight - this.ganttChartModule.chartTimelineContainer.offsetHeight - toolbarHeight;
12350
+ settingsHeight = this.validateDimentionValue(ganttHeight);
12351
+ this.element.style.height = settingsHeight;
12352
+ this.element.querySelectorAll('.e-content')[0]['style'].height = contentHeight + 'px';
12353
+ this.element.querySelectorAll('.e-content')[2]['style'].height = contentHeight + 'px';
12354
+ }
12355
+ else {
12356
+ settingsHeight = this.validateDimentionValue(this.height);
12357
+ }
12367
12358
  this.updateContentHeight();
12368
12359
  this.ganttChartModule.updateWidthAndHeight(); // Updating chart scroll conatiner height for row mismatch
12369
12360
  this.treeGridModule.ensureScrollBar();
@@ -13269,6 +13260,23 @@ let Gantt = class Gantt extends Component {
13269
13260
  this.treeGrid.height = this.ganttHeight - toolbarHeight -
13270
13261
  this.treeGrid.grid.getHeaderContent().offsetHeight;
13271
13262
  this.splitterModule.splitterObject.height = (this.ganttHeight - toolbarHeight).toString();
13263
+ if (!isNullOrUndefined(this.chartVerticalLineContainer)) {
13264
+ this.chartVerticalLineContainer.style.height = this.ganttHeight + 'px';
13265
+ }
13266
+ if (!isNullOrUndefined(this.dayMarkersModule)) {
13267
+ const holidayContainer$$1 = getValue('nonworkingDayRender.holidayContainer', this.dayMarkersModule);
13268
+ const weekendContainer$$1 = getValue('nonworkingDayRender.weekendContainer', this.dayMarkersModule);
13269
+ const eventMarkersContainer$$1 = getValue('eventMarkerRender.eventMarkersContainer', this.dayMarkersModule);
13270
+ if (holidayContainer$$1) {
13271
+ holidayContainer$$1.style.height = this.ganttHeight + 'px';
13272
+ }
13273
+ if (weekendContainer$$1) {
13274
+ weekendContainer$$1.style.height = this.ganttHeight + 'px';
13275
+ }
13276
+ if (eventMarkersContainer$$1) {
13277
+ eventMarkersContainer$$1.style.height = this.ganttHeight + 'px';
13278
+ }
13279
+ }
13272
13280
  this.splitterModule.splitterObject.width = this.ganttWidth.toString();
13273
13281
  this.ganttChartModule.scrollObject.
13274
13282
  setHeight(this.ganttHeight - this.ganttChartModule.chartTimelineContainer.offsetHeight - toolbarHeight);
@@ -13545,7 +13553,6 @@ let Gantt = class Gantt extends Component {
13545
13553
  * @param {workbook} workbook - Defines the Workbook if multiple export is enabled.
13546
13554
  * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
13547
13555
  * @returns {Promise<any>} .
13548
- * @blazorType void
13549
13556
  */
13550
13557
  excelExport(excelExportProperties, isMultipleExport,
13551
13558
  /* eslint-disable-next-line */
@@ -13560,7 +13567,6 @@ let Gantt = class Gantt extends Component {
13560
13567
  * @param {workbook} workbook - Defines the Workbook if multiple export is enabled.
13561
13568
  * @param {boolean} isBlob - If 'isBlob' set to true, then it will be returned as blob data.
13562
13569
  * @returns {Promise<any>} .
13563
- * @blazorType void
13564
13570
  */
13565
13571
  csvExport(excelExportProperties,
13566
13572
  /* eslint-disable-next-line */
@@ -13574,7 +13580,6 @@ let Gantt = class Gantt extends Component {
13574
13580
  * @param {isMultipleExport} isMultipleExport - Define to enable multiple export.
13575
13581
  * @param {pdfDoc} pdfDoc - Defined the Pdf Document if multiple export is enabled.
13576
13582
  * @returns {Promise<any>} .
13577
- * @blazorType void
13578
13583
  */
13579
13584
  pdfExport(pdfExportProperties, isMultipleExport, pdfDoc) {
13580
13585
  return this.pdfExportModule ? this.pdfExportModule.export(pdfExportProperties, isMultipleExport, pdfDoc)
@@ -15557,6 +15562,7 @@ class CellEdit {
15557
15562
  this.parent.editModule.dialogModule.isResourceUpdate = true;
15558
15563
  this.parent.editModule.dialogModule.previousResource = previousResource;
15559
15564
  }
15565
+ this.updateDates(args);
15560
15566
  this.updateEditedRecord(args);
15561
15567
  }
15562
15568
  }
@@ -16125,7 +16131,7 @@ class TaskbarEdit extends DateProcessor {
16125
16131
  */
16126
16132
  showHideTaskBarEditingElements(element, secondElement, fadeConnectorLine) {
16127
16133
  secondElement = secondElement ? secondElement : this.editElement;
16128
- let isShowProgressResizer = true;
16134
+ let isShowProgressResizer = this.parent.taskFields.progress ? true : false;
16129
16135
  if (this.parent.readOnly) {
16130
16136
  return;
16131
16137
  }
@@ -16213,8 +16219,8 @@ class TaskbarEdit extends DateProcessor {
16213
16219
  else if (mouseDownElement.classList.contains(taskBarRightResizer)) {
16214
16220
  action = 'RightResizing';
16215
16221
  }
16216
- else if (mouseDownElement.classList.contains(childProgressResizer) ||
16217
- closest(mouseDownElement, '.' + childProgressResizer)) {
16222
+ else if ((mouseDownElement.classList.contains(childProgressResizer) ||
16223
+ closest(mouseDownElement, '.' + childProgressResizer)) && (this.parent.taskFields.progress)) {
16218
16224
  action = 'ProgressResizing';
16219
16225
  }
16220
16226
  else if (mouseDownElement.classList.contains(connectorPointLeft)) {
@@ -19840,7 +19846,12 @@ class DialogEdit {
19840
19846
  const ganttObj = this.parent;
19841
19847
  const rte = notesElement.ej2_instances[0];
19842
19848
  if (this.isEdit) {
19843
- this.parent.setRecordValue('notes', rte.getHtml(), this.rowData.ganttProperties, true);
19849
+ if (ganttObj.columnByField[ganttObj.taskFields.notes].disableHtmlEncode) {
19850
+ this.parent.setRecordValue('notes', rte.getHtml(), this.rowData.ganttProperties, true);
19851
+ }
19852
+ else {
19853
+ this.parent.setRecordValue('notes', rte.getText(), this.rowData.ganttProperties, true);
19854
+ }
19844
19855
  ganttObj.dataOperation.updateMappingData(this.rowData, 'notes');
19845
19856
  }
19846
19857
  else {
@@ -21182,7 +21193,10 @@ class Edit$2 {
21182
21193
  if (ganttProp.work > 0 || column === 'work') {
21183
21194
  switch (taskType) {
21184
21195
  case 'FixedUnit':
21185
- if (isAutoSchedule && ganttProp.resourceInfo.length &&
21196
+ if (ganttProp.resourceInfo.length === 0) {
21197
+ return;
21198
+ }
21199
+ else if (isAutoSchedule && ganttProp.resourceInfo.length &&
21186
21200
  (column === 'work' || (column === 'resource'))) {
21187
21201
  this.parent.dataOperation.updateDurationWithWork(currentData);
21188
21202
  }
@@ -22327,6 +22341,7 @@ class Edit$2 {
22327
22341
  deleteRow(tasks) {
22328
22342
  let rowItems = tasks && tasks.length ? tasks :
22329
22343
  this.parent.selectionModule.getSelectedRecords();
22344
+ this.parent.addDeleteRecord = true;
22330
22345
  if (rowItems.length) {
22331
22346
  this.parent.isOnDelete = true;
22332
22347
  rowItems.forEach((item) => {
@@ -23052,6 +23067,7 @@ class Edit$2 {
23052
23067
  // this.parent.connectorLineIds = [];
23053
23068
  // this.parent.predecessorModule.createConnectorLinesCollection(this.parent.flatData);
23054
23069
  this.parent.treeGrid.parentData = [];
23070
+ this.parent.addDeleteRecord = true;
23055
23071
  this.parent.selectedRowIndex = 0;
23056
23072
  this.parent.treeGrid.refresh();
23057
23073
  if (this.parent.enableImmutableMode) {
@@ -23306,7 +23322,12 @@ class Edit$2 {
23306
23322
  switch (rowPosition) {
23307
23323
  case 'Top':
23308
23324
  case 'Bottom':
23309
- level = 0;
23325
+ if (this.parent.viewType === "ResourceView") {
23326
+ level = 1;
23327
+ }
23328
+ else {
23329
+ level = 0;
23330
+ }
23310
23331
  break;
23311
23332
  case 'Above':
23312
23333
  case 'Below':
@@ -24141,7 +24162,7 @@ class Filter$1 {
24141
24162
  }
24142
24163
  if (treeColumn) {
24143
24164
  treeColumn.allowFiltering = column.allowFiltering;
24144
- treeColumn.filter = column.filter;
24165
+ treeColumn.filter = column.allowFiltering ? column.filter : {};
24145
24166
  }
24146
24167
  }
24147
24168
  /**
@@ -25480,7 +25501,7 @@ class NonWorkingDay {
25480
25501
  }
25481
25502
  this.holidayContainer.innerHTML = this.getHolidaysElement().innerHTML;
25482
25503
  }
25483
- else if (this.holidayContainer) {
25504
+ else if (this.holidayContainer && this.holidayContainer.parentNode) {
25484
25505
  remove(this.holidayContainer);
25485
25506
  if (this.nonworkingContainer && this.nonworkingContainer.childNodes.length === 0) {
25486
25507
  remove(this.nonworkingContainer);
@@ -29565,7 +29586,7 @@ class ExportHelper {
29565
29586
  const taskFields = this.parent.taskFields;
29566
29587
  const ganttProps = data.ganttProperties;
29567
29588
  if (column.editType === 'datepickeredit' || column.editType === 'datetimepickeredit') {
29568
- cell.value = this.parent.getFormatedDate(data[column.field], this.parent.getDateFormat());
29589
+ cell.value = data[column.field];
29569
29590
  }
29570
29591
  else if (column.field === taskFields.duration) {
29571
29592
  cell.value = this.parent.getDurationString(ganttProps.duration, ganttProps.durationUnit);
@@ -29588,20 +29609,18 @@ class ExportHelper {
29588
29609
  else {
29589
29610
  cell.style.format.paragraphIndent = cell.row.level * 10;
29590
29611
  }
29591
- if (this.parent.pdfQueryCellInfo != null) {
29592
- const args = {
29593
- data: data,
29594
- value: cell.value,
29595
- column: column,
29596
- style: cell.style,
29597
- cell: cell
29598
- };
29599
- args.value = this.exportValueFormatter.formatCellValue(args);
29600
- if (this.parent.pdfQueryCellInfo) {
29601
- this.parent.trigger('pdfQueryCellInfo', args);
29602
- }
29603
- cell.value = args.value;
29612
+ const args = {
29613
+ data: data,
29614
+ value: cell.value,
29615
+ column: column,
29616
+ style: cell.style,
29617
+ cell: cell
29618
+ };
29619
+ args.value = this.exportValueFormatter.formatCellValue(args);
29620
+ if (this.parent.pdfQueryCellInfo) {
29621
+ this.parent.trigger('pdfQueryCellInfo', args);
29604
29622
  }
29623
+ cell.value = args.value;
29605
29624
  }
29606
29625
  /**
29607
29626
  * Method for create the taskbar collection for rendering