@worktile/gantt 15.0.0 → 15.1.0-next.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/class/event.d.ts +13 -0
- package/class/item.d.ts +7 -1
- package/components/bar/bar-drag.d.ts +10 -0
- package/components/bar/bar.component.d.ts +2 -1
- package/components/bar/bar.component.scss +22 -0
- package/components/calendar/calendar.scss +91 -0
- package/components/calendar/grid/calendar-grid.component.d.ts +24 -0
- package/components/calendar/header/calendar-header.component.d.ts +21 -0
- package/components/icon/icons.d.ts +1 -0
- package/components/links/links.component.d.ts +5 -5
- package/components/loader/loader.component.d.ts +5 -0
- package/components/loader/loader.component.scss +90 -0
- package/components/main/gantt-main.component.d.ts +3 -3
- package/components/table/body/gantt-table-body.component.d.ts +58 -0
- package/components/table/gantt-table.component.scss +169 -85
- package/components/table/gantt-table.scss +271 -0
- package/components/table/header/gantt-table-header.component.d.ts +31 -0
- package/esm2020/class/event.mjs +5 -1
- package/esm2020/class/item.mjs +9 -4
- package/esm2020/components/bar/bar-drag.mjs +106 -42
- package/esm2020/components/bar/bar.component.mjs +8 -2
- package/esm2020/components/calendar/grid/calendar-grid.component.mjs +71 -0
- package/esm2020/components/calendar/header/calendar-header.component.mjs +67 -0
- package/esm2020/components/icon/icons.mjs +4 -2
- package/esm2020/components/links/links.component.mjs +72 -54
- package/esm2020/components/loader/loader.component.mjs +29 -0
- package/esm2020/components/main/gantt-main.component.mjs +5 -5
- package/esm2020/components/table/body/gantt-table-body.component.mjs +298 -0
- package/esm2020/components/table/header/gantt-table-header.component.mjs +140 -0
- package/esm2020/gantt-dom.service.mjs +8 -12
- package/esm2020/gantt-item-upper.mjs +15 -6
- package/esm2020/gantt-print.service.mjs +2 -2
- package/esm2020/gantt-upper.mjs +18 -15
- package/esm2020/gantt.component.mjs +143 -25
- package/esm2020/gantt.module.mjs +28 -10
- package/esm2020/public-api.mjs +2 -1
- package/esm2020/root.component.mjs +10 -8
- package/esm2020/table/gantt-table.component.mjs +12 -4
- package/esm2020/utils/helpers.mjs +11 -1
- package/fesm2015/worktile-gantt.mjs +969 -378
- package/fesm2015/worktile-gantt.mjs.map +1 -1
- package/fesm2020/worktile-gantt.mjs +959 -380
- package/fesm2020/worktile-gantt.mjs.map +1 -1
- package/gantt-dom.service.d.ts +1 -0
- package/gantt-item-upper.d.ts +3 -2
- package/gantt-upper.d.ts +4 -1
- package/gantt.component.d.ts +26 -8
- package/gantt.component.scss +39 -0
- package/gantt.module.d.ts +19 -15
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/root.component.d.ts +1 -1
- package/styles/index.scss +5 -2
- package/styles/variables.scss +12 -7
- package/table/gantt-table.component.d.ts +5 -2
- package/components/calendar/calendar.component.d.ts +0 -26
- package/components/table/gantt-table.component.d.ts +0 -42
- package/esm2020/components/calendar/calendar.component.mjs +0 -88
- package/esm2020/components/table/gantt-table.component.mjs +0 -166
|
@@ -1,31 +1,63 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ContentChildren, ContentChild, forwardRef, Inject, ViewChild } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, EventEmitter, Output, ContentChildren, ContentChild, forwardRef, Inject, ViewChild, Optional } from '@angular/core';
|
|
2
|
+
import { takeUntil, take, finalize, skip } from 'rxjs/operators';
|
|
3
|
+
import { from } from 'rxjs';
|
|
4
4
|
import { GanttUpper, GANTT_UPPER_TOKEN } from './gantt-upper';
|
|
5
5
|
import { NgxGanttTableColumnComponent } from './table/gantt-column.component';
|
|
6
|
-
import { sideWidth } from './gantt.styles';
|
|
7
|
-
import { coerceCssPixelValue } from '@angular/cdk/coercion';
|
|
8
6
|
import { NgxGanttTableComponent } from './table/gantt-table.component';
|
|
9
7
|
import { GANTT_ABSTRACT_TOKEN } from './gantt-abstract';
|
|
10
|
-
import { defaultColumnWidth } from './components/table/gantt-table.component';
|
|
11
8
|
import { GANTT_GLOBAL_CONFIG } from './gantt.config';
|
|
9
|
+
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
|
|
10
|
+
import { keyBy, recursiveItems, uniqBy } from './utils/helpers';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "./
|
|
14
|
-
import * as i2 from "
|
|
15
|
-
import * as i3 from "
|
|
12
|
+
import * as i1 from "./gantt-print.service";
|
|
13
|
+
import * as i2 from "@angular/common";
|
|
14
|
+
import * as i3 from "@angular/cdk/scrolling";
|
|
15
|
+
import * as i4 from "./components/table/header/gantt-table-header.component";
|
|
16
|
+
import * as i5 from "./components/table/body/gantt-table-body.component";
|
|
17
|
+
import * as i6 from "./components/main/gantt-main.component";
|
|
18
|
+
import * as i7 from "./components/calendar/header/calendar-header.component";
|
|
19
|
+
import * as i8 from "./components/calendar/grid/calendar-grid.component";
|
|
20
|
+
import * as i9 from "./components/loader/loader.component";
|
|
21
|
+
import * as i10 from "./components/drag-backdrop/drag-backdrop.component";
|
|
22
|
+
import * as i11 from "./root.component";
|
|
16
23
|
export class NgxGanttComponent extends GanttUpper {
|
|
17
|
-
|
|
24
|
+
set loading(loading) {
|
|
25
|
+
if (loading) {
|
|
26
|
+
if (this.loadingDelay > 0) {
|
|
27
|
+
this.loadingTimer = setTimeout(() => {
|
|
28
|
+
this._loading = loading;
|
|
29
|
+
this.cdr.markForCheck();
|
|
30
|
+
}, this.loadingDelay);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this._loading = loading;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
clearTimeout(this.loadingTimer);
|
|
38
|
+
this._loading = loading;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get loading() {
|
|
42
|
+
return this._loading;
|
|
43
|
+
}
|
|
44
|
+
constructor(elementRef, cdr, ngZone, printService, config) {
|
|
18
45
|
super(elementRef, cdr, ngZone, config);
|
|
46
|
+
this.printService = printService;
|
|
19
47
|
this.maxLevel = 2;
|
|
48
|
+
this.loadingDelay = 0;
|
|
20
49
|
this.linkDragStarted = new EventEmitter();
|
|
21
50
|
this.linkDragEnded = new EventEmitter();
|
|
22
51
|
this.lineClick = new EventEmitter();
|
|
23
52
|
this.selectedChange = new EventEmitter();
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
53
|
+
this.flatData = [];
|
|
54
|
+
this.renderData = [];
|
|
55
|
+
this._loading = false;
|
|
56
|
+
this.computeAllRefs = false;
|
|
26
57
|
}
|
|
27
58
|
ngOnInit() {
|
|
28
59
|
super.ngOnInit();
|
|
60
|
+
this.buildVirtualFlatData();
|
|
29
61
|
// Note: the zone may be nooped through `BootstrapOptions` when bootstrapping the root module. This means
|
|
30
62
|
// the `onStable` will never emit any value.
|
|
31
63
|
const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));
|
|
@@ -33,24 +65,84 @@ export class NgxGanttComponent extends GanttUpper {
|
|
|
33
65
|
// using `zone-patch-rxjs` because it'll trigger a change detection when it unsubscribes.
|
|
34
66
|
this.ngZone.runOutsideAngular(() => {
|
|
35
67
|
onStable$.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
36
|
-
this.dragContainer.
|
|
68
|
+
// this.dragContainer.dragEnded.subscribe((event) => {
|
|
69
|
+
// this.computeTempDataRefs();
|
|
70
|
+
// });
|
|
71
|
+
this.dragContainer.linkDragStarted.pipe(takeUntil(this.unsubscribe$)).subscribe((event) => {
|
|
37
72
|
this.linkDragStarted.emit(event);
|
|
38
73
|
});
|
|
39
|
-
this.dragContainer.linkDragEnded.pipe(takeUntil(this.
|
|
74
|
+
this.dragContainer.linkDragEnded.pipe(takeUntil(this.unsubscribe$)).subscribe((event) => {
|
|
40
75
|
this.linkDragEnded.emit(event);
|
|
41
76
|
});
|
|
42
77
|
});
|
|
43
78
|
});
|
|
79
|
+
this.view.start$.pipe(skip(1), takeUntil(this.unsubscribe$)).subscribe(() => {
|
|
80
|
+
this.computeTempDataRefs();
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
ngOnChanges(changes) {
|
|
84
|
+
super.ngOnChanges(changes);
|
|
85
|
+
if (!this.firstChange) {
|
|
86
|
+
if (changes.viewType && changes.viewType.currentValue) {
|
|
87
|
+
this.renderData = this.flatData.slice(this.rangeStart, this.rangeEnd);
|
|
88
|
+
this.computeTempDataRefs();
|
|
89
|
+
}
|
|
90
|
+
if (changes.originItems || changes.originGroups) {
|
|
91
|
+
this.buildVirtualFlatData();
|
|
92
|
+
this.renderData = this.flatData.slice(this.rangeStart, this.rangeEnd);
|
|
93
|
+
this.computeTempDataRefs();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
44
96
|
}
|
|
45
97
|
ngAfterViewInit() {
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
48
|
-
|
|
49
|
-
|
|
98
|
+
this.virtualScroll.renderedRangeStream.pipe(takeUntil(this.unsubscribe$)).subscribe((range) => {
|
|
99
|
+
const linksElement = this.elementRef.nativeElement.querySelector('.gantt-links-overlay');
|
|
100
|
+
linksElement.style.top = `${-(this.styles.lineHeight * range.start)}px`;
|
|
101
|
+
this.rangeStart = range.start;
|
|
102
|
+
this.rangeEnd = range.end;
|
|
103
|
+
this.renderData = this.flatData.slice(range.start, range.end);
|
|
104
|
+
this.computeTempDataRefs();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
buildVirtualFlatData() {
|
|
108
|
+
const virtualData = [];
|
|
109
|
+
if (this.groups.length) {
|
|
110
|
+
this.groups.forEach((group) => {
|
|
111
|
+
virtualData.push(group);
|
|
112
|
+
if (group.expanded) {
|
|
113
|
+
const items = recursiveItems(group.items);
|
|
114
|
+
virtualData.push(...items);
|
|
50
115
|
}
|
|
51
116
|
});
|
|
52
|
-
|
|
117
|
+
}
|
|
118
|
+
if (this.items.length) {
|
|
119
|
+
virtualData.push(...recursiveItems(this.items));
|
|
120
|
+
}
|
|
121
|
+
this.flatData = [...virtualData];
|
|
122
|
+
this.flatDataMap = keyBy(this.flatData, 'id');
|
|
123
|
+
}
|
|
124
|
+
afterExpand() {
|
|
125
|
+
this.buildVirtualFlatData();
|
|
126
|
+
this.renderData = this.flatData.slice(this.rangeStart, this.rangeEnd);
|
|
127
|
+
}
|
|
128
|
+
computeTempDataRefs() {
|
|
129
|
+
const tempItemData = [];
|
|
130
|
+
this.renderData.forEach((data) => {
|
|
131
|
+
if (!data.hasOwnProperty('items')) {
|
|
132
|
+
const item = data;
|
|
133
|
+
if (item.links) {
|
|
134
|
+
item.links.forEach((link) => {
|
|
135
|
+
if (this.flatDataMap[link.link]) {
|
|
136
|
+
tempItemData.push(this.flatDataMap[link.link]);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
tempItemData.push(data);
|
|
141
|
+
}
|
|
53
142
|
});
|
|
143
|
+
this.computeItemsRefs(...uniqBy(tempItemData, 'id'));
|
|
144
|
+
this.flatData = [...this.flatData];
|
|
145
|
+
this.renderData = [...this.renderData];
|
|
54
146
|
}
|
|
55
147
|
expandChildren(item) {
|
|
56
148
|
if (!item.expanded) {
|
|
@@ -60,6 +152,7 @@ export class NgxGanttComponent extends GanttUpper {
|
|
|
60
152
|
this.childrenResolve(item.origin)
|
|
61
153
|
.pipe(take(1), finalize(() => {
|
|
62
154
|
item.loading = false;
|
|
155
|
+
this.afterExpand();
|
|
63
156
|
this.expandChange.emit(item);
|
|
64
157
|
this.cdr.detectChanges();
|
|
65
158
|
}))
|
|
@@ -70,11 +163,13 @@ export class NgxGanttComponent extends GanttUpper {
|
|
|
70
163
|
}
|
|
71
164
|
else {
|
|
72
165
|
this.computeItemsRefs(...item.children);
|
|
166
|
+
this.afterExpand();
|
|
73
167
|
this.expandChange.emit(item);
|
|
74
168
|
}
|
|
75
169
|
}
|
|
76
170
|
else {
|
|
77
171
|
item.setExpand(false);
|
|
172
|
+
this.afterExpand();
|
|
78
173
|
this.expandChange.emit(item);
|
|
79
174
|
}
|
|
80
175
|
}
|
|
@@ -100,9 +195,23 @@ export class NgxGanttComponent extends GanttUpper {
|
|
|
100
195
|
scrollToDate(date) {
|
|
101
196
|
this.ganttRoot.scrollToDate(date);
|
|
102
197
|
}
|
|
198
|
+
expandGroups(expanded) {
|
|
199
|
+
this.groups.forEach((group) => {
|
|
200
|
+
group.setExpand(expanded);
|
|
201
|
+
});
|
|
202
|
+
this.afterExpand();
|
|
203
|
+
this.expandChange.next(null);
|
|
204
|
+
this.cdr.detectChanges();
|
|
205
|
+
}
|
|
206
|
+
expandGroup(group) {
|
|
207
|
+
group.setExpand(!group.expanded);
|
|
208
|
+
this.afterExpand();
|
|
209
|
+
this.expandChange.emit();
|
|
210
|
+
this.cdr.detectChanges();
|
|
211
|
+
}
|
|
103
212
|
}
|
|
104
|
-
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: GANTT_GLOBAL_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
105
|
-
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" }, outputs: { linkDragStarted: "linkDragStarted", linkDragEnded: "linkDragEnded", lineClick: "lineClick", selectedChange: "selectedChange" }, providers: [
|
|
213
|
+
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.GanttPrintService, optional: true }, { token: GANTT_GLOBAL_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
214
|
+
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", loadingDelay: "loadingDelay" }, outputs: { linkDragStarted: "linkDragStarted", linkDragEnded: "linkDragEnded", lineClick: "lineClick", selectedChange: "selectedChange" }, providers: [
|
|
106
215
|
{
|
|
107
216
|
provide: GANTT_UPPER_TOKEN,
|
|
108
217
|
useExisting: NgxGanttComponent
|
|
@@ -111,7 +220,7 @@ NgxGanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
111
220
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
112
221
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
113
222
|
}
|
|
114
|
-
], 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 }], usesInheritance: true, ngImport: i0, template: "<ngx-gantt-root #ganttRoot>\n <
|
|
223
|
+
], 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 <cdk-virtual-scroll-viewport\n class=\"gantt-virtual-scroll-viewport\"\n [itemSize]=\"styles.lineHeight\"\n [minBufferPx]=\"styles.lineHeight * 10\"\n [maxBufferPx]=\"styles.lineHeight * 20\"\n >\n <ng-container *cdkVirtualFor=\"let item of flatData; 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 [flatData]=\"flatData\"\n [renderData]=\"renderData\"\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 (itemClick)=\"selectItem($event)\"\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 [flatData]=\"flatData\"\n [renderData]=\"renderData\"\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 <gantt-drag-backdrop [style.left.px]=\"tableHeader.tableWidth + 1\"></gantt-drag-backdrop>\n</ngx-gantt-root>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i4.GanttTableHeaderComponent, selector: "gantt-table-header", inputs: ["columns"] }, { kind: "component", type: i5.GanttTableBodyComponent, selector: "gantt-table-body", inputs: ["renderData", "flatData", "columns", "groupTemplate", "emptyTemplate", "rowBeforeTemplate", "rowAfterTemplate", "draggable", "dropEnterPredicate"], outputs: ["dragDropped", "itemClick"] }, { kind: "component", type: i6.GanttMainComponent, selector: "gantt-main", inputs: ["renderData", "flatData", "groupHeaderTemplate", "itemTemplate", "barTemplate", "rangeTemplate"], outputs: ["barClick", "lineClick"] }, { kind: "component", type: i7.GanttCalendarHeaderComponent, selector: "gantt-calendar-header" }, { kind: "component", type: i8.GanttCalendarGridComponent, selector: "gantt-calendar-grid" }, { kind: "component", type: i9.GanttLoaderComponent, selector: "gantt-loader" }, { kind: "component", type: i10.GanttDragBackdropComponent, selector: "gantt-drag-backdrop" }, { kind: "component", type: i11.NgxGanttRootComponent, selector: "ngx-gantt-root", inputs: ["sideWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
115
224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttComponent, decorators: [{
|
|
116
225
|
type: Component,
|
|
117
226
|
args: [{ selector: 'ngx-gantt', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
@@ -123,8 +232,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
123
232
|
provide: GANTT_ABSTRACT_TOKEN,
|
|
124
233
|
useExisting: forwardRef(() => NgxGanttComponent)
|
|
125
234
|
}
|
|
126
|
-
], template: "<ngx-gantt-root #ganttRoot>\n <
|
|
127
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type:
|
|
235
|
+
], 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 <cdk-virtual-scroll-viewport\n class=\"gantt-virtual-scroll-viewport\"\n [itemSize]=\"styles.lineHeight\"\n [minBufferPx]=\"styles.lineHeight * 10\"\n [maxBufferPx]=\"styles.lineHeight * 20\"\n >\n <ng-container *cdkVirtualFor=\"let item of flatData; 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 [flatData]=\"flatData\"\n [renderData]=\"renderData\"\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 (itemClick)=\"selectItem($event)\"\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 [flatData]=\"flatData\"\n [renderData]=\"renderData\"\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 <gantt-drag-backdrop [style.left.px]=\"tableHeader.tableWidth + 1\"></gantt-drag-backdrop>\n</ngx-gantt-root>\n" }]
|
|
236
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.GanttPrintService, decorators: [{
|
|
237
|
+
type: Optional
|
|
238
|
+
}] }, { type: undefined, decorators: [{
|
|
128
239
|
type: Inject,
|
|
129
240
|
args: [GANTT_GLOBAL_CONFIG]
|
|
130
241
|
}] }]; }, propDecorators: { maxLevel: [{
|
|
@@ -135,6 +246,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
135
246
|
type: Input
|
|
136
247
|
}], linkable: [{
|
|
137
248
|
type: Input
|
|
249
|
+
}], loading: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], loadingDelay: [{
|
|
252
|
+
type: Input
|
|
138
253
|
}], linkDragStarted: [{
|
|
139
254
|
type: Output
|
|
140
255
|
}], linkDragEnded: [{
|
|
@@ -155,5 +270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
155
270
|
}], ganttRoot: [{
|
|
156
271
|
type: ViewChild,
|
|
157
272
|
args: ['ganttRoot']
|
|
273
|
+
}], virtualScroll: [{
|
|
274
|
+
type: ViewChild,
|
|
275
|
+
args: [CdkVirtualScrollViewport]
|
|
158
276
|
}] } });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2dhbnR0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9nYW50dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFHTixlQUFlLEVBR2YsWUFBWSxFQUVaLFVBQVUsRUFDVixNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBa0J4RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsVUFBVTtJQTZCN0MsWUFDSSxVQUFtQyxFQUNuQyxHQUFzQixFQUN0QixNQUFjLEVBQ2Us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QkFDSSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzt5QkFDbkQ7cUJBQ0o7OzBCQW1DSSxNQUFNOzJCQUFDLG1CQUFtQjs0Q0FoQ3RCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRVksUUFBUTtzQkFBekIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQUVZLGFBQWE7c0JBQS9CLE1BQU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxjQUFjO3NCQUF2QixNQUFNO2dCQUUrQixLQUFLO3NCQUExQyxZQUFZO3VCQUFDLHNCQUFzQjtnQkFFa0MsT0FBTztzQkFBNUUsZUFBZTt1QkFBQyw0QkFBNEIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRXRCLGtCQUFrQjtzQkFBL0QsWUFBWTt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVwQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBPbkluaXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBJbnB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE5nWm9uZSxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZVVudGlsLCB0YWtlLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhbnR0VXBwZXIsIEdBTlRUX1VQUEVSX1RPS0VOIH0gZnJvbSAnLi9nYW50dC11cHBlcic7XG5pbXBvcnQgeyBHYW50dExpbmtEcmFnRXZlbnQsIEdhbnR0TGluZUNsaWNrRXZlbnQsIEdhbnR0SXRlbUludGVybmFsLCBHYW50dEl0ZW0sIEdhbnR0U2VsZWN0ZWRFdmVudCB9IGZyb20gJy4vY2xhc3MnO1xuaW1wb3J0IHsgTmd4R2FudHRUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUvZ2FudHQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzaWRlV2lkdGggfSBmcm9tICcuL2dhbnR0LnN0eWxlcyc7XG5pbXBvcnQgeyBjb2VyY2VDc3NQaXhlbFZhbHVlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IE5neEdhbnR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHQU5UVF9BQlNUUkFDVF9UT0tFTiB9IGZyb20gJy4vZ2FudHQtYWJzdHJhY3QnO1xuaW1wb3J0IHsgZGVmYXVsdENvbHVtbldpZHRoIH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dEdsb2JhbENvbmZpZywgR0FOVFRfR0xPQkFMX0NPTkZJRyB9IGZyb20gJy4vZ2FudHQuY29uZmlnJztcbmltcG9ydCB7IE5neEdhbnR0Um9vdENvbXBvbmVudCB9IGZyb20gJy4vcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2FudHREYXRlIH0gZnJvbSAnLi91dGlscy9kYXRlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWdhbnR0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZ2FudHQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBHQU5UVF9VUFBFUl9UT0tFTixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBOZ3hHYW50dENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBHQU5UVF9BQlNUUkFDVF9UT0tFTixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5neEdhbnR0Q29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hHYW50dENvbXBvbmVudCBleHRlbmRzIEdhbnR0VXBwZXIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIG1heExldmVsID0gMjtcblxuICAgIEBJbnB1dCgpIGFzeW5jOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgY2hpbGRyZW5SZXNvbHZlOiAoR2FudHRJdGVtKSA9PiBPYnNlcnZhYmxlPEdhbnR0SXRlbVtdPjtcblxuICAgIEBJbnB1dCgpIG92ZXJyaWRlIGxpbmthYmxlOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGxpbmtEcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8R2FudHRMaW5rRHJhZ0V2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIG92ZXJyaWRlIGxpbmtEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0TGlua0RyYWdFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBsaW5lQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0TGluZUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0U2VsZWN0ZWRFdmVudD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoTmd4R2FudHRUYWJsZUNvbXBvbmVudCkgdGFibGU6IE5neEdhbnR0VGFibGVDb21wb25lbnQ7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKE5neEdhbnR0VGFibGVDb2x1bW5Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgY29sdW1uczogUXVlcnlMaXN0PE5neEdhbnR0VGFibGVDb2x1bW5Db21wb25lbnQ+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgndGFibGVFbXB0eScsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlRW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2dhbnR0Um9vdCcpIGdhbnR0Um9vdDogTmd4R2FudHRSb290Q29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwdWJsaWMgc2lkZVRhYmxlV2lkdGggPSBzaWRlV2lkdGg7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIG5nWm9uZTogTmdab25lLFxuICAgICAgICBASW5qZWN0KEdBTlRUX0dMT0JBTF9DT05GSUcpIGNvbmZpZzogR2FudHRHbG9iYWxDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyLCBuZ1pvbmUsIGNvbmZpZyk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIC8vIE5vdGU6IHRoZSB6b25lIG1heSBiZSBub29wZWQgdGhyb3VnaCBgQm9vdHN0cmFwT3B0aW9uc2Agd2hlbiBib290c3RyYXBwaW5nIHRoZSByb290IG1vZHVsZS4gVGhpcyBtZWFuc1xuICAgICAgICAvLyB0aGUgYG9uU3RhYmxlYCB3aWxsIG5ldmVyIGVtaXQgYW55IHZhbHVlLlxuICAgICAgICBjb25zdCBvblN0YWJsZSQgPSB0aGlzLm5nWm9uZS5pc1N0YWJsZSA/IGZyb20oUHJvbWlzZS5yZXNvbHZlKCkpIDogdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgLy8gTm9ybWFsbHkgdGhpcyBpc24ndCBpbiB0aGUgem9uZSwgYnV0IGl0IGNhbiBjYXVzZSBwZXJmb3JtYW5jZSByZWdyZXNzaW9ucyBmb3IgYXBwc1xuICAgICAgICAvLyB1c2luZyBgem9uZS1wYXRjaC1yeGpzYCBiZWNhdXNlIGl0J2xsIHRyaWdnZXIgYSBjaGFuZ2UgZGV0ZWN0aW9uIHdoZW4gaXQgdW5zdWJzY3JpYmVzLlxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBvblN0YWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ0NvbnRhaW5lci5saW5rRHJhZ1N0YXJ0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoZXZlbnQ6IEdhbnR0TGlua0RyYWdFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxpbmtEcmFnU3RhcnRlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyYWdDb250YWluZXIubGlua0RyYWdFbmRlZC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKChldmVudDogR2FudHRMaW5rRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlua0RyYWdFbmRlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY29sdW1ucy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRydWUpLCB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFjb2x1bW4uY29sdW1uV2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLmNvbHVtbldpZHRoID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZShkZWZhdWx0Q29sdW1uV2lkdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBleHBhbmRDaGlsZHJlbihpdGVtOiBHYW50dEl0ZW1JbnRlcm5hbCkge1xuICAgICAgICBpZiAoIWl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIGl0ZW0uc2V0RXhwYW5kKHRydWUpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXN5bmMgJiYgdGhpcy5jaGlsZHJlblJlc29sdmUgJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBpdGVtLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5SZXNvbHZlKGl0ZW0ub3JpZ2luKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBhbmRDaGFuZ2UuZW1pdChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmFkZENoaWxkcmVuKGl0ZW1zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZUl0ZW1zUmVmcyguLi5pdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcHV0ZUl0ZW1zUmVmcyguLi5pdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZENoYW5nZS5lbWl0KGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXRlbS5zZXRFeHBhbmQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5leHBhbmRDaGFuZ2UuZW1pdChpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdEl0ZW0oc2VsZWN0RXZlbnQ6IEdhbnR0U2VsZWN0ZWRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0YWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgZXZlbnQsIHNlbGVjdGVkVmFsdWUgfSA9IHNlbGVjdEV2ZW50O1xuICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnRvZ2dsZSgoc2VsZWN0ZWRWYWx1ZSBhcyBHYW50dEl0ZW0pLmlkKTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQ7XG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICBjb25zdCBfc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuZ2V0R2FudHRJdGVtcyhzZWxlY3RlZElkcykubWFwKChpdGVtKSA9PiBpdGVtLm9yaWdpbik7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoeyBldmVudCwgc2VsZWN0ZWRWYWx1ZTogX3NlbGVjdGVkVmFsdWUgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBfc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuZ2V0R2FudHRJdGVtKHNlbGVjdGVkSWRzWzBdKT8ub3JpZ2luO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHsgZXZlbnQsIHNlbGVjdGVkVmFsdWU6IF9zZWxlY3RlZFZhbHVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9Ub2RheSgpIHtcbiAgICAgICAgdGhpcy5nYW50dFJvb3Quc2Nyb2xsVG9Ub2RheSgpO1xuICAgIH1cblxuICAgIHNjcm9sbFRvRGF0ZShkYXRlOiBudW1iZXIgfCBHYW50dERhdGUpIHtcbiAgICAgICAgdGhpcy5nYW50dFJvb3Quc2Nyb2xsVG9EYXRlKGRhdGUpO1xuICAgIH1cbn1cbiIsIjxuZ3gtZ2FudHQtcm9vdCAjZ2FudHRSb290PlxuICA8bmctdGVtcGxhdGUgI3NpZGVUZW1wbGF0ZT5cbiAgICA8Z2FudHQtdGFibGVcbiAgICAgIFtncm91cHNdPVwiZ3JvdXBzXCJcbiAgICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgIFtncm91cFRlbXBsYXRlXT1cImdyb3VwVGVtcGxhdGVcIlxuICAgICAgW2VtcHR5VGVtcGxhdGVdPVwidGFibGVFbXB0eVRlbXBsYXRlXCJcbiAgICAgIFtyb3dCZWZvcmVUZW1wbGF0ZV09XCJ0YWJsZT8ucm93QmVmb3JlVGVtcGxhdGVcIlxuICAgICAgW3Jvd0FmdGVyVGVtcGxhdGVdPVwidGFibGU/LnJvd0FmdGVyVGVtcGxhdGVcIlxuICAgICAgKGl0ZW1DbGljayk9XCJzZWxlY3RJdGVtKCRldmVudClcIlxuICAgID48L2dhbnR0LXRhYmxlPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI21haW5UZW1wbGF0ZT5cbiAgICA8Z2FudHQtbWFpblxuICAgICAgW2dyb3Vwc109XCJncm91cHNcIlxuICAgICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICAgIFtncm91cEhlYWRlclRlbXBsYXRlXT1cImdyb3VwSGVhZGVyVGVtcGxhdGVcIlxuICAgICAgW2l0ZW1UZW1wbGF0ZV09XCJpdGVtVGVtcGxhdGVcIlxuICAgICAgW2JhclRlbXBsYXRlXT1cImJhclRlbXBsYXRlXCJcbiAgICAgIFtyYW5nZVRlbXBsYXRlXT1cInJhbmdlVGVtcGxhdGVcIlxuICAgICAgKGJhckNsaWNrKT1cImJhckNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAobGluZUNsaWNrKT1cImxpbmVDbGljay5lbWl0KCRldmVudClcIlxuICAgID5cbiAgICA8L2dhbnR0LW1haW4+XG4gIDwvbmctdGVtcGxhdGU+XG48L25neC1nYW50dC1yb290PlxuIl19
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2dhbnR0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9nYW50dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsWUFBWSxFQUNaLE1BQU0sRUFHTixlQUFlLEVBR2YsWUFBWSxFQUVaLFVBQVUsRUFDVixNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFHWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWEsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBcUIsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQWMsS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWtCNUUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7SUFTN0MsSUFBYSxPQUFPLENBQUMsT0FBZ0I7UUFDakMsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJLElBQUks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OzRCQUNJLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDO3lCQUNuRDtxQkFDSjs7MEJBcUVJLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsbUJBQW1COzRDQW5FdEIsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFWSxRQUFRO3NCQUF6QixLQUFLO2dCQUVPLE9BQU87c0JBQW5CLEtBQUs7Z0JBb0JHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTTtnQkFFWSxhQUFhO3NCQUEvQixNQUFNO2dCQUVHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTTtnQkFFd0MsS0FBSztzQkFBbkQsWUFBWTt1QkFBQyxzQkFBc0I7Z0JBRWtDLE9BQU87c0JBQTVFLGVBQWU7dUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUV0QixrQkFBa0I7c0JBQS9ELFlBQVk7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFcEIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUVlLGFBQWE7c0JBQWpELFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgSW5wdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE91dHB1dCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBOZ1pvbmUsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgT3B0aW9uYWwsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIHRha2VVbnRpbCwgdGFrZSwgZmluYWxpemUsIHNraXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHYW50dFVwcGVyLCBHQU5UVF9VUFBFUl9UT0tFTiB9IGZyb20gJy4vZ2FudHQtdXBwZXInO1xuaW1wb3J0IHsgR2FudHRMaW5rRHJhZ0V2ZW50LCBHYW50dExpbmVDbGlja0V2ZW50LCBHYW50dEl0ZW1JbnRlcm5hbCwgR2FudHRJdGVtLCBHYW50dFNlbGVjdGVkRXZlbnQsIEdhbnR0R3JvdXBJbnRlcm5hbCB9IGZyb20gJy4vY2xhc3MnO1xuaW1wb3J0IHsgTmd4R2FudHRUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUvZ2FudHQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VDc3NQaXhlbFZhbHVlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IE5neEdhbnR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHQU5UVF9BQlNUUkFDVF9UT0tFTiB9IGZyb20gJy4vZ2FudHQtYWJzdHJhY3QnO1xuaW1wb3J0IHsgR2FudHRHbG9iYWxDb25maWcsIEdBTlRUX0dMT0JBTF9DT05GSUcgfSBmcm9tICcuL2dhbnR0LmNvbmZpZyc7XG5pbXBvcnQgeyBOZ3hHYW50dFJvb3RDb21wb25lbnQgfSBmcm9tICcuL3Jvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IERpY3Rpb25hcnksIGtleUJ5LCByZWN1cnNpdmVJdGVtcywgdW5pcUJ5IH0gZnJvbSAnLi91dGlscy9oZWxwZXJzJztcbmltcG9ydCB7IEdhbnR0UHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9nYW50dC1wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IGRlZmF1bHRDb2x1bW5XaWR0aCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9oZWFkZXIvZ2FudHQtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1nYW50dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dhbnR0LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogR0FOVFRfVVBQRVJfVE9LRU4sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTmd4R2FudHRDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogR0FOVFRfQUJTVFJBQ1RfVE9LRU4sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ3hHYW50dENvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRDb21wb25lbnQgZXh0ZW5kcyBHYW50dFVwcGVyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpIG1heExldmVsID0gMjtcblxuICAgIEBJbnB1dCgpIGFzeW5jOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgY2hpbGRyZW5SZXNvbHZlOiAoR2FudHRJdGVtKSA9PiBPYnNlcnZhYmxlPEdhbnR0SXRlbVtdPjtcblxuICAgIEBJbnB1dCgpIG92ZXJyaWRlIGxpbmthYmxlOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgc2V0IGxvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xuICAgICAgICBpZiAobG9hZGluZykge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9hZGluZ0RlbGF5ID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1RpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzLmxvYWRpbmdEZWxheSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubG9hZGluZ1RpbWVyKTtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGxvYWRpbmcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGxvYWRpbmdEZWxheTogbnVtYmVyID0gMDtcblxuICAgIEBPdXRwdXQoKSBsaW5rRHJhZ1N0YXJ0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0TGlua0RyYWdFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBvdmVycmlkZSBsaW5rRHJhZ0VuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmtEcmFnRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgbGluZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dExpbmVDbGlja0V2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dFNlbGVjdGVkRXZlbnQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKE5neEdhbnR0VGFibGVDb21wb25lbnQpIG92ZXJyaWRlIHRhYmxlOiBOZ3hHYW50dFRhYmxlQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihOZ3hHYW50dFRhYmxlQ29sdW1uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGNvbHVtbnM6IFF1ZXJ5TGlzdDxOZ3hHYW50dFRhYmxlQ29sdW1uQ29tcG9uZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ3RhYmxlRW1wdHknLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZUVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdnYW50dFJvb3QnKSBnYW50dFJvb3Q6IE5neEdhbnR0Um9vdENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSB2aXJ0dWFsU2Nyb2xsOiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG5cbiAgICBwdWJsaWMgZmxhdERhdGE6IChHYW50dEdyb3VwSW50ZXJuYWwgfCBHYW50dEl0ZW1JbnRlcm5hbClbXSA9IFtdO1xuXG4gICAgcHVibGljIHJlbmRlckRhdGE6IChHYW50dEdyb3VwSW50ZXJuYWwgfCBHYW50dEl0ZW1JbnRlcm5hbClbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBsb2FkaW5nVGltZXI7XG5cbiAgICBwcml2YXRlIHJhbmdlU3RhcnQ6IG51bWJlcjtcblxuICAgIHByaXZhdGUgcmFuZ2VFbmQ6IG51bWJlcjtcblxuICAgIHByaXZhdGUgZmxhdERhdGFNYXA6IERpY3Rpb25hcnk8R2FudHRHcm91cEludGVybmFsIHwgR2FudHRJdGVtSW50ZXJuYWw+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwcmludFNlcnZpY2U6IEdhbnR0UHJpbnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEdBTlRUX0dMT0JBTF9DT05GSUcpIGNvbmZpZzogR2FudHRHbG9iYWxDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyLCBuZ1pvbmUsIGNvbmZpZyk7XG4gICAgICAgIHRoaXMuY29tcHV0ZUFsbFJlZnMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5idWlsZFZpcnR1YWxGbGF0RGF0YSgpO1xuICAgICAgICAvLyBOb3RlOiB0aGUgem9uZSBtYXkgYmUgbm9vcGVkIHRocm91Z2ggYEJvb3RzdHJhcE9wdGlvbnNgIHdoZW4gYm9vdHN0cmFwcGluZyB0aGUgcm9vdCBtb2R1bGUuIFRoaXMgbWVhbnNcbiAgICAgICAgLy8gdGhlIGBvblN0YWJsZWAgd2lsbCBuZXZlciBlbWl0IGFueSB2YWx1ZS5cbiAgICAgICAgY29uc3Qgb25TdGFibGUkID0gdGhpcy5uZ1pvbmUuaXNTdGFibGUgPyBmcm9tKFByb21pc2UucmVzb2x2ZSgpKSA6IHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSk7XG4gICAgICAgIC8vIE5vcm1hbGx5IHRoaXMgaXNuJ3QgaW4gdGhlIHpvbmUsIGJ1dCBpdCBjYW4gY2F1c2UgcGVyZm9ybWFuY2UgcmVncmVzc2lvbnMgZm9yIGFwcHNcbiAgICAgICAgLy8gdXNpbmcgYHpvbmUtcGF0Y2gtcnhqc2AgYmVjYXVzZSBpdCdsbCB0cmlnZ2VyIGEgY2hhbmdlIGRldGVjdGlvbiB3aGVuIGl0IHVuc3Vic2NyaWJlcy5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgb25TdGFibGUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmRyYWdDb250YWluZXIuZHJhZ0VuZGVkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAvLyAgICAgdGhpcy5jb21wdXRlVGVtcERhdGFSZWZzKCk7XG4gICAgICAgICAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmRyYWdDb250YWluZXIubGlua0RyYWdTdGFydGVkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKChldmVudDogR2FudHRMaW5rRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlua0RyYWdTdGFydGVkLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5kcmFnQ29udGFpbmVyLmxpbmtEcmFnRW5kZWQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKGV2ZW50OiBHYW50dExpbmtEcmFnRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saW5rRHJhZ0VuZGVkLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudmlldy5zdGFydCQucGlwZShza2lwKDEpLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jb21wdXRlVGVtcERhdGFSZWZzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGlmICghdGhpcy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXMudmlld1R5cGUgJiYgY2hhbmdlcy52aWV3VHlwZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckRhdGEgPSB0aGlzLmZsYXREYXRhLnNsaWNlKHRoaXMucmFuZ2VTdGFydCwgdGhpcy5yYW5nZUVuZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlVGVtcERhdGFSZWZzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY2hhbmdlcy5vcmlnaW5JdGVtcyB8fCBjaGFuZ2VzLm9yaWdpbkdyb3Vwcykge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRWaXJ0dWFsRmxhdERhdGEoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckRhdGEgPSB0aGlzLmZsYXREYXRhLnNsaWNlKHRoaXMucmFuZ2VTdGFydCwgdGhpcy5yYW5nZUVuZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlVGVtcERhdGFSZWZzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMudmlydHVhbFNjcm9sbC5yZW5kZXJlZFJhbmdlU3RyZWFtLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKChyYW5nZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGlua3NFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmdhbnR0LWxpbmtzLW92ZXJsYXknKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgICAgICAgIGxpbmtzRWxlbWVudC5zdHlsZS50b3AgPSBgJHstKHRoaXMuc3R5bGVzLmxpbmVIZWlnaHQgKiByYW5nZS5zdGFydCl9cHhgO1xuICAgICAgICAgICAgdGhpcy5yYW5nZVN0YXJ0ID0gcmFuZ2Uuc3RhcnQ7XG4gICAgICAgICAgICB0aGlzLnJhbmdlRW5kID0gcmFuZ2UuZW5kO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJEYXRhID0gdGhpcy5mbGF0RGF0YS5zbGljZShyYW5nZS5zdGFydCwgcmFuZ2UuZW5kKTtcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZVRlbXBEYXRhUmVmcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkVmlydHVhbEZsYXREYXRhKCkge1xuICAgICAgICBjb25zdCB2aXJ0dWFsRGF0YSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5ncm91cHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmdyb3Vwcy5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgICAgICAgICAgIHZpcnR1YWxEYXRhLnB1c2goZ3JvdXApO1xuICAgICAgICAgICAgICAgIGlmIChncm91cC5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IHJlY3Vyc2l2ZUl0ZW1zKGdyb3VwLml0ZW1zKTtcbiAgICAgICAgICAgICAgICAgICAgdmlydHVhbERhdGEucHVzaCguLi5pdGVtcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHZpcnR1YWxEYXRhLnB1c2goLi4ucmVjdXJzaXZlSXRlbXModGhpcy5pdGVtcykpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmxhdERhdGEgPSBbLi4udmlydHVhbERhdGFdO1xuICAgICAgICB0aGlzLmZsYXREYXRhTWFwID0ga2V5QnkodGhpcy5mbGF0RGF0YSwgJ2lkJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZnRlckV4cGFuZCgpIHtcbiAgICAgICAgdGhpcy5idWlsZFZpcnR1YWxGbGF0RGF0YSgpO1xuICAgICAgICB0aGlzLnJlbmRlckRhdGEgPSB0aGlzLmZsYXREYXRhLnNsaWNlKHRoaXMucmFuZ2VTdGFydCwgdGhpcy5yYW5nZUVuZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlVGVtcERhdGFSZWZzKCkge1xuICAgICAgICBjb25zdCB0ZW1wSXRlbURhdGEgPSBbXTtcbiAgICAgICAgdGhpcy5yZW5kZXJEYXRhLmZvckVhY2goKGRhdGE6IEdhbnR0R3JvdXBJbnRlcm5hbCB8IEdhbnR0SXRlbUludGVybmFsKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWRhdGEuaGFzT3duUHJvcGVydHkoJ2l0ZW1zJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZGF0YSBhcyBHYW50dEl0ZW1JbnRlcm5hbDtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5saW5rcykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmxpbmtzLmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZsYXREYXRhTWFwW2xpbmsubGlua10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wSXRlbURhdGEucHVzaCh0aGlzLmZsYXREYXRhTWFwW2xpbmsubGlua10pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGVtcEl0ZW1EYXRhLnB1c2goZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbXB1dGVJdGVtc1JlZnMoLi4udW5pcUJ5KHRlbXBJdGVtRGF0YSwgJ2lkJykpO1xuICAgICAgICB0aGlzLmZsYXREYXRhID0gWy4uLnRoaXMuZmxhdERhdGFdO1xuICAgICAgICB0aGlzLnJlbmRlckRhdGEgPSBbLi4udGhpcy5yZW5kZXJEYXRhXTtcbiAgICB9XG5cbiAgICBleHBhbmRDaGlsZHJlbihpdGVtOiBHYW50dEl0ZW1JbnRlcm5hbCkge1xuICAgICAgICBpZiAoIWl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIGl0ZW0uc2V0RXhwYW5kKHRydWUpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXN5bmMgJiYgdGhpcy5jaGlsZHJlblJlc29sdmUgJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBpdGVtLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5SZXNvbHZlKGl0ZW0ub3JpZ2luKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZnRlckV4cGFuZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kQ2hhbmdlLmVtaXQoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5hZGRDaGlsZHJlbihpdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVJdGVtc1JlZnMoLi4uaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVJdGVtc1JlZnMoLi4uaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgdGhpcy5hZnRlckV4cGFuZCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kQ2hhbmdlLmVtaXQoaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpdGVtLnNldEV4cGFuZChmYWxzZSk7XG4gICAgICAgICAgICB0aGlzLmFmdGVyRXhwYW5kKCk7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZENoYW5nZS5lbWl0KGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0SXRlbShzZWxlY3RFdmVudDogR2FudHRTZWxlY3RlZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBldmVudCwgc2VsZWN0ZWRWYWx1ZSB9ID0gc2VsZWN0RXZlbnQ7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwudG9nZ2xlKChzZWxlY3RlZFZhbHVlIGFzIEdhbnR0SXRlbSkuaWQpO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0gdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZDtcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IF9zZWxlY3RlZFZhbHVlID0gdGhpcy5nZXRHYW50dEl0ZW1zKHNlbGVjdGVkSWRzKS5tYXAoKGl0ZW0pID0+IGl0ZW0ub3JpZ2luKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh7IGV2ZW50LCBzZWxlY3RlZFZhbHVlOiBfc2VsZWN0ZWRWYWx1ZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IF9zZWxlY3RlZFZhbHVlID0gdGhpcy5nZXRHYW50dEl0ZW0oc2VsZWN0ZWRJZHNbMF0pPy5vcmlnaW47XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoeyBldmVudCwgc2VsZWN0ZWRWYWx1ZTogX3NlbGVjdGVkVmFsdWUgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzY3JvbGxUb1RvZGF5KCkge1xuICAgICAgICB0aGlzLmdhbnR0Um9vdC5zY3JvbGxUb1RvZGF5KCk7XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9EYXRlKGRhdGU6IG51bWJlciB8IEdhbnR0RGF0ZSkge1xuICAgICAgICB0aGlzLmdhbnR0Um9vdC5zY3JvbGxUb0RhdGUoZGF0ZSk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZXhwYW5kR3JvdXBzKGV4cGFuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZ3JvdXBzLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICBncm91cC5zZXRFeHBhbmQoZXhwYW5kZWQpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFmdGVyRXhwYW5kKCk7XG4gICAgICAgIHRoaXMuZXhwYW5kQ2hhbmdlLm5leHQobnVsbCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBleHBhbmRHcm91cChncm91cDogR2FudHRHcm91cEludGVybmFsKSB7XG4gICAgICAgIGdyb3VwLnNldEV4cGFuZCghZ3JvdXAuZXhwYW5kZWQpO1xuICAgICAgICB0aGlzLmFmdGVyRXhwYW5kKCk7XG4gICAgICAgIHRoaXMuZXhwYW5kQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjxuZ3gtZ2FudHQtcm9vdCAjZ2FudHRSb290PlxuICA8ZGl2IGNsYXNzPVwiZ2FudHQtaGVhZGVyXCI+XG4gICAgPGdhbnR0LXRhYmxlLWhlYWRlciAjdGFibGVIZWFkZXIgW2NvbHVtbnNdPVwiY29sdW1uc1wiPjwvZ2FudHQtdGFibGUtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJnYW50dC1jb250YWluZXItaGVhZGVyXCI+XG4gICAgICA8Z2FudHQtY2FsZW5kYXItaGVhZGVyPjwvZ2FudHQtY2FsZW5kYXItaGVhZGVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGdhbnR0LWxvYWRlciAqbmdJZj1cImxvYWRpbmdcIj48L2dhbnR0LWxvYWRlcj5cbiAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgIGNsYXNzPVwiZ2FudHQtdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcIlxuICAgIFtpdGVtU2l6ZV09XCJzdHlsZXMubGluZUhlaWdodFwiXG4gICAgW21pbkJ1ZmZlclB4XT1cInN0eWxlcy5saW5lSGVpZ2h0ICogMTBcIlxuICAgIFttYXhCdWZmZXJQeF09XCJzdHlsZXMubGluZUhlaWdodCAqIDIwXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgaXRlbSBvZiBmbGF0RGF0YTsgdHJhY2tCeTogdHJhY2tCeVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJnYW50dC1zaWRlXCIgW3N0eWxlLndpZHRoLnB4XT1cInRhYmxlSGVhZGVyLnRhYmxlV2lkdGggKyAxXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ2FudHQtc2lkZS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdhbnR0LXRhYmxlXCI+XG4gICAgICAgICAgPGdhbnR0LXRhYmxlLWJvZHlcbiAgICAgICAgICAgIFtmbGF0RGF0YV09XCJmbGF0RGF0YVwiXG4gICAgICAgICAgICBbcmVuZGVyRGF0YV09XCJyZW5kZXJEYXRhXCJcbiAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgW2dyb3VwVGVtcGxhdGVdPVwiZ3JvdXBUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbZW1wdHlUZW1wbGF0ZV09XCJ0YWJsZUVtcHR5VGVtcGxhdGVcIlxuICAgICAgICAgICAgW3Jvd0JlZm9yZVRlbXBsYXRlXT1cInRhYmxlPy5yb3dCZWZvcmVUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbcm93QWZ0ZXJUZW1wbGF0ZV09XCJ0YWJsZT8ucm93QWZ0ZXJUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbZHJhZ2dhYmxlXT1cInRhYmxlLmRyYWdnYWJsZVwiXG4gICAgICAgICAgICBbZHJvcEVudGVyUHJlZGljYXRlXT1cInRhYmxlLmRyb3BFbnRlclByZWRpY2F0ZVwiXG4gICAgICAgICAgICAoZHJhZ0Ryb3BwZWQpPVwidGFibGUuZHJhZ0Ryb3BwZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChpdGVtQ2xpY2spPVwic2VsZWN0SXRlbSgkZXZlbnQpXCJcbiAgICAgICAgICA+PC9nYW50dC10YWJsZS1ib2R5PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnYW50dC1jb250YWluZXJcIj5cbiAgICAgIDxnYW50dC1jYWxlbmRhci1ncmlkPjwvZ2FudHQtY2FsZW5kYXItZ3JpZD5cbiAgICAgIDxkaXYgY2xhc3M9XCJnYW50dC1tYWluXCI+XG4gICAgICAgIDxnYW50dC1tYWluXG4gICAgICAgICAgW2ZsYXREYXRhXT1cImZsYXREYXRhXCJcbiAgICAgICAgICBbcmVuZGVyRGF0YV09XCJyZW5kZXJEYXRhXCJcbiAgICAgICAgICBbZ3JvdXBIZWFkZXJUZW1wbGF0ZV09XCJncm91cEhlYWRlclRlbXBsYXRlXCJcbiAgICAgICAgICBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgW2JhclRlbXBsYXRlXT1cImJhclRlbXBsYXRlXCJcbiAgICAgICAgICBbcmFuZ2VUZW1wbGF0ZV09XCJyYW5nZVRlbXBsYXRlXCJcbiAgICAgICAgICAoYmFyQ2xpY2spPVwiYmFyQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAobGluZUNsaWNrKT1cImxpbmVDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvZ2FudHQtbWFpbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbiAgPGdhbnR0LWRyYWctYmFja2Ryb3AgW3N0eWxlLmxlZnQucHhdPVwidGFibGVIZWFkZXIudGFibGVXaWR0aCArIDFcIj48L2dhbnR0LWRyYWctYmFja2Ryb3A+XG48L25neC1nYW50dC1yb290PlxuIl19
|
package/esm2020/gantt.module.mjs
CHANGED
|
@@ -3,8 +3,8 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { NgxGanttComponent } from './gantt.component';
|
|
4
4
|
import { NgxGanttTableComponent } from './table/gantt-table.component';
|
|
5
5
|
import { NgxGanttTableColumnComponent } from './table/gantt-column.component';
|
|
6
|
-
import { GanttCalendarComponent } from './components/calendar/calendar.component';
|
|
7
|
-
import { GanttTableComponent } from './components/table/gantt-table.component';
|
|
6
|
+
// import { GanttCalendarComponent } from './components/calendar/calendar.component';
|
|
7
|
+
// import { GanttTableComponent } from './components/table/gantt-table.component';
|
|
8
8
|
import { NgxGanttBarComponent } from './components/bar/bar.component';
|
|
9
9
|
import { GanttMainComponent } from './components/main/gantt-main.component';
|
|
10
10
|
import { GanttIconComponent } from './components/icon/icon.component';
|
|
@@ -17,6 +17,12 @@ import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
|
17
17
|
import { GANTT_GLOBAL_CONFIG, defaultConfig } from './gantt.config';
|
|
18
18
|
import { NgxGanttBaselineComponent } from './components/baseline/baseline.component';
|
|
19
19
|
import { NgxGanttToolbarComponent } from './components/toolbar/toolbar.component';
|
|
20
|
+
import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
|
|
21
|
+
import { GanttTableHeaderComponent } from './components/table/header/gantt-table-header.component';
|
|
22
|
+
import { GanttCalendarHeaderComponent } from './components/calendar/header/calendar-header.component';
|
|
23
|
+
import { GanttCalendarGridComponent } from './components/calendar/grid/calendar-grid.component';
|
|
24
|
+
import { GanttTableBodyComponent } from './components/table/body/gantt-table-body.component';
|
|
25
|
+
import { GanttLoaderComponent } from './components/loader/loader.component';
|
|
20
26
|
import * as i0 from "@angular/core";
|
|
21
27
|
export class NgxGanttModule {
|
|
22
28
|
}
|
|
@@ -24,10 +30,15 @@ NgxGanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version:
|
|
|
24
30
|
NgxGanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttModule, declarations: [NgxGanttComponent,
|
|
25
31
|
NgxGanttTableComponent,
|
|
26
32
|
NgxGanttTableColumnComponent,
|
|
27
|
-
GanttTableComponent,
|
|
33
|
+
// GanttTableComponent,
|
|
34
|
+
GanttTableHeaderComponent,
|
|
35
|
+
GanttTableBodyComponent,
|
|
28
36
|
GanttMainComponent,
|
|
29
|
-
GanttCalendarComponent,
|
|
37
|
+
// GanttCalendarComponent,
|
|
38
|
+
GanttCalendarHeaderComponent,
|
|
39
|
+
GanttCalendarGridComponent,
|
|
30
40
|
GanttLinksComponent,
|
|
41
|
+
GanttLoaderComponent,
|
|
31
42
|
NgxGanttBarComponent,
|
|
32
43
|
GanttIconComponent,
|
|
33
44
|
GanttDragBackdropComponent,
|
|
@@ -37,7 +48,7 @@ NgxGanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
37
48
|
NgxGanttToolbarComponent,
|
|
38
49
|
IsGanttRangeItemPipe,
|
|
39
50
|
IsGanttBarItemPipe,
|
|
40
|
-
IsGanttCustomItemPipe], imports: [CommonModule, DragDropModule], exports: [NgxGanttComponent,
|
|
51
|
+
IsGanttCustomItemPipe], imports: [CommonModule, DragDropModule, ScrollingModule], exports: [NgxGanttComponent,
|
|
41
52
|
NgxGanttTableComponent,
|
|
42
53
|
NgxGanttTableColumnComponent,
|
|
43
54
|
NgxGanttRootComponent,
|
|
@@ -46,15 +57,16 @@ NgxGanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
|
|
|
46
57
|
NgxGanttBaselineComponent,
|
|
47
58
|
NgxGanttToolbarComponent] });
|
|
48
59
|
NgxGanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttModule, providers: [
|
|
60
|
+
CdkVirtualScrollViewport,
|
|
49
61
|
{
|
|
50
62
|
provide: GANTT_GLOBAL_CONFIG,
|
|
51
63
|
useValue: defaultConfig
|
|
52
64
|
}
|
|
53
|
-
], imports: [CommonModule, DragDropModule] });
|
|
65
|
+
], imports: [CommonModule, DragDropModule, ScrollingModule] });
|
|
54
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttModule, decorators: [{
|
|
55
67
|
type: NgModule,
|
|
56
68
|
args: [{
|
|
57
|
-
imports: [CommonModule, DragDropModule],
|
|
69
|
+
imports: [CommonModule, DragDropModule, ScrollingModule],
|
|
58
70
|
exports: [
|
|
59
71
|
NgxGanttComponent,
|
|
60
72
|
NgxGanttTableComponent,
|
|
@@ -69,10 +81,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
69
81
|
NgxGanttComponent,
|
|
70
82
|
NgxGanttTableComponent,
|
|
71
83
|
NgxGanttTableColumnComponent,
|
|
72
|
-
GanttTableComponent,
|
|
84
|
+
// GanttTableComponent,
|
|
85
|
+
GanttTableHeaderComponent,
|
|
86
|
+
GanttTableBodyComponent,
|
|
73
87
|
GanttMainComponent,
|
|
74
|
-
GanttCalendarComponent,
|
|
88
|
+
// GanttCalendarComponent,
|
|
89
|
+
GanttCalendarHeaderComponent,
|
|
90
|
+
GanttCalendarGridComponent,
|
|
75
91
|
GanttLinksComponent,
|
|
92
|
+
GanttLoaderComponent,
|
|
76
93
|
NgxGanttBarComponent,
|
|
77
94
|
GanttIconComponent,
|
|
78
95
|
GanttDragBackdropComponent,
|
|
@@ -85,6 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
85
102
|
IsGanttCustomItemPipe
|
|
86
103
|
],
|
|
87
104
|
providers: [
|
|
105
|
+
CdkVirtualScrollViewport,
|
|
88
106
|
{
|
|
89
107
|
provide: GANTT_GLOBAL_CONFIG,
|
|
90
108
|
useValue: defaultConfig
|
|
@@ -92,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
|
92
110
|
]
|
|
93
111
|
}]
|
|
94
112
|
}] });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL2dhbnR0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxxRkFBcUY7QUFDckYsa0ZBQWtGO0FBQ2xGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUE4QzVFLE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBL0JuQixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1Qix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLDBCQUEwQjtRQUMxQixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLHlCQUF5QjtRQUN6Qix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixxQkFBcUIsYUFqQ2YsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLGFBRW5ELGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsNEJBQTRCO1FBQzVCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6Qix3QkFBd0I7NEdBa0NuQixjQUFjLGFBUlo7UUFDUCx3QkFBd0I7UUFDeEI7WUFDSSxPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLFFBQVEsRUFBRSxhQUFhO1NBQzFCO0tBQ0osWUF6Q1MsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlOzJGQTJDOUMsY0FBYztrQkE1QzFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUM7b0JBQ3hELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsNEJBQTRCO3dCQUM1QixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6Qix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiw0QkFBNEI7d0JBQzVCLDBCQUEwQjt3QkFDMUIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDeEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLHdCQUF3Qjt3QkFDeEI7NEJBQ0ksT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsUUFBUSxFQUFFLGFBQWE7eUJBQzFCO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3hHYW50dENvbXBvbmVudCB9IGZyb20gJy4vZ2FudHQuY29tcG9uZW50JztcbmltcG9ydCB7IE5neEdhbnR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hHYW50dFRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50Jztcbi8vIGltcG9ydCB7IEdhbnR0Q2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50Jztcbi8vIGltcG9ydCB7IEdhbnR0VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvZ2FudHQtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE5neEdhbnR0QmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhci9iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0TWFpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tYWluL2dhbnR0LW1haW4uY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0RHJhZ0JhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyYWctYmFja2Ryb3AvZHJhZy1iYWNrZHJvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2FudHRMaW5rc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9saW5rcy9saW5rcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmd4R2FudHRSb290Q29tcG9uZW50IH0gZnJvbSAnLi9yb290LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hHYW50dFJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JhbmdlL3JhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJc0dhbnR0UmFuZ2VJdGVtUGlwZSwgSXNHYW50dEJhckl0ZW1QaXBlLCBJc0dhbnR0Q3VzdG9tSXRlbVBpcGUgfSBmcm9tICcuL2dhbnR0LnBpcGUnO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEdBTlRUX0dMT0JBTF9DT05GSUcsIGRlZmF1bHRDb25maWcgfSBmcm9tICcuL2dhbnR0LmNvbmZpZyc7XG5pbXBvcnQgeyBOZ3hHYW50dEJhc2VsaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhc2VsaW5lL2Jhc2VsaW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ3hHYW50dFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsIFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgR2FudHRUYWJsZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9oZWFkZXIvZ2FudHQtdGFibGUtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dENhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2hlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0Q2FsZW5kYXJHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2dyaWQvY2FsZW5kYXItZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2FudHRUYWJsZUJvZHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvYm9keS9nYW50dC10YWJsZS1ib2R5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJhZ0Ryb3BNb2R1bGUsIFNjcm9sbGluZ01vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOZ3hHYW50dENvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRUYWJsZUNvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRSb290Q29tcG9uZW50LFxuICAgICAgICBOZ3hHYW50dEJhckNvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRSYW5nZUNvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRCYXNlbGluZUNvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRUb29sYmFyQ29tcG9uZW50XG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgTmd4R2FudHRDb21wb25lbnQsXG4gICAgICAgIE5neEdhbnR0VGFibGVDb21wb25lbnQsXG4gICAgICAgIE5neEdhbnR0VGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgICAgIC8vIEdhbnR0VGFibGVDb21wb25lbnQsXG4gICAgICAgIEdhbnR0VGFibGVIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEdhbnR0VGFibGVCb2R5Q29tcG9uZW50LFxuICAgICAgICBHYW50dE1haW5Db21wb25lbnQsXG4gICAgICAgIC8vIEdhbnR0Q2FsZW5kYXJDb21wb25lbnQsXG4gICAgICAgIEdhbnR0Q2FsZW5kYXJIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEdhbnR0Q2FsZW5kYXJHcmlkQ29tcG9uZW50LFxuICAgICAgICBHYW50dExpbmtzQ29tcG9uZW50LFxuICAgICAgICBHYW50dExvYWRlckNvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRCYXJDb21wb25lbnQsXG4gICAgICAgIEdhbnR0SWNvbkNvbXBvbmVudCxcbiAgICAgICAgR2FudHREcmFnQmFja2Ryb3BDb21wb25lbnQsXG4gICAgICAgIE5neEdhbnR0UmFuZ2VDb21wb25lbnQsXG4gICAgICAgIE5neEdhbnR0Um9vdENvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRCYXNlbGluZUNvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBJc0dhbnR0UmFuZ2VJdGVtUGlwZSxcbiAgICAgICAgSXNHYW50dEJhckl0ZW1QaXBlLFxuICAgICAgICBJc0dhbnR0Q3VzdG9tSXRlbVBpcGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEdBTlRUX0dMT0JBTF9DT05GSUcsXG4gICAgICAgICAgICB1c2VWYWx1ZTogZGVmYXVsdENvbmZpZ1xuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hHYW50dE1vZHVsZSB7fVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -11,6 +11,7 @@ export * from './components/bar/bar.component';
|
|
|
11
11
|
export * from './components/range/range.component';
|
|
12
12
|
export * from './components/baseline/baseline.component';
|
|
13
13
|
export * from './components/toolbar/toolbar.component';
|
|
14
|
+
export * from './components/loader/loader.component';
|
|
14
15
|
export * from './utils/date';
|
|
15
16
|
export * from './class';
|
|
16
17
|
export * from './views/view';
|
|
@@ -19,4 +20,4 @@ export * from './gantt-item-upper';
|
|
|
19
20
|
export * from './gantt.pipe';
|
|
20
21
|
export * from './gantt-print.service';
|
|
21
22
|
export * from './gantt.config';
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGdhbnR0XG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC11cHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3Jvb3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvZ2FudHQtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvZ2FudHQtY29sdW1uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFyL2Jhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3JhbmdlL3JhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmFzZWxpbmUvYmFzZWxpbmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdzL3ZpZXcnO1xuZXhwb3J0IHsgcmVnaXN0ZXJWaWV3IH0gZnJvbSAnLi92aWV3cy9mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQtaXRlbS11cHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC1wcmludC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQuY29uZmlnJztcbiJdfQ==
|