@syncfusion/ej2-gantt 20.3.60 → 20.4.38
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 +16 -1
- package/CHANGELOG.md +14 -0
- package/dist/ej2-gantt.min.js +2 -2
- 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 +1422 -476
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +1448 -484
- 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 +19 -18
- package/src/gantt/actions/chart-scroll.d.ts +5 -1
- package/src/gantt/actions/chart-scroll.js +39 -1
- package/src/gantt/actions/connector-line-edit.js +2 -0
- package/src/gantt/actions/context-menu.js +36 -5
- package/src/gantt/actions/critical-path.d.ts +2 -2
- package/src/gantt/actions/critical-path.js +23 -16
- package/src/gantt/actions/dialog-edit.js +37 -14
- package/src/gantt/actions/edit.d.ts +1 -0
- package/src/gantt/actions/edit.js +156 -34
- package/src/gantt/actions/excel-export.js +13 -0
- package/src/gantt/actions/filter.js +3 -0
- package/src/gantt/actions/keyboard.js +1 -0
- package/src/gantt/actions/pdf-export.js +12 -0
- package/src/gantt/actions/rowdragdrop.js +8 -2
- package/src/gantt/actions/taskbar-edit.js +140 -43
- package/src/gantt/actions/toolbar.js +21 -1
- package/src/gantt/base/date-processor.js +5 -1
- package/src/gantt/base/gantt-chart.js +38 -4
- package/src/gantt/base/gantt-model.d.ts +25 -2
- package/src/gantt/base/gantt.d.ts +64 -21
- package/src/gantt/base/gantt.js +396 -26
- package/src/gantt/base/interface.d.ts +0 -4
- package/src/gantt/base/splitter.js +12 -2
- package/src/gantt/base/task-processor.js +4 -3
- package/src/gantt/base/tree-grid.js +37 -0
- package/src/gantt/base/utils.js +1 -0
- package/src/gantt/export/pdf-connector-line.js +185 -187
- package/src/gantt/models/loading-indicator-model.d.ts +20 -0
- package/src/gantt/models/loading-indicator.d.ts +18 -0
- package/src/gantt/models/loading-indicator.js +34 -0
- package/src/gantt/models/models.d.ts +2 -0
- package/src/gantt/models/models.js +1 -0
- package/src/gantt/renderer/chart-rows.js +75 -30
- package/src/gantt/renderer/connector-line.js +100 -97
- package/src/gantt/renderer/edit-tooltip.js +22 -3
- package/src/gantt/renderer/event-marker.js +15 -2
- package/src/gantt/renderer/nonworking-day.js +4 -2
- package/src/gantt/renderer/timeline.js +21 -1
- package/src/gantt/renderer/tooltip.js +1 -0
- package/styles/bootstrap-dark.css +179 -12
- package/styles/bootstrap.css +179 -12
- package/styles/bootstrap4.css +178 -10
- package/styles/bootstrap5-dark.css +178 -10
- package/styles/bootstrap5.css +178 -10
- package/styles/fabric-dark.css +179 -12
- package/styles/fabric.css +179 -12
- package/styles/fluent-dark.css +180 -10
- package/styles/fluent.css +180 -10
- package/styles/gantt/_bootstrap-dark-definition.scss +6 -2
- package/styles/gantt/_bootstrap-definition.scss +6 -3
- package/styles/gantt/_bootstrap4-definition.scss +6 -3
- package/styles/gantt/_bootstrap5-definition.scss +6 -3
- package/styles/gantt/_fabric-dark-definition.scss +6 -3
- package/styles/gantt/_fabric-definition.scss +6 -3
- package/styles/gantt/_fluent-definition.scss +6 -3
- package/styles/gantt/_fusionnew-definition.scss +6 -3
- package/styles/gantt/_highcontrast-definition.scss +7 -4
- package/styles/gantt/_highcontrast-light-definition.scss +6 -3
- package/styles/gantt/_layout.scss +234 -21
- package/styles/gantt/_material-dark-definition.scss +6 -3
- package/styles/gantt/_material-definition.scss +6 -3
- package/styles/gantt/_material3-definition.scss +6 -3
- package/styles/gantt/_tailwind-definition.scss +6 -3
- package/styles/gantt/_theme.scss +17 -8
- package/styles/gantt/bootstrap-dark.css +179 -12
- package/styles/gantt/bootstrap.css +179 -12
- package/styles/gantt/bootstrap4.css +178 -10
- package/styles/gantt/bootstrap5-dark.css +178 -10
- package/styles/gantt/bootstrap5.css +178 -10
- package/styles/gantt/fabric-dark.css +179 -12
- package/styles/gantt/fabric.css +179 -12
- package/styles/gantt/fluent-dark.css +180 -10
- package/styles/gantt/fluent.css +180 -10
- package/styles/gantt/highcontrast-light.css +178 -10
- package/styles/gantt/highcontrast.css +179 -12
- package/styles/gantt/icons/_bootstrap-dark.scss +1 -1
- package/styles/gantt/icons/_bootstrap.scss +1 -1
- package/styles/gantt/icons/_fabric-dark.scss +1 -1
- package/styles/gantt/icons/_fabric.scss +1 -1
- package/styles/gantt/icons/_highcontrast.scss +1 -1
- package/styles/gantt/icons/_material-dark.scss +1 -1
- package/styles/gantt/icons/_material.scss +1 -1
- package/styles/gantt/material-dark.css +177 -12
- package/styles/gantt/material.css +179 -12
- package/styles/gantt/tailwind-dark.css +178 -10
- package/styles/gantt/tailwind.css +178 -10
- package/styles/highcontrast-light.css +178 -10
- package/styles/highcontrast.css +179 -12
- package/styles/material-dark.css +177 -12
- package/styles/material.css +179 -12
- package/styles/tailwind-dark.css +178 -10
- package/styles/tailwind.css +178 -10
package/dist/global/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* filename: index.d.ts
|
|
3
|
-
* version : 20.
|
|
3
|
+
* version : 20.4.38
|
|
4
4
|
* Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
|
|
5
5
|
* Use of this code is subject to the terms of our license.
|
|
6
6
|
* A copy of the current license can be obtained at any time by e-mailing
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_from": "@syncfusion/ej2-gantt@*",
|
|
3
|
-
"_id": "@syncfusion/ej2-gantt@20.
|
|
3
|
+
"_id": "@syncfusion/ej2-gantt@20.15.5",
|
|
4
4
|
"_inBundle": false,
|
|
5
|
-
"_integrity": "sha512-
|
|
5
|
+
"_integrity": "sha512-8nxolLMuBdFBnZtSPWBRdiHp0cZzFYElVPtPP/YgzzEs+T4RA0CtROz8JIWe5TQDAMoFtHCwWcOcT7GgG0IwDA==",
|
|
6
6
|
"_location": "/@syncfusion/ej2-gantt",
|
|
7
7
|
"_phantomChildren": {},
|
|
8
8
|
"_requested": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"/@syncfusion/ej2-react-gantt",
|
|
24
24
|
"/@syncfusion/ej2-vue-gantt"
|
|
25
25
|
],
|
|
26
|
-
"_resolved": "https://nexus.syncfusion.com/repository/ej2-
|
|
27
|
-
"_shasum": "
|
|
26
|
+
"_resolved": "https://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-gantt/-/ej2-gantt-20.15.5.tgz",
|
|
27
|
+
"_shasum": "227225e240e8cf836cb9fac39c980c2a145f85dd",
|
|
28
28
|
"_spec": "@syncfusion/ej2-gantt@*",
|
|
29
29
|
"_where": "/jenkins/workspace/ease-automation_release_19.1.0.1/packages/included",
|
|
30
30
|
"author": {
|
|
@@ -35,19 +35,20 @@
|
|
|
35
35
|
},
|
|
36
36
|
"bundleDependencies": false,
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@syncfusion/ej2-base": "~20.
|
|
39
|
-
"@syncfusion/ej2-buttons": "~20.
|
|
40
|
-
"@syncfusion/ej2-calendars": "~20.
|
|
41
|
-
"@syncfusion/ej2-data": "~20.
|
|
42
|
-
"@syncfusion/ej2-dropdowns": "~20.
|
|
43
|
-
"@syncfusion/ej2-grids": "~20.
|
|
44
|
-
"@syncfusion/ej2-inputs": "~20.
|
|
45
|
-
"@syncfusion/ej2-layouts": "~20.
|
|
46
|
-
"@syncfusion/ej2-lists": "~20.
|
|
47
|
-
"@syncfusion/ej2-navigations": "~20.
|
|
48
|
-
"@syncfusion/ej2-
|
|
49
|
-
"@syncfusion/ej2-
|
|
50
|
-
"@syncfusion/ej2-
|
|
38
|
+
"@syncfusion/ej2-base": "~20.4.38",
|
|
39
|
+
"@syncfusion/ej2-buttons": "~20.4.38",
|
|
40
|
+
"@syncfusion/ej2-calendars": "~20.4.38",
|
|
41
|
+
"@syncfusion/ej2-data": "~20.4.38",
|
|
42
|
+
"@syncfusion/ej2-dropdowns": "~20.4.38",
|
|
43
|
+
"@syncfusion/ej2-grids": "~20.4.38",
|
|
44
|
+
"@syncfusion/ej2-inputs": "~20.4.38",
|
|
45
|
+
"@syncfusion/ej2-layouts": "~20.4.38",
|
|
46
|
+
"@syncfusion/ej2-lists": "~20.4.38",
|
|
47
|
+
"@syncfusion/ej2-navigations": "~20.4.38",
|
|
48
|
+
"@syncfusion/ej2-notifications": "~20.4.38",
|
|
49
|
+
"@syncfusion/ej2-popups": "~20.4.38",
|
|
50
|
+
"@syncfusion/ej2-richtexteditor": "~20.4.38",
|
|
51
|
+
"@syncfusion/ej2-treegrid": "~20.4.38"
|
|
51
52
|
},
|
|
52
53
|
"deprecated": false,
|
|
53
54
|
"description": "Essential JS 2 Gantt Component",
|
|
@@ -75,6 +76,6 @@
|
|
|
75
76
|
"url": "git+https://github.com/syncfusion/ej2-gantt.git"
|
|
76
77
|
},
|
|
77
78
|
"typings": "index.d.ts",
|
|
78
|
-
"version": "20.
|
|
79
|
+
"version": "20.4.38",
|
|
79
80
|
"sideEffects": false
|
|
80
81
|
}
|
|
@@ -7,6 +7,7 @@ import { Gantt } from '../base/gantt';
|
|
|
7
7
|
export declare class ChartScroll {
|
|
8
8
|
private parent;
|
|
9
9
|
private element;
|
|
10
|
+
private isScrolling;
|
|
10
11
|
private isFromTreeGrid;
|
|
11
12
|
previousScroll: {
|
|
12
13
|
top: number;
|
|
@@ -44,6 +45,9 @@ export declare class ChartScroll {
|
|
|
44
45
|
* @private
|
|
45
46
|
*/
|
|
46
47
|
updateTopPosition(): void;
|
|
48
|
+
private removeShimmer;
|
|
49
|
+
private updateShimmer;
|
|
50
|
+
private updateSpinner;
|
|
47
51
|
/**
|
|
48
52
|
* Scroll event handler
|
|
49
53
|
*
|
|
@@ -80,7 +84,7 @@ export declare class ChartScroll {
|
|
|
80
84
|
* @param {number} scrollLeft - To set scroll left for scroll container
|
|
81
85
|
* @returns {void} .
|
|
82
86
|
*/
|
|
83
|
-
setScrollLeft(scrollLeft: number): void;
|
|
87
|
+
setScrollLeft(scrollLeft: number, leftSign?: number): void;
|
|
84
88
|
/**
|
|
85
89
|
* Destroy scroll related elements and unbind the events
|
|
86
90
|
*
|
|
@@ -25,6 +25,8 @@ var ChartScroll = /** @class */ (function () {
|
|
|
25
25
|
ChartScroll.prototype.addEventListeners = function () {
|
|
26
26
|
this.parent.on('grid-scroll', this.gridScrollHandler, this);
|
|
27
27
|
EventHandler.add(this.element, 'scroll', this.onScroll, this);
|
|
28
|
+
this.parent.treeGrid.grid.on('showGanttShimmer', this.updateShimmer, this);
|
|
29
|
+
this.parent.treeGrid.grid.on('removeGanttShimmer', this.removeShimmer, this);
|
|
28
30
|
};
|
|
29
31
|
/**
|
|
30
32
|
* Unbind events
|
|
@@ -34,6 +36,8 @@ var ChartScroll = /** @class */ (function () {
|
|
|
34
36
|
ChartScroll.prototype.removeEventListeners = function () {
|
|
35
37
|
EventHandler.remove(this.element, 'scroll', this.onScroll);
|
|
36
38
|
this.parent.off('grid-scroll', this.gridScrollHandler);
|
|
39
|
+
this.parent.treeGrid.grid.off('showGanttShimmer', this.updateShimmer);
|
|
40
|
+
this.parent.treeGrid.grid.off('removeGanttShimmer', this.removeShimmer);
|
|
37
41
|
};
|
|
38
42
|
/**
|
|
39
43
|
*
|
|
@@ -79,6 +83,27 @@ var ChartScroll = /** @class */ (function () {
|
|
|
79
83
|
this.parent.chartVerticalLineContainer.style.top = formatUnit(scrollTop);
|
|
80
84
|
}
|
|
81
85
|
};
|
|
86
|
+
ChartScroll.prototype.removeShimmer = function () {
|
|
87
|
+
var parent = this.parent;
|
|
88
|
+
setTimeout(function () {
|
|
89
|
+
parent.hideMaskRow();
|
|
90
|
+
}, 0);
|
|
91
|
+
};
|
|
92
|
+
;
|
|
93
|
+
ChartScroll.prototype.updateShimmer = function () {
|
|
94
|
+
var parent = this.parent;
|
|
95
|
+
setTimeout(function () {
|
|
96
|
+
parent.showMaskRow();
|
|
97
|
+
}, 0);
|
|
98
|
+
};
|
|
99
|
+
ChartScroll.prototype.updateSpinner = function () {
|
|
100
|
+
var parent = this.parent;
|
|
101
|
+
this.parent.showSpinner();
|
|
102
|
+
window.clearTimeout(this.isScrolling);
|
|
103
|
+
this.isScrolling = setTimeout(function () {
|
|
104
|
+
parent.hideSpinner();
|
|
105
|
+
}, 200);
|
|
106
|
+
};
|
|
82
107
|
/**
|
|
83
108
|
* Scroll event handler
|
|
84
109
|
*
|
|
@@ -104,6 +129,16 @@ var ChartScroll = /** @class */ (function () {
|
|
|
104
129
|
scrollArgs.scrollDirection = 'Horizontal';
|
|
105
130
|
scrollArgs.action = 'HorizontalScroll';
|
|
106
131
|
}
|
|
132
|
+
if ((scrollArgs.scrollDirection != 'Horizontal' && !isNullOrUndefined(scrollArgs.scrollDirection)) && this.parent.enableVirtualization === true && (this.parent.isToolBarClick
|
|
133
|
+
|| isNullOrUndefined(this.parent.isToolBarClick))) {
|
|
134
|
+
this.parent.isVirtualScroll = true;
|
|
135
|
+
if (this.parent.showIndicator || isNullOrUndefined(this.parent.showIndicator)) {
|
|
136
|
+
if (!this.parent.enableVirtualMaskRow && this.parent.enableVirtualization && this.parent.loadingIndicator.indicatorType === "Spinner") {
|
|
137
|
+
this.updateSpinner();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
this.parent.isToolBarClick = true;
|
|
107
142
|
scrollArgs.requestType = 'scroll';
|
|
108
143
|
this.parent.trigger('actionComplete', scrollArgs);
|
|
109
144
|
};
|
|
@@ -144,7 +179,10 @@ var ChartScroll = /** @class */ (function () {
|
|
|
144
179
|
* @param {number} scrollLeft - To set scroll left for scroll container
|
|
145
180
|
* @returns {void} .
|
|
146
181
|
*/
|
|
147
|
-
ChartScroll.prototype.setScrollLeft = function (scrollLeft) {
|
|
182
|
+
ChartScroll.prototype.setScrollLeft = function (scrollLeft, leftSign) {
|
|
183
|
+
if (leftSign) {
|
|
184
|
+
scrollLeft = leftSign == -1 && this.parent.enableRtl ? -scrollLeft : scrollLeft;
|
|
185
|
+
}
|
|
148
186
|
this.element.scrollLeft = scrollLeft;
|
|
149
187
|
this.parent.ganttChartModule.chartTimelineContainer.scrollLeft = this.element.scrollLeft;
|
|
150
188
|
this.previousScroll.left = this.element.scrollLeft;
|
|
@@ -547,6 +547,7 @@ var ConnectorLineEdit = /** @class */ (function () {
|
|
|
547
547
|
var validationDialog = new Dialog({
|
|
548
548
|
header: 'Validate Editing',
|
|
549
549
|
isModal: true,
|
|
550
|
+
enableRtl: this.parent.enableRtl,
|
|
550
551
|
visible: false,
|
|
551
552
|
width: '50%',
|
|
552
553
|
showCloseIcon: true,
|
|
@@ -918,6 +919,7 @@ var ConnectorLineEdit = /** @class */ (function () {
|
|
|
918
919
|
this.confirmPredecessorDialog = new Dialog({
|
|
919
920
|
width: '320px',
|
|
920
921
|
isModal: true,
|
|
922
|
+
enableRtl: this.parent.enableRtl,
|
|
921
923
|
content: this.parent.localeObj.getConstant('confirmPredecessorDelete'),
|
|
922
924
|
buttons: [
|
|
923
925
|
{
|
|
@@ -68,6 +68,7 @@ var ContextMenu = /** @class */ (function () {
|
|
|
68
68
|
this.contextMenu = new Menu({
|
|
69
69
|
items: this.getMenuItems(),
|
|
70
70
|
locale: this.parent.locale,
|
|
71
|
+
enableRtl: this.parent.enableRtl,
|
|
71
72
|
target: target,
|
|
72
73
|
animationSettings: { effect: 'None' },
|
|
73
74
|
select: this.contextMenuItemClick.bind(this),
|
|
@@ -209,6 +210,12 @@ var ContextMenu = /** @class */ (function () {
|
|
|
209
210
|
};
|
|
210
211
|
// eslint-disable-next-line
|
|
211
212
|
this.parent.trigger('actionBegin', eventArgs, function (eventArgs) {
|
|
213
|
+
if (!isNullOrUndefined(_this.parent.loadingIndicator) && _this.parent.loadingIndicator.indicatorType === "Shimmer") {
|
|
214
|
+
_this.parent.showMaskRow();
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
_this.parent.showSpinner();
|
|
218
|
+
}
|
|
212
219
|
_this.parent.chartRowsModule.splitTask(_this.rowData[taskSettings.id], currentClickedDate);
|
|
213
220
|
});
|
|
214
221
|
};
|
|
@@ -230,6 +237,12 @@ var ContextMenu = /** @class */ (function () {
|
|
|
230
237
|
target: this.targetElement
|
|
231
238
|
};
|
|
232
239
|
this.parent.trigger('actionBegin', eventArgs, function (eventArgs) {
|
|
240
|
+
if (!isNullOrUndefined(_this.parent.loadingIndicator) && _this.parent.loadingIndicator.indicatorType === "Shimmer") {
|
|
241
|
+
_this.parent.showMaskRow();
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
_this.parent.showSpinner();
|
|
245
|
+
}
|
|
233
246
|
if (eventArgs.cancel === false) {
|
|
234
247
|
_this.parent.chartRowsModule.mergeTask(_this.rowData[taskSettings.id], segmentIndexes);
|
|
235
248
|
}
|
|
@@ -238,12 +251,30 @@ var ContextMenu = /** @class */ (function () {
|
|
|
238
251
|
// eslint-disable-next-line
|
|
239
252
|
ContextMenu.prototype.getClickedDate = function (element) {
|
|
240
253
|
// context menu click position
|
|
241
|
-
var
|
|
254
|
+
var ganttElementPositionLeft;
|
|
242
255
|
// task left position
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
256
|
+
if (this.parent.enableRtl) {
|
|
257
|
+
var box = this.parent.element.getBoundingClientRect();
|
|
258
|
+
var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft ||
|
|
259
|
+
document.body.scrollLeft;
|
|
260
|
+
var clientLeft = document.documentElement.clientLeft || document.body.clientLeft || 0;
|
|
261
|
+
ganttElementPositionLeft = box.left + scrollLeft - clientLeft;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
ganttElementPositionLeft = this.parent.getOffsetRect(this.parent.element).left;
|
|
265
|
+
}
|
|
266
|
+
var pageLeft;
|
|
267
|
+
var currentTaskDifference;
|
|
268
|
+
if (this.parent.enableRtl) {
|
|
269
|
+
pageLeft = Math.abs(ganttElementPositionLeft + this.parent.ganttChartModule.chartElement.offsetWidth -
|
|
270
|
+
this.rowData.ganttProperties.left - this.parent.ganttChartModule.scrollElement.scrollLeft);
|
|
271
|
+
currentTaskDifference = Math.abs(this.clickedPosition - pageLeft);
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
pageLeft = ganttElementPositionLeft + this.parent.ganttChartModule.chartElement.offsetLeft +
|
|
275
|
+
this.rowData.ganttProperties.left - this.parent.ganttChartModule.scrollElement.scrollLeft;
|
|
276
|
+
currentTaskDifference = this.clickedPosition - pageLeft;
|
|
277
|
+
}
|
|
247
278
|
var splitTaskDuration = Math.ceil(currentTaskDifference / this.parent.perDayWidth);
|
|
248
279
|
var startDate = this.rowData.ganttProperties.startDate;
|
|
249
280
|
if (!isNullOrUndefined(this.parent.timelineSettings.bottomTier) && this.parent.timelineSettings.bottomTier.unit === 'Hour') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Gantt } from
|
|
2
|
-
import { IGanttData } from
|
|
1
|
+
import { Gantt } from '../base/gantt';
|
|
2
|
+
import { IGanttData } from '../base/interface';
|
|
3
3
|
export declare class CriticalPath {
|
|
4
4
|
private parent;
|
|
5
5
|
detailPredecessorCollection: object[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isNullOrUndefined } from
|
|
1
|
+
import { isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
2
2
|
import { addClass } from '@syncfusion/ej2-base';
|
|
3
3
|
import * as cls from '../base/css-constants';
|
|
4
4
|
var CriticalPath = /** @class */ (function () {
|
|
@@ -79,7 +79,7 @@ var CriticalPath = /** @class */ (function () {
|
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
81
81
|
var currentRecords = this_1.parent.currentViewData.filter(function (data) {
|
|
82
|
-
return parseInt(data.ganttProperties.taskId)
|
|
82
|
+
return parseInt(data.ganttProperties.taskId) === checkBeyondEnddate_1[k];
|
|
83
83
|
});
|
|
84
84
|
for (var i = 0; i < currentRecords.length; i++) {
|
|
85
85
|
if (!currentRecords[i].hasChildRecords && currentRecords[i].ganttProperties.endDate >= this_1.maxEndDate) {
|
|
@@ -117,10 +117,10 @@ var CriticalPath = /** @class */ (function () {
|
|
|
117
117
|
var individualPredecessorLength = totalPredecessorsCollection[x].ganttProperties.predecessor.length;
|
|
118
118
|
var taskid = ((totalPredecessorsCollection[x].ganttProperties.taskId));
|
|
119
119
|
for (var y = 0; y < individualPredecessorLength; y++) {
|
|
120
|
-
if (!isNaN(Number(predecessor[y].from)) && typeof (taskid) !=
|
|
120
|
+
if (!isNaN(Number(predecessor[y].from)) && typeof (taskid) != 'string') {
|
|
121
121
|
tempTaskId = parseInt((predecessor[y].from), 10);
|
|
122
122
|
}
|
|
123
|
-
else if (!isNaN(Number(predecessor[y].from)) && typeof (taskid) ===
|
|
123
|
+
else if (!isNaN(Number(predecessor[y].from)) && typeof (taskid) === 'string') {
|
|
124
124
|
tempTaskId = predecessor[y].from;
|
|
125
125
|
}
|
|
126
126
|
else {
|
|
@@ -143,15 +143,16 @@ var CriticalPath = /** @class */ (function () {
|
|
|
143
143
|
toPredecessor = toPredecessor + ',' + predecessor[y].type;
|
|
144
144
|
}
|
|
145
145
|
else {
|
|
146
|
-
to = to + ',' + predecessor[y].to + ':' + predecessor[y].offset +
|
|
146
|
+
to = to + ',' + predecessor[y].to + ':' + predecessor[y].offset +
|
|
147
|
+
predecessor[y].offsetUnit;
|
|
147
148
|
toPredecessor = toPredecessor + ',' + predecessor[y].type;
|
|
148
149
|
}
|
|
149
150
|
}
|
|
150
151
|
}
|
|
151
|
-
if (!isNaN(Number(predecessor[y].to)) && typeof (taskid) !=
|
|
152
|
+
if (!isNaN(Number(predecessor[y].to)) && typeof (taskid) != 'string') {
|
|
152
153
|
tempTaskId = parseInt((predecessor[y].to), 10);
|
|
153
154
|
}
|
|
154
|
-
else if (!isNaN(Number(predecessor[y].to)) && typeof (taskid) ===
|
|
155
|
+
else if (!isNaN(Number(predecessor[y].to)) && typeof (taskid) === 'string') {
|
|
155
156
|
tempTaskId = predecessor[y].to;
|
|
156
157
|
}
|
|
157
158
|
else {
|
|
@@ -164,7 +165,8 @@ var CriticalPath = /** @class */ (function () {
|
|
|
164
165
|
fromPredecessor = predecessor[y].type;
|
|
165
166
|
}
|
|
166
167
|
else {
|
|
167
|
-
from = predecessor[y].from + ':' + predecessor[y].offset +
|
|
168
|
+
from = predecessor[y].from + ':' + predecessor[y].offset +
|
|
169
|
+
predecessor[y].offsetUnit;
|
|
168
170
|
fromPredecessor = predecessor[y].type;
|
|
169
171
|
}
|
|
170
172
|
}
|
|
@@ -174,7 +176,8 @@ var CriticalPath = /** @class */ (function () {
|
|
|
174
176
|
fromPredecessor = fromPredecessor + ',' + predecessor[y].type;
|
|
175
177
|
}
|
|
176
178
|
else {
|
|
177
|
-
from = from + ',' + predecessor[y].from + ':' + predecessor[y].offset +
|
|
179
|
+
from = from + ',' + predecessor[y].from + ':' + predecessor[y].offset +
|
|
180
|
+
predecessor[y].offsetUnit;
|
|
178
181
|
fromPredecessor = fromPredecessor + ',' + predecessor[y].type;
|
|
179
182
|
}
|
|
180
183
|
}
|
|
@@ -301,7 +304,8 @@ var CriticalPath = /** @class */ (function () {
|
|
|
301
304
|
}
|
|
302
305
|
}
|
|
303
306
|
// execute if the current calculated slack value is less than the previous slack value.
|
|
304
|
-
else if (collection[fromTaskIdIndex]['slack'] > dateDifference &&
|
|
307
|
+
else if (collection[fromTaskIdIndex]['slack'] > dateDifference &&
|
|
308
|
+
collection[fromTaskIdIndex]['slack'] !== 0) {
|
|
305
309
|
// execute if the offset value is not given.
|
|
306
310
|
if (fromDateArray1.length <= 1) {
|
|
307
311
|
if (collection[totaskId]['slack'] + dateDifference < 0) {
|
|
@@ -351,7 +355,8 @@ var CriticalPath = /** @class */ (function () {
|
|
|
351
355
|
}
|
|
352
356
|
}
|
|
353
357
|
//It execute while already the slack value is set and it is higher than the datedifference.
|
|
354
|
-
else if (collection[fromTaskIdIndex]['slack'] > dateDifference &&
|
|
358
|
+
else if (collection[fromTaskIdIndex]['slack'] > dateDifference &&
|
|
359
|
+
collection[fromTaskIdIndex]['slack'] !== 0) {
|
|
355
360
|
if (fromDateArray1.length <= 1) {
|
|
356
361
|
if (collection[totaskId]['slack'] + dateDifference < 0) {
|
|
357
362
|
collection[fromTaskIdIndex]['slack'] = 0;
|
|
@@ -379,7 +384,8 @@ var CriticalPath = /** @class */ (function () {
|
|
|
379
384
|
if (isNullOrUndefined(collection[fromTaskIdIndex]['slack'])) {
|
|
380
385
|
collection[fromTaskIdIndex]['slack'] = dateDifference;
|
|
381
386
|
}
|
|
382
|
-
else if (collection[fromTaskIdIndex]['slack'] > dateDifference &&
|
|
387
|
+
else if (collection[fromTaskIdIndex]['slack'] > dateDifference &&
|
|
388
|
+
collection[fromTaskIdIndex]['slack'] !== 0) {
|
|
383
389
|
collection[fromTaskIdIndex]['slack'] = dateDifference;
|
|
384
390
|
}
|
|
385
391
|
}
|
|
@@ -390,7 +396,8 @@ var CriticalPath = /** @class */ (function () {
|
|
|
390
396
|
// calculate slack value for the task contains predecessor connection in "finish to finish".
|
|
391
397
|
if (fromDataPredecessor[i] === 'FF') {
|
|
392
398
|
// execute if the previous task is from finish to start or finish to finish state.
|
|
393
|
-
if (collection[totaskId]['fs'] === 1 || collection[totaskId]['ff'] === 1 ||
|
|
399
|
+
if (collection[totaskId]['fs'] === 1 || collection[totaskId]['ff'] === 1 ||
|
|
400
|
+
collection[totaskId]['fs'] === -1) {
|
|
394
401
|
if (collection[totaskId]['fs'] === 1 || collection[totaskId]['ff'] === 1) {
|
|
395
402
|
prevTaskEnddate = toIdFlatData.endDate;
|
|
396
403
|
ffslack = collection[totaskId]['slack'];
|
|
@@ -693,7 +700,7 @@ var CriticalPath = /** @class */ (function () {
|
|
|
693
700
|
}
|
|
694
701
|
else {
|
|
695
702
|
var currentRecords = this_2.parent.currentViewData.filter(function (data) {
|
|
696
|
-
return (data.ganttProperties.taskId).toString()
|
|
703
|
+
return (data.ganttProperties.taskId).toString() === criticalPathIds[i].toString();
|
|
697
704
|
});
|
|
698
705
|
for (var i_1 = 0; i_1 < currentRecords.length; i_1++) {
|
|
699
706
|
if (currentRecords[i_1].ganttProperties.isCritical || currentRecords[i_1].ganttProperties.endDate >= this_2.maxEndDate) {
|
|
@@ -707,13 +714,13 @@ var CriticalPath = /** @class */ (function () {
|
|
|
707
714
|
var columnFields = this_2.parent.taskFields;
|
|
708
715
|
if (criticalData.parentItem) {
|
|
709
716
|
var parentRecord = this_2.parent.currentViewData.filter(function (data) {
|
|
710
|
-
return criticalData.parentItem.uniqueID
|
|
717
|
+
return criticalData.parentItem.uniqueID === data.uniqueID;
|
|
711
718
|
});
|
|
712
719
|
var parentIndex = this_2.parent.currentViewData.indexOf(parentRecord[0]);
|
|
713
720
|
var parentElement = this_2.parent.getRowByIndex(parentIndex);
|
|
714
721
|
var parentTaskbarElement = parentElement.querySelectorAll('.e-taskbar-main-container');
|
|
715
722
|
for (var i_2 = 0; i_2 < parentTaskbarElement.length; i_2++) {
|
|
716
|
-
if (parentTaskbarElement[i_2].getAttribute('rowuniqueid')
|
|
723
|
+
if (parentTaskbarElement[i_2].getAttribute('rowuniqueid') === criticalData['rowUniqueID']) {
|
|
717
724
|
addClass(parentTaskbarElement[i_2].querySelectorAll('.e-gantt-child-taskbar-inner-div'), cls.criticalChildTaskBarInnerDiv);
|
|
718
725
|
}
|
|
719
726
|
}
|
|
@@ -320,18 +320,18 @@ var DialogEdit = /** @class */ (function () {
|
|
|
320
320
|
if (!isNullOrUndefined(taskId)) {
|
|
321
321
|
if (!isNullOrUndefined(taskId['ganttProperties'])) {
|
|
322
322
|
if (typeof taskId['ganttProperties']['taskId'] === 'string') {
|
|
323
|
-
this.numericOrString =
|
|
323
|
+
this.numericOrString = 'stringedit';
|
|
324
324
|
}
|
|
325
325
|
else {
|
|
326
|
-
this.numericOrString =
|
|
326
|
+
this.numericOrString = 'numericedit';
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
if (isNullOrUndefined(taskId['ganttProperties']) && !isNullOrUndefined(taskId)) {
|
|
330
330
|
if (isNaN(Number(taskId)) || this.parent.columnByField[this.parent.taskFields.id].editType === "stringedit") {
|
|
331
|
-
this.numericOrString =
|
|
331
|
+
this.numericOrString = 'stringedit';
|
|
332
332
|
}
|
|
333
333
|
else {
|
|
334
|
-
this.numericOrString =
|
|
334
|
+
this.numericOrString = 'numericedit';
|
|
335
335
|
}
|
|
336
336
|
}
|
|
337
337
|
}
|
|
@@ -374,6 +374,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
374
374
|
dialogModel.animationSettings = { effect: 'None' };
|
|
375
375
|
dialogModel.header = this.localeObj.getConstant(this.isEdit ? 'editDialogTitle' : 'addDialogTitle');
|
|
376
376
|
dialogModel.isModal = true;
|
|
377
|
+
dialogModel.enableRtl = this.parent.enableRtl;
|
|
377
378
|
dialogModel.allowDragging = this.parent.isAdaptive ? false : true;
|
|
378
379
|
dialogModel.showCloseIcon = true;
|
|
379
380
|
var position = this.parent.isAdaptive ? { X: 'top', Y: 'left' } : { X: 'center', Y: 'center' };
|
|
@@ -384,8 +385,8 @@ var DialogEdit = /** @class */ (function () {
|
|
|
384
385
|
dialogModel.close = this.dialogClose.bind(this);
|
|
385
386
|
dialogModel.closeOnEscape = true;
|
|
386
387
|
dialogModel.beforeClose = function (args) {
|
|
387
|
-
if (args.closedBy
|
|
388
|
-
if (args.event.name
|
|
388
|
+
if (args.closedBy === "escape") {
|
|
389
|
+
if (args.event.name === "key-pressed" && args.event.target.nodeName === 'INPUT') {
|
|
389
390
|
args.cancel = true;
|
|
390
391
|
}
|
|
391
392
|
}
|
|
@@ -556,6 +557,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
556
557
|
var length = dialogSettings.length;
|
|
557
558
|
tabModel.items = tabItems;
|
|
558
559
|
tabModel.locale = this.parent.locale;
|
|
560
|
+
tabModel.enableRtl = this.parent.enableRtl;
|
|
559
561
|
this.beforeOpenArgs.tabModel = tabModel;
|
|
560
562
|
var count = 0;
|
|
561
563
|
var index = 0;
|
|
@@ -636,6 +638,12 @@ var DialogEdit = /** @class */ (function () {
|
|
|
636
638
|
cancel: this.beforeOpenArgs.cancel
|
|
637
639
|
};
|
|
638
640
|
this.parent.trigger('actionBegin', this.beforeOpenArgs, function (arg) {
|
|
641
|
+
if (!isNullOrUndefined(_this.parent.loadingIndicator) && _this.parent.loadingIndicator.indicatorType === "Shimmer") {
|
|
642
|
+
_this.parent.showMaskRow();
|
|
643
|
+
}
|
|
644
|
+
else {
|
|
645
|
+
_this.parent.showSpinner();
|
|
646
|
+
}
|
|
639
647
|
_this.renderTabItems();
|
|
640
648
|
if (!arg.cancel) {
|
|
641
649
|
tabModel.selected = _this.tabSelectedEvent.bind(_this);
|
|
@@ -658,6 +666,12 @@ var DialogEdit = /** @class */ (function () {
|
|
|
658
666
|
cancel: false
|
|
659
667
|
};
|
|
660
668
|
_this.parent.trigger('actionComplete', actionCompleteArgs, function (actionCompleteArg) {
|
|
669
|
+
if (!isNullOrUndefined(_this.parent.loadingIndicator) && _this.parent.loadingIndicator.indicatorType === "Shimmer") {
|
|
670
|
+
_this.parent.hideMaskRow();
|
|
671
|
+
}
|
|
672
|
+
else {
|
|
673
|
+
_this.parent.hideSpinner();
|
|
674
|
+
}
|
|
661
675
|
if (actionCompleteArg.cancel) {
|
|
662
676
|
_this.resetValues();
|
|
663
677
|
}
|
|
@@ -741,7 +755,8 @@ var DialogEdit = /** @class */ (function () {
|
|
|
741
755
|
{
|
|
742
756
|
var checkboxModel = {
|
|
743
757
|
label: column.headerText,
|
|
744
|
-
locale: locale
|
|
758
|
+
locale: locale,
|
|
759
|
+
enableRtl: this.parent.enableRtl
|
|
745
760
|
};
|
|
746
761
|
fieldsModel[column.field] = checkboxModel;
|
|
747
762
|
break;
|
|
@@ -750,6 +765,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
750
765
|
case 'stringedit':
|
|
751
766
|
{
|
|
752
767
|
var textBox = common;
|
|
768
|
+
textBox.enableRtl = this.parent.enableRtl;
|
|
753
769
|
if (column.field === ganttObj.columnMapping.duration || column.field === ganttObj.columnMapping.id || column.field === ganttObj.columnMapping.startDate ||
|
|
754
770
|
column.field === ganttObj.columnMapping.endDate) {
|
|
755
771
|
textBox.change = function (args) {
|
|
@@ -762,6 +778,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
762
778
|
case 'numericedit':
|
|
763
779
|
{
|
|
764
780
|
var numeric = common;
|
|
781
|
+
numeric.enableRtl = this.parent.enableRtl;
|
|
765
782
|
if (taskSettings.progress === column.field) {
|
|
766
783
|
numeric.min = 0;
|
|
767
784
|
numeric.max = 100;
|
|
@@ -778,6 +795,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
778
795
|
{
|
|
779
796
|
var datePickerObj = common;
|
|
780
797
|
datePickerObj.format = this.parent.getDateFormat();
|
|
798
|
+
datePickerObj.enableRtl = this.parent.enableRtl;
|
|
781
799
|
datePickerObj.strictMode = true;
|
|
782
800
|
datePickerObj.firstDayOfWeek = ganttObj.timelineModule.customTimelineSettings.weekStartDay;
|
|
783
801
|
if (column.field === ganttObj.columnMapping.startDate ||
|
|
@@ -794,6 +812,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
794
812
|
{
|
|
795
813
|
var dateTimePickerObj = common;
|
|
796
814
|
dateTimePickerObj.format = this.parent.getDateFormat();
|
|
815
|
+
dateTimePickerObj.enableRtl = this.parent.enableRtl;
|
|
797
816
|
dateTimePickerObj.strictMode = true;
|
|
798
817
|
dateTimePickerObj.firstDayOfWeek = ganttObj.timelineModule.customTimelineSettings.weekStartDay;
|
|
799
818
|
if (column.field === ganttObj.columnMapping.startDate ||
|
|
@@ -816,6 +835,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
816
835
|
common[dataKey] = types;
|
|
817
836
|
common[fieldsKey] = { value: 'Value' };
|
|
818
837
|
var dropDownListObj = common;
|
|
838
|
+
dropDownListObj.enableRtl = this.parent.enableRtl;
|
|
819
839
|
dropDownListObj.change = function (args) {
|
|
820
840
|
if (column.field === taskSettings.manual) {
|
|
821
841
|
_this.editedRecord.ganttProperties.isAutoSchedule = !args.value;
|
|
@@ -1189,8 +1209,8 @@ var DialogEdit = /** @class */ (function () {
|
|
|
1189
1209
|
break;
|
|
1190
1210
|
case 'duration':
|
|
1191
1211
|
gridColumn = {
|
|
1192
|
-
field: fields[i], headerText: this_1.localeObj.getConstant(fields[i]), editType: 'stringedit',
|
|
1193
|
-
edit: {
|
|
1212
|
+
field: fields[i], headerText: this_1.localeObj.getConstant(fields[i]), editType: 'stringedit',
|
|
1213
|
+
width: '100px', edit: {
|
|
1194
1214
|
write: function (args) {
|
|
1195
1215
|
var inputTextModel;
|
|
1196
1216
|
if (!isNullOrUndefined(_this.beforeOpenArgs[generalTabString])) {
|
|
@@ -1255,7 +1275,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
1255
1275
|
inputValue = dialog.querySelector('#' + ganttId + 'SegmentsTabContainer' + columnName)
|
|
1256
1276
|
.ej2_instances[0];
|
|
1257
1277
|
}
|
|
1258
|
-
if (inputValue.value.toString() !== tempValue.toString()) {
|
|
1278
|
+
if ((!isNullOrUndefined(inputValue.value)) && (inputValue.value.toString() !== tempValue.toString())) {
|
|
1259
1279
|
inputValue.value = tempValue;
|
|
1260
1280
|
inputValue.dataBind();
|
|
1261
1281
|
}
|
|
@@ -1590,7 +1610,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
1590
1610
|
break;
|
|
1591
1611
|
}
|
|
1592
1612
|
}
|
|
1593
|
-
if (typeof (stringOrNumber) ===
|
|
1613
|
+
if (typeof (stringOrNumber) === 'string') {
|
|
1594
1614
|
disabled = false;
|
|
1595
1615
|
}
|
|
1596
1616
|
else {
|
|
@@ -1605,7 +1625,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
1605
1625
|
}
|
|
1606
1626
|
if (this.editedRecord.hasChildRecords) {
|
|
1607
1627
|
if ((column.field === this.parent.taskFields.endDate && ((!isNullOrUndefined(this.editedRecord['isManual']) &&
|
|
1608
|
-
this.editedRecord['isManual']
|
|
1628
|
+
this.editedRecord['isManual'] === false) || this.parent.taskMode === 'Auto')) || column.field === this.parent.taskFields.duration ||
|
|
1609
1629
|
column.field === this.parent.taskFields.progress || column.field === this.parent.taskFields.work ||
|
|
1610
1630
|
column.field === this.parent.taskFields.type) {
|
|
1611
1631
|
disabled = true;
|
|
@@ -1661,6 +1681,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
1661
1681
|
dataSource: new DataManager(_this.idCollection),
|
|
1662
1682
|
popupHeight: '180px',
|
|
1663
1683
|
allowCustom: false,
|
|
1684
|
+
enableRtl: _this.parent.enableRtl,
|
|
1664
1685
|
fields: { value: 'text' },
|
|
1665
1686
|
value: args.rowData[field],
|
|
1666
1687
|
change: function (arg) {
|
|
@@ -1936,7 +1957,7 @@ var DialogEdit = /** @class */ (function () {
|
|
|
1936
1957
|
do {
|
|
1937
1958
|
if (currentFlatData.parentItem) {
|
|
1938
1959
|
currentFlatData = this.parent.flatData[this.parent.ids.indexOf(currentFlatData.parentItem.taskId)];
|
|
1939
|
-
if (currentFlatData.uniqueID
|
|
1960
|
+
if (currentFlatData.uniqueID === this.beforeOpenArgs.rowData['uniqueID']) {
|
|
1940
1961
|
this.isValidData = false;
|
|
1941
1962
|
break;
|
|
1942
1963
|
}
|
|
@@ -2189,7 +2210,9 @@ var DialogEdit = /** @class */ (function () {
|
|
|
2189
2210
|
}
|
|
2190
2211
|
}
|
|
2191
2212
|
if (this.isEdit) {
|
|
2192
|
-
|
|
2213
|
+
if (!isCustom) {
|
|
2214
|
+
this.updateScheduleProperties(this.editedRecord, this.rowData);
|
|
2215
|
+
}
|
|
2193
2216
|
ganttObj.editModule.validateUpdateValues(tasksData, this.rowData, true);
|
|
2194
2217
|
}
|
|
2195
2218
|
};
|