@syncfusion/ej2-gantt 23.2.5 → 24.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -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 +2980 -336
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +3034 -370
- 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 +21 -21
- package/src/gantt/actions/cell-edit.js +7 -3
- package/src/gantt/actions/chart-scroll.d.ts +9 -1
- package/src/gantt/actions/chart-scroll.js +111 -3
- package/src/gantt/actions/connector-line-edit.js +8 -1
- package/src/gantt/actions/context-menu.js +2 -2
- package/src/gantt/actions/day-markers.d.ts +2 -1
- package/src/gantt/actions/dependency.js +2 -2
- package/src/gantt/actions/dialog-edit.d.ts +24 -0
- package/src/gantt/actions/dialog-edit.js +383 -1
- package/src/gantt/actions/edit.js +104 -41
- package/src/gantt/actions/keyboard.js +5 -1
- package/src/gantt/actions/pdf-export.js +12 -4
- package/src/gantt/actions/rowdragdrop.js +24 -5
- package/src/gantt/actions/selection.js +6 -3
- package/src/gantt/actions/taskbar-edit.d.ts +14 -0
- package/src/gantt/actions/taskbar-edit.js +513 -78
- package/src/gantt/actions/toolbar.js +4 -1
- package/src/gantt/base/css-constants.d.ts +2 -0
- package/src/gantt/base/css-constants.js +2 -0
- package/src/gantt/base/enum.d.ts +22 -0
- package/src/gantt/base/gantt-chart.js +63 -21
- package/src/gantt/base/gantt-model.d.ts +9 -1
- package/src/gantt/base/gantt.d.ts +11 -1
- package/src/gantt/base/gantt.js +46 -18
- package/src/gantt/base/interface.d.ts +135 -3
- package/src/gantt/base/splitter.js +6 -0
- package/src/gantt/base/task-processor.d.ts +1 -1
- package/src/gantt/base/task-processor.js +37 -9
- package/src/gantt/base/tree-grid.js +1 -1
- package/src/gantt/export/export-helper.d.ts +12 -0
- package/src/gantt/export/export-helper.js +316 -9
- package/src/gantt/export/pdf-base/pdf-grid-table.js +14 -1
- package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +36 -0
- package/src/gantt/export/pdf-connector-line.js +137 -32
- package/src/gantt/export/pdf-event-marker.d.ts +10 -0
- package/src/gantt/export/pdf-event-marker.js +57 -0
- package/src/gantt/export/pdf-gantt.d.ts +2 -0
- package/src/gantt/export/pdf-gantt.js +30 -10
- package/src/gantt/export/pdf-taskbar.d.ts +23 -2
- package/src/gantt/export/pdf-taskbar.js +771 -43
- package/src/gantt/export/pdf-timeline.d.ts +9 -0
- package/src/gantt/export/pdf-timeline.js +98 -20
- package/src/gantt/models/column.d.ts +12 -0
- package/src/gantt/renderer/chart-rows.d.ts +1 -1
- package/src/gantt/renderer/chart-rows.js +29 -16
- package/src/gantt/renderer/connector-line.js +8 -5
- package/src/gantt/renderer/edit-tooltip.js +3 -0
- package/src/gantt/renderer/event-marker.js +4 -1
- package/src/gantt/renderer/nonworking-day.js +18 -5
- package/src/gantt/renderer/timeline.d.ts +9 -0
- package/src/gantt/renderer/timeline.js +169 -21
- package/styles/bootstrap-dark.css +77 -16
- package/styles/bootstrap.css +78 -17
- package/styles/bootstrap4.css +78 -17
- package/styles/bootstrap5-dark.css +78 -17
- package/styles/bootstrap5.css +78 -17
- package/styles/fabric-dark.css +78 -17
- package/styles/fabric.css +78 -17
- package/styles/fluent-dark.css +78 -17
- package/styles/fluent.css +78 -17
- package/styles/gantt/_bootstrap-dark-definition.scss +7 -2
- package/styles/gantt/_bootstrap-definition.scss +7 -2
- package/styles/gantt/_bootstrap4-definition.scss +7 -2
- package/styles/gantt/_bootstrap5-definition.scss +7 -2
- package/styles/gantt/_fabric-dark-definition.scss +7 -2
- package/styles/gantt/_fabric-definition.scss +7 -2
- package/styles/gantt/_fluent-definition.scss +7 -2
- package/styles/gantt/_fusionnew-definition.scss +6 -2
- package/styles/gantt/_highcontrast-definition.scss +7 -2
- package/styles/gantt/_highcontrast-light-definition.scss +7 -2
- package/styles/gantt/_layout.scss +92 -20
- package/styles/gantt/_material-dark-definition.scss +7 -2
- package/styles/gantt/_material-definition.scss +7 -2
- package/styles/gantt/_material3-definition.scss +7 -2
- package/styles/gantt/_tailwind-definition.scss +6 -1
- package/styles/gantt/_theme.scss +11 -0
- package/styles/gantt/bootstrap-dark.css +77 -16
- package/styles/gantt/bootstrap.css +78 -17
- package/styles/gantt/bootstrap4.css +78 -17
- package/styles/gantt/bootstrap5-dark.css +78 -17
- package/styles/gantt/bootstrap5.css +78 -17
- package/styles/gantt/fabric-dark.css +78 -17
- package/styles/gantt/fabric.css +78 -17
- package/styles/gantt/fluent-dark.css +78 -17
- package/styles/gantt/fluent.css +78 -17
- package/styles/gantt/highcontrast-light.css +78 -17
- package/styles/gantt/highcontrast.css +78 -17
- package/styles/gantt/material-dark.css +78 -17
- package/styles/gantt/material.css +78 -17
- package/styles/gantt/material3-dark.css +77 -16
- package/styles/gantt/material3.css +77 -16
- package/styles/gantt/tailwind-dark.css +78 -17
- package/styles/gantt/tailwind.css +78 -17
- package/styles/highcontrast-light.css +78 -17
- package/styles/highcontrast.css +78 -17
- package/styles/material-dark.css +78 -17
- package/styles/material.css +78 -17
- package/styles/material3-dark.css +77 -16
- package/styles/material3.css +77 -16
- package/styles/tailwind-dark.css +78 -17
- package/styles/tailwind.css +78 -17
|
@@ -22,6 +22,11 @@ var Timeline = /** @class */ (function () {
|
|
|
22
22
|
this.isZoomToFit = false;
|
|
23
23
|
this.topTierCollection = [];
|
|
24
24
|
this.bottomTierCollection = [];
|
|
25
|
+
this.pdfExportTopTierCollection = [];
|
|
26
|
+
this.pdfExportBottomTierCollection = [];
|
|
27
|
+
this.restrictRender = true;
|
|
28
|
+
this.performedTimeSpanAction = false;
|
|
29
|
+
this.isZoomedToFit = false;
|
|
25
30
|
this.parent = ganttObj;
|
|
26
31
|
this.initProperties();
|
|
27
32
|
}
|
|
@@ -65,6 +70,10 @@ var Timeline = /** @class */ (function () {
|
|
|
65
70
|
if (!this.parent.isFromOnPropertyChange) {
|
|
66
71
|
this.parent.updateProjectDates(this.parent.cloneProjectStartDate, this.parent.cloneProjectEndDate, this.parent.isTimelineRoundOff);
|
|
67
72
|
}
|
|
73
|
+
var timelineContainer = this.parent.element.getElementsByClassName('e-timeline-header-container')[0]['offsetHeight'];
|
|
74
|
+
this.parent.element.getElementsByClassName('e-gridcontent')[0]['style'].height = 'calc(100% - ' + timelineContainer + 'px)';
|
|
75
|
+
// eslint-disable-next-line
|
|
76
|
+
this.parent.element.getElementsByClassName('e-chart-scroll-container e-content')[0]['style'].height = 'calc(100% - ' + timelineContainer + 'px)';
|
|
68
77
|
};
|
|
69
78
|
/**
|
|
70
79
|
* Function used to refresh Gantt rows.
|
|
@@ -98,6 +107,7 @@ var Timeline = /** @class */ (function () {
|
|
|
98
107
|
*/
|
|
99
108
|
Timeline.prototype.processZooming = function (isZoomIn) {
|
|
100
109
|
this.isZoomToFit = false;
|
|
110
|
+
this.isZoomedToFit = false;
|
|
101
111
|
if (!this.parent['isProjectDateUpdated']) {
|
|
102
112
|
this.parent.dateValidationModule.calculateProjectDates();
|
|
103
113
|
}
|
|
@@ -205,6 +215,13 @@ var Timeline = /** @class */ (function () {
|
|
|
205
215
|
this.parent.hideSpinner();
|
|
206
216
|
}
|
|
207
217
|
}
|
|
218
|
+
var tier = this.topTier === 'None' ? 'bottomTier' : 'topTier';
|
|
219
|
+
if (this.parent.enableTimelineVirtualization && (!this.parent.pdfExportModule || this.parent.pdfExportModule && !this.parent.pdfExportModule.isPdfExport)) {
|
|
220
|
+
this.wholeTimelineWidth = this.calculateWidthBetweenTwoDate(tier, this.parent.timelineModule.timelineStartDate, this.parent.timelineModule.timelineEndDate);
|
|
221
|
+
this.parent.element.querySelectorAll(".e-chart-scroll-container")[0].querySelector(".e-virtualtrack")['style'].width = this.wholeTimelineWidth + 'px';
|
|
222
|
+
this.parent.element.querySelectorAll(".e-timeline-header-container")[0].querySelector(".e-virtualtrack")['style'].width = this.wholeTimelineWidth + 'px';
|
|
223
|
+
this.parent.ganttChartModule.updateWidthAndHeight();
|
|
224
|
+
}
|
|
208
225
|
};
|
|
209
226
|
/**
|
|
210
227
|
* To perform the zoom to fit operation in Gantt.
|
|
@@ -215,6 +232,7 @@ var Timeline = /** @class */ (function () {
|
|
|
215
232
|
Timeline.prototype.processZoomToFit = function () {
|
|
216
233
|
this.isZoomToFit = true;
|
|
217
234
|
this.isZooming = false;
|
|
235
|
+
this.isZoomedToFit = true;
|
|
218
236
|
if (!this.parent.zoomingProjectStartDate) {
|
|
219
237
|
this.parent.zoomingProjectStartDate = this.parent.cloneProjectStartDate;
|
|
220
238
|
this.parent.zoomingProjectEndDate = this.parent.cloneProjectEndDate;
|
|
@@ -279,6 +297,7 @@ var Timeline = /** @class */ (function () {
|
|
|
279
297
|
}
|
|
280
298
|
this.changeTimelineSettings(newTimeline);
|
|
281
299
|
this.parent.isTimelineRoundOff = isNullOrUndefined(this.parent.projectStartDate) ? true : false;
|
|
300
|
+
this.isZoomToFit = false;
|
|
282
301
|
};
|
|
283
302
|
Timeline.prototype.bottomTierCellWidthCalc = function (mode, zoomLevel, date) {
|
|
284
303
|
var convertedMilliSeconds;
|
|
@@ -622,6 +641,28 @@ var Timeline = /** @class */ (function () {
|
|
|
622
641
|
this.parent.ganttChartModule.chartTimelineContainer.offsetHeight;
|
|
623
642
|
}
|
|
624
643
|
};
|
|
644
|
+
Timeline.prototype.dateByLeftValue = function (left, isMilestone, property) {
|
|
645
|
+
var pStartDate = new Date(this.parent.timelineModule.timelineStartDate.toString());
|
|
646
|
+
var milliSecondsPerPixel = (24 * 60 * 60 * 1000) / this.parent.perDayWidth;
|
|
647
|
+
pStartDate.setTime(pStartDate.getTime() + (left * milliSecondsPerPixel));
|
|
648
|
+
/* To render the milestone in proper date while editing */
|
|
649
|
+
if (isMilestone && !isNullOrUndefined(property.predecessorsName) && property.predecessorsName !== '') {
|
|
650
|
+
pStartDate.setDate(pStartDate.getDate() - 1);
|
|
651
|
+
this.parent.dateValidationModule.setTime(this.parent.defaultEndTime, pStartDate);
|
|
652
|
+
pStartDate = this.parent.dateValidationModule.checkStartDate(pStartDate, property, true);
|
|
653
|
+
}
|
|
654
|
+
var tierMode = this.parent.timelineModule.bottomTier !== 'None' ? this.parent.timelineModule.topTier :
|
|
655
|
+
this.parent.timelineModule.bottomTier;
|
|
656
|
+
if (tierMode !== 'Hour' && tierMode !== 'Minutes') {
|
|
657
|
+
if (this.parent.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && !this.parent.isInDst(pStartDate)) {
|
|
658
|
+
pStartDate.setTime(pStartDate.getTime() + (60 * 60 * 1000));
|
|
659
|
+
}
|
|
660
|
+
else if (!this.parent.isInDst(new Date(this.parent.timelineModule.timelineStartDate.toString())) && this.parent.isInDst(pStartDate)) {
|
|
661
|
+
pStartDate.setTime(pStartDate.getTime() - (60 * 60 * 1000));
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
return pStartDate;
|
|
665
|
+
};
|
|
625
666
|
/**
|
|
626
667
|
* To create timeline header template.
|
|
627
668
|
*
|
|
@@ -634,32 +675,109 @@ var Timeline = /** @class */ (function () {
|
|
|
634
675
|
var div;
|
|
635
676
|
var table;
|
|
636
677
|
var thead;
|
|
678
|
+
var virtualTableDiv;
|
|
679
|
+
var virtualTrackDiv;
|
|
637
680
|
var loopCount = this.isSingleTier ? 1 : 2;
|
|
638
681
|
var tier = this.topTier === 'None' ? 'bottomTier' : 'topTier';
|
|
639
|
-
this.updateTimelineHeaderHeight();
|
|
640
682
|
this.topTierCollection = [];
|
|
641
683
|
this.bottomTierCollection = [];
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
684
|
+
if (this.restrictRender == true) {
|
|
685
|
+
this.updateTimelineHeaderHeight();
|
|
686
|
+
this.wholeTimelineWidth = this.calculateWidthBetweenTwoDate(tier, this.parent.timelineModule.timelineStartDate, this.parent.timelineModule.timelineEndDate);
|
|
687
|
+
}
|
|
688
|
+
if (this.parent.enableTimelineVirtualization && (this.wholeTimelineWidth > this.parent.element.offsetWidth * 3)) {
|
|
689
|
+
for (var count = 0; count < loopCount; count++) {
|
|
690
|
+
table = createElement('table', { className: cls.timelineHeaderTableContainer, styles: 'display: block;' });
|
|
691
|
+
table.setAttribute('role', 'presentation');
|
|
692
|
+
thead = createElement('thead', { className: cls.timelineHeaderTableBody, styles: 'display:block; border-collapse:collapse' });
|
|
693
|
+
tr = createElement('tr', { innerHTML: this.createTimelineTemplate(tier) });
|
|
694
|
+
td = createElement('td');
|
|
695
|
+
div = createElement('div', { styles: 'width: 20px' });
|
|
696
|
+
virtualTableDiv = createElement('div', { className: cls.virtualTable });
|
|
697
|
+
virtualTrackDiv = createElement('div', { className: cls.virtualTrack });
|
|
698
|
+
td.appendChild(div);
|
|
699
|
+
tr.appendChild(td);
|
|
700
|
+
virtualTableDiv.appendChild(tr);
|
|
701
|
+
thead.appendChild(virtualTableDiv);
|
|
702
|
+
thead.appendChild(virtualTrackDiv);
|
|
703
|
+
table.appendChild(thead);
|
|
704
|
+
this.parent.ganttChartModule.chartTimelineContainer.appendChild(table);
|
|
705
|
+
tier = 'bottomTier';
|
|
706
|
+
tr = null;
|
|
707
|
+
this.restrictRender = false;
|
|
708
|
+
}
|
|
709
|
+
if (this.parent.height === "Auto" || this.parent.timelineModule.isSingleTier) {
|
|
710
|
+
var timelineContainer = this.parent.element.getElementsByClassName('e-timeline-header-container')[0]['offsetHeight'];
|
|
711
|
+
this.parent.element.getElementsByClassName('e-chart-scroll-container e-content')[0]['style'].height = 'calc(100% - ' + timelineContainer + 'px)';
|
|
712
|
+
if (!isNullOrUndefined(this.parent.element.getElementsByClassName('e-gridcontent')[0])) {
|
|
713
|
+
this.parent.treeGrid.element.getElementsByClassName('e-gridcontent')[0]['style'].height = 'calc(100% - ' + timelineContainer + 'px)';
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
this.timelineVirtualizationStyles();
|
|
717
|
+
}
|
|
718
|
+
else {
|
|
719
|
+
for (var count = 0; count < loopCount; count++) {
|
|
720
|
+
table = createElement('table', { className: cls.timelineHeaderTableContainer, styles: 'display: block;' });
|
|
721
|
+
table.setAttribute('role', 'presentation');
|
|
722
|
+
thead = createElement('thead', { className: cls.timelineHeaderTableBody, styles: 'display:block; border-collapse:collapse' });
|
|
723
|
+
tr = createElement('tr', { innerHTML: this.createTimelineTemplate(tier) });
|
|
724
|
+
td = createElement('td');
|
|
648
725
|
div = createElement('div', { styles: 'width: 20px' });
|
|
649
726
|
td.appendChild(div);
|
|
650
727
|
tr.appendChild(td);
|
|
651
728
|
thead.appendChild(tr);
|
|
652
729
|
table.appendChild(thead);
|
|
653
730
|
this.parent.ganttChartModule.chartTimelineContainer.appendChild(table);
|
|
731
|
+
tier = 'bottomTier';
|
|
732
|
+
tr = null;
|
|
733
|
+
}
|
|
734
|
+
if (this.parent.height === "Auto" || this.parent.timelineModule.isSingleTier) {
|
|
735
|
+
var timelineContainer = this.parent.element.getElementsByClassName('e-timeline-header-container')[0]['offsetHeight'];
|
|
736
|
+
this.parent.element.getElementsByClassName('e-chart-scroll-container e-content')[0]['style'].height = 'calc(100% - ' + timelineContainer + 'px)';
|
|
737
|
+
if (!isNullOrUndefined(this.parent.element.getElementsByClassName('e-gridcontent')[0])) {
|
|
738
|
+
this.parent.treeGrid.element.getElementsByClassName('e-gridcontent')[0]['style'].height = 'calc(100% - ' + timelineContainer + 'px)';
|
|
739
|
+
}
|
|
654
740
|
}
|
|
655
|
-
tier = 'bottomTier';
|
|
656
|
-
tr = null;
|
|
657
741
|
}
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
742
|
+
};
|
|
743
|
+
Timeline.prototype.timelineVirtualizationStyles = function () {
|
|
744
|
+
var translateXValue = 0;
|
|
745
|
+
var translateYValue = 0;
|
|
746
|
+
var trackWidth = this.wholeTimelineWidth;
|
|
747
|
+
if (this.parent.enableTimelineVirtualization) {
|
|
748
|
+
//e-content styles updating
|
|
749
|
+
translateXValue = (this.parent.enableTimelineVirtualization && !isNullOrUndefined(this.parent.ganttChartModule.scrollObject.element.scrollLeft)
|
|
750
|
+
&& this.parent.ganttChartModule.scrollObject.element.scrollLeft != 0) ? this.parent.ganttChartModule.scrollObject.getTimelineLeft() : 0;
|
|
751
|
+
if (this.parent.enableRtl) {
|
|
752
|
+
translateXValue = -(translateXValue);
|
|
753
|
+
}
|
|
754
|
+
var contentVirtualTable = this.parent.element.querySelectorAll(".e-chart-scroll-container")[0].querySelector(".e-virtualtable");
|
|
755
|
+
contentVirtualTable.style.transform = "translate(" + translateXValue + "px, " + translateYValue + "px)";
|
|
756
|
+
var contentVirtualTrack = this.parent.element.querySelectorAll(".e-chart-scroll-container")[0].querySelector(".e-virtualtrack");
|
|
757
|
+
contentVirtualTrack.style.position = "relative";
|
|
758
|
+
contentVirtualTrack.style.width = trackWidth + 'px';
|
|
759
|
+
//timeline styles updating
|
|
760
|
+
if (this.parent.ganttChartModule.scrollObject['isSetScrollLeft']) {
|
|
761
|
+
var virtualTableStylesT = this.parent.element.querySelectorAll(".e-timeline-header-table-container")[0].querySelector(".e-virtualtable");
|
|
762
|
+
var virtualTableStylesB = this.parent.element.querySelectorAll(".e-timeline-header-table-container")[1].querySelector(".e-virtualtable");
|
|
763
|
+
virtualTableStylesT.style.transform = "translate(" + translateXValue + "px, " + translateYValue + "px)";
|
|
764
|
+
virtualTableStylesB.style.transform = "translate(" + translateXValue + "px, " + translateYValue + "px)";
|
|
765
|
+
}
|
|
766
|
+
var virtualTrackStylesT = this.parent.element.querySelectorAll(".e-timeline-header-table-container")[0].querySelector(".e-virtualtrack");
|
|
767
|
+
var virtualTrackStylesB = this.parent.element.querySelectorAll(".e-timeline-header-table-container")[1].querySelector(".e-virtualtrack");
|
|
768
|
+
virtualTrackStylesT.style.position = "relative";
|
|
769
|
+
virtualTrackStylesB.style.position = "relative";
|
|
770
|
+
virtualTrackStylesT.style.width = trackWidth + 'px';
|
|
771
|
+
virtualTrackStylesB.style.width = trackWidth + 'px';
|
|
772
|
+
//dependency viewer styles updating
|
|
773
|
+
var dependencyViewer = this.parent.connectorLineModule.svgObject;
|
|
774
|
+
dependencyViewer['style'].width = trackWidth + 'px';
|
|
775
|
+
// timeline header container width updating
|
|
776
|
+
var timelineHeader = this.parent.element.querySelector('.' + cls.timelineHeaderContainer);
|
|
777
|
+
timelineHeader['style'].width = 'calc(100% - ' + 17 + 'px)';
|
|
778
|
+
if (this.parent.timelineModule.isZooming || this.parent.timelineModule.isZoomToFit) {
|
|
779
|
+
this.parent.ganttChartModule.scrollElement.scrollLeft = 0;
|
|
780
|
+
this.parent.ganttChartModule.scrollObject.updateChartElementStyles();
|
|
663
781
|
}
|
|
664
782
|
}
|
|
665
783
|
};
|
|
@@ -869,7 +987,12 @@ var Timeline = /** @class */ (function () {
|
|
|
869
987
|
dateString = dateString.slice(1);
|
|
870
988
|
}
|
|
871
989
|
else {
|
|
872
|
-
|
|
990
|
+
if (this.parent.locale === 'ar') {
|
|
991
|
+
dateString = dateString;
|
|
992
|
+
}
|
|
993
|
+
else {
|
|
994
|
+
dateString = dateString.slice(0, 1);
|
|
995
|
+
}
|
|
873
996
|
}
|
|
874
997
|
}
|
|
875
998
|
else {
|
|
@@ -910,9 +1033,14 @@ var Timeline = /** @class */ (function () {
|
|
|
910
1033
|
parent.timelineModule.customTimelineSettings.bottomTier.count;
|
|
911
1034
|
var increment;
|
|
912
1035
|
var newTime;
|
|
913
|
-
var
|
|
1036
|
+
var leftValueForStartDate = (this.parent.enableTimelineVirtualization && this.parent.ganttChartModule.scrollObject.element.scrollLeft != 0)
|
|
1037
|
+
? this.parent.ganttChartModule.scrollObject.getTimelineLeft() : null;
|
|
1038
|
+
var startDate = (this.parent.enableTimelineVirtualization && !isNullOrUndefined(leftValueForStartDate))
|
|
1039
|
+
? new Date((this.dateByLeftValue(leftValueForStartDate)).toString()) : new Date(this.parent.timelineModule.timelineStartDate.toString());
|
|
914
1040
|
var endDate = new Date(this.timelineRoundOffEndDate.toString());
|
|
915
1041
|
var scheduleDateCollection = [];
|
|
1042
|
+
var width = 0;
|
|
1043
|
+
var WidthForVirtualTable = this.parent.element.offsetWidth * 3;
|
|
916
1044
|
do {
|
|
917
1045
|
// PDf export collection
|
|
918
1046
|
var timelineCell = {};
|
|
@@ -942,8 +1070,20 @@ var Timeline = /** @class */ (function () {
|
|
|
942
1070
|
parentTh = parentTh + parentTr;
|
|
943
1071
|
var tierCollection = tier === 'topTier' ? this.topTierCollection : this.bottomTierCollection;
|
|
944
1072
|
timelineCell.endDate = new Date(startDate.getTime());
|
|
945
|
-
|
|
946
|
-
|
|
1073
|
+
if (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport && this.parent.enableTimelineVirtualization) {
|
|
1074
|
+
if (tier == 'topTier') {
|
|
1075
|
+
this.pdfExportTopTierCollection.push(timelineCell);
|
|
1076
|
+
}
|
|
1077
|
+
else {
|
|
1078
|
+
this.pdfExportBottomTierCollection.push(timelineCell);
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
else {
|
|
1082
|
+
tierCollection.push(timelineCell);
|
|
1083
|
+
}
|
|
1084
|
+
width += timelineCell.width;
|
|
1085
|
+
this.weekendEndDate = timelineCell.endDate >= endDate ? endDate : timelineCell.endDate;
|
|
1086
|
+
} while ((this.parent.enableTimelineVirtualization && (!this.parent.pdfExportModule || this.parent.pdfExportModule && !this.parent.pdfExportModule.isPdfExport)) ? (width < WidthForVirtualTable) && (startDate < endDate) : (startDate < endDate));
|
|
947
1087
|
return parentTh;
|
|
948
1088
|
};
|
|
949
1089
|
Timeline.prototype.updateTimelineAfterZooming = function (endDate, resized) {
|
|
@@ -1429,9 +1569,10 @@ var Timeline = /** @class */ (function () {
|
|
|
1429
1569
|
var validEndLeft = this.parent.dataOperation.getTaskLeft(validEndDate, false);
|
|
1430
1570
|
var isChanged = void 0;
|
|
1431
1571
|
var taskbarModule = this.parent.editModule.taskbarEditModule;
|
|
1432
|
-
if (!isNullOrUndefined(maxStartLeft) && ((!isNullOrUndefined(taskbarModule)) && (!isNullOrUndefined(taskbarModule.taskBarEditAction)
|
|
1572
|
+
if (!isNullOrUndefined(maxStartLeft) && (((!isNullOrUndefined(taskbarModule)) && (!isNullOrUndefined(taskbarModule.taskBarEditAction)
|
|
1433
1573
|
&& taskbarModule.taskBarEditAction !== 'ProgressResizing' &&
|
|
1434
|
-
taskbarModule.taskBarEditAction !== 'RightResizing' && taskbarModule.taskBarEditAction !== 'LeftResizing'))
|
|
1574
|
+
taskbarModule.taskBarEditAction !== 'RightResizing' && taskbarModule.taskBarEditAction !== 'LeftResizing')) || ((taskbarModule)
|
|
1575
|
+
&& isNullOrUndefined(taskbarModule.taskBarEditAction))) && (maxStartLeft < this.bottomTierCellWidth || maxStartLeft <= validStartLeft)) {
|
|
1435
1576
|
isChanged = 'prevTimeSpan';
|
|
1436
1577
|
minStartDate = minStartDate > this.timelineStartDate ? this.timelineStartDate : minStartDate;
|
|
1437
1578
|
}
|
|
@@ -1481,13 +1622,16 @@ var Timeline = /** @class */ (function () {
|
|
|
1481
1622
|
}
|
|
1482
1623
|
var args = this.timeSpanActionEvent('actionBegin', type, isFrom);
|
|
1483
1624
|
if (!args.cancel) {
|
|
1625
|
+
this.restrictRender = true;
|
|
1626
|
+
this.performedTimeSpanAction = true;
|
|
1627
|
+
var previousScrollLeft = this.parent.ganttChartModule.scrollElement.scrollLeft;
|
|
1484
1628
|
this.parent.updateProjectDates(args.projectStartDate, args.ProjectEndDate, args.isTimelineRoundOff, isFrom);
|
|
1485
1629
|
if (type === 'prevTimeSpan' && isFrom === 'publicMethod') {
|
|
1486
1630
|
this.parent.ganttChartModule.updateScrollLeft(0);
|
|
1487
1631
|
this.parent.timelineModule.isZoomToFit = false;
|
|
1488
1632
|
}
|
|
1489
1633
|
else if (type === 'nextTimeSpan' && isFrom === 'publicMethod') {
|
|
1490
|
-
this.parent.ganttChartModule.updateScrollLeft(this.parent.
|
|
1634
|
+
this.parent.ganttChartModule.updateScrollLeft(this.parent.enableTimelineVirtualization ? this.wholeTimelineWidth : this.totalTimelineWidth);
|
|
1491
1635
|
this.parent.timelineModule.isZoomToFit = false;
|
|
1492
1636
|
}
|
|
1493
1637
|
else if (type === 'nextTimeSpan' && isFrom === 'TaskbarEditing') {
|
|
@@ -1495,6 +1639,10 @@ var Timeline = /** @class */ (function () {
|
|
|
1495
1639
|
this.parent.element.querySelector('.e-timeline-header-container').scrollLeft = currentScrollLeft;
|
|
1496
1640
|
this.parent.timelineModule.isZoomToFit = false;
|
|
1497
1641
|
}
|
|
1642
|
+
if (isFrom === 'TaskbarEditing' && this.parent.enableTimelineVirtualization && this.wholeTimelineWidth > this.parent.element.offsetWidth * 3) {
|
|
1643
|
+
this.parent.ganttChartModule.scrollObject.setScrollLeft(previousScrollLeft);
|
|
1644
|
+
this.parent.ganttChartModule.scrollObject.updateContent();
|
|
1645
|
+
}
|
|
1498
1646
|
this.parent.timelineModule.timeSpanActionEvent('actionComplete', type, isFrom);
|
|
1499
1647
|
}
|
|
1500
1648
|
else {
|
|
@@ -264,6 +264,22 @@
|
|
|
264
264
|
content: "\e85f";
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
+
.e-bigger .e-gantt .e-gantt-chart .e-taskbar-left-resizer,
|
|
268
|
+
.e-bigger .e-gantt .e-gantt-chart .e-taskbar-right-resizer {
|
|
269
|
+
display: inline-block;
|
|
270
|
+
position: absolute;
|
|
271
|
+
top: 0;
|
|
272
|
+
width: 25px;
|
|
273
|
+
z-index: 4;
|
|
274
|
+
}
|
|
275
|
+
.e-bigger .e-gantt .e-gantt-chart .e-left-resize-gripper,
|
|
276
|
+
.e-bigger .e-gantt .e-gantt-chart .e-right-resize-gripper {
|
|
277
|
+
-ms-flex-align: center;
|
|
278
|
+
align-items: center;
|
|
279
|
+
cursor: ew-resize;
|
|
280
|
+
display: -ms-inline-flexbox;
|
|
281
|
+
display: inline-flex;
|
|
282
|
+
}
|
|
267
283
|
.e-bigger .e-gantt .e-gantt-chart .e-timeline-header-container {
|
|
268
284
|
height: 64px;
|
|
269
285
|
}
|
|
@@ -343,7 +359,8 @@
|
|
|
343
359
|
padding: 16px 4px 16px 16px !important; /* stylelint-disable-line declaration-no-important */
|
|
344
360
|
}
|
|
345
361
|
.e-bigger .e-gantt .e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn {
|
|
346
|
-
left:
|
|
362
|
+
left: -11px;
|
|
363
|
+
top: 3px;
|
|
347
364
|
}
|
|
348
365
|
.e-bigger .e-gantt .e-dialog .e-btn .e-btn-icon.e-icon-dlg-close {
|
|
349
366
|
font-size: 12px !important;
|
|
@@ -355,8 +372,8 @@
|
|
|
355
372
|
.e-bigger .e-gantt .e-dialog .e-footer-content .e-btn {
|
|
356
373
|
margin-left: 12px;
|
|
357
374
|
}
|
|
358
|
-
.e-bigger .e-gantt .e-dialog .e-dlg-header {
|
|
359
|
-
line-height:
|
|
375
|
+
.e-bigger .e-gantt .e-dialog .e-dlg-header:not(.e-gantt-adaptive-dialog .e-dialog .e-dlg-header) {
|
|
376
|
+
line-height: 37px;
|
|
360
377
|
}
|
|
361
378
|
.e-bigger .e-gantt .e-grid .e-flmenu-valuediv {
|
|
362
379
|
padding: 16px 0 0 !important;
|
|
@@ -370,6 +387,7 @@
|
|
|
370
387
|
}
|
|
371
388
|
.e-bigger .e-gantt-dialog .e-dialog {
|
|
372
389
|
border-radius: 6px;
|
|
390
|
+
width: 556px !important;
|
|
373
391
|
}
|
|
374
392
|
.e-bigger .e-gantt-dialog .e-tab .e-tab-header .e-toolbar-item .e-tab-wrap {
|
|
375
393
|
padding: 0 16px !important; /* stylelint-disable-line declaration-no-important */
|
|
@@ -450,6 +468,16 @@
|
|
|
450
468
|
.e-bigger .e-gantt-dialog .e-input-group-icon.e-date-icon {
|
|
451
469
|
min-width: 36px !important; /* stylelint-disable-line declaration-no-important */
|
|
452
470
|
}
|
|
471
|
+
.e-bigger .e-gantt-dialog .e-gantt-adaptive-dialog .e-dialog {
|
|
472
|
+
position: absolute !important; /* stylelint-disable-line declaration-no-important */
|
|
473
|
+
left: 0 !important; /* stylelint-disable-line declaration-no-important */
|
|
474
|
+
}
|
|
475
|
+
.e-bigger .e-gantt-dialog .e-gantt-adaptive-dialog .e-dialog .e-dlg-header-content {
|
|
476
|
+
padding: 16px !important; /* stylelint-disable-line declaration-no-important */
|
|
477
|
+
}
|
|
478
|
+
.e-bigger .e-gantt-dialog .e-gantt-adaptive-dialog .e-dialog td {
|
|
479
|
+
width: 100% !important; /* stylelint-disable-line declaration-no-important */
|
|
480
|
+
}
|
|
453
481
|
.e-bigger .e-predecessor-tooltip .e-arrow-tip-outer.e-tip-bottom {
|
|
454
482
|
border-top: 8px solid #000;
|
|
455
483
|
}
|
|
@@ -675,9 +703,6 @@
|
|
|
675
703
|
.e-gantt .e-gantt-tree-grid-pane .e-gridcontent .e-content {
|
|
676
704
|
overflow-x: scroll !important; /* stylelint-disable-line declaration-no-important */
|
|
677
705
|
}
|
|
678
|
-
.e-gantt .e-gantt-tree-grid-pane .e-gridcontent .e-gantt-frozen {
|
|
679
|
-
overflow-x: hidden !important; /* stylelint-disable-line declaration-no-important */
|
|
680
|
-
}
|
|
681
706
|
.e-gantt .e-gantt-tree-grid-pane .e-gridcontent .e-content.e-gantt-scroll-padding {
|
|
682
707
|
width: calc(100% + 17px);
|
|
683
708
|
}
|
|
@@ -800,7 +825,7 @@
|
|
|
800
825
|
box-sizing: border-box;
|
|
801
826
|
}
|
|
802
827
|
.e-gantt .e-gantt-chart .e-zero-spacing {
|
|
803
|
-
border-spacing: 0;
|
|
828
|
+
border-spacing: 0.25px;
|
|
804
829
|
}
|
|
805
830
|
.e-gantt .e-gantt-chart .e-chart-row:first-child .e-chart-row-border {
|
|
806
831
|
border-top: 0;
|
|
@@ -830,9 +855,6 @@
|
|
|
830
855
|
vertical-align: middle;
|
|
831
856
|
z-index: 3;
|
|
832
857
|
}
|
|
833
|
-
.e-gantt .e-gantt-chart .e-taskbar-main-container:hover {
|
|
834
|
-
z-index: 4;
|
|
835
|
-
}
|
|
836
858
|
.e-gantt .e-gantt-chart .e-taskbar-main-container.e-gantt-multi-taskbar:hover {
|
|
837
859
|
z-index: 4;
|
|
838
860
|
}
|
|
@@ -1309,7 +1331,7 @@
|
|
|
1309
1331
|
border-spacing: 0;
|
|
1310
1332
|
}
|
|
1311
1333
|
.e-gantt-dialog .e-item {
|
|
1312
|
-
height:
|
|
1334
|
+
height: 100%;
|
|
1313
1335
|
}
|
|
1314
1336
|
.e-gantt-dialog .e-dependent-div {
|
|
1315
1337
|
border-bottom-width: 0px;
|
|
@@ -1368,6 +1390,9 @@
|
|
|
1368
1390
|
.e-gantt-dialog > .e-dlg-content {
|
|
1369
1391
|
padding: 0 !important; /* stylelint-disable-line declaration-no-important */
|
|
1370
1392
|
}
|
|
1393
|
+
.e-gantt-dialog .e-dlg-header {
|
|
1394
|
+
line-height: 30px;
|
|
1395
|
+
}
|
|
1371
1396
|
.e-gantt-dialog .e-dlg-header-content {
|
|
1372
1397
|
border-bottom: 0 !important; /* stylelint-disable-line declaration-no-important */
|
|
1373
1398
|
}
|
|
@@ -1375,6 +1400,10 @@
|
|
|
1375
1400
|
border-radius: 6px 6px 0px 0px;
|
|
1376
1401
|
padding-bottom: 20px;
|
|
1377
1402
|
}
|
|
1403
|
+
.e-gantt-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn {
|
|
1404
|
+
left: -11px;
|
|
1405
|
+
top: 2px !important;
|
|
1406
|
+
}
|
|
1378
1407
|
.e-gantt-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn {
|
|
1379
1408
|
border-radius: 50%;
|
|
1380
1409
|
height: auto !important; /* stylelint-disable-line declaration-no-important */
|
|
@@ -1440,13 +1469,14 @@
|
|
|
1440
1469
|
font-size: 14px;
|
|
1441
1470
|
}
|
|
1442
1471
|
|
|
1443
|
-
.e-bigger .e-
|
|
1444
|
-
|
|
1472
|
+
.e-bigger .e-filter-popup .e-control .e-dialog .e-lib .e-popup .e-popup-open .e-excelfilter .e-gantt,
|
|
1473
|
+
.e-bigger .e-gantt .e-excelfilter .e-dialog .e-dlg-content {
|
|
1474
|
+
padding: 0 18px 0 0 !important; /* stylelint-disable-line declaration-no-important */
|
|
1445
1475
|
}
|
|
1446
1476
|
|
|
1447
|
-
.e-bigger .e-
|
|
1448
|
-
|
|
1449
|
-
|
|
1477
|
+
.e-bigger .e-filter-popup .e-control .e-dialog .e-lib .e-popup .e-popup-open .e-excelfilter .e-gantt,
|
|
1478
|
+
.e-bigger .e-gantt .e-contextmenu-wrapper ul {
|
|
1479
|
+
padding: 0 !important; /* stylelint-disable-line declaration-no-important */
|
|
1450
1480
|
}
|
|
1451
1481
|
|
|
1452
1482
|
.e-gantt-tooltip-label {
|
|
@@ -1561,6 +1591,29 @@
|
|
|
1561
1591
|
z-index: 1;
|
|
1562
1592
|
}
|
|
1563
1593
|
|
|
1594
|
+
.e-gantt .e-gantt-chart .e-chart-root-container .e-content td.e-chart-row-cell.e-droptop {
|
|
1595
|
+
border-top: 1px solid #0070f0;
|
|
1596
|
+
border-width: 1px 0 0;
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
.e-gantt .e-gantt-chart .e-chart-root-container .e-content td.e-chart-row-cell.e-dropbottom {
|
|
1600
|
+
border-bottom: 1px solid #0070f0;
|
|
1601
|
+
box-shadow: #0070f0;
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
.e-gantt .e-gantt-chart .e-chart-root-container .e-content td.e-chart-row-cell.e-childborder {
|
|
1605
|
+
border-bottom: 1px solid #0070f0;
|
|
1606
|
+
border-top: 1px solid #0070f0;
|
|
1607
|
+
box-shadow: #0070f0;
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
@media (max-width: 767px) {
|
|
1611
|
+
.e-bigger .e-gantt .e-dialog .e-edit-form-column:nth-child(odd), .e-bigger .e-gantt .e-dialog .e-edit-form-column:nth-child(even) {
|
|
1612
|
+
float: none;
|
|
1613
|
+
padding: 16px 12px 0 16px;
|
|
1614
|
+
width: 100%;
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1564
1617
|
/*! Gantt theme */
|
|
1565
1618
|
.e-gantt .e-gantt-splitter {
|
|
1566
1619
|
border-color: #484848;
|
|
@@ -1613,6 +1666,13 @@
|
|
|
1613
1666
|
background: #484848;
|
|
1614
1667
|
opacity: 1;
|
|
1615
1668
|
}
|
|
1669
|
+
.e-gantt .e-gantt-tree-grid-pane .e-grid td.e-active.e-leftfreeze,
|
|
1670
|
+
.e-gantt .e-gantt-tree-grid-pane .e-grid td.e-active.e-unfreeze,
|
|
1671
|
+
.e-gantt .e-gantt-tree-grid-pane .e-grid td.e-active.e-rightfreeze,
|
|
1672
|
+
.e-gantt .e-gantt-tree-grid-pane .e-grid td.e-active.e-fixedfreeze {
|
|
1673
|
+
background: #484848;
|
|
1674
|
+
opacity: 1;
|
|
1675
|
+
}
|
|
1616
1676
|
.e-gantt .e-taskbar-resize-div {
|
|
1617
1677
|
border-color: #0070f0;
|
|
1618
1678
|
}
|
|
@@ -1929,6 +1989,7 @@
|
|
|
1929
1989
|
}
|
|
1930
1990
|
.e-gantt-dialog .e-dlg-header {
|
|
1931
1991
|
color: #fff;
|
|
1992
|
+
position: relative;
|
|
1932
1993
|
}
|
|
1933
1994
|
.e-gantt-dialog .e-dlg-header-content {
|
|
1934
1995
|
background: #0070f0;
|