@syncfusion/ej2-gantt 20.1.58 → 20.2.36
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/CHANGELOG.md +37 -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 +1100 -74
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +1099 -71
- 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/actions.d.ts +1 -0
- package/src/gantt/actions/actions.js +1 -0
- package/src/gantt/actions/cell-edit.js +5 -3
- package/src/gantt/actions/connector-line-edit.js +20 -6
- package/src/gantt/actions/context-menu.js +3 -4
- package/src/gantt/actions/critical-path.d.ts +26 -0
- package/src/gantt/actions/critical-path.js +735 -0
- package/src/gantt/actions/dependency.js +3 -0
- package/src/gantt/actions/dialog-edit.js +1 -1
- package/src/gantt/actions/edit.js +29 -3
- package/src/gantt/actions/filter.js +1 -1
- package/src/gantt/actions/keyboard.js +2 -2
- package/src/gantt/actions/selection.js +3 -0
- package/src/gantt/actions/taskbar-edit.js +6 -4
- package/src/gantt/actions/toolbar.js +22 -4
- package/src/gantt/base/css-constants.d.ts +12 -0
- package/src/gantt/base/css-constants.js +12 -0
- package/src/gantt/base/date-processor.d.ts +1 -1
- package/src/gantt/base/date-processor.js +8 -2
- package/src/gantt/base/enum.d.ts +3 -1
- package/src/gantt/base/gantt-chart.js +6 -2
- package/src/gantt/base/gantt-model.d.ts +8 -1
- package/src/gantt/base/gantt.d.ts +32 -1
- package/src/gantt/base/gantt.js +133 -5
- package/src/gantt/base/interface.d.ts +16 -0
- package/src/gantt/base/splitter.js +4 -0
- package/src/gantt/base/task-processor.js +19 -6
- package/src/gantt/base/tree-grid.js +1 -1
- package/src/gantt/export/export-helper.js +19 -6
- package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +16 -0
- package/src/gantt/renderer/chart-rows.js +16 -5
- package/src/gantt/renderer/nonworking-day.js +5 -2
- package/src/gantt/renderer/timeline.js +35 -14
- package/src/global.js +1 -1
- package/styles/bootstrap-dark.css +272 -14
- package/styles/bootstrap.css +271 -14
- package/styles/bootstrap4.css +273 -12
- package/styles/bootstrap5-dark.css +272 -15
- package/styles/bootstrap5.css +272 -15
- package/styles/fabric-dark.css +270 -12
- package/styles/fabric.css +276 -18
- package/styles/fluent-dark.css +272 -14
- package/styles/fluent.css +272 -14
- package/styles/gantt/_bootstrap-dark-definition.scss +59 -16
- package/styles/gantt/_bootstrap-definition.scss +57 -14
- package/styles/gantt/_bootstrap4-definition.scss +65 -21
- package/styles/gantt/_bootstrap5-definition.scss +55 -12
- package/styles/gantt/_fabric-dark-definition.scss +58 -15
- package/styles/gantt/_fabric-definition.scss +58 -15
- package/styles/gantt/_fluent-definition.scss +53 -10
- package/styles/gantt/_fusionnew-definition.scss +212 -0
- package/styles/gantt/_highcontrast-definition.scss +57 -14
- package/styles/gantt/_highcontrast-light-definition.scss +55 -12
- package/styles/gantt/_layout.scss +293 -7
- package/styles/gantt/_material-dark-definition.scss +60 -16
- package/styles/gantt/_material-definition.scss +65 -21
- package/styles/gantt/_material3-definition.scss +213 -0
- package/styles/gantt/_tailwind-definition.scss +52 -8
- package/styles/gantt/_theme.scss +56 -1
- package/styles/gantt/bootstrap-dark.css +272 -14
- package/styles/gantt/bootstrap.css +271 -14
- package/styles/gantt/bootstrap4.css +273 -12
- package/styles/gantt/bootstrap5-dark.css +272 -15
- package/styles/gantt/bootstrap5.css +272 -15
- package/styles/gantt/fabric-dark.css +270 -12
- package/styles/gantt/fabric.css +276 -18
- package/styles/gantt/fluent-dark.css +272 -14
- package/styles/gantt/fluent.css +272 -14
- package/styles/gantt/highcontrast-light.css +260 -13
- package/styles/gantt/highcontrast.css +271 -13
- package/styles/gantt/icons/_bootstrap-dark.scss +12 -1
- package/styles/gantt/icons/_bootstrap.scss +12 -1
- package/styles/gantt/icons/_bootstrap4.scss +12 -1
- package/styles/gantt/icons/_bootstrap5.scss +12 -0
- package/styles/gantt/icons/_fabric-dark.scss +12 -0
- package/styles/gantt/icons/_fabric.scss +12 -0
- package/styles/gantt/icons/_fluent.scss +12 -0
- package/styles/gantt/icons/_fusionnew.scss +120 -0
- package/styles/gantt/icons/_highcontrast.scss +12 -0
- package/styles/gantt/icons/_material-dark.scss +12 -0
- package/styles/gantt/icons/_material.scss +12 -0
- package/styles/gantt/icons/_material3.scss +124 -0
- package/styles/gantt/icons/_tailwind-dark.scss +12 -0
- package/styles/gantt/icons/_tailwind.scss +12 -0
- package/styles/gantt/material-dark.css +277 -12
- package/styles/gantt/material.css +279 -14
- package/styles/gantt/tailwind-dark.css +279 -15
- package/styles/gantt/tailwind.css +276 -12
- package/styles/highcontrast-light.css +260 -13
- package/styles/highcontrast.css +271 -13
- package/styles/material-dark.css +277 -12
- package/styles/material.css +279 -14
- package/styles/tailwind-dark.css +279 -15
- package/styles/tailwind.css +276 -12
package/src/gantt/base/gantt.js
CHANGED
|
@@ -34,6 +34,7 @@ import { DateProcessor } from './date-processor';
|
|
|
34
34
|
import { ChartRows } from '../renderer/chart-rows';
|
|
35
35
|
import { Dependency } from '../actions/dependency';
|
|
36
36
|
import * as cls from './css-constants';
|
|
37
|
+
import { TreeGrid } from '@syncfusion/ej2-treegrid';
|
|
37
38
|
import { getActualProperties } from '@syncfusion/ej2-grids';
|
|
38
39
|
import { ConnectorLine } from '../renderer/connector-line';
|
|
39
40
|
import { Splitter } from './splitter';
|
|
@@ -102,6 +103,7 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
102
103
|
* @private
|
|
103
104
|
*/
|
|
104
105
|
_this.isEdit = false;
|
|
106
|
+
setValue('mergePersistData', _this.mergePersistGanttData, _this);
|
|
105
107
|
return _this;
|
|
106
108
|
}
|
|
107
109
|
/**
|
|
@@ -172,8 +174,10 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
172
174
|
this.dataOperation.getNonWorkingDayIndex();
|
|
173
175
|
this.columnMapping = {};
|
|
174
176
|
this.controlId = this.element.id;
|
|
175
|
-
this.cloneProjectStartDate =
|
|
176
|
-
|
|
177
|
+
this.cloneProjectStartDate = this.enablePersistence && this.cloneProjectStartDate ?
|
|
178
|
+
this.cloneProjectStartDate : null;
|
|
179
|
+
this.cloneProjectEndDate = this.enablePersistence && this.cloneProjectEndDate ?
|
|
180
|
+
this.cloneProjectEndDate : null;
|
|
177
181
|
this.totalHolidayDates = this.dataOperation.getHolidayDates();
|
|
178
182
|
this.ganttChartModule = new GanttChart(this);
|
|
179
183
|
this.timelineModule = new Timeline(this);
|
|
@@ -440,6 +444,10 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
440
444
|
this.updateRowHeightInConnectorLine(this.updatedConnectorLineCollection);
|
|
441
445
|
this.connectorLineModule.renderConnectorLines(this.updatedConnectorLineCollection);
|
|
442
446
|
}
|
|
447
|
+
if (this.enableCriticalPath) {
|
|
448
|
+
var criticalModule = this.criticalPathModule;
|
|
449
|
+
this.criticalPathModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
|
|
450
|
+
}
|
|
443
451
|
}
|
|
444
452
|
};
|
|
445
453
|
Gantt.prototype.keyActionHandler = function (e) {
|
|
@@ -771,6 +779,39 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
771
779
|
var value = this.dateValidationModule.getWorkString(work, workUnit);
|
|
772
780
|
return value;
|
|
773
781
|
};
|
|
782
|
+
Gantt.prototype.updateTreeColumns = function () {
|
|
783
|
+
var temp;
|
|
784
|
+
var field;
|
|
785
|
+
var gridColumns = this.treeGrid.grid.getColumns();
|
|
786
|
+
if (this.treeColumnIndex !== -1 && this.columns[this.treeColumnIndex] &&
|
|
787
|
+
!isNullOrUndefined(this.columns[this.treeColumnIndex]['template'])) {
|
|
788
|
+
temp = this.columns[this.treeColumnIndex]['template'];
|
|
789
|
+
field = this.columns[this.treeColumnIndex]['field'];
|
|
790
|
+
}
|
|
791
|
+
var gridColumn;
|
|
792
|
+
for (var i = 0; i < gridColumns.length; i++) {
|
|
793
|
+
gridColumn = {};
|
|
794
|
+
for (var j = 0; j < this.columns.length; j++) {
|
|
795
|
+
if (this.columns[j]['field'] == gridColumns[i].field) {
|
|
796
|
+
for (var _i = 0, _a = Object.keys(this.columns[j]); _i < _a.length; _i++) {
|
|
797
|
+
var prop = _a[_i];
|
|
798
|
+
if (!isUndefined(this.columns[j][prop])) {
|
|
799
|
+
gridColumn[prop] = gridColumns[i][prop];
|
|
800
|
+
}
|
|
801
|
+
gridColumn.visible = gridColumns[i].visible;
|
|
802
|
+
gridColumn.width = gridColumns[i].width;
|
|
803
|
+
}
|
|
804
|
+
this.columns[j] = (gridColumn);
|
|
805
|
+
if (this.columns[j]['type'] !== 'checkbox' && (!isNullOrUndefined(temp) && temp !== '')) {
|
|
806
|
+
this.columns[j]['template'] = temp;
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
if (this.columns.length > 0) {
|
|
812
|
+
this.treeGrid.setProperties({ columns: this.columns }, true);
|
|
813
|
+
}
|
|
814
|
+
};
|
|
774
815
|
/**
|
|
775
816
|
*
|
|
776
817
|
* @param {object} args .
|
|
@@ -791,6 +832,9 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
791
832
|
this.splitterElement.style.height = '100%';
|
|
792
833
|
}
|
|
793
834
|
if (this.isLoad) {
|
|
835
|
+
if (this.enablePersistence) {
|
|
836
|
+
this.updateTreeColumns();
|
|
837
|
+
}
|
|
794
838
|
this.updateCurrentViewData();
|
|
795
839
|
if (!this.enableVirtualization) {
|
|
796
840
|
this.updateContentHeight();
|
|
@@ -820,7 +864,14 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
820
864
|
else {
|
|
821
865
|
this.getCurrentRecords(args);
|
|
822
866
|
}
|
|
867
|
+
if (this.enableCriticalPath && this.criticalPathModule) {
|
|
868
|
+
this.criticalPathModule.showCriticalPath(this.enableCriticalPath);
|
|
869
|
+
}
|
|
823
870
|
this.notify('recordsUpdated', {});
|
|
871
|
+
if (this.enableCriticalPath && this.criticalPathModule) {
|
|
872
|
+
var criticalModule = this.criticalPathModule;
|
|
873
|
+
this.criticalPathModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
|
|
874
|
+
}
|
|
824
875
|
this.initialChartRowElements = this.ganttChartModule.getChartRows();
|
|
825
876
|
this.isLoad = false;
|
|
826
877
|
this.trigger('dataBound', args);
|
|
@@ -909,6 +960,7 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
909
960
|
}
|
|
910
961
|
break;
|
|
911
962
|
case 'timezone':
|
|
963
|
+
case 'enableCriticalPath':
|
|
912
964
|
this.dataOperation.checkDataBinding(true);
|
|
913
965
|
break;
|
|
914
966
|
case 'filterSettings':
|
|
@@ -1076,15 +1128,42 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1076
1128
|
}
|
|
1077
1129
|
};
|
|
1078
1130
|
/**
|
|
1079
|
-
*
|
|
1131
|
+
* Returns the properties to be maintained in persisted state.
|
|
1080
1132
|
*
|
|
1081
1133
|
* @returns {string} .
|
|
1082
1134
|
* @private
|
|
1083
1135
|
*/
|
|
1084
1136
|
Gantt.prototype.getPersistData = function () {
|
|
1085
|
-
var keyEntity = ['
|
|
1137
|
+
var keyEntity = ['sortSettings',
|
|
1138
|
+
'filterSettings', 'columns', 'searchSettings', 'selectedRowIndex', 'treeColumnIndex', 'currentZoomingLevel', 'cloneProjectStartDate', 'cloneProjectEndDate'];
|
|
1139
|
+
var ignoreOnPersist = {
|
|
1140
|
+
filterSettings: ['type', 'mode', 'showFilterBarStatus', 'immediateModeDelay', 'ignoreAccent', 'hierarchyMode'],
|
|
1141
|
+
searchSettings: ['fields', 'operator', 'ignoreCase'],
|
|
1142
|
+
sortSettings: [], columns: [], selectedRowIndex: []
|
|
1143
|
+
};
|
|
1144
|
+
var ignoreOnColumn = ['filter', 'edit', 'filterBarTemplate', 'headerTemplate', 'template',
|
|
1145
|
+
'commandTemplate', 'commands', 'dataSource'];
|
|
1146
|
+
for (var i = 0; i < keyEntity.length; i++) {
|
|
1147
|
+
var currentObject = this[keyEntity[i]];
|
|
1148
|
+
for (var k = 0, val = ignoreOnPersist[keyEntity[i]]; (!isNullOrUndefined(val) && k < val.length); k++) {
|
|
1149
|
+
var objVal = val[k];
|
|
1150
|
+
delete currentObject[objVal];
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
this.ignoreInArrays(ignoreOnColumn, this.columns);
|
|
1086
1154
|
return this.addOnPersist(keyEntity);
|
|
1087
1155
|
};
|
|
1156
|
+
Gantt.prototype.ignoreInArrays = function (ignoreOnColumn, columns) {
|
|
1157
|
+
for (var i = 0; i < columns.length; i++) {
|
|
1158
|
+
this.ignoreInColumn(ignoreOnColumn, columns[i]);
|
|
1159
|
+
}
|
|
1160
|
+
};
|
|
1161
|
+
Gantt.prototype.ignoreInColumn = function (ignoreOnColumn, column) {
|
|
1162
|
+
for (var i = 0; i < ignoreOnColumn.length; i++) {
|
|
1163
|
+
delete column[ignoreOnColumn[i]];
|
|
1164
|
+
column.filter = {};
|
|
1165
|
+
}
|
|
1166
|
+
};
|
|
1088
1167
|
/**
|
|
1089
1168
|
* @returns {void} .
|
|
1090
1169
|
* @private
|
|
@@ -1167,6 +1246,12 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1167
1246
|
args: [this]
|
|
1168
1247
|
});
|
|
1169
1248
|
}
|
|
1249
|
+
if (this.enableCriticalPath) {
|
|
1250
|
+
modules.push({
|
|
1251
|
+
member: 'criticalPath',
|
|
1252
|
+
args: [this]
|
|
1253
|
+
});
|
|
1254
|
+
}
|
|
1170
1255
|
if (this.allowResizing) {
|
|
1171
1256
|
modules.push({
|
|
1172
1257
|
member: 'resize',
|
|
@@ -1244,6 +1329,17 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1244
1329
|
this.sortModule.sortColumn(columnName, direction, isMultiSort);
|
|
1245
1330
|
}
|
|
1246
1331
|
};
|
|
1332
|
+
Gantt.prototype.mergePersistGanttData = function () {
|
|
1333
|
+
if (!this.treeGrid) {
|
|
1334
|
+
this.treeGrid = new TreeGrid();
|
|
1335
|
+
}
|
|
1336
|
+
var persist1 = 'mergePersistGridData';
|
|
1337
|
+
this.treeGrid.grid[persist1].apply(this);
|
|
1338
|
+
};
|
|
1339
|
+
Gantt.prototype.mergeColumns = function (storedColumn, columns) {
|
|
1340
|
+
var persist2 = 'mergeColumns';
|
|
1341
|
+
this.treeGrid.grid[persist2].apply(this, [storedColumn, columns]);
|
|
1342
|
+
};
|
|
1247
1343
|
/**
|
|
1248
1344
|
* Clears all the sorted columns of the Gantt.
|
|
1249
1345
|
*
|
|
@@ -1321,7 +1417,7 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1321
1417
|
*/
|
|
1322
1418
|
Gantt.prototype.updateGridLineContainerHeight = function () {
|
|
1323
1419
|
if (this.chartVerticalLineContainer) {
|
|
1324
|
-
this.chartVerticalLineContainer.style.height = formatUnit(this.
|
|
1420
|
+
this.chartVerticalLineContainer.style.height = formatUnit(this.getContentHeight());
|
|
1325
1421
|
}
|
|
1326
1422
|
};
|
|
1327
1423
|
/**
|
|
@@ -1425,6 +1521,7 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
1425
1521
|
progress: 'Progress',
|
|
1426
1522
|
dependency: 'Dependency',
|
|
1427
1523
|
notes: 'Notes',
|
|
1524
|
+
criticalPath: 'Critical Path',
|
|
1428
1525
|
baselineStartDate: 'Baseline Start Date',
|
|
1429
1526
|
baselineEndDate: 'Baseline End Date',
|
|
1430
1527
|
taskMode: 'Task Mode',
|
|
@@ -2122,6 +2219,34 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
2122
2219
|
this.editModule.outdent();
|
|
2123
2220
|
}
|
|
2124
2221
|
};
|
|
2222
|
+
/**
|
|
2223
|
+
* To render the critical path tasks in Gantt.
|
|
2224
|
+
*
|
|
2225
|
+
* @returns {void} .
|
|
2226
|
+
* @param {boolean} isCritical- whether to render critical path or not .
|
|
2227
|
+
* @public
|
|
2228
|
+
*/
|
|
2229
|
+
Gantt.prototype.showCriticalPath = function (isCritical) {
|
|
2230
|
+
if (this.criticalPathModule) {
|
|
2231
|
+
this.criticalPathModule.showCriticalPath(isCritical);
|
|
2232
|
+
var criticalModule = this.criticalPathModule;
|
|
2233
|
+
this.criticalPathModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
|
|
2234
|
+
}
|
|
2235
|
+
};
|
|
2236
|
+
/**
|
|
2237
|
+
* To get all the critical tasks in Gantt.
|
|
2238
|
+
*
|
|
2239
|
+
* @returns {IGanttData[]} .
|
|
2240
|
+
* @public
|
|
2241
|
+
*/
|
|
2242
|
+
Gantt.prototype.getCriticalTasks = function () {
|
|
2243
|
+
if (!isNullOrUndefined(this.criticalPathModule) && this.enableCriticalPath) {
|
|
2244
|
+
return this.criticalPathModule.getCriticalTasks();
|
|
2245
|
+
}
|
|
2246
|
+
else {
|
|
2247
|
+
return null;
|
|
2248
|
+
}
|
|
2249
|
+
};
|
|
2125
2250
|
/**
|
|
2126
2251
|
* To perform Zoom in action on Gantt timeline.
|
|
2127
2252
|
*
|
|
@@ -2933,6 +3058,9 @@ var Gantt = /** @class */ (function (_super) {
|
|
|
2933
3058
|
__decorate([
|
|
2934
3059
|
Property(false)
|
|
2935
3060
|
], Gantt.prototype, "enableContextMenu", void 0);
|
|
3061
|
+
__decorate([
|
|
3062
|
+
Property(false)
|
|
3063
|
+
], Gantt.prototype, "enableCriticalPath", void 0);
|
|
2936
3064
|
__decorate([
|
|
2937
3065
|
Property()
|
|
2938
3066
|
], Gantt.prototype, "contextMenuItems", void 0);
|
|
@@ -48,6 +48,10 @@ export interface IGanttData {
|
|
|
48
48
|
indicators?: IIndicator[];
|
|
49
49
|
/** Defines the delete . */
|
|
50
50
|
isDelete?: boolean;
|
|
51
|
+
/** Defines the critical path of task. */
|
|
52
|
+
isCritical?: boolean;
|
|
53
|
+
/** Defines the slack value of critical path task. */
|
|
54
|
+
slack?: string | number;
|
|
51
55
|
}
|
|
52
56
|
export interface IParent {
|
|
53
57
|
/** Defines the unique id of task. */
|
|
@@ -84,6 +88,10 @@ export interface ITaskData {
|
|
|
84
88
|
isMilestone?: boolean;
|
|
85
89
|
/** Defines the left of task. */
|
|
86
90
|
left?: number;
|
|
91
|
+
/** Defines the critical path of task. */
|
|
92
|
+
isCritical?: boolean;
|
|
93
|
+
/** Defines the slack value of critical path task. */
|
|
94
|
+
slack?: string | number;
|
|
87
95
|
/** Defines the progress of task. */
|
|
88
96
|
progress?: number;
|
|
89
97
|
/** Defines the progress width of task. */
|
|
@@ -358,6 +366,7 @@ export interface IConnectorLineObject {
|
|
|
358
366
|
milestoneChild?: boolean;
|
|
359
367
|
parentIndexInCurrentView?: number;
|
|
360
368
|
childIndexInCurrentView?: number;
|
|
369
|
+
isCritical?: boolean;
|
|
361
370
|
}
|
|
362
371
|
export interface ISplitterResizedEventArgs {
|
|
363
372
|
/** Defines the element. */
|
|
@@ -836,6 +845,12 @@ export interface ITaskbarStyle {
|
|
|
836
845
|
milestoneColor?: PdfColor;
|
|
837
846
|
/** Defines the progress text color */
|
|
838
847
|
progressFontColor?: PdfColor;
|
|
848
|
+
/** Defines the critical task color */
|
|
849
|
+
criticalTaskColor?: PdfColor;
|
|
850
|
+
/** Defines the critical child progressbar background color */
|
|
851
|
+
criticalProgressColor?: PdfColor;
|
|
852
|
+
/** Defines the child taskbar border color */
|
|
853
|
+
criticalTaskBorderColor?: PdfColor;
|
|
839
854
|
}
|
|
840
855
|
export interface IGanttStyle {
|
|
841
856
|
columnHeader?: PdfGanttCellStyle;
|
|
@@ -846,6 +861,7 @@ export interface IGanttStyle {
|
|
|
846
861
|
timeline?: PdfGanttCellStyle;
|
|
847
862
|
chartGridLineColor?: PdfColor;
|
|
848
863
|
connectorLineColor?: PdfColor;
|
|
864
|
+
criticalConnectorLineColor?: PdfColor;
|
|
849
865
|
footer?: PdfGanttCellStyle;
|
|
850
866
|
}
|
|
851
867
|
export interface PdfQueryTimelineCellInfoEventArgs {
|
|
@@ -25,6 +25,7 @@ var Splitter = /** @class */ (function () {
|
|
|
25
25
|
this.splitterObject = new SplitterLayout({
|
|
26
26
|
height: null,
|
|
27
27
|
width: this.parent.ganttWidth.toString(),
|
|
28
|
+
enablePersistence: this.parent.enablePersistence,
|
|
28
29
|
separatorSize: this.parent.splitterSettings.separatorSize,
|
|
29
30
|
paneSettings: [
|
|
30
31
|
{
|
|
@@ -76,6 +77,9 @@ var Splitter = /** @class */ (function () {
|
|
|
76
77
|
* @private
|
|
77
78
|
*/
|
|
78
79
|
Splitter.prototype.calculateSplitterPosition = function (splitter, isDynamic) {
|
|
80
|
+
if (!isNullOrUndefined(this.splitterObject) && this.parent.enablePersistence) {
|
|
81
|
+
return this.splitterObject.paneSettings[0].size;
|
|
82
|
+
}
|
|
79
83
|
if (splitter.view === 'Grid') {
|
|
80
84
|
return '100%';
|
|
81
85
|
}
|
|
@@ -100,10 +100,11 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
100
100
|
var mappingData = new DataManager(dataSource).executeLocal(new Query()
|
|
101
101
|
.group(this.parent.taskFields.parentID));
|
|
102
102
|
var rootData = [];
|
|
103
|
+
var index;
|
|
103
104
|
for (var i = 0; i < mappingData.length; i++) {
|
|
104
105
|
var groupData = mappingData[i];
|
|
105
106
|
if (!isNullOrUndefined(groupData.key)) {
|
|
106
|
-
|
|
107
|
+
index = this.taskIds.indexOf(groupData.key.toString());
|
|
107
108
|
if (index > -1) {
|
|
108
109
|
if (!isNullOrUndefined(groupData.key)) {
|
|
109
110
|
dataSource[index][this.parent.taskFields.child] = groupData.items;
|
|
@@ -111,7 +112,9 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
111
112
|
}
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
|
-
|
|
115
|
+
if (index !== -1) {
|
|
116
|
+
rootData.push.apply(rootData, groupData.items); // eslint-disable-line
|
|
117
|
+
}
|
|
115
118
|
}
|
|
116
119
|
this.hierarchyData = this.dataReorder(dataSource, rootData);
|
|
117
120
|
};
|
|
@@ -372,7 +375,11 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
372
375
|
if (baselineEndDate && baselineEndDate.getHours() === 0 && this.parent.defaultEndTime !== 86400) {
|
|
373
376
|
this.setTime(this.parent.defaultEndTime, baselineEndDate);
|
|
374
377
|
}
|
|
375
|
-
|
|
378
|
+
if ((ganttProperties.baselineStartDate && baselineEndDate &&
|
|
379
|
+
(ganttProperties.baselineStartDate.getTime() > baselineEndDate.getTime())) || ganttProperties.isMilestone) {
|
|
380
|
+
baselineEndDate = ganttProperties.baselineStartDate;
|
|
381
|
+
}
|
|
382
|
+
this.parent.setRecordValue('baselineEndDate', this.checkBaselineEndDate(baselineEndDate, ganttProperties), ganttProperties, true);
|
|
376
383
|
this.parent.setRecordValue('progress', progress, ganttProperties, true);
|
|
377
384
|
this.parent.setRecordValue('totalProgress', progress, ganttProperties, true);
|
|
378
385
|
this.parent.setRecordValue('predecessorsName', predecessors, ganttProperties, true);
|
|
@@ -393,7 +400,6 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
393
400
|
!isNullOrUndefined(taskSettings.child)) {
|
|
394
401
|
this.parent.setRecordValue(taskSettings.child, [], ganttData);
|
|
395
402
|
}
|
|
396
|
-
this.parent.setRecordValue('baselineEndDate', this.checkBaselineEndDate(baselineEndDate), ganttProperties, true);
|
|
397
403
|
if (!isNullOrUndefined(data[taskSettings.child]) && data[taskSettings.child].length > 0) {
|
|
398
404
|
this.parent.setRecordValue('hasChildRecords', true, ganttData);
|
|
399
405
|
this.parent.setRecordValue('isMilestone', false, ganttProperties, true);
|
|
@@ -606,6 +612,13 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
606
612
|
work = parseFloat(work.toFixed(2));
|
|
607
613
|
}
|
|
608
614
|
}
|
|
615
|
+
if (ganttData.childRecords.length > 0 && this.parent.isOnEdit) {
|
|
616
|
+
var childCompletedWorks = 0;
|
|
617
|
+
for (var i = 0; i < ganttData.childRecords.length; i++) {
|
|
618
|
+
childCompletedWorks += ganttData.childRecords[i].ganttProperties.work;
|
|
619
|
+
}
|
|
620
|
+
work += childCompletedWorks;
|
|
621
|
+
}
|
|
609
622
|
this.parent.setRecordValue('work', work, ganttData.ganttProperties, true);
|
|
610
623
|
if (!isNullOrUndefined(this.parent.taskFields.work)) {
|
|
611
624
|
this.parent.dataOperation.updateMappingData(ganttData, 'work');
|
|
@@ -1102,7 +1115,7 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
1102
1115
|
TaskProcessor.prototype.calculateBaselineWidth = function (ganttProperties) {
|
|
1103
1116
|
var baselineStartDate = this.getDateFromFormat(ganttProperties.baselineStartDate);
|
|
1104
1117
|
var baselineEndDate = this.getDateFromFormat(ganttProperties.baselineEndDate);
|
|
1105
|
-
if (baselineStartDate && baselineEndDate) {
|
|
1118
|
+
if (baselineStartDate && baselineEndDate && (baselineStartDate.getTime() !== baselineEndDate.getTime())) {
|
|
1106
1119
|
return (this.getTaskWidth(baselineStartDate, baselineEndDate));
|
|
1107
1120
|
}
|
|
1108
1121
|
else {
|
|
@@ -2231,7 +2244,7 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
2231
2244
|
}
|
|
2232
2245
|
this.updateWorkWithDuration(parentData);
|
|
2233
2246
|
var parentWork = parentProp.work;
|
|
2234
|
-
parentWork
|
|
2247
|
+
parentWork = this.parent.isOnEdit ? parentWork : (parentWork + childCompletedWorks);
|
|
2235
2248
|
this.parent.setRecordValue('work', parentWork, parentProp, true);
|
|
2236
2249
|
this.parent.setRecordValue('taskType', 'FixedDuration', parentProp, true);
|
|
2237
2250
|
if (!isNullOrUndefined(this.parent.taskFields.type)) {
|
|
@@ -157,7 +157,7 @@ var GanttTreeGrid = /** @class */ (function () {
|
|
|
157
157
|
var scrollWidth = this.getScrollbarWidth();
|
|
158
158
|
var isMobile = /Android|Mac|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
|
159
159
|
if (scrollWidth !== 0) {
|
|
160
|
-
content.style.cssText += 'width: calc(100% + ' + (scrollWidth + 1) + 'px);';
|
|
160
|
+
content.style.cssText += 'width: calc(100% + ' + (scrollWidth + 1) + 'px);'; //actual scrollbar width 17 px but here scrollbar width set to 16px hence adding increment of 1
|
|
161
161
|
}
|
|
162
162
|
else {
|
|
163
163
|
content.classList.add('e-gantt-scroll-padding');
|
|
@@ -149,6 +149,12 @@ var ExportHelper = /** @class */ (function () {
|
|
|
149
149
|
predecessor.milestoneParent = data.milestoneParent;
|
|
150
150
|
predecessor.milestoneChild = data.milestoneChild;
|
|
151
151
|
predecessor.lineWidth = _this.parent.connectorLineWidth > 5 ? pixelToPoint(5) : pixelToPoint(_this.parent.connectorLineWidth);
|
|
152
|
+
if (data.isCritical) {
|
|
153
|
+
predecessor.connectorLineColor = _this.ganttStyle.criticalConnectorLineColor;
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
predecessor.connectorLineColor = _this.ganttStyle.connectorLineColor;
|
|
157
|
+
}
|
|
152
158
|
predecessor.connectorLineColor = _this.ganttStyle.connectorLineColor;
|
|
153
159
|
_this.gantt.predecessorCollection.push(predecessor);
|
|
154
160
|
});
|
|
@@ -272,9 +278,16 @@ var ExportHelper = /** @class */ (function () {
|
|
|
272
278
|
taskbar.progressColor = new PdfColor(_this.ganttStyle.taskbar.parentProgressColor);
|
|
273
279
|
}
|
|
274
280
|
else {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
281
|
+
if (data.isCritical) {
|
|
282
|
+
taskbar.taskColor = new PdfColor(_this.ganttStyle.taskbar.criticalTaskColor);
|
|
283
|
+
taskbar.progressColor = new PdfColor(_this.ganttStyle.taskbar.criticalProgressColor);
|
|
284
|
+
taskbar.taskBorderColor = new PdfColor(_this.ganttStyle.taskbar.criticalTaskBorderColor);
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
taskbar.taskColor = new PdfColor(_this.ganttStyle.taskbar.taskColor);
|
|
288
|
+
taskbar.progressColor = new PdfColor(_this.ganttStyle.taskbar.progressColor);
|
|
289
|
+
taskbar.taskBorderColor = new PdfColor(_this.ganttStyle.taskbar.taskBorderColor);
|
|
290
|
+
}
|
|
278
291
|
}
|
|
279
292
|
taskbar.gridLineColor = new PdfColor(_this.ganttStyle.chartGridLineColor);
|
|
280
293
|
_this.gantt.taskbarCollection.push(taskbar);
|
|
@@ -502,13 +515,13 @@ var ExportValueFormatter = /** @class */ (function () {
|
|
|
502
515
|
if (typeof args.column.format === 'string') {
|
|
503
516
|
var format = void 0;
|
|
504
517
|
if (args.column.type === 'date') {
|
|
505
|
-
format = { type: 'date',
|
|
518
|
+
format = { type: 'date', format: args.column.format };
|
|
506
519
|
}
|
|
507
520
|
else if (args.column.type === 'time') {
|
|
508
|
-
format = { type: 'time',
|
|
521
|
+
format = { type: 'time', format: args.column.format };
|
|
509
522
|
}
|
|
510
523
|
else {
|
|
511
|
-
format = { type: 'dateTime',
|
|
524
|
+
format = { type: 'dateTime', format: args.column.format };
|
|
512
525
|
}
|
|
513
526
|
return this.returnFormattedValue(args, format);
|
|
514
527
|
}
|
|
@@ -53,6 +53,10 @@ var PdfGanttTheme = /** @class */ (function () {
|
|
|
53
53
|
//chart side theme
|
|
54
54
|
ganttStyle.taskbar.taskColor = new PdfColor(49, 122, 185);
|
|
55
55
|
ganttStyle.taskbar.progressColor = new PdfColor(33, 82, 125);
|
|
56
|
+
ganttStyle.taskbar.criticalTaskColor = new PdfColor(255, 139, 139);
|
|
57
|
+
ganttStyle.taskbar.criticalProgressColor = new PdfColor(255, 85, 85);
|
|
58
|
+
ganttStyle.criticalConnectorLineColor = new PdfColor(255, 85, 85);
|
|
59
|
+
ganttStyle.taskbar.criticalTaskBorderColor = new PdfColor(255, 85, 85);
|
|
56
60
|
ganttStyle.taskbar.parentTaskColor = new PdfColor(119, 119, 119);
|
|
57
61
|
ganttStyle.taskbar.parentProgressColor = new PdfColor(85, 85, 85);
|
|
58
62
|
ganttStyle.taskbar.taskBorderColor = new PdfColor(33, 82, 125);
|
|
@@ -69,6 +73,10 @@ var PdfGanttTheme = /** @class */ (function () {
|
|
|
69
73
|
//chart side theme
|
|
70
74
|
ganttStyle.taskbar.taskColor = new PdfColor(0, 123, 255);
|
|
71
75
|
ganttStyle.taskbar.progressColor = new PdfColor(0, 86, 179);
|
|
76
|
+
ganttStyle.taskbar.criticalTaskColor = new PdfColor(255, 139, 139);
|
|
77
|
+
ganttStyle.taskbar.criticalProgressColor = new PdfColor(255, 85, 85);
|
|
78
|
+
ganttStyle.criticalConnectorLineColor = new PdfColor(255, 85, 85);
|
|
79
|
+
ganttStyle.taskbar.criticalTaskBorderColor = new PdfColor(255, 85, 85);
|
|
72
80
|
ganttStyle.taskbar.parentTaskColor = new PdfColor(108, 117, 125);
|
|
73
81
|
ganttStyle.taskbar.parentProgressColor = new PdfColor(73, 80, 87);
|
|
74
82
|
ganttStyle.taskbar.taskBorderColor = new PdfColor(0, 86, 179);
|
|
@@ -87,6 +95,10 @@ var PdfGanttTheme = /** @class */ (function () {
|
|
|
87
95
|
//chart side theme
|
|
88
96
|
ganttStyle.taskbar.taskColor = new PdfColor(0, 120, 214);
|
|
89
97
|
ganttStyle.taskbar.progressColor = new PdfColor(0, 91, 163);
|
|
98
|
+
ganttStyle.taskbar.criticalTaskColor = new PdfColor(255, 139, 139);
|
|
99
|
+
ganttStyle.taskbar.criticalProgressColor = new PdfColor(255, 85, 85);
|
|
100
|
+
ganttStyle.criticalConnectorLineColor = new PdfColor(255, 85, 85);
|
|
101
|
+
ganttStyle.taskbar.criticalTaskBorderColor = new PdfColor(255, 85, 85);
|
|
90
102
|
ganttStyle.taskbar.parentTaskColor = new PdfColor(118, 118, 118);
|
|
91
103
|
ganttStyle.taskbar.parentProgressColor = new PdfColor(80, 80, 80);
|
|
92
104
|
ganttStyle.taskbar.taskBorderColor = new PdfColor(0, 91, 163);
|
|
@@ -103,6 +115,10 @@ var PdfGanttTheme = /** @class */ (function () {
|
|
|
103
115
|
//chart side theme
|
|
104
116
|
ganttStyle.taskbar.taskColor = new PdfColor(88, 105, 197);
|
|
105
117
|
ganttStyle.taskbar.progressColor = new PdfColor(63, 81, 181);
|
|
118
|
+
ganttStyle.taskbar.criticalTaskColor = new PdfColor(255, 139, 139);
|
|
119
|
+
ganttStyle.taskbar.criticalProgressColor = new PdfColor(255, 85, 85);
|
|
120
|
+
ganttStyle.criticalConnectorLineColor = new PdfColor(255, 85, 85);
|
|
121
|
+
ganttStyle.taskbar.criticalTaskBorderColor = new PdfColor(255, 85, 85);
|
|
106
122
|
ganttStyle.taskbar.parentTaskColor = new PdfColor(132, 132, 132);
|
|
107
123
|
ganttStyle.taskbar.parentProgressColor = new PdfColor(97, 97, 97);
|
|
108
124
|
ganttStyle.taskbar.taskBorderColor = new PdfColor(63, 81, 181);
|
|
@@ -175,7 +175,8 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
175
175
|
labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
|
|
176
176
|
}
|
|
177
177
|
if (labelString.indexOf('null') === -1) {
|
|
178
|
-
if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate' &&
|
|
178
|
+
if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate' &&
|
|
179
|
+
!this.isTemplate(this.parent.labelSettings.taskLabel)) {
|
|
179
180
|
labelString = '';
|
|
180
181
|
}
|
|
181
182
|
if (isNaN(parseInt(labelString))) {
|
|
@@ -225,7 +226,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
225
226
|
progressDiv[0].querySelectorAll('.e-task-label')[0].children[0])
|
|
226
227
|
progressDiv[0].querySelectorAll('.e-task-label')[0].children[0].remove();
|
|
227
228
|
if (progressDiv[0].querySelectorAll('.e-task-label')[0].textContent == '' &&
|
|
228
|
-
childLabel && !childLabel['elementRef'] && tempDiv.innerHTML
|
|
229
|
+
childLabel && !childLabel['elementRef'] && tempDiv.innerHTML !== '')
|
|
229
230
|
progressDiv[0].querySelectorAll('.e-task-label')[0].textContent = childLabel;
|
|
230
231
|
}
|
|
231
232
|
if (!isNullOrUndefined(taskbarInnerDiv) && taskbarInnerDiv.length > 0) {
|
|
@@ -243,6 +244,13 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
243
244
|
var splitTasks = '';
|
|
244
245
|
for (var i = 0; i < data.ganttProperties.segments.length; i++) {
|
|
245
246
|
var segment = data.ganttProperties.segments[i];
|
|
247
|
+
var progressBarVisible = void 0;
|
|
248
|
+
if (!segment.showProgress) {
|
|
249
|
+
progressBarVisible = 'hidden';
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
progressBarVisible = 'initial';
|
|
253
|
+
}
|
|
246
254
|
var segmentPosition = (i === 0) ? 'e-segment-first' : (i === data.ganttProperties.segments.length - 1)
|
|
247
255
|
? 'e-segment-last' : 'e-segment-inprogress';
|
|
248
256
|
splitTasks += (
|
|
@@ -250,7 +258,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
250
258
|
'<div class="' + cls.childTaskBarInnerDiv + ' ' + segmentPosition + ' ' + cls.traceChildTaskBar + ' ' +
|
|
251
259
|
' e-segmented-taskbar' +
|
|
252
260
|
'"style="width:' + segment.width + 'px;position: absolute; left:' + segment.left + 'px;height:' +
|
|
253
|
-
(this.taskBarHeight) + 'px; overflow:
|
|
261
|
+
(this.taskBarHeight) + 'px; overflow:' + progressBarVisible + ';" data-segment-index = "' + i + '" aria-label = "' +
|
|
254
262
|
this.generateSpiltTaskAriaLabel(segment, data.ganttProperties) + '"> ' +
|
|
255
263
|
this.getSplitTaskbarLeftResizerNode() +
|
|
256
264
|
//split progress bar
|
|
@@ -372,6 +380,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
372
380
|
this.parent.dataOperation.updateMappingData(mergeData, 'segments');
|
|
373
381
|
if (segments.length === 1) {
|
|
374
382
|
this.parent.setRecordValue('endDate', endDate, mergeData.ganttProperties, true);
|
|
383
|
+
this.parent.setRecordValue('EndDate', endDate, mergeData, true);
|
|
375
384
|
this.parent.setRecordValue('segments', null, mergeData.ganttProperties, true);
|
|
376
385
|
this.parent.dataOperation.updateMappingData(mergeData, 'segments');
|
|
377
386
|
}
|
|
@@ -540,6 +549,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
540
549
|
else {
|
|
541
550
|
startDate = new Date(splitDate.getTime());
|
|
542
551
|
startDate.setDate(startDate.getDate() + 1 + increment);
|
|
552
|
+
this.setTime(this.parent.defaultStartTime, startDate);
|
|
543
553
|
startDate = this.parent.dataOperation.checkStartDate(startDate, ganttProp, false);
|
|
544
554
|
segmentEndDate = new Date(endDate.getTime());
|
|
545
555
|
segmentEndDate.setDate(segmentEndDate.getDate() + 1);
|
|
@@ -813,7 +823,8 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
813
823
|
labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
|
|
814
824
|
}
|
|
815
825
|
if (labelString.indexOf('null') === -1) {
|
|
816
|
-
if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate' &&
|
|
826
|
+
if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate' &&
|
|
827
|
+
!this.isTemplate(this.parent.labelSettings.taskLabel)) {
|
|
817
828
|
labelString = '';
|
|
818
829
|
}
|
|
819
830
|
if (isNaN(parseInt(labelString))) {
|
|
@@ -842,7 +853,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
842
853
|
progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].children[0])
|
|
843
854
|
progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].children[0].remove();
|
|
844
855
|
if (progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent == '' &&
|
|
845
|
-
parentLabel && !parentLabel['elementRef'] && div.innerHTML
|
|
856
|
+
parentLabel && !parentLabel['elementRef'] && div.innerHTML !== '')
|
|
846
857
|
progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent = parentLabel;
|
|
847
858
|
}
|
|
848
859
|
var milestoneTemplate = '<div class="' + cls.parentMilestone + '" style="position:absolute;">' +
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { createElement, formatUnit, remove
|
|
1
|
+
import { createElement, formatUnit, remove } from '@syncfusion/ej2-base';
|
|
2
2
|
import * as cls from '../base/css-constants';
|
|
3
|
+
import { isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
3
4
|
var NonWorkingDay = /** @class */ (function () {
|
|
4
5
|
function NonWorkingDay(gantt) {
|
|
5
6
|
this.weekendWidthUpdated = false;
|
|
@@ -56,8 +57,9 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
56
57
|
var toDate;
|
|
57
58
|
var container = createElement('div');
|
|
58
59
|
var height = this.parent.contentHeight;
|
|
60
|
+
// eslint-disable-next-line
|
|
59
61
|
var toolbarHeight = 0;
|
|
60
|
-
if (!isNullOrUndefined(this.parent.toolbarModule)) {
|
|
62
|
+
if (!isNullOrUndefined(this.parent.toolbarModule) && !isNullOrUndefined(this.parent.toolbarModule.element)) {
|
|
61
63
|
toolbarHeight = this.parent.toolbarModule.element.offsetHeight;
|
|
62
64
|
}
|
|
63
65
|
var viewportHeight = this.parent.ganttHeight - toolbarHeight - this.parent.ganttChartModule.chartTimelineContainer.offsetHeight;
|
|
@@ -162,6 +164,7 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
162
164
|
};
|
|
163
165
|
NonWorkingDay.prototype.updateHolidayLabelHeight = function () {
|
|
164
166
|
var height = this.parent.getContentHeight();
|
|
167
|
+
// eslint-disable-next-line
|
|
165
168
|
var toolbarHeight = 0;
|
|
166
169
|
if (!isNullOrUndefined(this.parent.toolbarModule) && !isNullOrUndefined(this.parent.toolbarModule.element)) {
|
|
167
170
|
toolbarHeight = this.parent.toolbarModule.element.offsetHeight;
|