@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.
- package/.eslintrc.json +1 -1
- package/CHANGELOG.md +38 -0
- package/dist/ej2-gantt.umd.min.js +2 -2
- package/dist/ej2-gantt.umd.min.js.map +1 -1
- package/dist/es6/ej2-gantt.es2015.js +124 -105
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +127 -107
- package/dist/es6/ej2-gantt.es5.js.map +1 -1
- package/dist/global/ej2-gantt.min.js +2 -2
- package/dist/global/ej2-gantt.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +18 -18
- package/src/gantt/actions/cell-edit.js +1 -0
- package/src/gantt/actions/dialog-edit.js +6 -1
- package/src/gantt/actions/edit.js +12 -5
- package/src/gantt/actions/filter.js +1 -1
- package/src/gantt/actions/taskbar-edit.js +3 -3
- package/src/gantt/base/gantt-chart.js +1 -1
- package/src/gantt/base/gantt-model.d.ts +3 -30
- package/src/gantt/base/gantt.d.ts +2 -30
- package/src/gantt/base/gantt.js +59 -4
- package/src/gantt/base/interface.d.ts +4 -22
- package/src/gantt/base/splitter.js +7 -2
- package/src/gantt/base/task-processor.js +11 -3
- package/src/gantt/base/tree-grid.js +8 -2
- package/src/gantt/base/utils.js +2 -2
- package/src/gantt/export/export-helper.js +12 -14
- package/src/gantt/models/column.d.ts +11 -6
- package/src/gantt/models/day-working-time-model.d.ts +0 -4
- package/src/gantt/models/day-working-time.d.ts +0 -4
- package/src/gantt/models/selection-settings-model.d.ts +0 -4
- package/src/gantt/models/selection-settings.d.ts +0 -4
- package/src/gantt/renderer/chart-rows.d.ts +0 -1
- package/src/gantt/renderer/chart-rows.js +3 -71
- package/src/gantt/renderer/nonworking-day.js +1 -1
- package/styles/bootstrap-dark.css +17 -0
- package/styles/bootstrap.css +17 -0
- package/styles/bootstrap4.css +22 -0
- package/styles/bootstrap5-dark.css +1922 -0
- package/styles/bootstrap5-dark.scss +1 -0
- package/styles/bootstrap5.css +1922 -0
- package/styles/bootstrap5.scss +1 -0
- package/styles/fabric-dark.css +17 -0
- package/styles/fabric.css +17 -0
- package/styles/gantt/_bootstrap-dark-definition.scss +3 -0
- package/styles/gantt/_bootstrap-definition.scss +3 -0
- package/styles/gantt/_bootstrap4-definition.scss +3 -0
- package/styles/gantt/_bootstrap5-dark-definition.scss +1 -0
- package/styles/gantt/_bootstrap5-definition.scss +164 -0
- package/styles/gantt/_fabric-dark-definition.scss +3 -0
- package/styles/gantt/_fabric-definition.scss +3 -0
- package/styles/gantt/_highcontrast-definition.scss +3 -0
- package/styles/gantt/_highcontrast-light-definition.scss +3 -0
- package/styles/gantt/_layout.scss +15 -3
- package/styles/gantt/_material-dark-definition.scss +3 -0
- package/styles/gantt/_material-definition.scss +3 -0
- package/styles/gantt/_tailwind-dark-definition.scss +1 -156
- package/styles/gantt/_tailwind-definition.scss +67 -60
- package/styles/gantt/_theme.scss +8 -1
- package/styles/gantt/bootstrap-dark.css +17 -0
- package/styles/gantt/bootstrap.css +17 -0
- package/styles/gantt/bootstrap4.css +22 -0
- package/styles/gantt/bootstrap5-dark.css +1922 -0
- package/styles/gantt/bootstrap5-dark.scss +22 -0
- package/styles/gantt/bootstrap5.css +1922 -0
- package/styles/gantt/bootstrap5.scss +22 -0
- package/styles/gantt/fabric-dark.css +17 -0
- package/styles/gantt/fabric.css +17 -0
- package/styles/gantt/highcontrast-light.css +17 -0
- package/styles/gantt/highcontrast.css +17 -0
- package/styles/gantt/icons/_bootstrap5-dark.scss +1 -0
- package/styles/gantt/icons/_bootstrap5.scss +112 -0
- package/styles/gantt/icons/_tailwind-dark.scss +112 -112
- package/styles/gantt/material-dark.css +19 -2
- package/styles/gantt/material.css +17 -0
- package/styles/gantt/tailwind-dark.css +41 -25
- package/styles/gantt/tailwind.css +39 -23
- package/styles/highcontrast-light.css +17 -0
- package/styles/highcontrast.css +17 -0
- package/styles/material-dark.css +19 -2
- package/styles/material.css +17 -0
- package/styles/tailwind-dark.css +41 -25
- 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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
11209
|
-
this.getSpliterPositionInPercentage((splitter$$1.columnIndex
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
29592
|
-
|
|
29593
|
-
|
|
29594
|
-
|
|
29595
|
-
|
|
29596
|
-
|
|
29597
|
-
|
|
29598
|
-
|
|
29599
|
-
|
|
29600
|
-
|
|
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
|