@worktile/gantt 15.1.0 → 15.1.2
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/components/table/body/gantt-table-body.component.mjs +6 -1
- 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 +147 -111
- package/fesm2015/worktile-gantt.mjs.map +1 -1
- package/fesm2020/worktile-gantt.mjs +145 -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.
|
|
@@ -1850,6 +1757,11 @@ class GanttTableBodyComponent {
|
|
|
1850
1757
|
source: event.source.data?.origin,
|
|
1851
1758
|
sourceParent: this.getParentByItem(event.source.data)?.origin
|
|
1852
1759
|
});
|
|
1760
|
+
// dropEnterPredicate 方法返回值为 false 时,始终未执行 onListDropped,所以只能在 dragEnded 中移除 drag-item-hide
|
|
1761
|
+
const children = this.getChildrenElementsByElement(event.source.element.nativeElement);
|
|
1762
|
+
children.forEach((element) => {
|
|
1763
|
+
element.classList.remove('drag-item-hide');
|
|
1764
|
+
});
|
|
1853
1765
|
}
|
|
1854
1766
|
onListDropped(event) {
|
|
1855
1767
|
if (!this.itemDropTarget) {
|
|
@@ -2601,6 +2513,7 @@ class GanttDomService {
|
|
|
2601
2513
|
this.container = this.root.getElementsByClassName('gantt-container')[0];
|
|
2602
2514
|
this.sideContainer = this.root.getElementsByClassName('gantt-side-container')[0];
|
|
2603
2515
|
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
2516
|
+
this.verticalScrollContainer = this.root.getElementsByClassName('gantt-scroll-container')[0];
|
|
2604
2517
|
const mainItems = this.mainContainer.getElementsByClassName('gantt-main-items')[0];
|
|
2605
2518
|
const mainGroups = this.mainContainer.getElementsByClassName('gantt-main-groups')[0];
|
|
2606
2519
|
this.mainItems = mainItems || mainGroups;
|
|
@@ -3585,6 +3498,98 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3585
3498
|
}, 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
3499
|
}] });
|
|
3587
3500
|
|
|
3501
|
+
class GanttPrintService {
|
|
3502
|
+
constructor() { }
|
|
3503
|
+
setInlineStyles(targetElem) {
|
|
3504
|
+
const svgElements = Array.from(targetElem.getElementsByTagName('svg'));
|
|
3505
|
+
for (const svgElement of svgElements) {
|
|
3506
|
+
this.recursElementChildren(svgElement);
|
|
3507
|
+
}
|
|
3508
|
+
}
|
|
3509
|
+
recursElementChildren(node) {
|
|
3510
|
+
const transformProperties = [
|
|
3511
|
+
'fill',
|
|
3512
|
+
'color',
|
|
3513
|
+
'font-size',
|
|
3514
|
+
'stroke',
|
|
3515
|
+
'font',
|
|
3516
|
+
'text-anchor',
|
|
3517
|
+
'stroke-dasharray',
|
|
3518
|
+
'shape-rendering',
|
|
3519
|
+
'stroke-width'
|
|
3520
|
+
];
|
|
3521
|
+
if (!node.style) {
|
|
3522
|
+
return;
|
|
3523
|
+
}
|
|
3524
|
+
const styles = getComputedStyle(node);
|
|
3525
|
+
for (const transformProperty of transformProperties) {
|
|
3526
|
+
node.style[transformProperty] = styles[transformProperty];
|
|
3527
|
+
}
|
|
3528
|
+
for (const child of Array.from(node.childNodes)) {
|
|
3529
|
+
this.recursElementChildren(child);
|
|
3530
|
+
}
|
|
3531
|
+
}
|
|
3532
|
+
register(root) {
|
|
3533
|
+
this.root = root.nativeElement;
|
|
3534
|
+
this.mainContainer = this.root.getElementsByClassName('gantt-main-container')[0];
|
|
3535
|
+
}
|
|
3536
|
+
async print(name = 'download', ignoreElementClass) {
|
|
3537
|
+
const root = this.root;
|
|
3538
|
+
const mainContainer = this.mainContainer;
|
|
3539
|
+
// set print width
|
|
3540
|
+
const printWidth = root.offsetWidth;
|
|
3541
|
+
// set print height
|
|
3542
|
+
const printHeight = root.offsetHeight - mainContainer.offsetHeight + mainContainer.scrollHeight;
|
|
3543
|
+
const html2canvas = (await import(/* webpackChunkName: 'html2canvas' */ 'html2canvas')).default;
|
|
3544
|
+
html2canvas(root, {
|
|
3545
|
+
logging: false,
|
|
3546
|
+
allowTaint: true,
|
|
3547
|
+
useCORS: true,
|
|
3548
|
+
width: printWidth,
|
|
3549
|
+
height: printHeight,
|
|
3550
|
+
ignoreElements: (element) => {
|
|
3551
|
+
if (ignoreElementClass && element.classList.contains(ignoreElementClass)) {
|
|
3552
|
+
return true;
|
|
3553
|
+
}
|
|
3554
|
+
if (element.classList.contains('gantt-calendar-today-overlay')) {
|
|
3555
|
+
return true;
|
|
3556
|
+
}
|
|
3557
|
+
},
|
|
3558
|
+
onclone: (cloneDocument) => {
|
|
3559
|
+
const ganttClass = root.className;
|
|
3560
|
+
const cloneGanttDom = cloneDocument.querySelector(`.${ganttClass.replace(/\s+/g, '.')}`);
|
|
3561
|
+
const cloneGanttContainerDom = cloneDocument.querySelector('.gantt-container');
|
|
3562
|
+
const cloneCalendarOverlay = cloneDocument.querySelector('.gantt-calendar-grid-main');
|
|
3563
|
+
const cloneLinksOverlay = cloneDocument.querySelector('.gantt-links-overlay-main');
|
|
3564
|
+
// change targetDom width
|
|
3565
|
+
cloneGanttDom.style.width = `${printWidth}px`;
|
|
3566
|
+
cloneGanttDom.style.height = `${printHeight}px`;
|
|
3567
|
+
cloneGanttDom.style.overflow = `unset`;
|
|
3568
|
+
cloneGanttContainerDom.style.backgroundColor = '#fff';
|
|
3569
|
+
cloneCalendarOverlay.setAttribute('height', `${printHeight}`);
|
|
3570
|
+
cloneCalendarOverlay.setAttribute('style', `background: transparent`);
|
|
3571
|
+
if (cloneLinksOverlay) {
|
|
3572
|
+
cloneLinksOverlay.setAttribute('height', `${printHeight}`);
|
|
3573
|
+
cloneLinksOverlay.setAttribute('style', `height: ${printHeight}px`);
|
|
3574
|
+
}
|
|
3575
|
+
// setInlineStyles for svg
|
|
3576
|
+
this.setInlineStyles(cloneGanttDom);
|
|
3577
|
+
}
|
|
3578
|
+
}).then((canvas) => {
|
|
3579
|
+
const link = document.createElement('a');
|
|
3580
|
+
const dataUrl = canvas.toDataURL('image/png');
|
|
3581
|
+
link.download = `${name}.png`;
|
|
3582
|
+
link.href = dataUrl;
|
|
3583
|
+
link.click();
|
|
3584
|
+
});
|
|
3585
|
+
}
|
|
3586
|
+
}
|
|
3587
|
+
GanttPrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3588
|
+
GanttPrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService });
|
|
3589
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: GanttPrintService, decorators: [{
|
|
3590
|
+
type: Injectable
|
|
3591
|
+
}], ctorParameters: function () { return []; } });
|
|
3592
|
+
|
|
3588
3593
|
class NgxGanttToolbarComponent {
|
|
3589
3594
|
constructor(ganttUpper) {
|
|
3590
3595
|
this.ganttUpper = ganttUpper;
|
|
@@ -3614,6 +3619,9 @@ class NgxGanttRootComponent {
|
|
|
3614
3619
|
get view() {
|
|
3615
3620
|
return this.ganttUpper.view;
|
|
3616
3621
|
}
|
|
3622
|
+
onWindowResize() {
|
|
3623
|
+
this.computeScrollBarOffset();
|
|
3624
|
+
}
|
|
3617
3625
|
constructor(elementRef, ngZone, dom, dragContainer, ganttUpper, printService) {
|
|
3618
3626
|
this.elementRef = elementRef;
|
|
3619
3627
|
this.ngZone = ngZone;
|
|
@@ -3621,6 +3629,8 @@ class NgxGanttRootComponent {
|
|
|
3621
3629
|
this.dragContainer = dragContainer;
|
|
3622
3630
|
this.ganttUpper = ganttUpper;
|
|
3623
3631
|
this.printService = printService;
|
|
3632
|
+
this.verticalScrollbarWidth = 0;
|
|
3633
|
+
this.horizontalScrollbarHeight = 0;
|
|
3624
3634
|
this.unsubscribe$ = new Subject();
|
|
3625
3635
|
this.ganttUpper.dragContainer = dragContainer;
|
|
3626
3636
|
}
|
|
@@ -3644,9 +3654,24 @@ class NgxGanttRootComponent {
|
|
|
3644
3654
|
this.ganttUpper.viewChange.pipe(startWith$1(null), takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
3645
3655
|
this.scrollToToday();
|
|
3646
3656
|
});
|
|
3657
|
+
this.computeScrollBarOffset();
|
|
3647
3658
|
});
|
|
3648
3659
|
});
|
|
3649
3660
|
}
|
|
3661
|
+
computeScrollBarOffset() {
|
|
3662
|
+
const ganttMainContainer = this.dom.mainContainer;
|
|
3663
|
+
const ganttVerticalScrollContainer = this.dom.verticalScrollContainer;
|
|
3664
|
+
let verticalScrollbarWidth = 0;
|
|
3665
|
+
if (ganttVerticalScrollContainer) {
|
|
3666
|
+
verticalScrollbarWidth = ganttVerticalScrollContainer.offsetWidth - ganttVerticalScrollContainer.clientWidth;
|
|
3667
|
+
}
|
|
3668
|
+
else {
|
|
3669
|
+
verticalScrollbarWidth = ganttMainContainer?.offsetWidth - ganttMainContainer?.clientWidth;
|
|
3670
|
+
}
|
|
3671
|
+
const horizontalScrollbarHeight = ganttMainContainer?.offsetHeight - ganttMainContainer?.clientHeight;
|
|
3672
|
+
this.verticalScrollbarWidth = verticalScrollbarWidth;
|
|
3673
|
+
this.horizontalScrollbarHeight = horizontalScrollbarHeight;
|
|
3674
|
+
}
|
|
3650
3675
|
ngOnDestroy() {
|
|
3651
3676
|
this.unsubscribe$.next();
|
|
3652
3677
|
}
|
|
@@ -3710,12 +3735,12 @@ class NgxGanttRootComponent {
|
|
|
3710
3735
|
}
|
|
3711
3736
|
}
|
|
3712
3737
|
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:
|
|
3738
|
+
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
3739
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttRootComponent, decorators: [{
|
|
3715
3740
|
type: Component,
|
|
3716
3741
|
args: [{ selector: 'ngx-gantt-root', providers: [GanttDomService, GanttDragContainer], host: {
|
|
3717
3742
|
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" }]
|
|
3743
|
+
}, 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
3744
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: GanttDomService }, { type: GanttDragContainer }, { type: GanttUpper, decorators: [{
|
|
3720
3745
|
type: Inject,
|
|
3721
3746
|
args: [GANTT_UPPER_TOKEN]
|
|
@@ -3732,6 +3757,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3732
3757
|
}], backdrop: [{
|
|
3733
3758
|
type: ViewChild,
|
|
3734
3759
|
args: [GanttDragBackdropComponent, { static: true, read: ElementRef }]
|
|
3760
|
+
}], onWindowResize: [{
|
|
3761
|
+
type: HostListener,
|
|
3762
|
+
args: ['window:resize']
|
|
3735
3763
|
}] } });
|
|
3736
3764
|
|
|
3737
3765
|
class NgxGanttComponent extends GanttUpper {
|
|
@@ -3755,9 +3783,9 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3755
3783
|
get loading() {
|
|
3756
3784
|
return this._loading;
|
|
3757
3785
|
}
|
|
3758
|
-
constructor(elementRef, cdr, ngZone,
|
|
3786
|
+
constructor(elementRef, cdr, ngZone, viewportRuler, config) {
|
|
3759
3787
|
super(elementRef, cdr, ngZone, config);
|
|
3760
|
-
this.
|
|
3788
|
+
this.viewportRuler = viewportRuler;
|
|
3761
3789
|
this.maxLevel = 2;
|
|
3762
3790
|
this.virtualScrollEnabled = true;
|
|
3763
3791
|
this.loadingDelay = 0;
|
|
@@ -3825,6 +3853,19 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3825
3853
|
});
|
|
3826
3854
|
}
|
|
3827
3855
|
}
|
|
3856
|
+
ngAfterViewChecked() {
|
|
3857
|
+
if (this.virtualScrollEnabled && this.viewportRuler && this.virtualScroll.getRenderedRange().end > 0) {
|
|
3858
|
+
const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));
|
|
3859
|
+
this.ngZone.runOutsideAngular(() => {
|
|
3860
|
+
onStable$.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
3861
|
+
if (!this.ganttRoot.verticalScrollbarWidth) {
|
|
3862
|
+
this.ganttRoot.computeScrollBarOffset();
|
|
3863
|
+
this.cdr.markForCheck();
|
|
3864
|
+
}
|
|
3865
|
+
});
|
|
3866
|
+
});
|
|
3867
|
+
}
|
|
3868
|
+
}
|
|
3828
3869
|
buildFlatItems() {
|
|
3829
3870
|
const virtualData = [];
|
|
3830
3871
|
if (this.groups.length) {
|
|
@@ -3935,7 +3976,7 @@ class NgxGanttComponent extends GanttUpper {
|
|
|
3935
3976
|
this.cdr.detectChanges();
|
|
3936
3977
|
}
|
|
3937
3978
|
}
|
|
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:
|
|
3979
|
+
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
3980
|
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
3981
|
{
|
|
3941
3982
|
provide: GANTT_UPPER_TOKEN,
|
|
@@ -3945,10 +3986,7 @@ NgxGanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
3945
3986
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
3946
3987
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
3947
3988
|
}
|
|
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);
|
|
3989
|
+
], 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
3990
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttComponent, decorators: [{
|
|
3953
3991
|
type: Component,
|
|
3954
3992
|
args: [{ selector: 'ngx-gantt', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -3960,10 +3998,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
3960
3998
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
3961
3999
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
3962
4000
|
}
|
|
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: [{
|
|
4001
|
+
], 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" }]
|
|
4002
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1$1.ViewportRuler }, { type: undefined, decorators: [{
|
|
3967
4003
|
type: Inject,
|
|
3968
4004
|
args: [GANTT_GLOBAL_CONFIG]
|
|
3969
4005
|
}] }]; }, propDecorators: { maxLevel: [{
|