@syncfusion/ej2-gantt 23.2.7 → 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 +0 -10
- 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 +2939 -324
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +2993 -358
- 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 +68 -21
- package/src/gantt/actions/keyboard.js +5 -1
- package/src/gantt/actions/pdf-export.js +12 -4
- package/src/gantt/actions/rowdragdrop.js +20 -9
- 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 +517 -82
- 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/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 +164 -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
|
@@ -21,6 +21,15 @@ export declare class PdfTimeline {
|
|
|
21
21
|
private bottomTierIndex;
|
|
22
22
|
private prevTopTierIndex;
|
|
23
23
|
private prevBottomTierIndex;
|
|
24
|
+
holidayLabel: string;
|
|
25
|
+
holidayCompleted: boolean;
|
|
26
|
+
holidayNumberOfDays: number;
|
|
27
|
+
holidayWidth: number;
|
|
28
|
+
detailsTimeline: TimelineDetails;
|
|
29
|
+
fitHolidayCompleted: boolean;
|
|
30
|
+
fromDataHoliday: string | Date;
|
|
31
|
+
timelineWidth: number;
|
|
32
|
+
lastWidth: number;
|
|
24
33
|
constructor(gantt?: PdfGantt);
|
|
25
34
|
/**
|
|
26
35
|
* @private
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { PointF, PdfColor, PdfPen, PdfSolidBrush, PdfStandardFont, PdfStringFormat, PdfVerticalAlignment, PdfTextAlignment, PdfWordWrapType } from '@syncfusion/ej2-pdf-export';
|
|
1
|
+
import { PointF, PdfColor, PdfPen, PdfSolidBrush, PdfStandardFont, PdfStringFormat, PdfVerticalAlignment, PdfTextAlignment, PdfWordWrapType, PdfFontFamily, PdfBrushes } from '@syncfusion/ej2-pdf-export';
|
|
2
2
|
import { extend, isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
3
3
|
import { pixelToPoint, pointToPixel } from '../base/utils';
|
|
4
4
|
/**
|
|
5
5
|
*/
|
|
6
6
|
var PdfTimeline = /** @class */ (function () {
|
|
7
7
|
function PdfTimeline(gantt) {
|
|
8
|
+
this.holidayCompleted = false;
|
|
9
|
+
this.fitHolidayCompleted = false;
|
|
10
|
+
this.timelineWidth = 0;
|
|
11
|
+
this.lastWidth = 0;
|
|
8
12
|
this.width = 0;
|
|
9
13
|
this.gantt = gantt;
|
|
10
14
|
this.parent = gantt.parent;
|
|
@@ -23,8 +27,8 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
23
27
|
* @returns {void}
|
|
24
28
|
*/
|
|
25
29
|
PdfTimeline.prototype.drawTimeline = function (page, startPoint, detail) {
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
this.detailsTimeline = detail;
|
|
31
|
+
var remainWidth = (this.parent.pdfExportModule.gantt.taskbar.isAutoFit()) ? pointToPixel(Math.floor(detail.totalWidth)) : Math.floor(detail.totalWidth);
|
|
28
32
|
var renderWidth = 0;
|
|
29
33
|
this.topTierPoint.x = startPoint.x;
|
|
30
34
|
this.topTierPoint.y = startPoint.y;
|
|
@@ -51,9 +55,8 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
51
55
|
}
|
|
52
56
|
//Primary header Event Arguments
|
|
53
57
|
/* eslint-disable-next-line */
|
|
54
|
-
this.triggerQueryTimelinecell(page, this.topTierPoint.x, this.topTierPoint.y, this.topTierHeight, renderWidth, pHeader.value, true);
|
|
55
|
-
this.topTierPoint.x += (this.parent.pdfExportModule
|
|
56
|
-
this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) ? renderWidth : pixelToPoint(renderWidth);
|
|
58
|
+
this.triggerQueryTimelinecell(page, this.topTierPoint.x, this.topTierPoint.y, this.topTierHeight, renderWidth, pHeader.value, true, this.parent.timelineModule.isSingleTier && this.parent.timelineSettings.topTier.unit === "Day" ? pHeader.startDate : null);
|
|
59
|
+
this.topTierPoint.x += (this.parent.pdfExportModule.gantt.taskbar.isAutoFit()) ? renderWidth : pixelToPoint(renderWidth);
|
|
57
60
|
remainWidth -= renderWidth;
|
|
58
61
|
if (isCompleted) {
|
|
59
62
|
this.topTierIndex++;
|
|
@@ -78,9 +81,14 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
78
81
|
}
|
|
79
82
|
//Secondary header Event Arguments
|
|
80
83
|
/* eslint-disable-next-line */
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
if (!this.parent.pdfExportModule.gantt.taskbar.isAutoFit() && this.parent.timelineModule.bottomTier !== "Day") {
|
|
85
|
+
var unit = this.parent.perDayWidth;
|
|
86
|
+
if (width < unit || (width > unit)) {
|
|
87
|
+
width = unit;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
this.triggerQueryTimelinecell(page, this.bottomTierPoint.x, this.bottomTierPoint.y, this.bottomTierHeight, width, secondHeader.value, false, secondHeader.startDate);
|
|
91
|
+
this.bottomTierPoint.x = (this.parent.pdfExportModule.gantt.taskbar.isAutoFit()) ? this.bottomTierPoint.x + width : this.bottomTierPoint.x + pixelToPoint(width);
|
|
84
92
|
remainWidth -= width;
|
|
85
93
|
secondHeader.completedWidth = width;
|
|
86
94
|
if (isCompleted) {
|
|
@@ -91,6 +99,7 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
91
99
|
remainWidth = 0;
|
|
92
100
|
}
|
|
93
101
|
}
|
|
102
|
+
this.timelineWidth = this.lastWidth;
|
|
94
103
|
};
|
|
95
104
|
/**
|
|
96
105
|
*
|
|
@@ -110,9 +119,8 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
110
119
|
if (pHeader.completedWidth > 0) {
|
|
111
120
|
//Primary header Event Arguments
|
|
112
121
|
/* eslint-disable-next-line */
|
|
113
|
-
this.triggerQueryTimelinecell(page, this.topTierPoint.x, this.topTierPoint.y, this.topTierHeight, pHeader.completedWidth, pHeader.value, true);
|
|
114
|
-
this.topTierPoint.x += (this.parent.pdfExportModule
|
|
115
|
-
this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) ? pHeader.completedWidth : pixelToPoint(pHeader.completedWidth);
|
|
122
|
+
this.triggerQueryTimelinecell(page, this.topTierPoint.x, this.topTierPoint.y, this.topTierHeight, pHeader.completedWidth, pHeader.value, true, this.parent.timelineModule.isSingleTier && this.parent.timelineSettings.topTier.unit === "Day" ? pHeader.startDate : null);
|
|
123
|
+
this.topTierPoint.x += (this.parent.pdfExportModule.gantt.taskbar.isAutoFit()) ? pHeader.completedWidth : pixelToPoint(pHeader.completedWidth);
|
|
116
124
|
}
|
|
117
125
|
}
|
|
118
126
|
}
|
|
@@ -124,9 +132,8 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
124
132
|
if (secondHeader.completedWidth > 0) {
|
|
125
133
|
//Secondary header Event Arguments
|
|
126
134
|
/* eslint-disable-next-line */
|
|
127
|
-
this.triggerQueryTimelinecell(page, this.bottomTierPoint.x, this.bottomTierPoint.y, this.bottomTierHeight, secondHeader.width, secondHeader.value, false);
|
|
128
|
-
this.bottomTierPoint.x = (this.parent.pdfExportModule
|
|
129
|
-
this.parent.pdfExportModule.helper.exportProps.fitToWidthSettings.isFitToWidth) ? this.bottomTierPoint.x + secondHeader.width : this.bottomTierPoint.x + pixelToPoint(secondHeader.width);
|
|
135
|
+
this.triggerQueryTimelinecell(page, this.bottomTierPoint.x, this.bottomTierPoint.y, this.bottomTierHeight, secondHeader.width, secondHeader.value, false, secondHeader.startDate);
|
|
136
|
+
this.bottomTierPoint.x = (this.parent.pdfExportModule.gantt.taskbar.isAutoFit()) ? this.bottomTierPoint.x + secondHeader.width : this.bottomTierPoint.x + pixelToPoint(secondHeader.width);
|
|
130
137
|
}
|
|
131
138
|
}
|
|
132
139
|
}
|
|
@@ -135,7 +142,9 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
135
142
|
* Method to trigger pdf query timelinecell event
|
|
136
143
|
*/
|
|
137
144
|
/* eslint-disable-next-line */
|
|
138
|
-
PdfTimeline.prototype.triggerQueryTimelinecell = function (page, x, y, height, width, value, isTopTier) {
|
|
145
|
+
PdfTimeline.prototype.triggerQueryTimelinecell = function (page, x, y, height, width, value, isTopTier, currentDate) {
|
|
146
|
+
var _this = this;
|
|
147
|
+
var days = new Date(currentDate).getDay();
|
|
139
148
|
var graphics = page.graphics;
|
|
140
149
|
var timelineStyle = {};
|
|
141
150
|
var ganttStyle = this.gantt.ganttStyle;
|
|
@@ -171,12 +180,81 @@ var PdfTimeline = /** @class */ (function () {
|
|
|
171
180
|
this.parent.trigger('pdfQueryTimelineCellInfo', eventArgs);
|
|
172
181
|
}
|
|
173
182
|
var e = eventArgs.timelineCell;
|
|
174
|
-
var rectPen
|
|
183
|
+
var rectPen;
|
|
175
184
|
var rectBrush = new PdfSolidBrush(eventArgs.timelineCell.backgroundColor);
|
|
176
|
-
|
|
177
|
-
|
|
185
|
+
var nonWorkingDays = this.parent.nonWorkingDayIndex;
|
|
186
|
+
if (this.parent.highlightWeekends && nonWorkingDays.indexOf(days) !== -1 && (this.parent.timelineModule.bottomTier === "Day" || this.parent.timelineModule.bottomTier === "None" && this.parent.timelineModule.topTier === "Day")) {
|
|
187
|
+
rectBrush = new PdfSolidBrush(new PdfColor(238, 238, 238));
|
|
188
|
+
}
|
|
189
|
+
this.parent.holidays.map(function (item) {
|
|
190
|
+
var fromDate = new Date(item.from);
|
|
191
|
+
var toDate = new Date(item.to);
|
|
192
|
+
var timelinedate = new Date(currentDate);
|
|
193
|
+
if (fromDate <= timelinedate && toDate >= timelinedate && (_this.parent.timelineModule.bottomTier === "Day" || (_this.parent.timelineModule.bottomTier === "None" && _this.parent.timelineModule.topTier === "Day"))) {
|
|
194
|
+
rectBrush = new PdfSolidBrush(new PdfColor(238, 238, 238));
|
|
195
|
+
if (fromDate.getTime() === timelinedate.getTime()) {
|
|
196
|
+
_this.holidayWidth = x;
|
|
197
|
+
}
|
|
198
|
+
if (toDate.getTime() === timelinedate.getTime()) {
|
|
199
|
+
_this.holidayLabel = item.label;
|
|
200
|
+
var changeDate = new Date(item.to);
|
|
201
|
+
changeDate.setDate(changeDate.getDate() + 1);
|
|
202
|
+
var day = _this.parent.dataOperation.getTaskWidth(fromDate, changeDate);
|
|
203
|
+
_this.holidayNumberOfDays = day / width;
|
|
204
|
+
_this.holidayCompleted = true;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
else if (_this.parent.timelineModule.bottomTier !== "Day") {
|
|
208
|
+
if (_this.detailsTimeline.startDate <= fromDate && _this.detailsTimeline.endDate >= fromDate) {
|
|
209
|
+
_this.parent.timelineModule.bottomTierCollection.map(function (items, index) {
|
|
210
|
+
if (items.startDate <= fromDate && items.endDate >= fromDate) {
|
|
211
|
+
if (items.startDate === currentDate) {
|
|
212
|
+
_this.fitHolidayCompleted = true;
|
|
213
|
+
_this.fromDataHoliday = item.from;
|
|
214
|
+
_this.holidayLabel = item.label;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
var rectPen1 = new PdfPen(eventArgs.timelineCell.borderColor);
|
|
222
|
+
if (!this.parent.pdfExportModule.gantt.taskbar.isAutoFit()) {
|
|
223
|
+
this.lastWidth = x + width;
|
|
224
|
+
}
|
|
225
|
+
graphics.drawRectangle(rectPen1, rectBrush, x, y, width, pixelToPoint(height));
|
|
178
226
|
if (!isTopTier && (this.parent.gridLines == "Both" || this.parent.gridLines == "Vertical")) {
|
|
179
|
-
|
|
227
|
+
rectPen = new PdfPen(eventArgs.timelineCell.borderColor);
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
rectPen = null;
|
|
231
|
+
}
|
|
232
|
+
graphics.drawRectangle(rectPen, rectBrush, x, y + pixelToPoint(height), width, page.getClientSize().height);
|
|
233
|
+
if (this.holidayCompleted) {
|
|
234
|
+
var state = graphics.save();
|
|
235
|
+
var font1 = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
|
|
236
|
+
var fontHieght = font1.height;
|
|
237
|
+
var fontSize = font1.size;
|
|
238
|
+
graphics.translateTransform(this.holidayWidth + width - ((fontSize / 2) * this.holidayNumberOfDays) - fontHieght + fontHieght / 2 + (width * this.holidayNumberOfDays) / 2, 40);
|
|
239
|
+
graphics.rotateTransform(-90);
|
|
240
|
+
graphics.translateTransform(-(page.getClientSize().height / 2), -40);
|
|
241
|
+
graphics.drawString(this.holidayLabel, font1, null, PdfBrushes.Black, 10, 10, null);
|
|
242
|
+
graphics.restore(state);
|
|
243
|
+
this.holidayCompleted = false;
|
|
244
|
+
}
|
|
245
|
+
if (this.fitHolidayCompleted) {
|
|
246
|
+
var holidayBrush = new PdfSolidBrush(new PdfColor(238, 238, 238));
|
|
247
|
+
var font1 = new PdfStandardFont(PdfFontFamily.Helvetica, 10);
|
|
248
|
+
var fontHieght = font1.height;
|
|
249
|
+
var fontSize = font1.size;
|
|
250
|
+
graphics.drawRectangle(null, holidayBrush, x + width / 2 - fontSize, y + pixelToPoint(height), fontSize, page.getClientSize().height);
|
|
251
|
+
var state = graphics.save();
|
|
252
|
+
graphics.translateTransform(x + width + width / 2 - fontSize, 40);
|
|
253
|
+
graphics.rotateTransform(-90);
|
|
254
|
+
graphics.translateTransform(-(page.getClientSize().height / 2), -40);
|
|
255
|
+
graphics.drawString(this.holidayLabel, font1, null, PdfBrushes.Black, 10, 10, null);
|
|
256
|
+
graphics.restore(state);
|
|
257
|
+
this.fitHolidayCompleted = false;
|
|
180
258
|
}
|
|
181
259
|
var font = new PdfStandardFont(ganttStyle.fontFamily, e.fontSize, e.fontStyle);
|
|
182
260
|
if (ganttStyle.font) {
|
|
@@ -89,6 +89,12 @@ export declare class Column {
|
|
|
89
89
|
* @default 'stringedit'
|
|
90
90
|
*/
|
|
91
91
|
editType: string;
|
|
92
|
+
/**
|
|
93
|
+
* Defines rules to validate data before creating and updating.
|
|
94
|
+
*
|
|
95
|
+
* @default null
|
|
96
|
+
*/
|
|
97
|
+
validationRules: Object;
|
|
92
98
|
/**
|
|
93
99
|
* Defines the custom sort comparer function.
|
|
94
100
|
*/
|
|
@@ -246,6 +252,12 @@ export interface ColumnModel {
|
|
|
246
252
|
* @default true
|
|
247
253
|
*/
|
|
248
254
|
allowFiltering?: boolean;
|
|
255
|
+
/**
|
|
256
|
+
* Defines rules to validate data before creating and updating.
|
|
257
|
+
*
|
|
258
|
+
* @default null
|
|
259
|
+
*/
|
|
260
|
+
validationRules?: Object;
|
|
249
261
|
/**
|
|
250
262
|
* It is used to customize the default filter options for a specific columns.
|
|
251
263
|
* * ui - to render custom component for specific column it has following functions.
|
|
@@ -228,7 +228,7 @@ export declare class ChartRows extends DateProcessor {
|
|
|
228
228
|
*/
|
|
229
229
|
getGanttChartRow(i: number, tempTemplateData: IGanttData): Node;
|
|
230
230
|
/**
|
|
231
|
-
* To set
|
|
231
|
+
* To set data-rowindex for chart rows
|
|
232
232
|
*
|
|
233
233
|
* @returns {void} .
|
|
234
234
|
* @private
|
|
@@ -55,7 +55,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
55
55
|
this.parent.on('destroy', this.destroy, this);
|
|
56
56
|
};
|
|
57
57
|
ChartRows.prototype.refreshChartByTimeline = function () {
|
|
58
|
-
this.taskTable.style.width = formatUnit(this.parent.timelineModule.totalTimelineWidth);
|
|
58
|
+
this.taskTable.style.width = formatUnit(this.parent.enableTimelineVirtualization ? this.parent.timelineModule.wholeTimelineWidth : this.parent.timelineModule.totalTimelineWidth);
|
|
59
59
|
var prevDate = getValue('prevProjectStartDate', this.parent.dataOperation);
|
|
60
60
|
var isUpdated = false;
|
|
61
61
|
if (prevDate) {
|
|
@@ -75,7 +75,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
75
75
|
ChartRows.prototype.createChartTable = function () {
|
|
76
76
|
this.taskTable = createElement('table', {
|
|
77
77
|
className: cls.taskTable + ' ' + cls.zeroSpacing, id: 'GanttTaskTable' + this.parent.element.id,
|
|
78
|
-
styles: 'position: absolute;width:' + this.parent.timelineModule.totalTimelineWidth + 'px;',
|
|
78
|
+
styles: 'position: absolute;width:' + (this.parent.enableTimelineVirtualization ? this.parent.timelineModule.wholeTimelineWidth : this.parent.timelineModule.totalTimelineWidth) + 'px;',
|
|
79
79
|
attrs: { cellspacing: '0.25px' }
|
|
80
80
|
});
|
|
81
81
|
var colgroup = createElement('colgroup');
|
|
@@ -89,7 +89,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
89
89
|
this.parent.ganttChartModule.chartBodyContent.appendChild(this.taskTable);
|
|
90
90
|
};
|
|
91
91
|
ChartRows.prototype.initiateTemplates = function () {
|
|
92
|
-
this.taskTable.style.width = formatUnit(this.parent.timelineModule.totalTimelineWidth);
|
|
92
|
+
this.taskTable.style.width = formatUnit(this.parent.enableTimelineVirtualization ? this.parent.timelineModule.wholeTimelineWidth : this.parent.timelineModule.totalTimelineWidth);
|
|
93
93
|
this.initChartHelperPrivateVariable();
|
|
94
94
|
this.initializeChartTemplate();
|
|
95
95
|
};
|
|
@@ -546,7 +546,14 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
546
546
|
};
|
|
547
547
|
ChartRows.prototype.splitSegmentedTaskbar = function (startDate, endDate, splitDate, segmentIndex, segments, ganttData, segmentDuration) {
|
|
548
548
|
var ganttProp = ganttData.ganttProperties;
|
|
549
|
-
var checkClickState
|
|
549
|
+
var checkClickState;
|
|
550
|
+
var endDateState;
|
|
551
|
+
if (this.parent.includeWeekend) {
|
|
552
|
+
checkClickState = -1;
|
|
553
|
+
}
|
|
554
|
+
else {
|
|
555
|
+
checkClickState = this.parent.nonWorkingDayIndex.indexOf(splitDate.getDay());
|
|
556
|
+
}
|
|
550
557
|
var increment = checkClickState === -1 ? 0 : checkClickState === 0 ? 1 : 2;
|
|
551
558
|
startDate = this.parent.dataOperation.checkStartDate(startDate, ganttProp, false);
|
|
552
559
|
var segmentEndDate = new Date(splitDate.getTime());
|
|
@@ -558,7 +565,12 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
558
565
|
duration: this.parent.dataOperation.getDuration(startDate, segmentEndDate, ganttProp.durationUnit, ganttProp.isAutoSchedule, ganttProp.isMilestone),
|
|
559
566
|
offsetDuration: 1
|
|
560
567
|
};
|
|
561
|
-
|
|
568
|
+
if (this.parent.includeWeekend) {
|
|
569
|
+
endDateState = -1;
|
|
570
|
+
}
|
|
571
|
+
else {
|
|
572
|
+
endDateState = this.parent.nonWorkingDayIndex.indexOf(segmentEndDate.getDay());
|
|
573
|
+
}
|
|
562
574
|
if (segmentIndex !== -1) {
|
|
563
575
|
segments.splice(segmentIndex, 1);
|
|
564
576
|
segmentIndex = -1;
|
|
@@ -771,7 +783,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
771
783
|
ChartRows.prototype.getManualTaskbar = function () {
|
|
772
784
|
var data = this.templateData;
|
|
773
785
|
var taskbarHeight = (this.taskBarHeight / 2 - 1);
|
|
774
|
-
var innerDiv = (data.ganttProperties.startDate && data.ganttProperties.endDate && data.ganttProperties.duration) ?
|
|
786
|
+
var innerDiv = (data.ganttProperties.startDate && data.ganttProperties.endDate && (data.ganttProperties.duration || data.hasChildRecords)) ?
|
|
775
787
|
('<div class="' + cls.manualParentTaskBar + '" style="width:' + data.ganttProperties.width + 'px;' + 'height:' +
|
|
776
788
|
taskbarHeight / 5 + 'px;border-left-width:' + taskbarHeight / 5 +
|
|
777
789
|
'px; border-bottom:' + taskbarHeight / 5 + 'px solid transparent;"></div>') :
|
|
@@ -787,8 +799,8 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
787
799
|
var template = '<div class="' + cls.manualParentMainContainer + '"' +
|
|
788
800
|
'style=' + (this.parent.enableRtl ? 'right:' : 'left:') + (data.ganttProperties.left - data.ganttProperties.autoLeft) + 'px;' +
|
|
789
801
|
'width:' + data.ganttProperties.width + 'px;' +
|
|
790
|
-
'height:' + taskbarHeight + 'px
|
|
791
|
-
data.ganttProperties.duration) || data.ganttProperties.duration ? '<div class="e-gantt-manualparenttaskbar-left" style=' +
|
|
802
|
+
'height:' + taskbarHeight + 'px;cursor:' + (this.parent.editSettings.allowTaskbarEditing ? 'move;' : 'default;') + '</div>' + innerDiv + ((data.ganttProperties.startDate && data.ganttProperties.endDate &&
|
|
803
|
+
(data.ganttProperties.duration || data.hasChildRecords)) || data.ganttProperties.duration ? '<div class="e-gantt-manualparenttaskbar-left" style=' +
|
|
792
804
|
(this.parent.enableRtl ? 'margin-right:0px;' : '') + '"height:' + ((taskbarHeight / 5) + 8) + 'px;border-left-width:' + taskbarHeight / 5 +
|
|
793
805
|
'px; border-bottom:' + taskbarHeight / 5 + 'px solid transparent;"></div>' +
|
|
794
806
|
'<div class="e-gantt-manualparenttaskbar-right" style=' + (this.parent.enableRtl ? 'margin-right:-8px;' : '') +
|
|
@@ -797,7 +809,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
797
809
|
taskbarHeight / 5 + 'px solid transparent;>' + '</div></div>' : '');
|
|
798
810
|
var milestoneTemplate = '<div class="' + cls.manualParentMilestone + '" style="width:' + ((this.parent.renderBaseline ? this.taskBarHeight - 3 : this.taskBarHeight - 7)) + 'px;height:' +
|
|
799
811
|
((this.parent.renderBaseline ? this.taskBarHeight - 3 : this.taskBarHeight - 7)) + 'px;position:absolute;transform: rotate(45deg);top:' + (this.parent.rowHeight > 40 ? 0 : 2) + 'px;left:' + (this.parent.renderBaseline ? 2 : 1) + 'px;"> </div>';
|
|
800
|
-
return this.createDivElement(data.ganttProperties.duration !== 0 ? template : milestoneTemplate);
|
|
812
|
+
return this.createDivElement((data.ganttProperties.duration !== 0 || data.hasChildRecords) ? template : milestoneTemplate);
|
|
801
813
|
};
|
|
802
814
|
/**
|
|
803
815
|
* To get parent taskbar node.
|
|
@@ -1004,10 +1016,10 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1004
1016
|
' tabindex="-1" role="term" style="' + ((data.ganttProperties.isMilestone && !manualParent && !(data.hasChildRecords && !data.ganttProperties.isAutoSchedule)) ?
|
|
1005
1017
|
('width:' + this.milestoneHeight + 'px;height:' +
|
|
1006
1018
|
this.milestoneHeight + 'px;margin-top:' + this.milestoneMarginTop + 'px;' + (this.parent.enableRtl ? 'right:' : 'left:') + (data.ganttProperties.left -
|
|
1007
|
-
(this.milestoneHeight / 2)) + 'px;') : ('width:' + data.ganttProperties.width +
|
|
1019
|
+
(this.milestoneHeight / 2)) + 'px;cursor:' + (this.parent.editSettings.allowTaskbarEditing ? 'move;' : 'default;')) : ('width:' + data.ganttProperties.width +
|
|
1008
1020
|
'px;margin-top:' + this.taskBarMarginTop + 'px;' + (this.parent.enableRtl ? 'right:' : 'left:') + (!data.hasChildRecords || data.ganttProperties.isAutoSchedule ?
|
|
1009
1021
|
data.ganttProperties.left : data.ganttProperties.autoLeft) + 'px;height:' +
|
|
1010
|
-
this.taskBarHeight + 'px;cursor:' + (
|
|
1022
|
+
this.taskBarHeight + 'px;cursor:' + (this.parent.editSettings.allowTaskbarEditing ? 'move;' : 'default;'))) + '"></div>';
|
|
1011
1023
|
return this.createDivElement(template);
|
|
1012
1024
|
};
|
|
1013
1025
|
ChartRows.prototype.rightLabelContainer = function () {
|
|
@@ -1326,7 +1338,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1326
1338
|
else {
|
|
1327
1339
|
this.ganttChartTableBody.appendChild(oldRowElements[oldIndex]);
|
|
1328
1340
|
}
|
|
1329
|
-
this.ganttChartTableBody.querySelectorAll('tr')[index].setAttribute('
|
|
1341
|
+
this.ganttChartTableBody.querySelectorAll('tr')[index].setAttribute('data-rowindex', index.toString());
|
|
1330
1342
|
}
|
|
1331
1343
|
}
|
|
1332
1344
|
else {
|
|
@@ -1352,7 +1364,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1352
1364
|
}
|
|
1353
1365
|
// To maintain selection when virtualization is enabled
|
|
1354
1366
|
if (this.parent.selectionModule && this.parent.allowSelection) {
|
|
1355
|
-
this.parent.selectionModule.maintainSelectedRecords(parseInt(tRow.getAttribute('
|
|
1367
|
+
this.parent.selectionModule.maintainSelectedRecords(parseInt(tRow.getAttribute('data-rowindex'), 10));
|
|
1356
1368
|
}
|
|
1357
1369
|
}
|
|
1358
1370
|
(_a = this.ganttChartTableBody).replaceChildren.apply(_a, dupChartBody.childNodes);
|
|
@@ -1549,7 +1561,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1549
1561
|
return tRow;
|
|
1550
1562
|
};
|
|
1551
1563
|
/**
|
|
1552
|
-
* To set
|
|
1564
|
+
* To set data-rowindex for chart rows
|
|
1553
1565
|
*
|
|
1554
1566
|
* @returns {void} .
|
|
1555
1567
|
* @private
|
|
@@ -1567,11 +1579,12 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1567
1579
|
return x;
|
|
1568
1580
|
}
|
|
1569
1581
|
})[0];
|
|
1570
|
-
tRow.setAttribute('
|
|
1582
|
+
tRow.setAttribute('data-rowindex', data['index'].toString());
|
|
1571
1583
|
}
|
|
1572
1584
|
else {
|
|
1573
1585
|
index = visualData.indexOf(tempTemplateData);
|
|
1574
|
-
tRow.setAttribute('aria-rowindex', index.toString());
|
|
1586
|
+
tRow.setAttribute('aria-rowindex', (index + 1).toString());
|
|
1587
|
+
tRow.setAttribute('data-rowindex', index.toString());
|
|
1575
1588
|
}
|
|
1576
1589
|
};
|
|
1577
1590
|
/**
|
|
@@ -29,7 +29,9 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
29
29
|
id: this.parent.element.id + '_svg'
|
|
30
30
|
});
|
|
31
31
|
this.svgObject.setAttribute('height', '100%');
|
|
32
|
-
this.
|
|
32
|
+
if (!this.parent.enableTimelineVirtualization) {
|
|
33
|
+
this.svgObject.setAttribute('width', '100%');
|
|
34
|
+
}
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
37
|
* To get connector line gap.
|
|
@@ -169,6 +171,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
169
171
|
for (var j = 0; j < innerChild.length; j++) {
|
|
170
172
|
var ariaString = 'Connector Line ' + this.parent.connectorLineModule.generateAriaLabel(ariaConnector[i]);
|
|
171
173
|
innerChild[j].setAttribute('aria-label', ariaString);
|
|
174
|
+
innerChild[j].setAttribute('role', 'img');
|
|
172
175
|
}
|
|
173
176
|
}
|
|
174
177
|
this.parent.ganttChartModule.chartBodyContent.insertBefore(this.dependencyViewContainer, this.parent.ganttChartModule.chartBodyContent.lastChild);
|
|
@@ -538,7 +541,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
538
541
|
}
|
|
539
542
|
if (this.getParentPosition(data)) {
|
|
540
543
|
// Create the group element
|
|
541
|
-
this.transform = this.parent.enableRtl ? "translate(" + this.parent.timelineModule.totalTimelineWidth + ", 0) scale(-1, 1)" : '';
|
|
544
|
+
this.transform = this.parent.enableRtl ? "translate(" + (this.parent.enableTimelineVirtualization ? this.parent.timelineModule.wholeTimelineWidth : this.parent.timelineModule.totalTimelineWidth) + ", 0) scale(-1, 1)" : '';
|
|
542
545
|
this.connectorId = "ConnectorLine" + data.connectorLineId;
|
|
543
546
|
this.groupObject = this.renderer.createGroup({
|
|
544
547
|
id: this.connectorId,
|
|
@@ -855,10 +858,10 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
855
858
|
* @private
|
|
856
859
|
*/
|
|
857
860
|
ConnectorLine.prototype.getConnectorLineTooltipInnerTd = function (fromTaskName, fromPredecessorText, toTaskName, toPredecessorText) {
|
|
858
|
-
var innerTd = '<tr id="fromPredecessor"><td style="padding:
|
|
861
|
+
var innerTd = '<tr id="fromPredecessor"><td style="padding: 2px;">' + this.parent.localeObj.getConstant('from') + '</td><td> ';
|
|
859
862
|
innerTd = innerTd + fromTaskName + ' </td><td style="padding: 2px;"> ' + this.parent.localeObj.getConstant(fromPredecessorText) + ' </td> </tr>';
|
|
860
|
-
innerTd = innerTd + '<tr id="toPredecessor"><td style="padding:
|
|
861
|
-
innerTd = innerTd + ' </td><td style="padding: 2px;
|
|
863
|
+
innerTd = innerTd + '<tr id="toPredecessor"><td style="padding: 2px;">' + this.parent.localeObj.getConstant('to') + '</td><td> ' + toTaskName;
|
|
864
|
+
innerTd = innerTd + ' </td><td style="padding: 2px;"> ' + this.parent.localeObj.getConstant(toPredecessorText) + ' </td></tr></tbody><table>';
|
|
862
865
|
return innerTd;
|
|
863
866
|
};
|
|
864
867
|
/**
|
|
@@ -114,6 +114,9 @@ var EditTooltip = /** @class */ (function () {
|
|
|
114
114
|
else {
|
|
115
115
|
this.toolTipObj.content = this.getTooltipText(segmentIndex);
|
|
116
116
|
this.toolTipObj.refresh(this.taskbarEdit.taskBarEditElement);
|
|
117
|
+
if (this.parent.enableRtl && this.toolTipObj['tooltipEle']) {
|
|
118
|
+
this.toolTipObj['tooltipEle'].style.left = this.parent.editModule.taskbarEditModule['tooltipValue'] + 10 + 'px';
|
|
119
|
+
}
|
|
117
120
|
if (this.taskbarEdit.taskBarEditAction === 'LeftResizing') {
|
|
118
121
|
if (this.parent.enableRtl) {
|
|
119
122
|
this.toolTipObj.offsetX = 0;
|
|
@@ -46,8 +46,10 @@ var EventMarker = /** @class */ (function () {
|
|
|
46
46
|
var eventMarkerElement;
|
|
47
47
|
var spanElement;
|
|
48
48
|
var rightArrow;
|
|
49
|
+
var eventMarkerCollection = [];
|
|
49
50
|
for (var i = 0; i < this.parent.eventMarkers.length; i++) {
|
|
50
|
-
left = this.parent.dataOperation.getTaskLeft(this.parent.dateValidationModule.getDateFromFormat(this.parent.eventMarkers[i].day, true), false);
|
|
51
|
+
left = this.parent.dataOperation.getTaskLeft(this.parent.dateValidationModule.getDateFromFormat(this.parent.eventMarkers[i].day, true), false, true);
|
|
52
|
+
eventMarkerCollection.push({ id: i, left: left, label: this.parent.eventMarkers[i].label, date: this.parent.dateValidationModule.getDateFromFormat(this.parent.eventMarkers[i].day, true) });
|
|
51
53
|
var align = void 0;
|
|
52
54
|
if (this.parent.enableRtl) {
|
|
53
55
|
align = "right:" + left + "px;";
|
|
@@ -92,6 +94,7 @@ var EventMarker = /** @class */ (function () {
|
|
|
92
94
|
}
|
|
93
95
|
container.appendChild(eventMarkerElement);
|
|
94
96
|
}
|
|
97
|
+
this.parent.eventMarkerColloction = eventMarkerCollection;
|
|
95
98
|
};
|
|
96
99
|
/**
|
|
97
100
|
* @returns {void} .
|
|
@@ -19,6 +19,7 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
19
19
|
this.nonworkingContainer = createElement('div', {
|
|
20
20
|
className: cls.nonworkingContainer
|
|
21
21
|
});
|
|
22
|
+
this.parent.enableTimelineVirtualization ? this.nonworkingContainer.style.height = "100%" : {};
|
|
22
23
|
this.parent.ganttChartModule.chartBodyContent.insertBefore(this.nonworkingContainer, this.parent.ganttChartModule.chartBodyContent.lastChild);
|
|
23
24
|
}
|
|
24
25
|
};
|
|
@@ -35,6 +36,10 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
35
36
|
this.holidayContainer = createElement('div', {
|
|
36
37
|
className: cls.holidayContainer
|
|
37
38
|
});
|
|
39
|
+
if (this.parent.enableTimelineVirtualization) {
|
|
40
|
+
this.holidayContainer.style.height = "100%";
|
|
41
|
+
this.holidayContainer.style.zIndex = "-1";
|
|
42
|
+
}
|
|
38
43
|
this.nonworkingContainer.appendChild(this.holidayContainer);
|
|
39
44
|
}
|
|
40
45
|
this.holidayContainer.innerHTML = this.getHolidaysElement().innerHTML;
|
|
@@ -80,7 +85,7 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
80
85
|
}
|
|
81
86
|
var width = (this.parent.holidays[i].from && this.parent.holidays[i].to) ?
|
|
82
87
|
this.parent.dataOperation.getTaskWidth(fromDate, toDate) : this.parent.perDayWidth;
|
|
83
|
-
var left = this.parent.dataOperation.getTaskLeft(fromDate, false);
|
|
88
|
+
var left = this.parent.dataOperation.getTaskLeft(fromDate, false, true);
|
|
84
89
|
var align = this.parent.enableRtl ? "right:" + left + "px;" : "left:" + left + "px;";
|
|
85
90
|
var holidayDiv = createElement('div', {
|
|
86
91
|
className: cls.holidayElement, styles: align + " width:" + width + "px; height:100%;"
|
|
@@ -113,6 +118,10 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
113
118
|
this.weekendContainer = createElement('div', {
|
|
114
119
|
className: cls.weekendContainer
|
|
115
120
|
});
|
|
121
|
+
if (this.parent.enableTimelineVirtualization) {
|
|
122
|
+
this.weekendContainer.style.height = "100%";
|
|
123
|
+
this.weekendContainer.style.zIndex = "-1";
|
|
124
|
+
}
|
|
116
125
|
this.nonworkingContainer.appendChild(this.weekendContainer);
|
|
117
126
|
}
|
|
118
127
|
this.weekendContainer.innerHTML = this.getWeekendElements().innerHTML;
|
|
@@ -131,13 +140,17 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
131
140
|
*/
|
|
132
141
|
NonWorkingDay.prototype.getWeekendElements = function () {
|
|
133
142
|
var container = createElement('div');
|
|
134
|
-
var
|
|
135
|
-
|
|
143
|
+
var leftValueForStartDate = (this.parent.enableTimelineVirtualization && this.parent.ganttChartModule.scrollObject.element.scrollLeft != 0)
|
|
144
|
+
? this.parent.ganttChartModule.scrollObject.getTimelineLeft() : null;
|
|
145
|
+
var startDate = (this.parent.enableTimelineVirtualization && !isNullOrUndefined(leftValueForStartDate))
|
|
146
|
+
? new Date((this.parent.timelineModule['dateByLeftValue'](leftValueForStartDate)).getTime()) : new Date(this.parent.timelineModule.timelineStartDate.getTime());
|
|
147
|
+
var endDate = this.parent.enableTimelineVirtualization ? new Date((this.parent.timelineModule.weekendEndDate).getTime()) :
|
|
148
|
+
new Date(this.parent.timelineModule.timelineEndDate.getTime());
|
|
136
149
|
var nonWorkingIndex = this.parent.nonWorkingDayIndex;
|
|
137
150
|
var isFirstCell = true;
|
|
138
151
|
do {
|
|
139
152
|
if (nonWorkingIndex.indexOf(startDate.getDay()) !== -1) {
|
|
140
|
-
var left = this.parent.dataOperation.getTaskLeft(startDate, false);
|
|
153
|
+
var left = this.parent.dataOperation.getTaskLeft(startDate, false, true);
|
|
141
154
|
var width = this.parent.perDayWidth;
|
|
142
155
|
if (isFirstCell) {
|
|
143
156
|
var start = new Date(startDate.getTime());
|
|
@@ -168,7 +181,7 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
168
181
|
};
|
|
169
182
|
NonWorkingDay.prototype.updateHolidayLabelHeight = function () {
|
|
170
183
|
var height = this.parent.getContentHeight();
|
|
171
|
-
var gantttable = document.getElementById(
|
|
184
|
+
var gantttable = document.getElementById(this.parent.element.id);
|
|
172
185
|
// eslint-disable-next-line
|
|
173
186
|
var toolbarHeight = 0;
|
|
174
187
|
if (!isNullOrUndefined(this.parent.toolbarModule) && !isNullOrUndefined(this.parent.toolbarModule.element)) {
|
|
@@ -24,6 +24,13 @@ export declare class Timeline {
|
|
|
24
24
|
isZoomToFit: boolean;
|
|
25
25
|
topTierCollection: TimelineFormat[];
|
|
26
26
|
bottomTierCollection: TimelineFormat[];
|
|
27
|
+
pdfExportTopTierCollection: TimelineFormat[];
|
|
28
|
+
pdfExportBottomTierCollection: TimelineFormat[];
|
|
29
|
+
wholeTimelineWidth: number;
|
|
30
|
+
restrictRender: boolean;
|
|
31
|
+
weekendEndDate: Date;
|
|
32
|
+
private performedTimeSpanAction;
|
|
33
|
+
isZoomedToFit: boolean;
|
|
27
34
|
constructor(ganttObj?: Gantt);
|
|
28
35
|
/**
|
|
29
36
|
* To initialize the public property.
|
|
@@ -139,6 +146,7 @@ export declare class Timeline {
|
|
|
139
146
|
* @private
|
|
140
147
|
*/
|
|
141
148
|
updateTimelineHeaderHeight(): void;
|
|
149
|
+
private dateByLeftValue;
|
|
142
150
|
/**
|
|
143
151
|
* To create timeline header template.
|
|
144
152
|
*
|
|
@@ -146,6 +154,7 @@ export declare class Timeline {
|
|
|
146
154
|
* @private
|
|
147
155
|
*/
|
|
148
156
|
createTimelineSeries(): void;
|
|
157
|
+
timelineVirtualizationStyles(): void;
|
|
149
158
|
/**
|
|
150
159
|
* To validate timeline tier count.
|
|
151
160
|
*
|