@syncfusion/ej2-gantt 21.2.9 → 22.1.34
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 -0
- package/CHANGELOG.md +23 -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 +751 -715
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +790 -755
- 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/connector-line-edit.js +21 -26
- package/src/gantt/actions/context-menu.js +2 -2
- package/src/gantt/actions/critical-path.js +4 -9
- package/src/gantt/actions/day-markers.js +4 -1
- package/src/gantt/actions/edit.js +9 -6
- package/src/gantt/actions/pdf-export.js +1 -1
- package/src/gantt/actions/taskbar-edit.d.ts +6 -0
- package/src/gantt/actions/taskbar-edit.js +120 -45
- package/src/gantt/base/css-constants.d.ts +5 -10
- package/src/gantt/base/css-constants.js +5 -10
- package/src/gantt/base/date-processor.js +10 -20
- package/src/gantt/base/enum.d.ts +215 -231
- package/src/gantt/base/gantt-chart.js +112 -5
- package/src/gantt/base/gantt-model.d.ts +6 -3
- package/src/gantt/base/gantt.d.ts +7 -3
- package/src/gantt/base/gantt.js +17 -13
- package/src/gantt/base/interface.d.ts +36 -1
- package/src/gantt/base/task-processor.js +21 -18
- package/src/gantt/base/tree-grid.js +1 -1
- package/src/gantt/export/export-helper.js +1 -0
- package/src/gantt/export/pdf-connector-line.d.ts +4 -4
- package/src/gantt/export/pdf-connector-line.js +11 -22
- package/src/gantt/export/pdf-gantt.d.ts +1 -2
- package/src/gantt/export/pdf-gantt.js +4 -4
- package/src/gantt/models/column.d.ts +8 -4
- package/src/gantt/models/edit-settings-model.d.ts +1 -0
- package/src/gantt/models/edit-settings.d.ts +1 -0
- package/src/gantt/models/filter-settings-model.d.ts +3 -0
- package/src/gantt/models/filter-settings.d.ts +3 -0
- package/src/gantt/models/search-settings-model.d.ts +1 -0
- package/src/gantt/models/search-settings.d.ts +1 -0
- package/src/gantt/models/sort-settings-model.d.ts +1 -0
- package/src/gantt/models/sort-settings.d.ts +1 -0
- package/src/gantt/models/tooltip-settings-model.d.ts +8 -4
- package/src/gantt/models/tooltip-settings.d.ts +8 -4
- package/src/gantt/renderer/chart-rows.d.ts +1 -1
- package/src/gantt/renderer/chart-rows.js +27 -65
- package/src/gantt/renderer/connector-line.d.ts +23 -0
- package/src/gantt/renderer/connector-line.js +287 -384
- package/src/gantt/renderer/edit-tooltip.js +4 -4
- package/src/gantt/renderer/nonworking-day.js +2 -2
- package/src/gantt/renderer/tooltip.d.ts +3 -3
- package/src/gantt/renderer/tooltip.js +103 -76
- package/styles/bootstrap-dark.css +27 -47
- package/styles/bootstrap.css +29 -49
- package/styles/bootstrap4.css +29 -49
- package/styles/bootstrap5-dark.css +27 -47
- package/styles/bootstrap5.css +27 -47
- package/styles/fabric-dark.css +27 -47
- package/styles/fabric.css +27 -47
- package/styles/fluent-dark.css +28 -47
- package/styles/fluent.css +28 -47
- package/styles/gantt/_layout.scss +53 -7
- package/styles/gantt/_material3-dark-definition.scss +1 -0
- package/styles/gantt/_material3-definition.scss +220 -0
- package/styles/gantt/_theme.scss +53 -53
- package/styles/gantt/bootstrap-dark.css +27 -47
- package/styles/gantt/bootstrap.css +29 -49
- package/styles/gantt/bootstrap4.css +29 -49
- package/styles/gantt/bootstrap5-dark.css +27 -47
- package/styles/gantt/bootstrap5.css +27 -47
- package/styles/gantt/fabric-dark.css +27 -47
- package/styles/gantt/fabric.css +27 -47
- package/styles/gantt/fluent-dark.css +28 -47
- package/styles/gantt/fluent.css +28 -47
- package/styles/gantt/highcontrast-light.css +27 -47
- package/styles/gantt/highcontrast.css +27 -47
- package/styles/gantt/icons/_material3-dark.scss +1 -0
- package/styles/gantt/material-dark.css +27 -47
- package/styles/gantt/material.css +27 -47
- package/styles/gantt/material3-dark.css +2184 -0
- package/styles/gantt/material3-dark.scss +23 -0
- package/styles/gantt/material3.css +2240 -0
- package/styles/gantt/material3.scss +23 -0
- package/styles/gantt/tailwind-dark.css +27 -47
- package/styles/gantt/tailwind.css +27 -47
- package/styles/highcontrast-light.css +27 -47
- package/styles/highcontrast.css +27 -47
- package/styles/material-dark.css +27 -47
- package/styles/material.css +27 -47
- package/styles/material3-dark.css +2184 -0
- package/styles/material3-dark.scss +3 -0
- package/styles/material3.css +2240 -0
- package/styles/material3.scss +3 -0
- package/styles/tailwind-dark.css +27 -47
- package/styles/tailwind.css +27 -47
|
@@ -245,8 +245,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
245
245
|
|| target.classList.contains(cls.manualParentTaskBar)) {
|
|
246
246
|
element = parentsUntil(target, cls.manualParentMainContainer);
|
|
247
247
|
}
|
|
248
|
-
else if (target.classList.contains(cls.
|
|
249
|
-
|| target.classList.contains(cls.manualParentMilestone)) {
|
|
248
|
+
else if (target.classList.contains(cls.manualParentMilestone)) {
|
|
250
249
|
element = parentsUntil(target, cls.manualParentMilestone);
|
|
251
250
|
}
|
|
252
251
|
else {
|
|
@@ -262,18 +261,60 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
262
261
|
if (this.parent.editSettings.allowTaskbarEditing && element) {
|
|
263
262
|
this.showHideTaskBarEditingElements(element, this.taskBarEditElement);
|
|
264
263
|
this.editElement = element;
|
|
265
|
-
this.
|
|
266
|
-
var index = this.
|
|
264
|
+
this.realTaskbarElement = this.editElement;
|
|
265
|
+
var index = this.editElement.getAttribute('data-segment-index');
|
|
267
266
|
if (!isNullOrUndefined(index)) {
|
|
268
267
|
this.segmentIndex = Number(index);
|
|
269
268
|
}
|
|
270
269
|
else {
|
|
271
270
|
this.segmentIndex = -1;
|
|
272
271
|
}
|
|
273
|
-
this.taskBarEditRecord = this.parent.ganttChartModule.getRecordByTaskBar(this.
|
|
272
|
+
this.taskBarEditRecord = this.parent.ganttChartModule.getRecordByTaskBar(this.editElement);
|
|
274
273
|
if (e.type === 'mousedown' || e.type === 'touchstart' || e.type === 'click') {
|
|
275
|
-
this.roundOffDuration = true;
|
|
276
274
|
this.taskBarEditAction = this.getTaskBarAction(e);
|
|
275
|
+
var index_1 = this.editElement.getAttribute('data-segment-index');
|
|
276
|
+
var currentRecord = this.parent.ganttChartModule.getRecordByTaskBar(element);
|
|
277
|
+
var ganttprop = currentRecord.ganttProperties;
|
|
278
|
+
var parentleft = this.editElement.parentElement.offsetLeft;
|
|
279
|
+
this.currentData = currentRecord;
|
|
280
|
+
var resizeElement = createElement('div', { styles: 'height:100%;border-style:dashed;border-bottom:none;border-top:none;border-width:1px;position:absolute;z-index:10000' });
|
|
281
|
+
addClass([resizeElement], 'e-taskbar-resize-div');
|
|
282
|
+
resizeElement.style.setProperty("width", ganttprop.width + "px");
|
|
283
|
+
var currentindex = this.editElement.getAttribute('data-segment-index');
|
|
284
|
+
resizeElement.style.setProperty("left", ((!isNullOrUndefined(ganttprop.segments) ? parentleft + ganttprop.segments[Number(currentindex)].left + "px" : (ganttprop.left) + "px")));
|
|
285
|
+
var resizeTable = this.parent.createElement('table');
|
|
286
|
+
var resizetableBody = this.parent.createElement("tbody");
|
|
287
|
+
resizetableBody.appendChild(resizeElement);
|
|
288
|
+
resizeTable.appendChild(resizetableBody);
|
|
289
|
+
var Check = this.parent.ganttChartModule.chartBodyContainer.querySelector('.e-clone-taskbar');
|
|
290
|
+
var createTable = null;
|
|
291
|
+
if ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && !isNullOrUndefined(index_1) && !isNullOrUndefined(index_1) ? Number(index_1) === 0 : false) {
|
|
292
|
+
var cloneTaskBar = this.editElement.parentElement.cloneNode(true);
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
var cloneTaskBar = this.editElement.cloneNode(true);
|
|
296
|
+
}
|
|
297
|
+
if (!Check) {
|
|
298
|
+
addClass([cloneTaskBar], 'e-clone-taskbar');
|
|
299
|
+
cloneTaskBar.style.setProperty("position", "absolute");
|
|
300
|
+
cloneTaskBar.style.setProperty("top", 0 + "px");
|
|
301
|
+
createTable = this.parent.createElement('table');
|
|
302
|
+
var tableBody = this.parent.createElement("tbody");
|
|
303
|
+
tableBody.appendChild(cloneTaskBar);
|
|
304
|
+
createTable.appendChild(tableBody);
|
|
305
|
+
}
|
|
306
|
+
if ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && !isNullOrUndefined(index_1) && !isNullOrUndefined(index_1) ? Number(index_1) === 0 : false) {
|
|
307
|
+
var segmentedTasks = cloneTaskBar.getElementsByClassName('e-segmented-taskbar');
|
|
308
|
+
this.cloneTaskbarElement = segmentedTasks[Number(index_1)];
|
|
309
|
+
}
|
|
310
|
+
else {
|
|
311
|
+
this.cloneTaskbarElement = cloneTaskBar;
|
|
312
|
+
}
|
|
313
|
+
this.taskBarEditElement = this.cloneTaskbarElement;
|
|
314
|
+
this.taskbarElement = createTable;
|
|
315
|
+
this.taskbarResizer = resizeTable;
|
|
316
|
+
this.currentIndex = index_1;
|
|
317
|
+
this.roundOffDuration = true;
|
|
277
318
|
if ((this.taskBarEditAction === 'ConnectorPointLeftDrag' || this.taskBarEditAction === 'ConnectorPointRightDrag') &&
|
|
278
319
|
isNullOrUndefined(this.parent.taskFields.dependency)) {
|
|
279
320
|
this.taskBarEditAction = null;
|
|
@@ -304,7 +345,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
304
345
|
this.initPublicProp();
|
|
305
346
|
}
|
|
306
347
|
else {
|
|
307
|
-
this.showHideTaskBarEditingElements(element, this.
|
|
348
|
+
this.showHideTaskBarEditingElements(element, this.editElement);
|
|
308
349
|
}
|
|
309
350
|
}
|
|
310
351
|
};
|
|
@@ -339,9 +380,10 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
339
380
|
addClass([element.querySelector('.' + cls.taskBarLeftResizer)], [cls.leftResizeGripper]);
|
|
340
381
|
addClass([element.querySelector('.' + cls.taskBarRightResizer)], [cls.rightResizeGripper]);
|
|
341
382
|
if (isShowProgressResizer) {
|
|
342
|
-
var
|
|
343
|
-
if (
|
|
344
|
-
addClass([
|
|
383
|
+
var progressElement = element.querySelector('.' + cls.childProgressResizer);
|
|
384
|
+
if (!isNullOrUndefined(progressElement)) {
|
|
385
|
+
addClass([progressElement], [cls.progressResizeGripper]);
|
|
386
|
+
progressElement.style.top = '3px';
|
|
345
387
|
}
|
|
346
388
|
}
|
|
347
389
|
}
|
|
@@ -422,9 +464,6 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
422
464
|
}
|
|
423
465
|
else if (mouseDownElement.classList.contains(cls.manualParentTaskBar) ||
|
|
424
466
|
mouseDownElement.classList.contains(cls.manualParentMainContainer) ||
|
|
425
|
-
mouseDownElement.classList.contains(cls.manualParentMilestone) ||
|
|
426
|
-
mouseDownElement.classList.contains(cls.manualParentMilestoneTop) ||
|
|
427
|
-
mouseDownElement.classList.contains(cls.manualParentMilestoneBottom) ||
|
|
428
467
|
mouseDownElement.classList.contains(cls.manualParentMilestone)) {
|
|
429
468
|
action = 'ManualParentDrag';
|
|
430
469
|
}
|
|
@@ -521,6 +560,21 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
521
560
|
this.dragMouseLeave = false;
|
|
522
561
|
this.isMouseDragCheck();
|
|
523
562
|
if (this.isMouseDragged && this.taskBarEditAction) {
|
|
563
|
+
if (!isNullOrUndefined(this.taskbarElement) && !isNullOrUndefined(this.editElement) && (this.taskBarEditAction !== "ConnectorPointRightDrag" && this.taskBarEditAction !== "ConnectorPointLeftDrag") && !(this.parent.viewType === 'ResourceView' && this.currentData.hasChildRecords)) {
|
|
564
|
+
var currentElement = this.editElement.parentElement;
|
|
565
|
+
currentElement.style.setProperty("position", "absolute");
|
|
566
|
+
if ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && !isNullOrUndefined(this.currentIndex) && !isNullOrUndefined(this.currentIndex) ? Number(this.currentIndex) === 0 : false) {
|
|
567
|
+
this.taskbarElement.childNodes[0].childNodes[0].style.setProperty("top", currentElement.parentElement.offsetTop + "px");
|
|
568
|
+
currentElement.parentElement.appendChild(this.taskbarElement);
|
|
569
|
+
}
|
|
570
|
+
else {
|
|
571
|
+
currentElement.appendChild(this.taskbarElement);
|
|
572
|
+
}
|
|
573
|
+
if (this.taskBarEditAction !== 'ProgressResizing') {
|
|
574
|
+
var rootElement = this.parent.ganttChartModule.chartBodyContainer.querySelectorAll(".e-chart-rows-container");
|
|
575
|
+
rootElement[0].appendChild(this.taskbarResizer);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
524
578
|
var args_1 = {
|
|
525
579
|
cancel: false,
|
|
526
580
|
requestType: 'taskbarediting',
|
|
@@ -627,16 +681,6 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
627
681
|
merge(_this.taskBarEditRecord.ganttProperties, arg.previousData);
|
|
628
682
|
}
|
|
629
683
|
});
|
|
630
|
-
this.parent.flatData.map(function (data) {
|
|
631
|
-
if ((!isNullOrUndefined(_this.taskBarEditRecord.parentItem)) && data.ganttProperties.taskId === _this.taskBarEditRecord.parentItem.taskId) {
|
|
632
|
-
data.childRecords.map(function (s) {
|
|
633
|
-
if (isNullOrUndefined(s.ganttProperties.startDate) || isNullOrUndefined(s.ganttProperties.endDate) ||
|
|
634
|
-
isNullOrUndefined(s.ganttProperties.duration)) {
|
|
635
|
-
_this.parent.dataOperation.updateGanttData();
|
|
636
|
-
}
|
|
637
|
-
});
|
|
638
|
-
}
|
|
639
|
-
});
|
|
640
684
|
}
|
|
641
685
|
};
|
|
642
686
|
/**
|
|
@@ -1442,6 +1486,15 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1442
1486
|
* @private
|
|
1443
1487
|
*/
|
|
1444
1488
|
TaskbarEdit.prototype.setItemPosition = function () {
|
|
1489
|
+
if (!isNullOrUndefined(this.editElement)) {
|
|
1490
|
+
var currentElement = this.editElement.parentElement;
|
|
1491
|
+
if (this.parent.viewType == 'ResourceView' && this.parent.allowTaskbarDragAndDrop && this.taskBarEditAction === 'ChildDrag') {
|
|
1492
|
+
currentElement.style.position = null;
|
|
1493
|
+
}
|
|
1494
|
+
else {
|
|
1495
|
+
currentElement.style.setProperty("position", "absolute");
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1445
1498
|
var item = this.taskBarEditRecord.ganttProperties;
|
|
1446
1499
|
var position = this.parent.enableRtl ? "right" : "left";
|
|
1447
1500
|
var segment = !isNullOrUndefined(item.segments) ? item.segments[this.segmentIndex] : null;
|
|
@@ -1451,13 +1504,10 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1451
1504
|
if (!isNullOrUndefined(segment)) {
|
|
1452
1505
|
rightResizer = this.parent.isAdaptive ? (segment.width - 2) : (segment.width - 10);
|
|
1453
1506
|
}
|
|
1454
|
-
|
|
1507
|
+
this.taskBarEditElement.style.setProperty("opacity", '.75');
|
|
1508
|
+
var taskBarMainContainer = (!this.taskBarEditElement.classList.contains(cls.taskBarMainContainer)) ? ((this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'LeftResizing') && this.segmentIndex === 0) ? this.taskBarEditElement.parentElement : closest(this.taskBarEditElement, 'tr.' + cls.chartRow)
|
|
1455
1509
|
.querySelector('.' + cls.taskBarMainContainer) : this.taskBarEditElement;
|
|
1456
1510
|
var segmentedTaskBarContainer = this.taskBarEditElement.classList.contains('e-segmented-taskbar');
|
|
1457
|
-
var leftLabelContainer = closest(this.taskBarEditElement, 'tr.' + cls.chartRow)
|
|
1458
|
-
.querySelector('.' + cls.leftLabelContainer);
|
|
1459
|
-
var rightLabelContainer = closest(this.taskBarEditElement, 'tr.' + cls.chartRow)
|
|
1460
|
-
.querySelector('.' + cls.rightLabelContainer);
|
|
1461
1511
|
var traceChildProgressBar = this.taskBarEditElement.querySelector('.' + cls.traceChildProgressBar);
|
|
1462
1512
|
var traceChildTaskBar = this.taskBarEditElement.querySelector('.' + cls.traceChildTaskBar);
|
|
1463
1513
|
var childProgressResizer = this.taskBarEditElement.querySelector('.' + cls.childProgressResizer);
|
|
@@ -1469,34 +1519,45 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1469
1519
|
var manualTaskbar = this.taskBarEditElement.querySelector('.' + cls.manualParentTaskBar);
|
|
1470
1520
|
var manualParentRight = this.taskBarEditElement.querySelector('.' + cls.manualParentRightResizer);
|
|
1471
1521
|
var manualParentLeft = this.taskBarEditElement.querySelector('.' + cls.manualParentLeftResizer);
|
|
1522
|
+
var resizeLine = this.parent.ganttChartModule.chartBodyContainer.querySelector('.e-taskbar-resize-div');
|
|
1472
1523
|
if (this.taskBarEditAction !== 'ConnectorPointRightDrag' &&
|
|
1473
1524
|
this.taskBarEditAction !== 'ConnectorPointLeftDrag') {
|
|
1474
1525
|
if (this.taskBarEditAction !== 'ParentResizing' && this.taskBarEditAction !== 'ManualParentDrag') {
|
|
1475
1526
|
if (segmentedTaskBarContainer && !isNullOrUndefined(item.segments)
|
|
1476
1527
|
&& (this.taskBarEditAction === 'RightResizing' || this.segmentIndex !== 0)) {
|
|
1528
|
+
if (!isNullOrUndefined(resizeLine)) {
|
|
1529
|
+
resizeLine.style.width = (segment.width) + "px";
|
|
1530
|
+
}
|
|
1477
1531
|
this.taskBarEditElement.style.width = (segment.width) + 'px';
|
|
1478
1532
|
if (this.parent.enableRtl) {
|
|
1479
1533
|
this.taskBarEditElement.style.right = (segment.left) + 'px';
|
|
1480
1534
|
}
|
|
1481
1535
|
else {
|
|
1482
1536
|
this.taskBarEditElement.style.left = (segment.left) + 'px';
|
|
1537
|
+
if (!isNullOrUndefined(resizeLine)) {
|
|
1538
|
+
resizeLine.style.left = (segment.left + this.editElement.parentElement.offsetLeft) + "px";
|
|
1539
|
+
}
|
|
1483
1540
|
}
|
|
1484
1541
|
}
|
|
1485
|
-
taskBarMainContainer.style.width = (width) + 'px';
|
|
1486
|
-
leftLabelContainer.style.width = (item.left) + 'px';
|
|
1487
1542
|
taskBarMainContainer.style.setProperty(position, (item.left) + 'px');
|
|
1543
|
+
taskBarMainContainer.style.width = (width) + 'px';
|
|
1488
1544
|
if (this.parent.viewType === 'ResourceView' && this.parent.allowTaskbarDragAndDrop && this.parent.rowDragAndDropModule &&
|
|
1489
1545
|
(this.taskBarEditAction === 'ChildDrag' || this.taskBarEditAction === 'MilestoneDrag')) {
|
|
1490
1546
|
taskBarMainContainer.style.setProperty('top', (this.topValue) + 'px');
|
|
1491
1547
|
taskBarMainContainer.style.zIndex = '4';
|
|
1492
1548
|
}
|
|
1493
1549
|
if (this.taskBarEditAction === 'LeftResizing' && this.segmentIndex === 0) {
|
|
1550
|
+
this.taskBarEditElement.style.setProperty("opacity", '.75');
|
|
1494
1551
|
var parent_1 = this.taskBarEditElement.parentElement;
|
|
1495
1552
|
var segmentedTasks = parent_1.getElementsByClassName('e-segmented-taskbar');
|
|
1496
1553
|
for (var i = 0; i < item.segments.length; i++) {
|
|
1497
1554
|
var segment_4 = item.segments[i];
|
|
1498
1555
|
var segmentElement = segmentedTasks[i];
|
|
1499
1556
|
segmentElement.style.width = (segment_4.width) + 'px';
|
|
1557
|
+
if (i === 0) {
|
|
1558
|
+
resizeLine.style.width = (segment_4.width) + "px";
|
|
1559
|
+
resizeLine.style.left = (segment_4.left + item.left) + "px";
|
|
1560
|
+
}
|
|
1500
1561
|
if (this.parent.enableRtl) {
|
|
1501
1562
|
segmentElement.style.right = (segment_4.left) + 'px';
|
|
1502
1563
|
}
|
|
@@ -1505,8 +1566,10 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1505
1566
|
}
|
|
1506
1567
|
}
|
|
1507
1568
|
}
|
|
1508
|
-
if (
|
|
1509
|
-
|
|
1569
|
+
if (this.taskBarEditAction === 'ChildDrag' && this.segmentIndex === 0) {
|
|
1570
|
+
resizeLine.style.width = (width) + "px";
|
|
1571
|
+
resizeLine.style.left = (item.left) + "px";
|
|
1572
|
+
taskBarMainContainer.style.setProperty("opacity", '.75');
|
|
1510
1573
|
}
|
|
1511
1574
|
}
|
|
1512
1575
|
if (traceConnectorPointRight) {
|
|
@@ -1519,10 +1582,8 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1519
1582
|
}
|
|
1520
1583
|
if (this.taskBarEditAction === 'MilestoneDrag' || item.isMilestone) {
|
|
1521
1584
|
taskBarMainContainer.style.setProperty(position, (item.left - (width / 2)) + 'px');
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
rightLabelContainer.style.setProperty(position, (item.left + (width / 2)) + 'px');
|
|
1525
|
-
}
|
|
1585
|
+
resizeLine.style.left = (item.left - (width / 2)) + 'px';
|
|
1586
|
+
resizeLine.style.width = (width) + "px";
|
|
1526
1587
|
}
|
|
1527
1588
|
else if (this.taskBarEditAction === 'ProgressResizing') {
|
|
1528
1589
|
if (this.segmentIndex === -1) {
|
|
@@ -1545,6 +1606,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1545
1606
|
}
|
|
1546
1607
|
}
|
|
1547
1608
|
else if (this.taskBarEditAction === 'RightResizing' && !isNullOrUndefined(traceChildTaskBar)) {
|
|
1609
|
+
resizeLine.style.width = (width) + 'px';
|
|
1548
1610
|
traceChildTaskBar.style.width = (width) + 'px';
|
|
1549
1611
|
if (!isNullOrUndefined(traceChildProgressBar)) {
|
|
1550
1612
|
traceChildProgressBar.style.width = (item.progressWidth) + 'px';
|
|
@@ -1555,23 +1617,36 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1555
1617
|
}
|
|
1556
1618
|
}
|
|
1557
1619
|
else if (this.taskBarEditAction === 'ParentDrag') {
|
|
1620
|
+
resizeLine.style.left = (item.left) + 'px';
|
|
1621
|
+
resizeLine.style.width = (width) + "px";
|
|
1622
|
+
resizeLine.style.width = (item.width) + 'px';
|
|
1558
1623
|
if (!isNullOrUndefined(traceParentTaskBar)) {
|
|
1559
1624
|
traceParentTaskBar.style.width = (width) + 'px';
|
|
1625
|
+
resizeLine.style.width = (item.width) + 'px';
|
|
1560
1626
|
}
|
|
1561
1627
|
if (!isNullOrUndefined(traceChildProgressBar)) {
|
|
1562
1628
|
traceParentProgressBar.style.width = (item.progressWidth) + 'px';
|
|
1563
1629
|
}
|
|
1564
1630
|
}
|
|
1565
1631
|
else if (this.taskBarEditAction === 'ParentResizing') {
|
|
1632
|
+
resizeLine.style.width = (item.width) + 'px';
|
|
1633
|
+
resizeLine.style.left = item.left + 'px';
|
|
1566
1634
|
manualParentTaskbar.style.width = manualTaskbar.style.width = (item.width) + 'px';
|
|
1567
1635
|
manualParentRight.style.setProperty(position, item.width - manualParentLeft.offsetLeft + 'px');
|
|
1568
1636
|
}
|
|
1569
1637
|
else if (this.taskBarEditAction === 'ManualParentDrag') {
|
|
1638
|
+
resizeLine.style.width = (item.width) + 'px';
|
|
1639
|
+
resizeLine.style.left = item.left + 'px';
|
|
1570
1640
|
manualParentTaskbar.style.setProperty(position, item.left - item.autoLeft + 'px');
|
|
1571
1641
|
}
|
|
1572
1642
|
else {
|
|
1573
1643
|
if (!isNullOrUndefined(traceChildTaskBar) && !segmentedTaskBarContainer) {
|
|
1574
|
-
traceChildTaskBar.style.width = (width) + 'px';
|
|
1644
|
+
traceChildTaskBar.style.width = (item.width) + 'px';
|
|
1645
|
+
traceChildTaskBar.style.left = (item.left) + 'px';
|
|
1646
|
+
this.taskBarEditElement.style.width = (item.width) + 'px';
|
|
1647
|
+
this.taskBarEditElement.style.left = (item.left) + "px";
|
|
1648
|
+
resizeLine.style.left = (item.left) + 'px';
|
|
1649
|
+
resizeLine.style.width = (item.width) + "px";
|
|
1575
1650
|
}
|
|
1576
1651
|
if (!isNullOrUndefined(traceChildProgressBar)) {
|
|
1577
1652
|
taskBarRightResizer.style.setProperty(position, rightResizer + 'px');
|
|
@@ -1967,21 +2042,21 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1967
2042
|
if ((this.parent.virtualScrollModule && this.parent.enableVirtualization &&
|
|
1968
2043
|
!this.elementOffsetLeft) || !this.parent.enableVirtualization) {
|
|
1969
2044
|
if (!this.parent.allowParentDependency) {
|
|
1970
|
-
this.elementOffsetLeft = this.
|
|
1971
|
-
this.elementOffsetTop = this.
|
|
2045
|
+
this.elementOffsetLeft = this.realTaskbarElement.offsetLeft;
|
|
2046
|
+
this.elementOffsetTop = this.realTaskbarElement.parentElement.offsetTop + this.realTaskbarElement.offsetHeight / 3 + scrollTop;
|
|
1972
2047
|
}
|
|
1973
2048
|
else {
|
|
1974
2049
|
if (this.taskBarEditElement.children[0].classList.contains('e-manualparent-main-container')) {
|
|
1975
|
-
this.elementOffsetLeft = this.
|
|
1976
|
-
this.elementOffsetTop = ((this.
|
|
2050
|
+
this.elementOffsetLeft = this.realTaskbarElement.children[0]['offsetLeft'] + this.realTaskbarElement.offsetLeft;
|
|
2051
|
+
this.elementOffsetTop = ((this.realTaskbarElement.parentElement.offsetTop + this.realTaskbarElement.offsetHeight / 3 - 5) + this.taskBarEditElement.children[0]['offsetTop']) + scrollTop;
|
|
1977
2052
|
}
|
|
1978
2053
|
else {
|
|
1979
|
-
this.elementOffsetLeft = this.
|
|
1980
|
-
this.elementOffsetTop = this.
|
|
2054
|
+
this.elementOffsetLeft = this.realTaskbarElement.offsetLeft;
|
|
2055
|
+
this.elementOffsetTop = this.realTaskbarElement.parentElement.offsetTop + this.realTaskbarElement.offsetHeight / 3 + scrollTop;
|
|
1981
2056
|
}
|
|
1982
2057
|
}
|
|
1983
|
-
this.elementOffsetWidth = this.
|
|
1984
|
-
this.elementOffsetHeight = this.
|
|
2058
|
+
this.elementOffsetWidth = this.realTaskbarElement.offsetWidth;
|
|
2059
|
+
this.elementOffsetHeight = this.realTaskbarElement.offsetHeight;
|
|
1985
2060
|
}
|
|
1986
2061
|
this.showHideTaskBarEditingElements(element, this.highlightedSecondElement, true);
|
|
1987
2062
|
}
|
|
@@ -38,15 +38,10 @@ export declare const childTaskBarInnerDiv: string;
|
|
|
38
38
|
export declare const childProgressBarInnerDiv: string;
|
|
39
39
|
export declare const criticalChildTaskBarInnerDiv: string;
|
|
40
40
|
export declare const criticalChildProgressBarInnerDiv: string;
|
|
41
|
-
export declare const
|
|
42
|
-
export declare const milestoneBottom: string;
|
|
43
|
-
export declare const criticalMilestoneTop: string;
|
|
44
|
-
export declare const criticalMilestoneBottom: string;
|
|
41
|
+
export declare const criticalMilestone: string;
|
|
45
42
|
export declare const baselineBar: string;
|
|
46
43
|
export declare const baselineMilestoneContainer: string;
|
|
47
44
|
export declare const baselineMilestoneDiv: string;
|
|
48
|
-
export declare const baselineMilestoneTop: string;
|
|
49
|
-
export declare const baselineMilestoneBottom: string;
|
|
50
45
|
export declare const chartRowCell: string;
|
|
51
46
|
export declare const chartRow: string;
|
|
52
47
|
export declare const rowExpand: string;
|
|
@@ -60,15 +55,11 @@ export declare const progressBarHandlerAfter: string;
|
|
|
60
55
|
export declare const icon: string;
|
|
61
56
|
export declare const traceMilestone: string;
|
|
62
57
|
export declare const parentMilestone: string;
|
|
63
|
-
export declare const parentMilestoneTop: string;
|
|
64
|
-
export declare const parentMilestoneBottom: string;
|
|
65
58
|
export declare const traceChildTaskBar: string;
|
|
66
59
|
export declare const traceChildProgressBar: string;
|
|
67
60
|
export declare const manualParentMainContainer: string;
|
|
68
61
|
export declare const manualParentTaskBar: string;
|
|
69
62
|
export declare const manualParentMilestone: string;
|
|
70
|
-
export declare const manualParentMilestoneTop: string;
|
|
71
|
-
export declare const manualParentMilestoneBottom: string;
|
|
72
63
|
export declare const manualChildTaskBar: string;
|
|
73
64
|
export declare const manualChildProgressBar: string;
|
|
74
65
|
export declare const manualParentRightResizer: string;
|
|
@@ -100,6 +91,10 @@ export declare const unscheduledMilestoneBottom: string;
|
|
|
100
91
|
export declare const dependencyViewContainer: string;
|
|
101
92
|
export declare const connectorLineContainer: string;
|
|
102
93
|
export declare const connectorLine: string;
|
|
94
|
+
export declare const connectorLineSVG: string;
|
|
95
|
+
export declare const criticalConnectorLineSVG: string;
|
|
96
|
+
export declare const criticalConnectorArrowSVG: string;
|
|
97
|
+
export declare const connectorLineArrow: string;
|
|
103
98
|
export declare const criticalConnectorLine: string;
|
|
104
99
|
export declare const criticalConnectorLineRightArrow: string;
|
|
105
100
|
export declare const criticalConnectorLineLeftArrow: string;
|
|
@@ -40,15 +40,10 @@ export var childTaskBarInnerDiv = 'e-gantt-child-taskbar-inner-div';
|
|
|
40
40
|
export var childProgressBarInnerDiv = 'e-gantt-child-progressbar-inner-div';
|
|
41
41
|
export var criticalChildTaskBarInnerDiv = 'e-gantt-child-critical-taskbar-inner-div';
|
|
42
42
|
export var criticalChildProgressBarInnerDiv = 'e-gantt-child-critical-progressbar-inner-div';
|
|
43
|
-
export var
|
|
44
|
-
export var milestoneBottom = 'e-milestone-bottom';
|
|
45
|
-
export var criticalMilestoneTop = 'e-critical-milestone-top';
|
|
46
|
-
export var criticalMilestoneBottom = 'e-critical-milestone-bottom';
|
|
43
|
+
export var criticalMilestone = 'e-critical-milestone';
|
|
47
44
|
export var baselineBar = 'e-baseline-bar';
|
|
48
45
|
export var baselineMilestoneContainer = 'e-baseline-gantt-milestone-container';
|
|
49
46
|
export var baselineMilestoneDiv = 'e-baseline-gantt-milestone';
|
|
50
|
-
export var baselineMilestoneTop = 'e-baseline-milestone-top';
|
|
51
|
-
export var baselineMilestoneBottom = 'e-baseline-milestone-bottom';
|
|
52
47
|
export var chartRowCell = 'e-chart-row-cell';
|
|
53
48
|
export var chartRow = 'e-chart-row';
|
|
54
49
|
export var rowExpand = 'e-row-expand';
|
|
@@ -62,15 +57,11 @@ export var progressBarHandlerAfter = 'e-progressbar-handler-after';
|
|
|
62
57
|
export var icon = 'e-icon';
|
|
63
58
|
export var traceMilestone = 'e-gantt-milestone';
|
|
64
59
|
export var parentMilestone = 'e-gantt-parent-milestone';
|
|
65
|
-
export var parentMilestoneTop = 'e-parent-milestone-top';
|
|
66
|
-
export var parentMilestoneBottom = 'e-parent-milestone-bottom';
|
|
67
60
|
export var traceChildTaskBar = 'e-gantt-child-taskbar';
|
|
68
61
|
export var traceChildProgressBar = 'e-gantt-child-progressbar';
|
|
69
62
|
export var manualParentMainContainer = 'e-manualparent-main-container';
|
|
70
63
|
export var manualParentTaskBar = 'e-gantt-manualparenttaskbar';
|
|
71
64
|
export var manualParentMilestone = 'e-gantt-manualparent-milestone';
|
|
72
|
-
export var manualParentMilestoneTop = 'e-manualparent-milestone-top';
|
|
73
|
-
export var manualParentMilestoneBottom = 'e-manualparent-milestone-bottom';
|
|
74
65
|
export var manualChildTaskBar = 'e-gantt-child-manualtaskbar';
|
|
75
66
|
export var manualChildProgressBar = 'e-gantt-child-manualprogressbar';
|
|
76
67
|
export var manualParentRightResizer = 'e-gantt-manualparenttaskbar-right';
|
|
@@ -107,6 +98,10 @@ export var unscheduledMilestoneBottom = 'e-unscheduled-milestone-bottom';
|
|
|
107
98
|
export var dependencyViewContainer = 'e-gantt-dependency-view-container';
|
|
108
99
|
export var connectorLineContainer = 'e-connector-line-container';
|
|
109
100
|
export var connectorLine = 'e-line';
|
|
101
|
+
export var connectorLineSVG = 'e-connector-line';
|
|
102
|
+
export var criticalConnectorLineSVG = 'e-critical-line';
|
|
103
|
+
export var criticalConnectorArrowSVG = 'e-critical-line-arrow';
|
|
104
|
+
export var connectorLineArrow = 'e-connector-line-arrow';
|
|
110
105
|
export var criticalConnectorLine = 'e-criticalconnector-line';
|
|
111
106
|
export var criticalConnectorLineRightArrow = 'e-criticalconnector-line-right-arrow';
|
|
112
107
|
export var criticalConnectorLineLeftArrow = 'e-criticalconnector-line-left-arrow';
|
|
@@ -522,7 +522,6 @@ var DateProcessor = /** @class */ (function () {
|
|
|
522
522
|
* @private
|
|
523
523
|
*/
|
|
524
524
|
DateProcessor.prototype.getValidStartDate = function (ganttProp, isAuto) {
|
|
525
|
-
var _this = this;
|
|
526
525
|
var sDate = null;
|
|
527
526
|
var startDate = isAuto ? ganttProp.autoStartDate : ganttProp.startDate;
|
|
528
527
|
var endDate = isAuto ? ganttProp.autoEndDate : ganttProp.endDate;
|
|
@@ -533,24 +532,7 @@ var DateProcessor = /** @class */ (function () {
|
|
|
533
532
|
this.setTime(this.parent.defaultStartTime, sDate);
|
|
534
533
|
}
|
|
535
534
|
else if (!isNullOrUndefined(duration)) {
|
|
536
|
-
this.
|
|
537
|
-
if (record.ganttProperties.taskId == ganttProp.taskId) {
|
|
538
|
-
if ((!isNullOrUndefined(record.parentItem)) && (record.parentItem.taskId)) {
|
|
539
|
-
_this.parent.flatData.map(function (data) {
|
|
540
|
-
if (data.ganttProperties.taskId === record.parentItem.taskId) {
|
|
541
|
-
if (!isNullOrUndefined(data.ganttProperties.startDate))
|
|
542
|
-
sDate = data.ganttProperties.startDate;
|
|
543
|
-
}
|
|
544
|
-
else {
|
|
545
|
-
sDate = _this.getProjectStartDate(ganttProp);
|
|
546
|
-
}
|
|
547
|
-
});
|
|
548
|
-
}
|
|
549
|
-
else {
|
|
550
|
-
sDate = _this.getProjectStartDate(ganttProp);
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
});
|
|
535
|
+
sDate = this.getProjectStartDate(ganttProp);
|
|
554
536
|
}
|
|
555
537
|
}
|
|
556
538
|
else {
|
|
@@ -1362,7 +1344,15 @@ var DateProcessor = /** @class */ (function () {
|
|
|
1362
1344
|
var segment = segments[i];
|
|
1363
1345
|
var sDate = segment.startDate;
|
|
1364
1346
|
var eDate = segment.endDate;
|
|
1365
|
-
|
|
1347
|
+
if (this.parent.timelineModule.bottomTier === "Hour") {
|
|
1348
|
+
duration += Math.ceil(this.getTimeDifference(sDate, eDate) / (1000 * 60 * 60));
|
|
1349
|
+
}
|
|
1350
|
+
else if (this.parent.timelineModule.bottomTier === "Minutes") {
|
|
1351
|
+
duration += Math.ceil(this.getTimeDifference(sDate, eDate) / (1000 * 60));
|
|
1352
|
+
}
|
|
1353
|
+
else {
|
|
1354
|
+
duration += Math.ceil(this.getTimeDifference(sDate, eDate) / (1000 * 60 * 60 * 24));
|
|
1355
|
+
}
|
|
1366
1356
|
}
|
|
1367
1357
|
return duration;
|
|
1368
1358
|
};
|