@worktile/gantt 15.1.0 → 15.1.1
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/esm2020/gantt-dom.service.mjs +2 -1
- package/esm2020/gantt.component.mjs +30 -25
- package/esm2020/root.component.mjs +27 -4
- package/fesm2015/worktile-gantt.mjs +142 -111
- package/fesm2015/worktile-gantt.mjs.map +1 -1
- package/fesm2020/worktile-gantt.mjs +140 -109
- package/fesm2020/worktile-gantt.mjs.map +1 -1
- package/gantt-dom.service.d.ts +1 -0
- package/gantt.component.d.ts +7 -7
- package/gantt.component.scss +6 -2
- package/package.json +1 -1
- package/root.component.d.ts +4 -0
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, EventEmitter, Directive, Inject, Input, Output, ContentChild, HostBinding, Component,
|
|
2
|
+
import { InjectionToken, EventEmitter, Directive, Inject, Input, Output, ContentChild, HostBinding, Component, ViewChild, Pipe, ViewChildren, Injectable, PLATFORM_ID, ElementRef, Optional, HostListener, forwardRef, ChangeDetectionStrategy, ContentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { DOCUMENT, isPlatformServer, CommonModule } from '@angular/common';
|
|
5
|
-
import { __awaiter, __decorate, __param } from 'tslib';
|
|
6
5
|
import { take, takeUntil, skip, switchMap, debounceTime, map, pairwise, auditTime as auditTime$1, startWith as startWith$1, finalize } from 'rxjs/operators';
|
|
7
6
|
import { BehaviorSubject, Subject, from, takeUntil as takeUntil$1, startWith, auditTime, filter, merge, EMPTY, fromEvent, Observable, interval, animationFrameScheduler } from 'rxjs';
|
|
8
7
|
import { fromUnixTime, getWeek, getDaysInMonth, differenceInCalendarDays, setDate, addSeconds, addMinutes, addHours, addDays, addWeeks, addMonths, addQuarters, addYears, startOfDay, startOfWeek, startOfMonth, startOfQuarter, startOfYear, endOfDay, endOfWeek, endOfMonth, endOfQuarter, endOfYear, getUnixTime, format, isWeekend, isToday, differenceInDays, differenceInCalendarQuarters, eachMonthOfInterval, eachYearOfInterval, eachWeekOfInterval, eachDayOfInterval, differenceInCalendarYears } from 'date-fns';
|
|
9
8
|
export { addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, differenceInCalendarDays, differenceInCalendarQuarters, differenceInDays, eachDayOfInterval, eachMonthOfInterval, eachWeekOfInterval, endOfDay, endOfMonth, endOfQuarter, endOfWeek, endOfYear, format, fromUnixTime, getDaysInMonth, getUnixTime, getWeek, isToday, isWeekend, setDate, startOfDay, startOfMonth, startOfQuarter, startOfWeek, startOfYear } from 'date-fns';
|
|
10
9
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
11
10
|
import { coerceBooleanProperty, coerceCssPixelValue } from '@angular/cdk/coercion';
|
|
12
|
-
import * as
|
|
11
|
+
import * as i1$1 from '@angular/cdk/scrolling';
|
|
13
12
|
import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
|
|
14
|
-
import { InputBoolean } from 'ngx-tethys/core';
|
|
15
13
|
import * as i2 from '@angular/cdk/drag-drop';
|
|
16
14
|
import { CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';
|
|
15
|
+
import { __decorate, __param, __awaiter } from 'tslib';
|
|
17
16
|
|
|
18
17
|
class GanttDatePoint {
|
|
19
18
|
constructor(start, text, x, y, additions, style) {
|
|
@@ -1325,100 +1324,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1325
1324
|
|
|
1326
1325
|
const GANTT_ABSTRACT_TOKEN = new InjectionToken('gantt-abstract-token');
|
|
1327
1326
|
|
|
1328
|
-
class GanttPrintService {
|
|
1329
|
-
constructor() { }
|
|
1330
|
-
setInlineStyles(targetElem) {
|
|
1331
|
-
const svgElements = Array.from(targetElem.getElementsByTagName('svg'));
|
|
1332
|
-
for (const svgElement of svgElements) {
|
|
1333
|
-
this.recursElementChildren(svgElement);
|
|
1334
|
-
}
|
|
1335
|
-
}
|
|
1336
|
-
recursElementChildren(node) {
|
|
1337
|
-
const transformProperties = [
|
|
1338
|
-
'fill',
|
|
1339
|
-
'color',
|
|
1340
|
-
'font-size',
|
|
1341
|
-
'stroke',
|
|
1342
|
-
'font',
|
|
1343
|
-
'text-anchor',
|
|
1344
|
-
'stroke-dasharray',
|
|
1345
|
-
'shape-rendering',
|
|
1346
|
-
'stroke-width'
|
|
1347
|
-
];
|
|
1348
|
-
if (!node.style) {
|
|
1349
|
-
return;
|
|
1350
|
-
}
|
|
1351
|
-
const styles = getComputedStyle(node);
|
|
1352
|
-
for (const transformProperty of transformProperties) {
|
|
1353
|
-
node.style[transformProperty] = styles[transformProperty];
|
|
1354
|
-
}
|
|
1355
|
-
for (const child of Array.from(node.childNodes)) {
|
|
1356
|
-
this.recursElementChildren(child);
|
|
1357
|
-
}
|
|
1358
|
-
}
|
|
1359
|
-
register(root) {
|
|
1360
|
-
this.root = root.nativeElement;
|
|
1361
|
-
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
1362
|
-
}
|
|
1363
|
-
print(name = 'download', ignoreElementClass) {
|
|
1364
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1365
|
-
const root = this.root;
|
|
1366
|
-
const mainContainer = this.mainContainer;
|
|
1367
|
-
// set print width
|
|
1368
|
-
const printWidth = root.offsetWidth;
|
|
1369
|
-
// set print height
|
|
1370
|
-
const printHeight = root.offsetHeight - mainContainer.offsetHeight + mainContainer.scrollHeight;
|
|
1371
|
-
const html2canvas = (yield import(/* webpackChunkName: 'html2canvas' */ 'html2canvas')).default;
|
|
1372
|
-
html2canvas(root, {
|
|
1373
|
-
logging: false,
|
|
1374
|
-
allowTaint: true,
|
|
1375
|
-
useCORS: true,
|
|
1376
|
-
width: printWidth,
|
|
1377
|
-
height: printHeight,
|
|
1378
|
-
ignoreElements: (element) => {
|
|
1379
|
-
if (ignoreElementClass && element.classList.contains(ignoreElementClass)) {
|
|
1380
|
-
return true;
|
|
1381
|
-
}
|
|
1382
|
-
if (element.classList.contains('gantt-calendar-today-overlay')) {
|
|
1383
|
-
return true;
|
|
1384
|
-
}
|
|
1385
|
-
},
|
|
1386
|
-
onclone: (cloneDocument) => {
|
|
1387
|
-
const ganttClass = root.className;
|
|
1388
|
-
const cloneGanttDom = cloneDocument.querySelector(`.${ganttClass.replace(/\s+/g, '.')}`);
|
|
1389
|
-
const cloneGanttContainerDom = cloneDocument.querySelector('.gantt-container');
|
|
1390
|
-
const cloneCalendarOverlay = cloneDocument.querySelector('.gantt-calendar-grid-main');
|
|
1391
|
-
const cloneLinksOverlay = cloneDocument.querySelector('.gantt-links-overlay-main');
|
|
1392
|
-
// change targetDom width
|
|
1393
|
-
cloneGanttDom.style.width = `${printWidth}px`;
|
|
1394
|
-
cloneGanttDom.style.height = `${printHeight}px`;
|
|
1395
|
-
cloneGanttDom.style.overflow = `unset`;
|
|
1396
|
-
cloneGanttContainerDom.style.backgroundColor = '#fff';
|
|
1397
|
-
cloneCalendarOverlay.setAttribute('height', `${printHeight}`);
|
|
1398
|
-
cloneCalendarOverlay.setAttribute('style', `background: transparent`);
|
|
1399
|
-
if (cloneLinksOverlay) {
|
|
1400
|
-
cloneLinksOverlay.setAttribute('height', `${printHeight}`);
|
|
1401
|
-
cloneLinksOverlay.setAttribute('style', `height: ${printHeight}px`);
|
|
1402
|
-
}
|
|
1403
|
-
// setInlineStyles for svg
|
|
1404
|
-
this.setInlineStyles(cloneGanttDom);
|
|
1405
|
-
}
|
|
1406
|
-
}).then((canvas) => {
|
|
1407
|
-
const link = document.createElement('a');
|
|
1408
|
-
const dataUrl = canvas.toDataURL('image/png');
|
|
1409
|
-
link.download = `${name}.png`;
|
|
1410
|
-
link.href = dataUrl;
|
|
1411
|
-
link.click();
|
|
1412
|
-
});
|
|
1413
|
-
});
|
|
1414
|
-
}
|
|
1415
|
-
}
|
|
1416
|
-
GanttPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1417
|
-
GanttPrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService });
|
|
1418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, decorators: [{
|
|
1419
|
-
type: Injectable
|
|
1420
|
-
}], ctorParameters: function () { return []; } });
|
|
1421
|
-
|
|
1422
1327
|
const supports = (typeof window !== 'undefined' && !!window.CSS && CSS.supports) || (() => false);
|
|
1423
1328
|
/**
|
|
1424
1329
|
* Note: we don't need to add vendor prefixes within `.scss` files since they're added automatically.
|
|
@@ -2621,6 +2526,7 @@ class GanttDomService {
|
|
|
2621
2526
|
this.container = this.root.getElementsByClassName('gantt-container')[0];
|
|
2622
2527
|
this.sideContainer = this.root.getElementsByClassName('gantt-side-container')[0];
|
|
2623
2528
|
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
2529
|
+
this.verticalScrollContainer = this.root.getElementsByClassName('gantt-scroll-container')[0];
|
|
2624
2530
|
const mainItems = this.mainContainer.getElementsByClassName('gantt-main-items')[0];
|
|
2625
2531
|
const mainGroups = this.mainContainer.getElementsByClassName('gantt-main-groups')[0];
|
|
2626
2532
|
this.mainItems = mainItems || mainGroups;
|
|
@@ -3622,6 +3528,100 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3622
3528
|
}, template: "<div class=\"gantt-drag-mask\">\n <div class=\"date-range\">\n <span class=\"start\"></span>\n <span class=\"end\"></span>\n </div>\n</div>\n" }]
|
|
3623
3529
|
}] });
|
|
3624
3530
|
|
|
3531
|
+
class GanttPrintService {
|
|
3532
|
+
constructor() { }
|
|
3533
|
+
setInlineStyles(targetElem) {
|
|
3534
|
+
const svgElements = Array.from(targetElem.getElementsByTagName('svg'));
|
|
3535
|
+
for (const svgElement of svgElements) {
|
|
3536
|
+
this.recursElementChildren(svgElement);
|
|
3537
|
+
}
|
|
3538
|
+
}
|
|
3539
|
+
recursElementChildren(node) {
|
|
3540
|
+
const transformProperties = [
|
|
3541
|
+
'fill',
|
|
3542
|
+
'color',
|
|
3543
|
+
'font-size',
|
|
3544
|
+
'stroke',
|
|
3545
|
+
'font',
|
|
3546
|
+
'text-anchor',
|
|
3547
|
+
'stroke-dasharray',
|
|
3548
|
+
'shape-rendering',
|
|
3549
|
+
'stroke-width'
|
|
3550
|
+
];
|
|
3551
|
+
if (!node.style) {
|
|
3552
|
+
return;
|
|
3553
|
+
}
|
|
3554
|
+
const styles = getComputedStyle(node);
|
|
3555
|
+
for (const transformProperty of transformProperties) {
|
|
3556
|
+
node.style[transformProperty] = styles[transformProperty];
|
|
3557
|
+
}
|
|
3558
|
+
for (const child of Array.from(node.childNodes)) {
|
|
3559
|
+
this.recursElementChildren(child);
|
|
3560
|
+
}
|
|
3561
|
+
}
|
|
3562
|
+
register(root) {
|
|
3563
|
+
this.root = root.nativeElement;
|
|
3564
|
+
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
3565
|
+
}
|
|
3566
|
+
print(name = 'download', ignoreElementClass) {
|
|
3567
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
3568
|
+
const root = this.root;
|
|
3569
|
+
const mainContainer = this.mainContainer;
|
|
3570
|
+
// set print width
|
|
3571
|
+
const printWidth = root.offsetWidth;
|
|
3572
|
+
// set print height
|
|
3573
|
+
const printHeight = root.offsetHeight - mainContainer.offsetHeight + mainContainer.scrollHeight;
|
|
3574
|
+
const html2canvas = (yield import(/* webpackChunkName: 'html2canvas' */ 'html2canvas')).default;
|
|
3575
|
+
html2canvas(root, {
|
|
3576
|
+
logging: false,
|
|
3577
|
+
allowTaint: true,
|
|
3578
|
+
useCORS: true,
|
|
3579
|
+
width: printWidth,
|
|
3580
|
+
height: printHeight,
|
|
3581
|
+
ignoreElements: (element) => {
|
|
3582
|
+
if (ignoreElementClass && element.classList.contains(ignoreElementClass)) {
|
|
3583
|
+
return true;
|
|
3584
|
+
}
|
|
3585
|
+
if (element.classList.contains('gantt-calendar-today-overlay')) {
|
|
3586
|
+
return true;
|
|
3587
|
+
}
|
|
3588
|
+
},
|
|
3589
|
+
onclone: (cloneDocument) => {
|
|
3590
|
+
const ganttClass = root.className;
|
|
3591
|
+
const cloneGanttDom = cloneDocument.querySelector(`.${ganttClass.replace(/\s+/g, '.')}`);
|
|
3592
|
+
const cloneGanttContainerDom = cloneDocument.querySelector('.gantt-container');
|
|
3593
|
+
const cloneCalendarOverlay = cloneDocument.querySelector('.gantt-calendar-grid-main');
|
|
3594
|
+
const cloneLinksOverlay = cloneDocument.querySelector('.gantt-links-overlay-main');
|
|
3595
|
+
// change targetDom width
|
|
3596
|
+
cloneGanttDom.style.width = `${printWidth}px`;
|
|
3597
|
+
cloneGanttDom.style.height = `${printHeight}px`;
|
|
3598
|
+
cloneGanttDom.style.overflow = `unset`;
|
|
3599
|
+
cloneGanttContainerDom.style.backgroundColor = '#fff';
|
|
3600
|
+
cloneCalendarOverlay.setAttribute('height', `${printHeight}`);
|
|
3601
|
+
cloneCalendarOverlay.setAttribute('style', `background: transparent`);
|
|
3602
|
+
if (cloneLinksOverlay) {
|
|
3603
|
+
cloneLinksOverlay.setAttribute('height', `${printHeight}`);
|
|
3604
|
+
cloneLinksOverlay.setAttribute('style', `height: ${printHeight}px`);
|
|
3605
|
+
}
|
|
3606
|
+
// setInlineStyles for svg
|
|
3607
|
+
this.setInlineStyles(cloneGanttDom);
|
|
3608
|
+
}
|
|
3609
|
+
}).then((canvas) => {
|
|
3610
|
+
const link = document.createElement('a');
|
|
3611
|
+
const dataUrl = canvas.toDataURL('image/png');
|
|
3612
|
+
link.download = `${name}.png`;
|
|
3613
|
+
link.href = dataUrl;
|
|
3614
|
+
link.click();
|
|
3615
|
+
});
|
|
3616
|
+
});
|
|
3617
|
+
}
|
|
3618
|
+
}
|
|
3619
|
+
GanttPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3620
|
+
GanttPrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService });
|
|
3621
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, decorators: [{
|
|
3622
|
+
type: Injectable
|
|
3623
|
+
}], ctorParameters: function () { return []; } });
|
|
3624
|
+
|
|
3625
3625
|
class NgxGanttToolbarComponent {
|
|
3626
3626
|
constructor(ganttUpper) {
|
|
3627
3627
|
this.ganttUpper = ganttUpper;
|
|
@@ -3653,6 +3653,9 @@ class NgxGanttRootComponent {
|
|
|
3653
3653
|
get view() {
|
|
3654
3654
|
return this.ganttUpper.view;
|
|
3655
3655
|
}
|
|
3656
|
+
onWindowResize() {
|
|
3657
|
+
this.computeScrollBarOffset();
|
|
3658
|
+
}
|
|
3656
3659
|
constructor(elementRef, ngZone, dom, dragContainer, ganttUpper, printService) {
|
|
3657
3660
|
this.elementRef = elementRef;
|
|
3658
3661
|
this.ngZone = ngZone;
|
|
@@ -3660,6 +3663,8 @@ class NgxGanttRootComponent {
|
|
|
3660
3663
|
this.dragContainer = dragContainer;
|
|
3661
3664
|
this.ganttUpper = ganttUpper;
|
|
3662
3665
|
this.printService = printService;
|
|
3666
|
+
this.verticalScrollbarWidth = 0;
|
|
3667
|
+
this.horizontalScrollbarHeight = 0;
|
|
3663
3668
|
this.unsubscribe$ = new Subject();
|
|
3664
3669
|
this.ganttUpper.dragContainer = dragContainer;
|
|
3665
3670
|
}
|
|
@@ -3683,9 +3688,24 @@ class NgxGanttRootComponent {
|
|
|
3683
3688
|
this.ganttUpper.viewChange.pipe(startWith$1(null), takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
3684
3689
|
this.scrollToToday();
|
|
3685
3690
|
});
|
|
3691
|
+
this.computeScrollBarOffset();
|
|
3686
3692
|
});
|
|
3687
3693
|
});
|
|
3688
3694
|
}
|
|
3695
|
+
computeScrollBarOffset() {
|
|
3696
|
+
const ganttMainContainer = this.dom.mainContainer;
|
|
3697
|
+
const ganttVerticalScrollContainer = this.dom.verticalScrollContainer;
|
|
3698
|
+
let verticalScrollbarWidth = 0;
|
|
3699
|
+
if (ganttVerticalScrollContainer) {
|
|
3700
|
+
verticalScrollbarWidth = ganttVerticalScrollContainer.offsetWidth - ganttVerticalScrollContainer.clientWidth;
|
|
3701
|
+
}
|
|
3702
|
+
else {
|
|
3703
|
+
verticalScrollbarWidth = (ganttMainContainer === null || ganttMainContainer === void 0 ? void 0 : ganttMainContainer.offsetWidth) - (ganttMainContainer === null || ganttMainContainer === void 0 ? void 0 : ganttMainContainer.clientWidth);
|
|
3704
|
+
}
|
|
3705
|
+
const horizontalScrollbarHeight = (ganttMainContainer === null || ganttMainContainer === void 0 ? void 0 : ganttMainContainer.offsetHeight) - (ganttMainContainer === null || ganttMainContainer === void 0 ? void 0 : ganttMainContainer.clientHeight);
|
|
3706
|
+
this.verticalScrollbarWidth = verticalScrollbarWidth;
|
|
3707
|
+
this.horizontalScrollbarHeight = horizontalScrollbarHeight;
|
|
3708
|
+
}
|
|
3689
3709
|
ngOnDestroy() {
|
|
3690
3710
|
this.unsubscribe$.next();
|
|
3691
3711
|
}
|
|
@@ -3749,12 +3769,12 @@ class NgxGanttRootComponent {
|
|
|
3749
3769
|
}
|
|
3750
3770
|
}
|
|
3751
3771
|
NgxGanttRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttRootComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: GanttDomService }, { token: GanttDragContainer }, { token: GANTT_UPPER_TOKEN }, { token: GanttPrintService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
3752
|
-
NgxGanttRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttRootComponent, selector: "ngx-gantt-root", inputs: { sideWidth: "sideWidth" }, host: { classAttribute: "gantt" }, providers: [GanttDomService, GanttDragContainer], queries: [{ propertyName: "sideTemplate", first: true, predicate: ["sideTemplate"], descendants: true, static: true }, { propertyName: "mainTemplate", first: true, predicate: ["mainTemplate"], descendants: true, static: true }], viewQueries: [{ propertyName: "backdrop", first: true, predicate: GanttDragBackdropComponent, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"gantt-side\" *ngIf=\"sideTemplate\" [style.width.px]=\"sideWidth\">\n <div class=\"gantt-side-container\" cdkScrollable>\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n </div>\n</div>\n<div class=\"gantt-container\" *ngIf=\"mainTemplate\">\n <gantt-calendar-header></gantt-calendar-header>\n <gantt-calendar-grid></gantt-calendar-grid>\n <gantt-drag-backdrop></gantt-drag-backdrop>\n <div class=\"gantt-main\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n</div>\n<ng-content></ng-content>\n<gantt-toolbar *ngIf=\"ganttUpper.showToolbar || ganttUpper.toolbarTemplate\" [template]=\"ganttUpper.toolbarTemplate\"> </gantt-toolbar>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type:
|
|
3772
|
+
NgxGanttRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttRootComponent, selector: "ngx-gantt-root", inputs: { sideWidth: "sideWidth" }, host: { listeners: { "window:resize": "onWindowResize()" }, classAttribute: "gantt" }, providers: [GanttDomService, GanttDragContainer], queries: [{ propertyName: "sideTemplate", first: true, predicate: ["sideTemplate"], descendants: true, static: true }, { propertyName: "mainTemplate", first: true, predicate: ["mainTemplate"], descendants: true, static: true }], viewQueries: [{ propertyName: "backdrop", first: true, predicate: GanttDragBackdropComponent, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"gantt-side\" *ngIf=\"sideTemplate\" [style.width.px]=\"sideWidth\" [style.padding-bottom.px]=\"horizontalScrollbarHeight\">\n <div class=\"gantt-side-container\" cdkScrollable>\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n </div>\n</div>\n<div class=\"gantt-container\" *ngIf=\"mainTemplate\">\n <gantt-calendar-header [style.padding-right.px]=\"verticalScrollbarWidth\"></gantt-calendar-header>\n <gantt-calendar-grid\n [style.padding-right.px]=\"verticalScrollbarWidth\"\n [style.padding-bottom.px]=\"horizontalScrollbarHeight\"\n ></gantt-calendar-grid>\n <gantt-drag-backdrop></gantt-drag-backdrop>\n <div class=\"gantt-main\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n</div>\n<ng-content></ng-content>\n<gantt-toolbar *ngIf=\"ganttUpper.showToolbar || ganttUpper.toolbarTemplate\" [template]=\"ganttUpper.toolbarTemplate\"> </gantt-toolbar>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "component", type: GanttCalendarHeaderComponent, selector: "gantt-calendar-header" }, { kind: "component", type: GanttCalendarGridComponent, selector: "gantt-calendar-grid" }, { kind: "component", type: GanttDragBackdropComponent, selector: "gantt-drag-backdrop" }, { kind: "component", type: NgxGanttToolbarComponent, selector: "ngx-gantt-toolbar,gantt-toolbar", inputs: ["template"] }] });
|
|
3753
3773
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttRootComponent, decorators: [{
|
|
3754
3774
|
type: Component,
|
|
3755
3775
|
args: [{ selector: 'ngx-gantt-root', providers: [GanttDomService, GanttDragContainer], host: {
|
|
3756
3776
|
class: 'gantt'
|
|
3757
|
-
}, template: "<div class=\"gantt-side\" *ngIf=\"sideTemplate\" [style.width.px]=\"sideWidth\">\n <div class=\"gantt-side-container\" cdkScrollable>\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n </div>\n</div>\n<div class=\"gantt-container\" *ngIf=\"mainTemplate\">\n <gantt-calendar-header></gantt-calendar-header>\n <gantt-calendar-grid></gantt-calendar-grid>\n <gantt-drag-backdrop></gantt-drag-backdrop>\n <div class=\"gantt-main\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n</div>\n<ng-content></ng-content>\n<gantt-toolbar *ngIf=\"ganttUpper.showToolbar || ganttUpper.toolbarTemplate\" [template]=\"ganttUpper.toolbarTemplate\"> </gantt-toolbar>\n" }]
|
|
3777
|
+
}, template: "<div class=\"gantt-side\" *ngIf=\"sideTemplate\" [style.width.px]=\"sideWidth\" [style.padding-bottom.px]=\"horizontalScrollbarHeight\">\n <div class=\"gantt-side-container\" cdkScrollable>\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n </div>\n</div>\n<div class=\"gantt-container\" *ngIf=\"mainTemplate\">\n <gantt-calendar-header [style.padding-right.px]=\"verticalScrollbarWidth\"></gantt-calendar-header>\n <gantt-calendar-grid\n [style.padding-right.px]=\"verticalScrollbarWidth\"\n [style.padding-bottom.px]=\"horizontalScrollbarHeight\"\n ></gantt-calendar-grid>\n <gantt-drag-backdrop></gantt-drag-backdrop>\n <div class=\"gantt-main\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n</div>\n<ng-content></ng-content>\n<gantt-toolbar *ngIf=\"ganttUpper.showToolbar || ganttUpper.toolbarTemplate\" [template]=\"ganttUpper.toolbarTemplate\"> </gantt-toolbar>\n" }]
|
|
3758
3778
|
}], ctorParameters: function () {
|
|
3759
3779
|
return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: GanttDomService }, { type: GanttDragContainer }, { type: GanttUpper, decorators: [{
|
|
3760
3780
|
type: Inject,
|
|
@@ -3773,6 +3793,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3773
3793
|
}], backdrop: [{
|
|
3774
3794
|
type: ViewChild,
|
|
3775
3795
|
args: [GanttDragBackdropComponent, { static: true, read: ElementRef }]
|
|
3796
|
+
}], onWindowResize: [{
|
|
3797
|
+
type: HostListener,
|
|
3798
|
+
args: ['window:resize']
|
|
3776
3799
|
}] } });
|
|
3777
3800
|
|
|
3778
3801
|
class NgxGanttComponent extends GanttUpper {
|
|
@@ -3796,9 +3819,9 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3796
3819
|
get loading() {
|
|
3797
3820
|
return this._loading;
|
|
3798
3821
|
}
|
|
3799
|
-
constructor(elementRef, cdr, ngZone,
|
|
3822
|
+
constructor(elementRef, cdr, ngZone, viewportRuler, config) {
|
|
3800
3823
|
super(elementRef, cdr, ngZone, config);
|
|
3801
|
-
this.
|
|
3824
|
+
this.viewportRuler = viewportRuler;
|
|
3802
3825
|
this.maxLevel = 2;
|
|
3803
3826
|
this.virtualScrollEnabled = true;
|
|
3804
3827
|
this.loadingDelay = 0;
|
|
@@ -3866,6 +3889,19 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3866
3889
|
});
|
|
3867
3890
|
}
|
|
3868
3891
|
}
|
|
3892
|
+
ngAfterViewChecked() {
|
|
3893
|
+
if (this.virtualScrollEnabled && this.viewportRuler && this.virtualScroll.getRenderedRange().end > 0) {
|
|
3894
|
+
const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));
|
|
3895
|
+
this.ngZone.runOutsideAngular(() => {
|
|
3896
|
+
onStable$.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
3897
|
+
if (!this.ganttRoot.verticalScrollbarWidth) {
|
|
3898
|
+
this.ganttRoot.computeScrollBarOffset();
|
|
3899
|
+
this.cdr.markForCheck();
|
|
3900
|
+
}
|
|
3901
|
+
});
|
|
3902
|
+
});
|
|
3903
|
+
}
|
|
3904
|
+
}
|
|
3869
3905
|
buildFlatItems() {
|
|
3870
3906
|
const virtualData = [];
|
|
3871
3907
|
if (this.groups.length) {
|
|
@@ -3977,7 +4013,7 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3977
4013
|
this.cdr.detectChanges();
|
|
3978
4014
|
}
|
|
3979
4015
|
}
|
|
3980
|
-
NgxGanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token:
|
|
4016
|
+
NgxGanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1$1.ViewportRuler }, { token: GANTT_GLOBAL_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
3981
4017
|
NgxGanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttComponent, selector: "ngx-gantt", inputs: { maxLevel: "maxLevel", async: "async", childrenResolve: "childrenResolve", linkable: "linkable", loading: "loading", virtualScrollEnabled: "virtualScrollEnabled", loadingDelay: "loadingDelay" }, outputs: { linkDragStarted: "linkDragStarted", linkDragEnded: "linkDragEnded", lineClick: "lineClick", selectedChange: "selectedChange" }, providers: [
|
|
3982
4018
|
{
|
|
3983
4019
|
provide: GANTT_UPPER_TOKEN,
|
|
@@ -3987,10 +4023,7 @@ NgxGanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3987
4023
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
3988
4024
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
3989
4025
|
}
|
|
3990
|
-
], queries: [{ propertyName: "table", first: true, predicate: NgxGanttTableComponent, descendants: true }, { propertyName: "tableEmptyTemplate", first: true, predicate: ["tableEmpty"], descendants: true, static: true }, { propertyName: "columns", predicate: NgxGanttTableColumnComponent, descendants: true }], viewQueries: [{ propertyName: "ganttRoot", first: true, predicate: ["ganttRoot"], descendants: true }, { propertyName: "virtualScroll", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ngx-gantt-root #ganttRoot>\n <div class=\"gantt-header\">\n <gantt-table-header #tableHeader [columns]=\"columns\"></gantt-table-header>\n <div class=\"gantt-container-header\">\n <gantt-calendar-header></gantt-calendar-header>\n </div>\n </div>\n <gantt-loader *ngIf=\"loading\"></gantt-loader>\n\n <cdk-virtual-scroll-viewport\n class=\"gantt-virtual-scroll-viewport\"\n [ngClass]=\"{ 'gantt-normal-viewport': !virtualScrollEnabled }\"\n [itemSize]=\"styles.lineHeight\"\n [minBufferPx]=\"styles.lineHeight * 10\"\n [maxBufferPx]=\"styles.lineHeight * 20\"\n >\n <ng-container *cdkVirtualFor=\"let item of flatItems; trackBy: trackBy\"></ng-container>\n <div class=\"gantt-side\" [style.width.px]=\"tableHeader.tableWidth + 1\">\n <div class=\"gantt-side-container\">\n <div class=\"gantt-table\">\n <gantt-table-body\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [columns]=\"columns\"\n [groupTemplate]=\"groupTemplate\"\n [emptyTemplate]=\"tableEmptyTemplate\"\n [rowBeforeTemplate]=\"table?.rowBeforeTemplate\"\n [rowAfterTemplate]=\"table?.rowAfterTemplate\"\n [draggable]=\"table.draggable\"\n [dropEnterPredicate]=\"table.dropEnterPredicate\"\n (dragDropped)=\"table.dragDropped.emit($event)\"\n (dragStarted)=\"table.dragStarted.emit($event)\"\n (dragEnded)=\"table.dragEnded.emit($event)\"\n (itemClick)=\"selectItem($event)\"\n >\n </gantt-table-body>\n </div>\n </div>\n </div>\n <div class=\"gantt-container\">\n <gantt-calendar-grid></gantt-calendar-grid>\n <div class=\"gantt-main\">\n <gantt-main\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [groupHeaderTemplate]=\"groupHeaderTemplate\"\n [itemTemplate]=\"itemTemplate\"\n [barTemplate]=\"barTemplate\"\n [rangeTemplate]=\"rangeTemplate\"\n (barClick)=\"barClick.emit($event)\"\n (lineClick)=\"lineClick.emit($event)\"\n >\n </gantt-main>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n\n <gantt-drag-backdrop [style.left.px]=\"tableHeader.tableWidth + 1\"></gantt-drag-backdrop>\n</ngx-gantt-root>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type:
|
|
3991
|
-
__decorate([
|
|
3992
|
-
InputBoolean()
|
|
3993
|
-
], NgxGanttComponent.prototype, "virtualScrollEnabled", void 0);
|
|
4026
|
+
], queries: [{ propertyName: "table", first: true, predicate: NgxGanttTableComponent, descendants: true }, { propertyName: "tableEmptyTemplate", first: true, predicate: ["tableEmpty"], descendants: true, static: true }, { propertyName: "columns", predicate: NgxGanttTableColumnComponent, descendants: true }], viewQueries: [{ propertyName: "ganttRoot", first: true, predicate: ["ganttRoot"], descendants: true }, { propertyName: "virtualScroll", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ngx-gantt-root #ganttRoot>\n <div class=\"gantt-header\">\n <gantt-table-header #tableHeader [columns]=\"columns\"></gantt-table-header>\n <div class=\"gantt-container-header\">\n <gantt-calendar-header [style.padding-right.px]=\"ganttRoot.verticalScrollbarWidth\"></gantt-calendar-header>\n </div>\n </div>\n <gantt-loader *ngIf=\"loading\"></gantt-loader>\n\n <cdk-virtual-scroll-viewport\n class=\"gantt-virtual-scroll-viewport\"\n [ngClass]=\"{ 'gantt-normal-viewport': !virtualScrollEnabled, 'gantt-scroll-container': virtualScrollEnabled }\"\n [itemSize]=\"styles.lineHeight\"\n [minBufferPx]=\"styles.lineHeight * 10\"\n [maxBufferPx]=\"styles.lineHeight * 20\"\n >\n <ng-container *cdkVirtualFor=\"let item of flatItems; trackBy: trackBy\"></ng-container>\n <div class=\"gantt-side\" [style.width.px]=\"tableHeader.tableWidth + 1\" [style.padding-bottom.px]=\"ganttRoot.horizontalScrollbarHeight\">\n <div class=\"gantt-side-container\">\n <div class=\"gantt-table\">\n <gantt-table-body\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [columns]=\"columns\"\n [groupTemplate]=\"groupTemplate\"\n [emptyTemplate]=\"tableEmptyTemplate\"\n [rowBeforeTemplate]=\"table?.rowBeforeTemplate\"\n [rowAfterTemplate]=\"table?.rowAfterTemplate\"\n [draggable]=\"table.draggable\"\n [dropEnterPredicate]=\"table.dropEnterPredicate\"\n (dragDropped)=\"table.dragDropped.emit($event)\"\n (dragStarted)=\"table.dragStarted.emit($event)\"\n (dragEnded)=\"table.dragEnded.emit($event)\"\n (itemClick)=\"selectItem($event)\"\n >\n </gantt-table-body>\n </div>\n </div>\n </div>\n <div class=\"gantt-container\">\n <gantt-calendar-grid\n [style.padding-right.px]=\"ganttRoot.verticalScrollbarWidth\"\n [style.padding-bottom.px]=\"ganttRoot.horizontalScrollbarHeight\"\n ></gantt-calendar-grid>\n <div class=\"gantt-main\">\n <gantt-main\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [groupHeaderTemplate]=\"groupHeaderTemplate\"\n [itemTemplate]=\"itemTemplate\"\n [barTemplate]=\"barTemplate\"\n [rangeTemplate]=\"rangeTemplate\"\n (barClick)=\"barClick.emit($event)\"\n (lineClick)=\"lineClick.emit($event)\"\n >\n </gantt-main>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n\n <gantt-drag-backdrop [style.left.px]=\"tableHeader.tableWidth + 1\"></gantt-drag-backdrop>\n</ngx-gantt-root>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1$1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1$1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: GanttTableHeaderComponent, selector: "gantt-table-header", inputs: ["columns"] }, { kind: "component", type: GanttTableBodyComponent, selector: "gantt-table-body", inputs: ["viewportItems", "flatItems", "columns", "groupTemplate", "emptyTemplate", "rowBeforeTemplate", "rowAfterTemplate", "draggable", "dropEnterPredicate"], outputs: ["dragDropped", "dragStarted", "dragEnded", "itemClick"] }, { kind: "component", type: GanttMainComponent, selector: "gantt-main", inputs: ["viewportItems", "flatItems", "groupHeaderTemplate", "itemTemplate", "barTemplate", "rangeTemplate"], outputs: ["barClick", "lineClick"] }, { kind: "component", type: GanttCalendarHeaderComponent, selector: "gantt-calendar-header" }, { kind: "component", type: GanttCalendarGridComponent, selector: "gantt-calendar-grid" }, { kind: "component", type: GanttLoaderComponent, selector: "gantt-loader" }, { kind: "component", type: GanttDragBackdropComponent, selector: "gantt-drag-backdrop" }, { kind: "component", type: NgxGanttRootComponent, selector: "ngx-gantt-root", inputs: ["sideWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3994
4027
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttComponent, decorators: [{
|
|
3995
4028
|
type: Component,
|
|
3996
4029
|
args: [{ selector: 'ngx-gantt', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -4002,11 +4035,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
4002
4035
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
4003
4036
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
4004
4037
|
}
|
|
4005
|
-
], template: "<ngx-gantt-root #ganttRoot>\n <div class=\"gantt-header\">\n <gantt-table-header #tableHeader [columns]=\"columns\"></gantt-table-header>\n <div class=\"gantt-container-header\">\n <gantt-calendar-header></gantt-calendar-header>\n </div>\n </div>\n <gantt-loader *ngIf=\"loading\"></gantt-loader>\n\n <cdk-virtual-scroll-viewport\n class=\"gantt-virtual-scroll-viewport\"\n [ngClass]=\"{ 'gantt-normal-viewport': !virtualScrollEnabled }\"\n [itemSize]=\"styles.lineHeight\"\n [minBufferPx]=\"styles.lineHeight * 10\"\n [maxBufferPx]=\"styles.lineHeight * 20\"\n >\n <ng-container *cdkVirtualFor=\"let item of flatItems; trackBy: trackBy\"></ng-container>\n <div class=\"gantt-side\" [style.width.px]=\"tableHeader.tableWidth + 1\">\n <div class=\"gantt-side-container\">\n <div class=\"gantt-table\">\n <gantt-table-body\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [columns]=\"columns\"\n [groupTemplate]=\"groupTemplate\"\n [emptyTemplate]=\"tableEmptyTemplate\"\n [rowBeforeTemplate]=\"table?.rowBeforeTemplate\"\n [rowAfterTemplate]=\"table?.rowAfterTemplate\"\n [draggable]=\"table.draggable\"\n [dropEnterPredicate]=\"table.dropEnterPredicate\"\n (dragDropped)=\"table.dragDropped.emit($event)\"\n (dragStarted)=\"table.dragStarted.emit($event)\"\n (dragEnded)=\"table.dragEnded.emit($event)\"\n (itemClick)=\"selectItem($event)\"\n >\n </gantt-table-body>\n </div>\n </div>\n </div>\n <div class=\"gantt-container\">\n <gantt-calendar-grid></gantt-calendar-grid>\n <div class=\"gantt-main\">\n <gantt-main\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [groupHeaderTemplate]=\"groupHeaderTemplate\"\n [itemTemplate]=\"itemTemplate\"\n [barTemplate]=\"barTemplate\"\n [rangeTemplate]=\"rangeTemplate\"\n (barClick)=\"barClick.emit($event)\"\n (lineClick)=\"lineClick.emit($event)\"\n >\n </gantt-main>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n\n <gantt-drag-backdrop [style.left.px]=\"tableHeader.tableWidth + 1\"></gantt-drag-backdrop>\n</ngx-gantt-root>\n" }]
|
|
4038
|
+
], template: "<ngx-gantt-root #ganttRoot>\n <div class=\"gantt-header\">\n <gantt-table-header #tableHeader [columns]=\"columns\"></gantt-table-header>\n <div class=\"gantt-container-header\">\n <gantt-calendar-header [style.padding-right.px]=\"ganttRoot.verticalScrollbarWidth\"></gantt-calendar-header>\n </div>\n </div>\n <gantt-loader *ngIf=\"loading\"></gantt-loader>\n\n <cdk-virtual-scroll-viewport\n class=\"gantt-virtual-scroll-viewport\"\n [ngClass]=\"{ 'gantt-normal-viewport': !virtualScrollEnabled, 'gantt-scroll-container': virtualScrollEnabled }\"\n [itemSize]=\"styles.lineHeight\"\n [minBufferPx]=\"styles.lineHeight * 10\"\n [maxBufferPx]=\"styles.lineHeight * 20\"\n >\n <ng-container *cdkVirtualFor=\"let item of flatItems; trackBy: trackBy\"></ng-container>\n <div class=\"gantt-side\" [style.width.px]=\"tableHeader.tableWidth + 1\" [style.padding-bottom.px]=\"ganttRoot.horizontalScrollbarHeight\">\n <div class=\"gantt-side-container\">\n <div class=\"gantt-table\">\n <gantt-table-body\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [columns]=\"columns\"\n [groupTemplate]=\"groupTemplate\"\n [emptyTemplate]=\"tableEmptyTemplate\"\n [rowBeforeTemplate]=\"table?.rowBeforeTemplate\"\n [rowAfterTemplate]=\"table?.rowAfterTemplate\"\n [draggable]=\"table.draggable\"\n [dropEnterPredicate]=\"table.dropEnterPredicate\"\n (dragDropped)=\"table.dragDropped.emit($event)\"\n (dragStarted)=\"table.dragStarted.emit($event)\"\n (dragEnded)=\"table.dragEnded.emit($event)\"\n (itemClick)=\"selectItem($event)\"\n >\n </gantt-table-body>\n </div>\n </div>\n </div>\n <div class=\"gantt-container\">\n <gantt-calendar-grid\n [style.padding-right.px]=\"ganttRoot.verticalScrollbarWidth\"\n [style.padding-bottom.px]=\"ganttRoot.horizontalScrollbarHeight\"\n ></gantt-calendar-grid>\n <div class=\"gantt-main\">\n <gantt-main\n [flatItems]=\"flatItems\"\n [viewportItems]=\"viewportItems\"\n [groupHeaderTemplate]=\"groupHeaderTemplate\"\n [itemTemplate]=\"itemTemplate\"\n [barTemplate]=\"barTemplate\"\n [rangeTemplate]=\"rangeTemplate\"\n (barClick)=\"barClick.emit($event)\"\n (lineClick)=\"lineClick.emit($event)\"\n >\n </gantt-main>\n </div>\n </div>\n </cdk-virtual-scroll-viewport>\n\n <gantt-drag-backdrop [style.left.px]=\"tableHeader.tableWidth + 1\"></gantt-drag-backdrop>\n</ngx-gantt-root>\n" }]
|
|
4006
4039
|
}], ctorParameters: function () {
|
|
4007
|
-
return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type:
|
|
4008
|
-
type: Optional
|
|
4009
|
-
}] }, { type: undefined, decorators: [{
|
|
4040
|
+
return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1$1.ViewportRuler }, { type: undefined, decorators: [{
|
|
4010
4041
|
type: Inject,
|
|
4011
4042
|
args: [GANTT_GLOBAL_CONFIG]
|
|
4012
4043
|
}] }];
|