@syncfusion/ej2-gantt 20.3.61 → 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 +5 -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 +1412 -476
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +1438 -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 +1 -1
- package/src/gantt/base/gantt-chart.js +31 -3
- 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
|
@@ -439,8 +439,14 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
439
439
|
var e = this.getCoordinate(event);
|
|
440
440
|
if (e.pageX || e.pageY) {
|
|
441
441
|
var containerPosition = this.parent.getOffsetRect(this.parent.ganttChartModule.chartBodyContainer);
|
|
442
|
-
|
|
443
|
-
this.
|
|
442
|
+
if (this.parent.enableRtl) {
|
|
443
|
+
this.mouseDownX = Math.abs(e.pageX - (containerPosition.left +
|
|
444
|
+
Math.abs(this.parent.ganttChartModule.scrollObject.previousScroll.left)));
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
this.mouseDownX = (e.pageX - containerPosition.left) +
|
|
448
|
+
this.parent.ganttChartModule.scrollObject.previousScroll.left;
|
|
449
|
+
}
|
|
444
450
|
this.tooltipPositionX = this.mouseDownX;
|
|
445
451
|
this.mouseDownY = e.pageY - containerPosition.top +
|
|
446
452
|
this.parent.ganttChartModule.scrollObject.previousScroll.top;
|
|
@@ -485,23 +491,40 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
485
491
|
}
|
|
486
492
|
var containerPosition = this.parent.getOffsetRect(this.parent.ganttChartModule.chartBodyContainer);
|
|
487
493
|
var e = this.getCoordinate(event);
|
|
488
|
-
this.
|
|
489
|
-
this.
|
|
494
|
+
if (this.parent.enableRtl) {
|
|
495
|
+
this.mouseMoveX = Math.abs(e.pageX - (containerPosition.left +
|
|
496
|
+
Math.abs(this.parent.ganttChartModule.scrollObject.previousScroll.left)));
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
this.mouseMoveX = e.pageX - containerPosition.left +
|
|
500
|
+
this.parent.ganttChartModule.scrollObject.previousScroll.left;
|
|
501
|
+
}
|
|
490
502
|
this.mouseMoveY = e.pageY - containerPosition.top +
|
|
491
503
|
this.parent.ganttChartModule.scrollObject.previousScroll.top;
|
|
492
504
|
this.dragMouseLeave = false;
|
|
493
505
|
this.isMouseDragCheck();
|
|
494
506
|
if (this.isMouseDragged && this.taskBarEditAction) {
|
|
495
|
-
var
|
|
507
|
+
var args_1 = {
|
|
496
508
|
cancel: false,
|
|
497
509
|
requestType: 'taskbarediting',
|
|
498
510
|
taskBarEditAction: this.taskBarEditAction,
|
|
499
511
|
data: this.taskBarEditRecord
|
|
500
512
|
};
|
|
501
513
|
if (this.segmentIndex !== -1) {
|
|
502
|
-
|
|
514
|
+
args_1.requestType = 'mergeSegment';
|
|
503
515
|
}
|
|
504
|
-
this.parent.trigger('actionBegin',
|
|
516
|
+
this.parent.trigger('actionBegin', args_1, function (arg) {
|
|
517
|
+
if (args_1.taskBarEditAction === "ConnectorPointRightDrag" || args_1.taskBarEditAction === "ConnectorPointLeftDrag"
|
|
518
|
+
|| args_1.taskBarEditAction === "LeftResizing" || args_1.taskBarEditAction === "RightResizing"
|
|
519
|
+
|| args_1.taskBarEditAction === "ProgressResizing" || args_1.taskBarEditAction === "ChildDrag" || args_1.taskBarEditAction === "ParentDrag" || args_1.taskBarEditAction === "MilestoneDrag" || args_1.taskBarEditAction === "ManualParentDrag") {
|
|
520
|
+
_this.parent.showIndicator = false;
|
|
521
|
+
}
|
|
522
|
+
if (!isNullOrUndefined(_this.parent.loadingIndicator) && _this.parent.loadingIndicator.indicatorType === "Shimmer" && _this.parent.showIndicator) {
|
|
523
|
+
_this.parent.showMaskRow();
|
|
524
|
+
}
|
|
525
|
+
else if (_this.parent.showIndicator) {
|
|
526
|
+
_this.parent.showSpinner();
|
|
527
|
+
}
|
|
505
528
|
if (arg.cancel === false) {
|
|
506
529
|
_this.taskBarEditingAction(event, false);
|
|
507
530
|
}
|
|
@@ -584,8 +607,14 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
584
607
|
var containerPosition = this.parent.getOffsetRect(this.parent.ganttChartModule.chartBodyContainer);
|
|
585
608
|
var e = this.getCoordinate(event);
|
|
586
609
|
if (e.pageX || e.pageY) {
|
|
587
|
-
this.
|
|
588
|
-
this.
|
|
610
|
+
if (this.parent.enableRtl) {
|
|
611
|
+
this.mouseMoveX = Math.abs(e.pageX - (containerPosition.left +
|
|
612
|
+
Math.abs(this.parent.ganttChartModule.scrollObject.previousScroll.left)));
|
|
613
|
+
}
|
|
614
|
+
else {
|
|
615
|
+
this.mouseMoveX = e.pageX - containerPosition.left +
|
|
616
|
+
this.parent.ganttChartModule.scrollObject.previousScroll.left;
|
|
617
|
+
}
|
|
589
618
|
this.tooltipPositionX = this.mouseMoveX;
|
|
590
619
|
this.mouseMoveY = e.pageY - containerPosition.top +
|
|
591
620
|
this.parent.ganttChartModule.scrollObject.previousScroll.top;
|
|
@@ -596,8 +625,15 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
596
625
|
if ((this.taskBarEditRecord.ganttProperties.width > 3 && !(this.taskBarEditAction === 'ProgressResizing' &&
|
|
597
626
|
(this.taskBarEditRecord.ganttProperties.progress === 0 || this.taskBarEditRecord.ganttProperties.progress === 100))) ||
|
|
598
627
|
isConnectorLineEdit) {
|
|
599
|
-
var mouseX =
|
|
600
|
-
|
|
628
|
+
var mouseX = 0;
|
|
629
|
+
if (this.parent.enableRtl) {
|
|
630
|
+
mouseX = Math.abs(Math.abs(this.mouseMoveX) - Math.abs(this.parent.ganttChartModule.scrollObject.previousScroll.left) +
|
|
631
|
+
containerPosition.left);
|
|
632
|
+
}
|
|
633
|
+
else {
|
|
634
|
+
mouseX = this.mouseMoveX - this.parent.ganttChartModule.scrollObject.previousScroll.left +
|
|
635
|
+
containerPosition.left;
|
|
636
|
+
}
|
|
601
637
|
var mouseY = this.mouseMoveY - this.parent.ganttChartModule.scrollObject.previousScroll.top +
|
|
602
638
|
containerPosition.top;
|
|
603
639
|
if ((mouseX + 20) >
|
|
@@ -605,6 +641,12 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
605
641
|
this.timerCount = this.parent.ganttChartModule.scrollObject.previousScroll.left;
|
|
606
642
|
this.startScrollTimer('right');
|
|
607
643
|
}
|
|
644
|
+
else if ((mouseX + 40) >
|
|
645
|
+
containerPosition.left + this.parent.ganttChartModule.chartBodyContainer.offsetWidth && this.parent.enableRtl && this.parent.ganttChartModule.scrollObject.previousScroll.left == 0) {
|
|
646
|
+
this.parent.ganttChartModule.scrollObject.previousScroll.left = -1;
|
|
647
|
+
this.timerCount = this.parent.ganttChartModule.scrollObject.previousScroll.left;
|
|
648
|
+
this.startScrollTimer('right');
|
|
649
|
+
}
|
|
608
650
|
else if ((mouseX - 20) < containerPosition.left) {
|
|
609
651
|
this.timerCount = this.parent.ganttChartModule.scrollObject.previousScroll.left;
|
|
610
652
|
this.startScrollTimer('left');
|
|
@@ -636,7 +678,12 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
636
678
|
TaskbarEdit.prototype.startScrollTimer = function (direction) {
|
|
637
679
|
var _this = this;
|
|
638
680
|
this.stopScrollTimer();
|
|
681
|
+
var leftSign = 0;
|
|
639
682
|
this.scrollTimer = window.setInterval(function () {
|
|
683
|
+
if (Math.sign(_this.timerCount) == -1) {
|
|
684
|
+
leftSign = -1;
|
|
685
|
+
_this.timerCount = Math.abs(_this.timerCount);
|
|
686
|
+
}
|
|
640
687
|
if (direction === 'right') {
|
|
641
688
|
_this.timerCount = (_this.timerCount + 1) >= _this.parent.timelineModule.totalTimelineWidth ?
|
|
642
689
|
_this.parent.timelineModule.totalTimelineWidth : (_this.timerCount + 1);
|
|
@@ -651,7 +698,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
651
698
|
_this.parent.ganttChartModule.scrollObject.setScrollTop(_this.timerCount);
|
|
652
699
|
}
|
|
653
700
|
else {
|
|
654
|
-
_this.parent.ganttChartModule.scrollObject.setScrollLeft(_this.timerCount);
|
|
701
|
+
_this.parent.ganttChartModule.scrollObject.setScrollLeft(_this.timerCount, leftSign);
|
|
655
702
|
}
|
|
656
703
|
if (_this.taskBarEditAction === 'ConnectorPointLeftDrag'
|
|
657
704
|
|| _this.taskBarEditAction === 'ConnectorPointRightDrag') {
|
|
@@ -1347,6 +1394,7 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1347
1394
|
*/
|
|
1348
1395
|
TaskbarEdit.prototype.setItemPosition = function () {
|
|
1349
1396
|
var item = this.taskBarEditRecord.ganttProperties;
|
|
1397
|
+
var position = this.parent.enableRtl ? "right" : "left";
|
|
1350
1398
|
var segment = !isNullOrUndefined(item.segments) ? item.segments[this.segmentIndex] : null;
|
|
1351
1399
|
var width = this.taskBarEditAction === 'MilestoneDrag' || item.isMilestone ?
|
|
1352
1400
|
this.parent.chartRowsModule.milestoneHeight : item.width;
|
|
@@ -1378,11 +1426,16 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1378
1426
|
if (segmentedTaskBarContainer && !isNullOrUndefined(item.segments)
|
|
1379
1427
|
&& (this.taskBarEditAction === 'RightResizing' || this.segmentIndex !== 0)) {
|
|
1380
1428
|
this.taskBarEditElement.style.width = (segment.width) + 'px';
|
|
1381
|
-
this.
|
|
1429
|
+
if (this.parent.enableRtl) {
|
|
1430
|
+
this.taskBarEditElement.style.right = (segment.left) + 'px';
|
|
1431
|
+
}
|
|
1432
|
+
else {
|
|
1433
|
+
this.taskBarEditElement.style.left = (segment.left) + 'px';
|
|
1434
|
+
}
|
|
1382
1435
|
}
|
|
1383
1436
|
taskBarMainContainer.style.width = (width) + 'px';
|
|
1384
|
-
taskBarMainContainer.style.left = (item.left) + 'px';
|
|
1385
1437
|
leftLabelContainer.style.width = (item.left) + 'px';
|
|
1438
|
+
taskBarMainContainer.style.setProperty(position, (item.left) + 'px');
|
|
1386
1439
|
if (this.taskBarEditAction === 'LeftResizing' && this.segmentIndex === 0) {
|
|
1387
1440
|
var parent_1 = this.taskBarEditElement.parentElement;
|
|
1388
1441
|
var segmentedTasks = parent_1.getElementsByClassName('e-segmented-taskbar');
|
|
@@ -1390,31 +1443,42 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1390
1443
|
var segment_4 = item.segments[i];
|
|
1391
1444
|
var segmentElement = segmentedTasks[i];
|
|
1392
1445
|
segmentElement.style.width = (segment_4.width) + 'px';
|
|
1393
|
-
|
|
1446
|
+
if (this.parent.enableRtl) {
|
|
1447
|
+
segmentElement.style.right = (segment_4.left) + 'px';
|
|
1448
|
+
}
|
|
1449
|
+
else {
|
|
1450
|
+
segmentElement.style.left = (segment_4.left) + 'px';
|
|
1451
|
+
}
|
|
1394
1452
|
}
|
|
1395
1453
|
}
|
|
1396
1454
|
if (!isNullOrUndefined(rightLabelContainer)) {
|
|
1397
|
-
rightLabelContainer.style.
|
|
1455
|
+
rightLabelContainer.style.setProperty(position, (item.left + width) + 'px');
|
|
1398
1456
|
}
|
|
1399
1457
|
}
|
|
1400
1458
|
if (traceConnectorPointRight) {
|
|
1401
|
-
|
|
1459
|
+
if (this.parent.enableRtl) {
|
|
1460
|
+
traceConnectorPointRight.style.left = (this.parent.isAdaptive ? (width + 10) : (width - 2)) + 'px';
|
|
1461
|
+
}
|
|
1462
|
+
else {
|
|
1463
|
+
traceConnectorPointRight.style.left = (this.parent.isAdaptive ? (width + 10) : (width + 2)) + 'px';
|
|
1464
|
+
}
|
|
1402
1465
|
}
|
|
1403
1466
|
if (this.taskBarEditAction === 'MilestoneDrag' || item.isMilestone) {
|
|
1404
|
-
taskBarMainContainer.style.
|
|
1467
|
+
taskBarMainContainer.style.setProperty(position, (item.left - (width / 2)) + 'px');
|
|
1405
1468
|
leftLabelContainer.style.width = (item.left - (width / 2)) + 'px';
|
|
1406
1469
|
if (!isNullOrUndefined(rightLabelContainer)) {
|
|
1407
|
-
rightLabelContainer.style.
|
|
1470
|
+
rightLabelContainer.style.setProperty(position, (item.left + (width / 2)) + 'px');
|
|
1408
1471
|
}
|
|
1409
1472
|
}
|
|
1410
1473
|
else if (this.taskBarEditAction === 'ProgressResizing') {
|
|
1411
1474
|
if (this.segmentIndex === -1) {
|
|
1412
|
-
traceChildTaskBar.style.
|
|
1475
|
+
traceChildTaskBar.style.setProperty(position, (item.left + item.progressWidth - 10) + 'px');
|
|
1413
1476
|
if (!isNullOrUndefined(traceChildProgressBar)) {
|
|
1414
1477
|
traceChildProgressBar.style.width = item.progressWidth + 'px';
|
|
1415
1478
|
traceChildProgressBar.style.borderBottomRightRadius = this.progressBorderRadius + 'px';
|
|
1416
1479
|
traceChildProgressBar.style.borderTopRightRadius = this.progressBorderRadius + 'px';
|
|
1417
|
-
|
|
1480
|
+
var width_1 = this.parent.enableRtl ? item.progressWidth + 8 : item.progressWidth - 8;
|
|
1481
|
+
childProgressResizer.style.setProperty(position, width_1 + 'px');
|
|
1418
1482
|
}
|
|
1419
1483
|
}
|
|
1420
1484
|
else {
|
|
@@ -1422,16 +1486,17 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1422
1486
|
traceChildProgressBar.style.width = item.segments[this.segmentIndex].progressWidth + 'px';
|
|
1423
1487
|
traceChildProgressBar.style.borderBottomRightRadius = this.progressBorderRadius + 'px';
|
|
1424
1488
|
traceChildProgressBar.style.borderTopRightRadius = this.progressBorderRadius + 'px';
|
|
1425
|
-
|
|
1489
|
+
var width_2 = this.parent.enableRtl ? item.segments[this.segmentIndex].progressWidth + 8 : item.segments[this.segmentIndex].progressWidth - 8;
|
|
1490
|
+
childProgressResizer.style.setProperty(position, width_2 + 'px');
|
|
1426
1491
|
}
|
|
1427
1492
|
}
|
|
1428
1493
|
else if (this.taskBarEditAction === 'RightResizing' && !isNullOrUndefined(traceChildTaskBar)) {
|
|
1429
1494
|
traceChildTaskBar.style.width = (width) + 'px';
|
|
1430
1495
|
if (!isNullOrUndefined(traceChildProgressBar)) {
|
|
1431
1496
|
traceChildProgressBar.style.width = (item.progressWidth) + 'px';
|
|
1432
|
-
taskBarRightResizer.style.
|
|
1497
|
+
taskBarRightResizer.style.setProperty(position, rightResizer + 'px');
|
|
1433
1498
|
if (!isNullOrUndefined(childProgressResizer)) {
|
|
1434
|
-
childProgressResizer.style.
|
|
1499
|
+
childProgressResizer.style.setProperty(position, item.progressWidth - 10 + 'px');
|
|
1435
1500
|
}
|
|
1436
1501
|
}
|
|
1437
1502
|
}
|
|
@@ -1445,27 +1510,27 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1445
1510
|
}
|
|
1446
1511
|
else if (this.taskBarEditAction === 'ParentResizing') {
|
|
1447
1512
|
manualParentTaskbar.style.width = manualTaskbar.style.width = (item.width) + 'px';
|
|
1448
|
-
manualParentRight.style.
|
|
1513
|
+
manualParentRight.style.setProperty(position, item.width - manualParentLeft.offsetLeft + 'px');
|
|
1449
1514
|
}
|
|
1450
1515
|
else if (this.taskBarEditAction === 'ManualParentDrag') {
|
|
1451
|
-
manualParentTaskbar.style.
|
|
1516
|
+
manualParentTaskbar.style.setProperty(position, item.left - item.autoLeft + 'px');
|
|
1452
1517
|
}
|
|
1453
1518
|
else {
|
|
1454
1519
|
if (!isNullOrUndefined(traceChildTaskBar) && !segmentedTaskBarContainer) {
|
|
1455
1520
|
traceChildTaskBar.style.width = (width) + 'px';
|
|
1456
1521
|
}
|
|
1457
1522
|
if (!isNullOrUndefined(traceChildProgressBar)) {
|
|
1458
|
-
taskBarRightResizer.style.
|
|
1523
|
+
taskBarRightResizer.style.setProperty(position, rightResizer + 'px');
|
|
1459
1524
|
traceChildProgressBar.style.width = (item.progressWidth) + 'px';
|
|
1460
1525
|
if (!isNullOrUndefined(childProgressResizer)) {
|
|
1461
|
-
childProgressResizer.style.
|
|
1526
|
+
childProgressResizer.style.setProperty(position, item.progressWidth - 10 + 'px');
|
|
1462
1527
|
}
|
|
1463
1528
|
}
|
|
1464
1529
|
if (segmentedTaskBarContainer) {
|
|
1465
|
-
taskBarRightResizer.style.
|
|
1530
|
+
taskBarRightResizer.style.setProperty(position, rightResizer + 'px');
|
|
1466
1531
|
traceChildProgressBar.style.width = (segment.progressWidth) + 'px';
|
|
1467
1532
|
if (!isNullOrUndefined(childProgressResizer)) {
|
|
1468
|
-
childProgressResizer.style.
|
|
1533
|
+
childProgressResizer.style.setProperty(position, segment.progressWidth - 10 + 'px');
|
|
1469
1534
|
}
|
|
1470
1535
|
}
|
|
1471
1536
|
}
|
|
@@ -1687,25 +1752,51 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1687
1752
|
var y2 = this.mouseMoveY;
|
|
1688
1753
|
var length = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
|
|
1689
1754
|
var angle = Math.atan2(y2 - y1, x2 - x1) * 180 / Math.PI;
|
|
1690
|
-
var transform = 'rotate(' + angle + 'deg)';
|
|
1755
|
+
var transform = 'rotate(' + (this.parent.enableRtl ? -angle : angle) + 'deg)';
|
|
1691
1756
|
var left;
|
|
1757
|
+
var width = 0;
|
|
1758
|
+
if (!isNullOrUndefined(document.querySelectorAll(".e-chart-row")[0])) {
|
|
1759
|
+
width = document.querySelectorAll(".e-chart-row")[0].offsetWidth;
|
|
1760
|
+
}
|
|
1692
1761
|
if (this.taskBarEditAction === 'ConnectorPointLeftDrag') {
|
|
1693
|
-
|
|
1694
|
-
this.parent.
|
|
1762
|
+
if (this.parent.enableRtl) {
|
|
1763
|
+
left = ((width - (this.elementOffsetLeft + (this.parent.chartRowsModule.connectorPointWidth / 2)))) -
|
|
1764
|
+
Math.abs(this.parent.ganttChartModule.scrollObject.previousScroll.left);
|
|
1765
|
+
}
|
|
1766
|
+
else {
|
|
1767
|
+
left = (this.elementOffsetLeft - (this.parent.chartRowsModule.connectorPointWidth / 2)) -
|
|
1768
|
+
this.parent.ganttChartModule.scrollObject.previousScroll.left;
|
|
1769
|
+
}
|
|
1695
1770
|
}
|
|
1696
1771
|
if (this.taskBarEditAction === 'ConnectorPointRightDrag') {
|
|
1697
|
-
|
|
1698
|
-
|
|
1772
|
+
if (this.parent.enableRtl) {
|
|
1773
|
+
left = (width - (this.elementOffsetLeft + this.elementOffsetWidth +
|
|
1774
|
+
(this.parent.chartRowsModule.connectorPointWidth / 2))) - Math.abs(this.parent.ganttChartModule.scrollObject.previousScroll.left);
|
|
1775
|
+
}
|
|
1776
|
+
else {
|
|
1777
|
+
left = (this.elementOffsetLeft + this.elementOffsetWidth) +
|
|
1778
|
+
(this.parent.chartRowsModule.connectorPointWidth / 2) - Math.abs(this.parent.ganttChartModule.scrollObject.previousScroll.left);
|
|
1779
|
+
}
|
|
1699
1780
|
}
|
|
1700
1781
|
var top = ((this.elementOffsetTop) + (this.elementOffsetHeight / 2) +
|
|
1701
1782
|
this.parent.ganttChartModule.chartBodyContainer.offsetTop) - this.parent.ganttChartModule.scrollObject.previousScroll.top;
|
|
1702
1783
|
this.removeFalseLine(false);
|
|
1703
1784
|
this.falseLine = createElement('div', {
|
|
1704
1785
|
className: cls.falseLine, id: 'ganttfalseline' + this.parent.element.id,
|
|
1705
|
-
styles: '
|
|
1786
|
+
styles: 'position: absolute;transform:' + transform + ';' +
|
|
1706
1787
|
'border-top-width: 1px;border-top-style: dashed;z-index: 5;width:' + (length - 3) + 'px;' +
|
|
1707
|
-
'
|
|
1788
|
+
'top:' + top + 'px;'
|
|
1708
1789
|
});
|
|
1790
|
+
if (this.parent.enableRtl) {
|
|
1791
|
+
this.falseLine.style.left = 'auto';
|
|
1792
|
+
this.falseLine.style.right = left + 'px';
|
|
1793
|
+
this.falseLine.style.transformOrigin = '100% 0%';
|
|
1794
|
+
}
|
|
1795
|
+
else {
|
|
1796
|
+
this.falseLine.style.right = 'auto';
|
|
1797
|
+
this.falseLine.style.left = left + 'px';
|
|
1798
|
+
this.falseLine.style.transformOrigin = '0% 100%';
|
|
1799
|
+
}
|
|
1709
1800
|
this.parent.ganttChartModule.chartBodyContainer.appendChild(this.falseLine);
|
|
1710
1801
|
};
|
|
1711
1802
|
/**
|
|
@@ -1790,19 +1881,19 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1790
1881
|
var element = target;
|
|
1791
1882
|
var uniqueId = this.parent.viewType === 'ResourceView' ? fromItem.taskId : fromItem.rowUniqueID;
|
|
1792
1883
|
if (this.taskBarEditAction === 'ConnectorPointLeftDrag') {
|
|
1793
|
-
predecessor = uniqueId + 'S';
|
|
1884
|
+
predecessor = uniqueId + (this.parent.enableRtl ? 'F' : 'S');
|
|
1794
1885
|
}
|
|
1795
1886
|
else if (this.taskBarEditAction === 'ConnectorPointRightDrag') {
|
|
1796
|
-
predecessor = uniqueId + 'F';
|
|
1887
|
+
predecessor = uniqueId + (this.parent.enableRtl ? 'S' : 'F');
|
|
1797
1888
|
}
|
|
1798
1889
|
if (this.connectorSecondAction) {
|
|
1799
1890
|
if (this.connectorSecondAction === 'ConnectorPointLeftDrag') {
|
|
1800
|
-
predecessor += 'S';
|
|
1801
|
-
currentTarget = 'start';
|
|
1891
|
+
predecessor += this.parent.enableRtl ? 'F' : 'S';
|
|
1892
|
+
currentTarget = this.parent.enableRtl ? 'finish' : 'start';
|
|
1802
1893
|
}
|
|
1803
1894
|
else if (this.connectorSecondAction === 'ConnectorPointRightDrag') {
|
|
1804
|
-
predecessor += 'F';
|
|
1805
|
-
currentTarget = 'finish';
|
|
1895
|
+
predecessor += this.parent.enableRtl ? 'S' : 'F';
|
|
1896
|
+
currentTarget = this.parent.enableRtl ? 'start' : 'finish';
|
|
1806
1897
|
}
|
|
1807
1898
|
}
|
|
1808
1899
|
if (isNullOrUndefined(toItem)) {
|
|
@@ -1826,6 +1917,12 @@ var TaskbarEdit = /** @class */ (function (_super) {
|
|
|
1826
1917
|
args.isValidLink = isValidLink;
|
|
1827
1918
|
args.requestType = 'ValidateDependency';
|
|
1828
1919
|
this.parent.trigger('actionBegin', args);
|
|
1920
|
+
if (!isNullOrUndefined(this.parent.loadingIndicator) && this.parent.loadingIndicator.indicatorType === "Shimmer" && args.requestType != "ValidateDependency") {
|
|
1921
|
+
this.parent.showMaskRow();
|
|
1922
|
+
}
|
|
1923
|
+
else if (args.requestType != "ValidateDependency") {
|
|
1924
|
+
this.parent.showSpinner();
|
|
1925
|
+
}
|
|
1829
1926
|
args.isValidLink = !isValidLink && args.isValidLink ? false : args.isValidLink;
|
|
1830
1927
|
if (args.isValidLink) {
|
|
1831
1928
|
if (!this.editTooltip.toolTipObj && !this.parent.isAdaptive) {
|
|
@@ -54,6 +54,14 @@ var Toolbar = /** @class */ (function () {
|
|
|
54
54
|
this.parent.localeObj.getConstant('tasks') : ''),
|
|
55
55
|
align: this.parent.isAdaptive ? 'Right' : 'Left'
|
|
56
56
|
};
|
|
57
|
+
if (this.parent.enableRtl) {
|
|
58
|
+
if (item === 'PrevTimeSpan') {
|
|
59
|
+
this.predefinedItems[item].prefixIcon = 'e-nexttimespan';
|
|
60
|
+
}
|
|
61
|
+
if (item === 'NextTimeSpan') {
|
|
62
|
+
this.predefinedItems[item].prefixIcon = 'e-prevtimespan';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
57
65
|
}
|
|
58
66
|
var searchLocalText = this.parent.localeObj.getConstant('search');
|
|
59
67
|
if (this.parent.isAdaptive) {
|
|
@@ -85,6 +93,7 @@ var Toolbar = /** @class */ (function () {
|
|
|
85
93
|
var items = this.getItems();
|
|
86
94
|
this.toolbar = new NavToolbar({
|
|
87
95
|
items: items,
|
|
96
|
+
enableRtl: this.parent.enableRtl,
|
|
88
97
|
clicked: this.toolbarClickHandler.bind(this),
|
|
89
98
|
height: this.parent.isAdaptive ? 48 : 'auto'
|
|
90
99
|
});
|
|
@@ -103,6 +112,7 @@ var Toolbar = /** @class */ (function () {
|
|
|
103
112
|
this.searchElement = this.element.querySelector('#' + this.parent.element.id + '_searchbar');
|
|
104
113
|
var textObj = new TextBox({
|
|
105
114
|
placeholder: this.parent.localeObj.getConstant('search'),
|
|
115
|
+
enableRtl: this.parent.enableRtl,
|
|
106
116
|
floatLabelType: 'Never',
|
|
107
117
|
showClearButton: true
|
|
108
118
|
});
|
|
@@ -221,7 +231,16 @@ var Toolbar = /** @class */ (function () {
|
|
|
221
231
|
var _this = this;
|
|
222
232
|
var gObj = this.parent;
|
|
223
233
|
var gID = this.id;
|
|
234
|
+
this.parent.isToolBarClick = false;
|
|
224
235
|
extend(arg, { cancel: false });
|
|
236
|
+
if (arg.item['properties'].id === this.parent.element.id + "_pdfexport" || arg.item['properties'].id === this.parent.element.id + "_critical-path") {
|
|
237
|
+
if (!isNullOrUndefined(this.parent.loadingIndicator) && this.parent.loadingIndicator.indicatorType === "Shimmer") {
|
|
238
|
+
this.parent.showMaskRow();
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
this.parent.showSpinner();
|
|
242
|
+
}
|
|
243
|
+
}
|
|
225
244
|
gObj.trigger(events.toolbarClick, arg, function (args) {
|
|
226
245
|
if (args.cancel) {
|
|
227
246
|
return;
|
|
@@ -423,7 +442,8 @@ var Toolbar = /** @class */ (function () {
|
|
|
423
442
|
else {
|
|
424
443
|
disableItems.push(gID + '_update', gID + '_cancel');
|
|
425
444
|
for (var t = 0; t < toolbarItems.length; t++) {
|
|
426
|
-
if (enableItems.indexOf(toolbarItems[t].id) === -1 &&
|
|
445
|
+
if (enableItems.indexOf(toolbarItems[t].id) === -1 &&
|
|
446
|
+
disableItems.indexOf(toolbarItems[t].id) === -1) {
|
|
427
447
|
enableItems.push(toolbarItems[t].id);
|
|
428
448
|
}
|
|
429
449
|
}
|
|
@@ -286,7 +286,7 @@ var DateProcessor = /** @class */ (function () {
|
|
|
286
286
|
tDuration = this.parent.editModule.taskbarEditModule.sumOfDuration(ganttProperties.segments);
|
|
287
287
|
}
|
|
288
288
|
else {
|
|
289
|
-
if (!isNullOrUndefined(ganttProperties.startDate) && !isNullOrUndefined(ganttProperties.endDate) &&
|
|
289
|
+
if ((!isNullOrUndefined(this.parent.taskFields.milestone)) && (!isNullOrUndefined(ganttProperties.startDate)) && !isNullOrUndefined(ganttProperties.endDate) &&
|
|
290
290
|
(ganttProperties.startDate).getTime() === (ganttProperties.endDate).getTime() && !isNullOrUndefined(ganttData.taskData[this.parent.taskFields.milestone])) {
|
|
291
291
|
tDuration = 1;
|
|
292
292
|
}
|
|
@@ -93,6 +93,21 @@ var GanttChart = /** @class */ (function () {
|
|
|
93
93
|
this.parent.predecessorModule.createConnectorLinesCollection();
|
|
94
94
|
}
|
|
95
95
|
this.parent.connectorLineModule.renderConnectorLines(this.parent.updatedConnectorLineCollection);
|
|
96
|
+
for (var i = 0; i < this.parent.chartRowsModule.ganttChartTableBody.children.length; i++) {
|
|
97
|
+
if (this.parent.chartRowsModule.ganttChartTableBody.children[i].children[0].children[1].children[4]) {
|
|
98
|
+
this.parent.chartRowsModule.ganttChartTableBody.children[i].children[0].children[1].children[1].setAttribute('tabindex', '-1');
|
|
99
|
+
this.parent.chartRowsModule.ganttChartTableBody.children[i].children[0].children[1].children[2].setAttribute('tabindex', '-1');
|
|
100
|
+
this.parent.chartRowsModule.ganttChartTableBody.children[i].children[0].children[1].children[4].setAttribute('tabindex', '-1');
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
if (this.parent.viewType === 'ProjectView') {
|
|
104
|
+
this.parent.chartRowsModule.ganttChartTableBody.children[i].children[0].children[1].children[1].setAttribute('tabindex', '-1');
|
|
105
|
+
}
|
|
106
|
+
else if (this.parent.chartRowsModule.ganttChartTableBody.children[i].children[0].children[1].children[0]) {
|
|
107
|
+
this.parent.chartRowsModule.ganttChartTableBody.children[i].children[0].children[1].children[0].setAttribute('tabindex', '-1');
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
96
111
|
if (this.parent.enableCriticalPath) {
|
|
97
112
|
var crtiticalModule = this.parent.criticalPathModule;
|
|
98
113
|
this.parent.criticalPathModule.criticalConnectorLine(crtiticalModule.criticalPathCollection, crtiticalModule.detailPredecessorCollection, this.parent.enableCriticalPath, crtiticalModule.predecessorCollectionTaskIds);
|
|
@@ -156,11 +171,13 @@ var GanttChart = /** @class */ (function () {
|
|
|
156
171
|
for (var i = 0; i < rangeCollection.length; i++) {
|
|
157
172
|
var height = this.getRangeHeight(currentRecord);
|
|
158
173
|
var leftDiv = createElement('div', {
|
|
159
|
-
className: cls.rangeChildContainer + ' ' + 'e-leftarc', styles:
|
|
174
|
+
className: cls.rangeChildContainer + ' ' + 'e-leftarc', styles: (this.parent.enableRtl ? 'right:' : 'left:') +
|
|
175
|
+
((this.parent.enableRtl ? rangeCollection[i].left + rangeCollection[i].width - 5 : rangeCollection[i].left) + "px;\n top: " + Math.floor((this.parent.rowHeight - this.parent.chartRowsModule.taskBarHeight) / 2) + "px;\n height: " + (height + 1) + "px; border-right: 0px")
|
|
160
176
|
});
|
|
161
177
|
var rightDiv = createElement('div', {
|
|
162
178
|
className: cls.rangeChildContainer + ' ' + 'e-rightarc',
|
|
163
|
-
styles:
|
|
179
|
+
styles: (this.parent.enableRtl ? 'right:' : 'left:') + ((this.parent.enableRtl ? rangeCollection[i].left :
|
|
180
|
+
rangeCollection[i].left + rangeCollection[i].width - 5) + "px;\n top: " + Math.floor((this.parent.rowHeight - this.parent.chartRowsModule.taskBarHeight) / 2) + "px; height: " + (height + 1) + "px;\n border-left: 0px")
|
|
164
181
|
});
|
|
165
182
|
parentDiv.appendChild(leftDiv);
|
|
166
183
|
parentDiv.appendChild(rightDiv);
|
|
@@ -175,6 +192,10 @@ var GanttChart = /** @class */ (function () {
|
|
|
175
192
|
GanttChart.prototype.renderTimelineContainer = function () {
|
|
176
193
|
this.chartTimelineContainer =
|
|
177
194
|
createElement('div', { className: cls.timelineHeaderContainer });
|
|
195
|
+
if (this.parent.enableRtl) {
|
|
196
|
+
this.chartTimelineContainer.style.borderLeftWidth = '1px';
|
|
197
|
+
this.chartTimelineContainer.style.borderRightWidth = '0px';
|
|
198
|
+
}
|
|
178
199
|
this.chartTimelineContainer.setAttribute("role", "presentation");
|
|
179
200
|
this.chartElement.appendChild(this.chartTimelineContainer);
|
|
180
201
|
};
|
|
@@ -347,7 +368,7 @@ var GanttChart = /** @class */ (function () {
|
|
|
347
368
|
scrollLeft = this.scrollElement.scrollWidth <= scrollLeft ? this.scrollElement.scrollWidth : scrollLeft;
|
|
348
369
|
if ((this.scrollElement.offsetWidth + this.parent.ganttChartModule.scrollElement.scrollLeft) < scrollLeft
|
|
349
370
|
|| (this.scrollElement.scrollLeft > scrollLeft)) {
|
|
350
|
-
this.scrollObject.setScrollLeft(scrollLeft - 50);
|
|
371
|
+
this.scrollObject.setScrollLeft(scrollLeft - 50, this.parent.enableRtl ? -1 : 0);
|
|
351
372
|
}
|
|
352
373
|
// this.parent.ganttChartModule.scrollObject.updateLeftPosition();
|
|
353
374
|
};
|
|
@@ -405,6 +426,13 @@ var GanttChart = /** @class */ (function () {
|
|
|
405
426
|
}
|
|
406
427
|
this.parent.notify('chartMouseUp', e);
|
|
407
428
|
if (this.parent.showActiveElement) {
|
|
429
|
+
this.parent.showIndicator = true;
|
|
430
|
+
if (!isNullOrUndefined(this.parent.loadingIndicator) && this.parent.loadingIndicator.indicatorType === "Shimmer") {
|
|
431
|
+
this.parent.hideMaskRow();
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
this.parent.hideSpinner();
|
|
435
|
+
}
|
|
408
436
|
if (this.focusedElement && !e.target.classList.contains('e-split-bar')) {
|
|
409
437
|
this.focusedElement.tabIndex = this.focusedElement.tabIndex === 0 ? -1 : this.focusedElement.tabIndex;
|
|
410
438
|
removeClass([this.focusedElement], 'e-active-container');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, createElement, Complex, addClass, removeClass, Event, EmitType, formatUnit, Browser } from '@syncfusion/ej2-base';import { Internationalization, extend, getValue, isObjectArray, isObject, setValue, isUndefined } from '@syncfusion/ej2-base';import { Property, NotifyPropertyChanges, INotifyPropertyChanged, L10n, ModuleDeclaration, EventHandler } from '@syncfusion/ej2-base';import { isNullOrUndefined, KeyboardEvents, KeyboardEventArgs, Collection, append, remove } from '@syncfusion/ej2-base';import { createSpinner, showSpinner, hideSpinner, Dialog } from '@syncfusion/ej2-popups';import { RowDragEventArgs, GridColumn
|
|
1
|
+
import { Component, createElement, Complex, addClass, removeClass, Event, EmitType, formatUnit, Browser, closest } from '@syncfusion/ej2-base';import { Internationalization, extend, getValue, isObjectArray, isObject, setValue, isUndefined } from '@syncfusion/ej2-base';import { Property, NotifyPropertyChanges, INotifyPropertyChanged, L10n, ModuleDeclaration, EventHandler } from '@syncfusion/ej2-base';import { isNullOrUndefined, KeyboardEvents, KeyboardEventArgs, Collection, append, remove } from '@syncfusion/ej2-base';import { createSpinner, showSpinner, hideSpinner, Dialog } from '@syncfusion/ej2-popups';import { RowDragEventArgs, GridColumn} from '@syncfusion/ej2-grids';import { TaskProcessor } from './task-processor';import { GanttChart } from './gantt-chart';import { Timeline } from '../renderer/timeline';import { GanttTreeGrid } from './tree-grid';import { Toolbar } from '../actions/toolbar';import { CriticalPath } from '../actions/critical-path';import { IGanttData, IWorkingTimeRange, IQueryTaskbarInfoEventArgs, BeforeTooltipRenderEventArgs, IDependencyEventArgs } from './interface';import { DataStateChangeEventArgs } from '@syncfusion/ej2-treegrid';import { ITaskbarEditedEventArgs, IParent, ITaskData, PdfColumnHeaderQueryCellInfoEventArgs } from './interface';import { ICollapsingEventArgs, CellEditArgs, PdfQueryTimelineCellInfoEventArgs } from './interface';import { IConnectorLineObject, IValidateArgs, IValidateMode, ITaskAddedEventArgs, IKeyPressedEventArgs } from './interface';import { PdfExportProperties, ISplitterResizedEventArgs } from './interface';import { ZoomEventArgs, IActionBeginEventArgs, CellSelectingEventArgs, RowDeselectEventArgs, PdfQueryCellInfoEventArgs } from './interface';import { ITimeSpanEventArgs, ZoomTimelineSettings, QueryCellInfoEventArgs, RowDataBoundEventArgs, RowSelectEventArgs } from './interface';import { TaskFieldsModel, TimelineSettingsModel, SplitterSettingsModel, SortSettings, SortSettingsModel } from '../models/models';import { EventMarkerModel, AddDialogFieldSettingsModel, EditDialogFieldSettingsModel, EditSettingsModel } from '../models/models';import { HolidayModel, DayWorkingTimeModel, FilterSettingsModel, SelectionSettingsModel,LoadingIndicatorModel, LoadingIndicator } from '../models/models';import { TaskFields, TimelineSettings, Holiday, EventMarker, DayWorkingTime, EditSettings, SelectionSettings } from '../models/models';import { FilterSettings, SplitterSettings, TooltipSettings, LabelSettings, LabelSettingsModel } from '../models/models';import { SearchSettingsModel, SearchSettings, ResourceFields, ResourceFieldsModel } from '../models/models';import { ItemModel, ClickEventArgs } from '@syncfusion/ej2-navigations';import { DateProcessor } from './date-processor';import { ChartRows } from '../renderer/chart-rows';import { Dependency } from '../actions/dependency';import * as cls from './css-constants';import { Query, DataManager } from '@syncfusion/ej2-data';import { Column, ColumnModel } from '../models/column';import { TreeGrid, FilterSettingsModel as TreeGridFilterSettingModel } from '@syncfusion/ej2-treegrid';import { Sort } from '../actions/sort';import { CellSelectEventArgs, ISelectedCell, ContextMenuItemModel } from '@syncfusion/ej2-grids';import { CellDeselectEventArgs, IIndex, FailureEventArgs } from '@syncfusion/ej2-grids';import { HeaderCellInfoEventArgs, ColumnMenuClickEventArgs, ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';import { ColumnMenuItemModel, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportProperties, ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { RowDD } from '../actions/rowdragdrop';import { Filter } from '../actions/filter';import { PageEventArgs, FilterEventArgs, SortEventArgs, ResizeArgs, ColumnDragEventArgs, getActualProperties } from '@syncfusion/ej2-grids';import { RenderDayCellEventArgs } from '@syncfusion/ej2-calendars';import { ConnectorLine } from '../renderer/connector-line';import { ConnectorLineEdit } from '../actions/connector-line-edit';import { Edit } from '../actions/edit';import { Splitter } from './splitter';import { ResizeEventArgs, ResizingEventArgs } from '@syncfusion/ej2-layouts';import { TooltipSettingsModel } from '../models/tooltip-settings-model';import { Tooltip } from '../renderer/tooltip';import { ToolbarItem, ColumnMenuItem, RowPosition, DurationUnit, SortDirection } from './enum';import { GridLine, ContextMenuItem, ScheduleMode, ViewType } from './enum';import { Selection } from '../actions/selection';import { ExcelExport } from '../actions/excel-export';import { DayMarkers } from '../actions/day-markers';import { ContextMenu } from './../actions/context-menu';import { RowSelectingEventArgs } from './interface';import { ContextMenuOpenEventArgs as CMenuOpenEventArgs, ContextMenuClickEventArgs as CMenuClickEventArgs } from './interface';import { ColumnMenu } from '../actions/column-menu';import { ITaskbarClickEventArgs, RecordDoubleClickEventArgs, IMouseMoveEventArgs } from './interface';import { PdfExport } from '../actions/pdf-export';import { WorkUnit, TaskType } from './enum';import { FocusModule } from '../actions/keyboard';import { VirtualScroll } from '../actions/virtual-scroll';import { isCountRequired } from './utils';import { TaskbarEdit } from '../actions/taskbar-edit';
|
|
2
2
|
import {ComponentModel} from '@syncfusion/ej2-base';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -28,6 +28,20 @@ export interface GanttModel extends ComponentModel{
|
|
|
28
28
|
*/
|
|
29
29
|
disableHtmlEncode?: boolean;
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Configures the loading indicator of the Gantt Chart. Specifies whether to display spinner or shimmer effect during the waiting time on any actions performed in Gantt Chart.
|
|
33
|
+
*
|
|
34
|
+
* @default {indicatorType: 'Spinner'}
|
|
35
|
+
*/
|
|
36
|
+
loadingIndicator?: LoadingIndicatorModel;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Specifies whether to display shimmer effect during scrolling action in virtual scrolling feature. If disabled, spinner is shown instead of shimmer effect.
|
|
40
|
+
*
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
enableVirtualMaskRow?: boolean;
|
|
44
|
+
|
|
31
45
|
/**
|
|
32
46
|
* Enables or disables the focusing the task bar on click action.
|
|
33
47
|
*
|
|
@@ -156,6 +170,8 @@ export interface GanttModel extends ComponentModel{
|
|
|
156
170
|
|
|
157
171
|
/**
|
|
158
172
|
* Configures the grid lines in tree grid and gantt chart.
|
|
173
|
+
*
|
|
174
|
+
* @default 'Horizontal'
|
|
159
175
|
*/
|
|
160
176
|
gridLines?: GridLine;
|
|
161
177
|
|
|
@@ -188,6 +204,8 @@ export interface GanttModel extends ComponentModel{
|
|
|
188
204
|
|
|
189
205
|
/**
|
|
190
206
|
* Defines the baseline bar color.
|
|
207
|
+
*
|
|
208
|
+
* @default null
|
|
191
209
|
*/
|
|
192
210
|
baselineColor?: string;
|
|
193
211
|
|
|
@@ -273,7 +291,8 @@ export interface GanttModel extends ComponentModel{
|
|
|
273
291
|
|
|
274
292
|
/**
|
|
275
293
|
* Defines height of taskbar element in Gantt.
|
|
276
|
-
*
|
|
294
|
+
*
|
|
295
|
+
* @default null
|
|
277
296
|
* @aspType int?
|
|
278
297
|
*/
|
|
279
298
|
taskbarHeight?: number;
|
|
@@ -393,6 +412,8 @@ export interface GanttModel extends ComponentModel{
|
|
|
393
412
|
|
|
394
413
|
/**
|
|
395
414
|
* Defines the view type of the Gantt.
|
|
415
|
+
*
|
|
416
|
+
* @default 'ProjectView'
|
|
396
417
|
*/
|
|
397
418
|
viewType?: ViewType;
|
|
398
419
|
|
|
@@ -566,6 +587,8 @@ export interface GanttModel extends ComponentModel{
|
|
|
566
587
|
|
|
567
588
|
/**
|
|
568
589
|
* Specifies task schedule mode for a project.
|
|
590
|
+
*
|
|
591
|
+
* @default 'Auto'
|
|
569
592
|
*/
|
|
570
593
|
taskMode?: ScheduleMode;
|
|
571
594
|
|