@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 { __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 } from 'tslib';
|
|
17
16
|
|
|
18
17
|
class GanttDatePoint {
|
|
19
18
|
constructor(start, text, x, y, additions, style) {
|
|
@@ -1318,98 +1317,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
1318
1317
|
|
|
1319
1318
|
const GANTT_ABSTRACT_TOKEN = new InjectionToken('gantt-abstract-token');
|
|
1320
1319
|
|
|
1321
|
-
class GanttPrintService {
|
|
1322
|
-
constructor() { }
|
|
1323
|
-
setInlineStyles(targetElem) {
|
|
1324
|
-
const svgElements = Array.from(targetElem.getElementsByTagName('svg'));
|
|
1325
|
-
for (const svgElement of svgElements) {
|
|
1326
|
-
this.recursElementChildren(svgElement);
|
|
1327
|
-
}
|
|
1328
|
-
}
|
|
1329
|
-
recursElementChildren(node) {
|
|
1330
|
-
const transformProperties = [
|
|
1331
|
-
'fill',
|
|
1332
|
-
'color',
|
|
1333
|
-
'font-size',
|
|
1334
|
-
'stroke',
|
|
1335
|
-
'font',
|
|
1336
|
-
'text-anchor',
|
|
1337
|
-
'stroke-dasharray',
|
|
1338
|
-
'shape-rendering',
|
|
1339
|
-
'stroke-width'
|
|
1340
|
-
];
|
|
1341
|
-
if (!node.style) {
|
|
1342
|
-
return;
|
|
1343
|
-
}
|
|
1344
|
-
const styles = getComputedStyle(node);
|
|
1345
|
-
for (const transformProperty of transformProperties) {
|
|
1346
|
-
node.style[transformProperty] = styles[transformProperty];
|
|
1347
|
-
}
|
|
1348
|
-
for (const child of Array.from(node.childNodes)) {
|
|
1349
|
-
this.recursElementChildren(child);
|
|
1350
|
-
}
|
|
1351
|
-
}
|
|
1352
|
-
register(root) {
|
|
1353
|
-
this.root = root.nativeElement;
|
|
1354
|
-
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
1355
|
-
}
|
|
1356
|
-
async print(name = 'download', ignoreElementClass) {
|
|
1357
|
-
const root = this.root;
|
|
1358
|
-
const mainContainer = this.mainContainer;
|
|
1359
|
-
// set print width
|
|
1360
|
-
const printWidth = root.offsetWidth;
|
|
1361
|
-
// set print height
|
|
1362
|
-
const printHeight = root.offsetHeight - mainContainer.offsetHeight + mainContainer.scrollHeight;
|
|
1363
|
-
const html2canvas = (await import(/* webpackChunkName: 'html2canvas' */ 'html2canvas')).default;
|
|
1364
|
-
html2canvas(root, {
|
|
1365
|
-
logging: false,
|
|
1366
|
-
allowTaint: true,
|
|
1367
|
-
useCORS: true,
|
|
1368
|
-
width: printWidth,
|
|
1369
|
-
height: printHeight,
|
|
1370
|
-
ignoreElements: (element) => {
|
|
1371
|
-
if (ignoreElementClass && element.classList.contains(ignoreElementClass)) {
|
|
1372
|
-
return true;
|
|
1373
|
-
}
|
|
1374
|
-
if (element.classList.contains('gantt-calendar-today-overlay')) {
|
|
1375
|
-
return true;
|
|
1376
|
-
}
|
|
1377
|
-
},
|
|
1378
|
-
onclone: (cloneDocument) => {
|
|
1379
|
-
const ganttClass = root.className;
|
|
1380
|
-
const cloneGanttDom = cloneDocument.querySelector(`.${ganttClass.replace(/\s+/g, '.')}`);
|
|
1381
|
-
const cloneGanttContainerDom = cloneDocument.querySelector('.gantt-container');
|
|
1382
|
-
const cloneCalendarOverlay = cloneDocument.querySelector('.gantt-calendar-grid-main');
|
|
1383
|
-
const cloneLinksOverlay = cloneDocument.querySelector('.gantt-links-overlay-main');
|
|
1384
|
-
// change targetDom width
|
|
1385
|
-
cloneGanttDom.style.width = `${printWidth}px`;
|
|
1386
|
-
cloneGanttDom.style.height = `${printHeight}px`;
|
|
1387
|
-
cloneGanttDom.style.overflow = `unset`;
|
|
1388
|
-
cloneGanttContainerDom.style.backgroundColor = '#fff';
|
|
1389
|
-
cloneCalendarOverlay.setAttribute('height', `${printHeight}`);
|
|
1390
|
-
cloneCalendarOverlay.setAttribute('style', `background: transparent`);
|
|
1391
|
-
if (cloneLinksOverlay) {
|
|
1392
|
-
cloneLinksOverlay.setAttribute('height', `${printHeight}`);
|
|
1393
|
-
cloneLinksOverlay.setAttribute('style', `height: ${printHeight}px`);
|
|
1394
|
-
}
|
|
1395
|
-
// setInlineStyles for svg
|
|
1396
|
-
this.setInlineStyles(cloneGanttDom);
|
|
1397
|
-
}
|
|
1398
|
-
}).then((canvas) => {
|
|
1399
|
-
const link = document.createElement('a');
|
|
1400
|
-
const dataUrl = canvas.toDataURL('image/png');
|
|
1401
|
-
link.download = `${name}.png`;
|
|
1402
|
-
link.href = dataUrl;
|
|
1403
|
-
link.click();
|
|
1404
|
-
});
|
|
1405
|
-
}
|
|
1406
|
-
}
|
|
1407
|
-
GanttPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1408
|
-
GanttPrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService });
|
|
1409
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, decorators: [{
|
|
1410
|
-
type: Injectable
|
|
1411
|
-
}], ctorParameters: function () { return []; } });
|
|
1412
|
-
|
|
1413
1320
|
const supports = (typeof window !== 'undefined' && !!window.CSS && CSS.supports) || (() => false);
|
|
1414
1321
|
/**
|
|
1415
1322
|
* Note: we don't need to add vendor prefixes within `.scss` files since they're added automatically.
|
|
@@ -2601,6 +2508,7 @@ class GanttDomService {
|
|
|
2601
2508
|
this.container = this.root.getElementsByClassName('gantt-container')[0];
|
|
2602
2509
|
this.sideContainer = this.root.getElementsByClassName('gantt-side-container')[0];
|
|
2603
2510
|
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
2511
|
+
this.verticalScrollContainer = this.root.getElementsByClassName('gantt-scroll-container')[0];
|
|
2604
2512
|
const mainItems = this.mainContainer.getElementsByClassName('gantt-main-items')[0];
|
|
2605
2513
|
const mainGroups = this.mainContainer.getElementsByClassName('gantt-main-groups')[0];
|
|
2606
2514
|
this.mainItems = mainItems || mainGroups;
|
|
@@ -3585,6 +3493,98 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3585
3493
|
}, 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" }]
|
|
3586
3494
|
}] });
|
|
3587
3495
|
|
|
3496
|
+
class GanttPrintService {
|
|
3497
|
+
constructor() { }
|
|
3498
|
+
setInlineStyles(targetElem) {
|
|
3499
|
+
const svgElements = Array.from(targetElem.getElementsByTagName('svg'));
|
|
3500
|
+
for (const svgElement of svgElements) {
|
|
3501
|
+
this.recursElementChildren(svgElement);
|
|
3502
|
+
}
|
|
3503
|
+
}
|
|
3504
|
+
recursElementChildren(node) {
|
|
3505
|
+
const transformProperties = [
|
|
3506
|
+
'fill',
|
|
3507
|
+
'color',
|
|
3508
|
+
'font-size',
|
|
3509
|
+
'stroke',
|
|
3510
|
+
'font',
|
|
3511
|
+
'text-anchor',
|
|
3512
|
+
'stroke-dasharray',
|
|
3513
|
+
'shape-rendering',
|
|
3514
|
+
'stroke-width'
|
|
3515
|
+
];
|
|
3516
|
+
if (!node.style) {
|
|
3517
|
+
return;
|
|
3518
|
+
}
|
|
3519
|
+
const styles = getComputedStyle(node);
|
|
3520
|
+
for (const transformProperty of transformProperties) {
|
|
3521
|
+
node.style[transformProperty] = styles[transformProperty];
|
|
3522
|
+
}
|
|
3523
|
+
for (const child of Array.from(node.childNodes)) {
|
|
3524
|
+
this.recursElementChildren(child);
|
|
3525
|
+
}
|
|
3526
|
+
}
|
|
3527
|
+
register(root) {
|
|
3528
|
+
this.root = root.nativeElement;
|
|
3529
|
+
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
3530
|
+
}
|
|
3531
|
+
async print(name = 'download', ignoreElementClass) {
|
|
3532
|
+
const root = this.root;
|
|
3533
|
+
const mainContainer = this.mainContainer;
|
|
3534
|
+
// set print width
|
|
3535
|
+
const printWidth = root.offsetWidth;
|
|
3536
|
+
// set print height
|
|
3537
|
+
const printHeight = root.offsetHeight - mainContainer.offsetHeight + mainContainer.scrollHeight;
|
|
3538
|
+
const html2canvas = (await import(/* webpackChunkName: 'html2canvas' */ 'html2canvas')).default;
|
|
3539
|
+
html2canvas(root, {
|
|
3540
|
+
logging: false,
|
|
3541
|
+
allowTaint: true,
|
|
3542
|
+
useCORS: true,
|
|
3543
|
+
width: printWidth,
|
|
3544
|
+
height: printHeight,
|
|
3545
|
+
ignoreElements: (element) => {
|
|
3546
|
+
if (ignoreElementClass && element.classList.contains(ignoreElementClass)) {
|
|
3547
|
+
return true;
|
|
3548
|
+
}
|
|
3549
|
+
if (element.classList.contains('gantt-calendar-today-overlay')) {
|
|
3550
|
+
return true;
|
|
3551
|
+
}
|
|
3552
|
+
},
|
|
3553
|
+
onclone: (cloneDocument) => {
|
|
3554
|
+
const ganttClass = root.className;
|
|
3555
|
+
const cloneGanttDom = cloneDocument.querySelector(`.${ganttClass.replace(/\s+/g, '.')}`);
|
|
3556
|
+
const cloneGanttContainerDom = cloneDocument.querySelector('.gantt-container');
|
|
3557
|
+
const cloneCalendarOverlay = cloneDocument.querySelector('.gantt-calendar-grid-main');
|
|
3558
|
+
const cloneLinksOverlay = cloneDocument.querySelector('.gantt-links-overlay-main');
|
|
3559
|
+
// change targetDom width
|
|
3560
|
+
cloneGanttDom.style.width = `${printWidth}px`;
|
|
3561
|
+
cloneGanttDom.style.height = `${printHeight}px`;
|
|
3562
|
+
cloneGanttDom.style.overflow = `unset`;
|
|
3563
|
+
cloneGanttContainerDom.style.backgroundColor = '#fff';
|
|
3564
|
+
cloneCalendarOverlay.setAttribute('height', `${printHeight}`);
|
|
3565
|
+
cloneCalendarOverlay.setAttribute('style', `background: transparent`);
|
|
3566
|
+
if (cloneLinksOverlay) {
|
|
3567
|
+
cloneLinksOverlay.setAttribute('height', `${printHeight}`);
|
|
3568
|
+
cloneLinksOverlay.setAttribute('style', `height: ${printHeight}px`);
|
|
3569
|
+
}
|
|
3570
|
+
// setInlineStyles for svg
|
|
3571
|
+
this.setInlineStyles(cloneGanttDom);
|
|
3572
|
+
}
|
|
3573
|
+
}).then((canvas) => {
|
|
3574
|
+
const link = document.createElement('a');
|
|
3575
|
+
const dataUrl = canvas.toDataURL('image/png');
|
|
3576
|
+
link.download = `${name}.png`;
|
|
3577
|
+
link.href = dataUrl;
|
|
3578
|
+
link.click();
|
|
3579
|
+
});
|
|
3580
|
+
}
|
|
3581
|
+
}
|
|
3582
|
+
GanttPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3583
|
+
GanttPrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService });
|
|
3584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, decorators: [{
|
|
3585
|
+
type: Injectable
|
|
3586
|
+
}], ctorParameters: function () { return []; } });
|
|
3587
|
+
|
|
3588
3588
|
class NgxGanttToolbarComponent {
|
|
3589
3589
|
constructor(ganttUpper) {
|
|
3590
3590
|
this.ganttUpper = ganttUpper;
|
|
@@ -3614,6 +3614,9 @@ class NgxGanttRootComponent {
|
|
|
3614
3614
|
get view() {
|
|
3615
3615
|
return this.ganttUpper.view;
|
|
3616
3616
|
}
|
|
3617
|
+
onWindowResize() {
|
|
3618
|
+
this.computeScrollBarOffset();
|
|
3619
|
+
}
|
|
3617
3620
|
constructor(elementRef, ngZone, dom, dragContainer, ganttUpper, printService) {
|
|
3618
3621
|
this.elementRef = elementRef;
|
|
3619
3622
|
this.ngZone = ngZone;
|
|
@@ -3621,6 +3624,8 @@ class NgxGanttRootComponent {
|
|
|
3621
3624
|
this.dragContainer = dragContainer;
|
|
3622
3625
|
this.ganttUpper = ganttUpper;
|
|
3623
3626
|
this.printService = printService;
|
|
3627
|
+
this.verticalScrollbarWidth = 0;
|
|
3628
|
+
this.horizontalScrollbarHeight = 0;
|
|
3624
3629
|
this.unsubscribe$ = new Subject();
|
|
3625
3630
|
this.ganttUpper.dragContainer = dragContainer;
|
|
3626
3631
|
}
|
|
@@ -3644,9 +3649,24 @@ class NgxGanttRootComponent {
|
|
|
3644
3649
|
this.ganttUpper.viewChange.pipe(startWith$1(null), takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
3645
3650
|
this.scrollToToday();
|
|
3646
3651
|
});
|
|
3652
|
+
this.computeScrollBarOffset();
|
|
3647
3653
|
});
|
|
3648
3654
|
});
|
|
3649
3655
|
}
|
|
3656
|
+
computeScrollBarOffset() {
|
|
3657
|
+
const ganttMainContainer = this.dom.mainContainer;
|
|
3658
|
+
const ganttVerticalScrollContainer = this.dom.verticalScrollContainer;
|
|
3659
|
+
let verticalScrollbarWidth = 0;
|
|
3660
|
+
if (ganttVerticalScrollContainer) {
|
|
3661
|
+
verticalScrollbarWidth = ganttVerticalScrollContainer.offsetWidth - ganttVerticalScrollContainer.clientWidth;
|
|
3662
|
+
}
|
|
3663
|
+
else {
|
|
3664
|
+
verticalScrollbarWidth = ganttMainContainer?.offsetWidth - ganttMainContainer?.clientWidth;
|
|
3665
|
+
}
|
|
3666
|
+
const horizontalScrollbarHeight = ganttMainContainer?.offsetHeight - ganttMainContainer?.clientHeight;
|
|
3667
|
+
this.verticalScrollbarWidth = verticalScrollbarWidth;
|
|
3668
|
+
this.horizontalScrollbarHeight = horizontalScrollbarHeight;
|
|
3669
|
+
}
|
|
3650
3670
|
ngOnDestroy() {
|
|
3651
3671
|
this.unsubscribe$.next();
|
|
3652
3672
|
}
|
|
@@ -3710,12 +3730,12 @@ class NgxGanttRootComponent {
|
|
|
3710
3730
|
}
|
|
3711
3731
|
}
|
|
3712
3732
|
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 });
|
|
3713
|
-
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:
|
|
3733
|
+
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"] }] });
|
|
3714
3734
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttRootComponent, decorators: [{
|
|
3715
3735
|
type: Component,
|
|
3716
3736
|
args: [{ selector: 'ngx-gantt-root', providers: [GanttDomService, GanttDragContainer], host: {
|
|
3717
3737
|
class: 'gantt'
|
|
3718
|
-
}, 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" }]
|
|
3738
|
+
}, 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" }]
|
|
3719
3739
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: GanttDomService }, { type: GanttDragContainer }, { type: GanttUpper, decorators: [{
|
|
3720
3740
|
type: Inject,
|
|
3721
3741
|
args: [GANTT_UPPER_TOKEN]
|
|
@@ -3732,6 +3752,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3732
3752
|
}], backdrop: [{
|
|
3733
3753
|
type: ViewChild,
|
|
3734
3754
|
args: [GanttDragBackdropComponent, { static: true, read: ElementRef }]
|
|
3755
|
+
}], onWindowResize: [{
|
|
3756
|
+
type: HostListener,
|
|
3757
|
+
args: ['window:resize']
|
|
3735
3758
|
}] } });
|
|
3736
3759
|
|
|
3737
3760
|
class NgxGanttComponent extends GanttUpper {
|
|
@@ -3755,9 +3778,9 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3755
3778
|
get loading() {
|
|
3756
3779
|
return this._loading;
|
|
3757
3780
|
}
|
|
3758
|
-
constructor(elementRef, cdr, ngZone,
|
|
3781
|
+
constructor(elementRef, cdr, ngZone, viewportRuler, config) {
|
|
3759
3782
|
super(elementRef, cdr, ngZone, config);
|
|
3760
|
-
this.
|
|
3783
|
+
this.viewportRuler = viewportRuler;
|
|
3761
3784
|
this.maxLevel = 2;
|
|
3762
3785
|
this.virtualScrollEnabled = true;
|
|
3763
3786
|
this.loadingDelay = 0;
|
|
@@ -3825,6 +3848,19 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3825
3848
|
});
|
|
3826
3849
|
}
|
|
3827
3850
|
}
|
|
3851
|
+
ngAfterViewChecked() {
|
|
3852
|
+
if (this.virtualScrollEnabled && this.viewportRuler && this.virtualScroll.getRenderedRange().end > 0) {
|
|
3853
|
+
const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));
|
|
3854
|
+
this.ngZone.runOutsideAngular(() => {
|
|
3855
|
+
onStable$.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
3856
|
+
if (!this.ganttRoot.verticalScrollbarWidth) {
|
|
3857
|
+
this.ganttRoot.computeScrollBarOffset();
|
|
3858
|
+
this.cdr.markForCheck();
|
|
3859
|
+
}
|
|
3860
|
+
});
|
|
3861
|
+
});
|
|
3862
|
+
}
|
|
3863
|
+
}
|
|
3828
3864
|
buildFlatItems() {
|
|
3829
3865
|
const virtualData = [];
|
|
3830
3866
|
if (this.groups.length) {
|
|
@@ -3935,7 +3971,7 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3935
3971
|
this.cdr.detectChanges();
|
|
3936
3972
|
}
|
|
3937
3973
|
}
|
|
3938
|
-
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:
|
|
3974
|
+
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 });
|
|
3939
3975
|
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: [
|
|
3940
3976
|
{
|
|
3941
3977
|
provide: GANTT_UPPER_TOKEN,
|
|
@@ -3945,10 +3981,7 @@ NgxGanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3945
3981
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
3946
3982
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
3947
3983
|
}
|
|
3948
|
-
], 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:
|
|
3949
|
-
__decorate([
|
|
3950
|
-
InputBoolean()
|
|
3951
|
-
], NgxGanttComponent.prototype, "virtualScrollEnabled", void 0);
|
|
3984
|
+
], 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 });
|
|
3952
3985
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttComponent, decorators: [{
|
|
3953
3986
|
type: Component,
|
|
3954
3987
|
args: [{ selector: 'ngx-gantt', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -3960,10 +3993,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3960
3993
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
3961
3994
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
3962
3995
|
}
|
|
3963
|
-
], 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" }]
|
|
3964
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type:
|
|
3965
|
-
type: Optional
|
|
3966
|
-
}] }, { type: undefined, decorators: [{
|
|
3996
|
+
], 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" }]
|
|
3997
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1$1.ViewportRuler }, { type: undefined, decorators: [{
|
|
3967
3998
|
type: Inject,
|
|
3968
3999
|
args: [GANTT_GLOBAL_CONFIG]
|
|
3969
4000
|
}] }]; }, propDecorators: { maxLevel: [{
|