@worktile/gantt 18.1.0-next.2 → 19.0.0

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.
Files changed (74) hide show
  1. package/components/main/gantt-main.component.d.ts +3 -2
  2. package/fesm2022/worktile-gantt.mjs +124 -127
  3. package/fesm2022/worktile-gantt.mjs.map +1 -1
  4. package/gantt-item-upper.d.ts +1 -1
  5. package/gantt-upper.d.ts +1 -1
  6. package/gantt.module.d.ts +1 -1
  7. package/gantt.pipe.d.ts +5 -5
  8. package/package.json +4 -6
  9. package/esm2022/class/baseline.mjs +0 -18
  10. package/esm2022/class/date-point.mjs +0 -11
  11. package/esm2022/class/event.mjs +0 -27
  12. package/esm2022/class/group.mjs +0 -17
  13. package/esm2022/class/index.mjs +0 -9
  14. package/esm2022/class/item.mjs +0 -85
  15. package/esm2022/class/link.mjs +0 -19
  16. package/esm2022/class/toolbar.mjs +0 -2
  17. package/esm2022/class/view-type.mjs +0 -10
  18. package/esm2022/components/bar/bar-drag.mjs +0 -560
  19. package/esm2022/components/bar/bar.component.mjs +0 -132
  20. package/esm2022/components/baseline/baseline.component.mjs +0 -43
  21. package/esm2022/components/calendar/grid/calendar-grid.component.mjs +0 -66
  22. package/esm2022/components/calendar/header/calendar-header.component.mjs +0 -70
  23. package/esm2022/components/drag-backdrop/drag-backdrop.component.mjs +0 -21
  24. package/esm2022/components/icon/icon.component.mjs +0 -37
  25. package/esm2022/components/icon/icons.mjs +0 -93
  26. package/esm2022/components/links/lines/curve.mjs +0 -95
  27. package/esm2022/components/links/lines/factory.mjs +0 -14
  28. package/esm2022/components/links/lines/line.mjs +0 -24
  29. package/esm2022/components/links/lines/straight.mjs +0 -58
  30. package/esm2022/components/links/links.component.mjs +0 -196
  31. package/esm2022/components/loader/loader.component.mjs +0 -30
  32. package/esm2022/components/main/gantt-main.component.mjs +0 -94
  33. package/esm2022/components/range/range.component.mjs +0 -25
  34. package/esm2022/components/scrollbar/scrollbar.component.mjs +0 -27
  35. package/esm2022/components/table/body/gantt-table-body.component.mjs +0 -329
  36. package/esm2022/components/table/header/gantt-table-header.component.mjs +0 -152
  37. package/esm2022/components/toolbar/toolbar.component.mjs +0 -37
  38. package/esm2022/gantt-abstract.mjs +0 -3
  39. package/esm2022/gantt-dom.service.mjs +0 -156
  40. package/esm2022/gantt-drag-container.mjs +0 -78
  41. package/esm2022/gantt-item-upper.mjs +0 -67
  42. package/esm2022/gantt-print.service.mjs +0 -94
  43. package/esm2022/gantt-upper.mjs +0 -402
  44. package/esm2022/gantt.component.mjs +0 -361
  45. package/esm2022/gantt.config.mjs +0 -69
  46. package/esm2022/gantt.module.mjs +0 -141
  47. package/esm2022/gantt.pipe.mjs +0 -61
  48. package/esm2022/gantt.styles.mjs +0 -10
  49. package/esm2022/i18n/i18n.mjs +0 -12
  50. package/esm2022/i18n/index.mjs +0 -18
  51. package/esm2022/i18n/locales/de-de.mjs +0 -51
  52. package/esm2022/i18n/locales/en-us.mjs +0 -49
  53. package/esm2022/i18n/locales/ja-jp.mjs +0 -49
  54. package/esm2022/i18n/locales/ru-ru.mjs +0 -51
  55. package/esm2022/i18n/locales/zh-hans.mjs +0 -49
  56. package/esm2022/i18n/locales/zh-hant.mjs +0 -49
  57. package/esm2022/public-api.mjs +0 -28
  58. package/esm2022/root.component.mjs +0 -174
  59. package/esm2022/table/gantt-column.component.mjs +0 -46
  60. package/esm2022/table/gantt-table.component.mjs +0 -49
  61. package/esm2022/utils/date.mjs +0 -180
  62. package/esm2022/utils/drag-scroll.mjs +0 -54
  63. package/esm2022/utils/helpers.mjs +0 -73
  64. package/esm2022/utils/passive-listeners.mjs +0 -30
  65. package/esm2022/utils/set-style-with-vendor-prefix.mjs +0 -15
  66. package/esm2022/views/day.mjs +0 -58
  67. package/esm2022/views/factory.mjs +0 -22
  68. package/esm2022/views/hour.mjs +0 -89
  69. package/esm2022/views/month.mjs +0 -52
  70. package/esm2022/views/quarter.mjs +0 -55
  71. package/esm2022/views/view.mjs +0 -177
  72. package/esm2022/views/week.mjs +0 -53
  73. package/esm2022/views/year.mjs +0 -54
  74. package/esm2022/worktile-gantt.mjs +0 -5
@@ -1,28 +0,0 @@
1
- /*
2
- * Public API Surface of gantt
3
- */
4
- export * from './gantt.module';
5
- export * from './gantt-upper';
6
- export * from './root.component';
7
- export * from './gantt.component';
8
- export * from './table/gantt-table.component';
9
- export * from './table/gantt-column.component';
10
- export * from './components/bar/bar.component';
11
- export * from './components/range/range.component';
12
- export * from './components/baseline/baseline.component';
13
- export * from './components/toolbar/toolbar.component';
14
- export * from './components/loader/loader.component';
15
- export * from './utils/date';
16
- export * from './class';
17
- export * from './views/view';
18
- export { GanttI18nLocale, GANTT_I18N_LOCALE_TOKEN, zhHansLocale, zhHantLocale, enUsLocale, jaJpLocale, deDeLocale, ruRuLocale } from './i18n';
19
- export { registerView } from './views/factory';
20
- export * from './gantt-item-upper';
21
- export * from './gantt.pipe';
22
- export * from './gantt-print.service';
23
- export * from './gantt.config';
24
- export * from './components/calendar/header/calendar-header.component';
25
- export * from './components/calendar/grid/calendar-grid.component';
26
- export * from './components/drag-backdrop/drag-backdrop.component';
27
- export * from './components/scrollbar/scrollbar.component';
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGNBQWMsQ0FBQztBQUM3QixPQUFPLEVBRUgsZUFBZSxFQUNmLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDYixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZ2FudHRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2dhbnR0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LXVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcm9vdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9nYW50dC10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXIvYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9iYXNlbGluZS9iYXNlbGluZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvZGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vdmlld3Mvdmlldyc7XG5leHBvcnQge1xuICAgIEdhbnR0STE4bkxvY2FsZUNvbmZpZyxcbiAgICBHYW50dEkxOG5Mb2NhbGUsXG4gICAgR0FOVFRfSTE4Tl9MT0NBTEVfVE9LRU4sXG4gICAgemhIYW5zTG9jYWxlLFxuICAgIHpoSGFudExvY2FsZSxcbiAgICBlblVzTG9jYWxlLFxuICAgIGphSnBMb2NhbGUsXG4gICAgZGVEZUxvY2FsZSxcbiAgICBydVJ1TG9jYWxlXG59IGZyb20gJy4vaTE4bic7XG5leHBvcnQgeyByZWdpc3RlclZpZXcgfSBmcm9tICcuL3ZpZXdzL2ZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC1pdGVtLXVwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZ2FudHQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2dhbnR0LXByaW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nYW50dC5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NhbGVuZGFyL2hlYWRlci9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9ncmlkL2NhbGVuZGFyLWdyaWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWJhY2tkcm9wL2RyYWctYmFja2Ryb3AuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,174 +0,0 @@
1
- import { Component, ElementRef, Inject, ContentChild, Input, Optional, ViewChild, HostListener } from '@angular/core';
2
- import { GanttDomService, ScrollDirection } from './gantt-dom.service';
3
- import { GanttDragContainer } from './gantt-drag-container';
4
- import { take, takeUntil, startWith } from 'rxjs/operators';
5
- import { from, Subject } from 'rxjs';
6
- import { GANTT_UPPER_TOKEN } from './gantt-upper';
7
- import { passiveListenerOptions } from './utils/passive-listeners';
8
- import { GanttDragBackdropComponent } from './components/drag-backdrop/drag-backdrop.component';
9
- import { GanttDate } from './utils/date';
10
- import { NgxGanttToolbarComponent } from './components/toolbar/toolbar.component';
11
- import { GanttCalendarGridComponent } from './components/calendar/grid/calendar-grid.component';
12
- import { GanttCalendarHeaderComponent } from './components/calendar/header/calendar-header.component';
13
- import { CdkScrollable } from '@angular/cdk/scrolling';
14
- import { NgIf, NgTemplateOutlet } from '@angular/common';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "./gantt-dom.service";
17
- import * as i2 from "./gantt-drag-container";
18
- import * as i3 from "./gantt-print.service";
19
- import * as i4 from "./gantt-upper";
20
- export class NgxGanttRootComponent {
21
- get view() {
22
- return this.ganttUpper.view;
23
- }
24
- onWindowResize() {
25
- this.computeScrollBarOffset();
26
- }
27
- constructor(elementRef, ngZone, dom, dragContainer, ganttUpper, printService) {
28
- this.elementRef = elementRef;
29
- this.ngZone = ngZone;
30
- this.dom = dom;
31
- this.dragContainer = dragContainer;
32
- this.ganttUpper = ganttUpper;
33
- this.printService = printService;
34
- this.verticalScrollbarWidth = 0;
35
- this.horizontalScrollbarHeight = 0;
36
- this.unsubscribe$ = new Subject();
37
- this.ganttUpper.dragContainer = dragContainer;
38
- }
39
- ngOnInit() {
40
- // Note: the zone may be nooped through `BootstrapOptions` when bootstrapping the root module. This means
41
- // the `onStable` will never emit any value.
42
- const onStable$ = this.ngZone.isStable ? from(Promise.resolve()) : this.ngZone.onStable.pipe(take(1));
43
- // Normally this isn't in the zone, but it can cause performance regressions for apps
44
- // using `zone-patch-rxjs` because it'll trigger a change detection when it unsubscribes.
45
- this.ngZone.runOutsideAngular(() => {
46
- onStable$.pipe(takeUntil(this.unsubscribe$)).subscribe(() => {
47
- this.dom.initialize(this.elementRef);
48
- if (this.printService) {
49
- this.printService.register(this.elementRef);
50
- }
51
- this.setupScrollClass();
52
- this.setupResize();
53
- this.setupViewScroll();
54
- // 优化初始化时Scroll滚动体验问题,通过透明度解决,默认透明度为0,滚动结束后恢复
55
- this.elementRef.nativeElement.style.opacity = '1';
56
- this.ganttUpper.viewChange.pipe(startWith(null), takeUntil(this.unsubscribe$)).subscribe(() => {
57
- this.scrollToToday();
58
- });
59
- this.computeScrollBarOffset();
60
- });
61
- });
62
- }
63
- computeScrollBarOffset() {
64
- const ganttMainContainer = this.dom.mainContainer;
65
- const ganttVerticalScrollContainer = this.dom.verticalScrollContainer;
66
- let verticalScrollbarWidth = 0;
67
- if (ganttVerticalScrollContainer) {
68
- verticalScrollbarWidth = ganttVerticalScrollContainer.offsetWidth - ganttVerticalScrollContainer.clientWidth;
69
- }
70
- else {
71
- verticalScrollbarWidth = ganttMainContainer?.offsetWidth - ganttMainContainer?.clientWidth;
72
- }
73
- const horizontalScrollbarHeight = ganttMainContainer?.offsetHeight - ganttMainContainer?.clientHeight;
74
- this.verticalScrollbarWidth = verticalScrollbarWidth;
75
- this.horizontalScrollbarHeight = horizontalScrollbarHeight;
76
- }
77
- ngOnDestroy() {
78
- this.unsubscribe$.next();
79
- }
80
- setupViewScroll() {
81
- if (this.ganttUpper.disabledLoadOnScroll && !this.ganttUpper.quickTimeFocus) {
82
- return;
83
- }
84
- this.dom
85
- .getViewerScroll(passiveListenerOptions)
86
- .pipe(takeUntil(this.unsubscribe$))
87
- .subscribe((event) => {
88
- if (event.direction === ScrollDirection.LEFT) {
89
- const dates = this.view.addStartDate();
90
- if (dates) {
91
- event.target.scrollLeft += this.view.getDateRangeWidth(dates.start, dates.end);
92
- if (this.ganttUpper.loadOnScroll.observers) {
93
- this.ngZone.run(() => this.ganttUpper.loadOnScroll.emit({ start: dates.start.getUnixTime(), end: dates.end.getUnixTime() }));
94
- }
95
- }
96
- }
97
- if (event.direction === ScrollDirection.RIGHT) {
98
- const dates = this.view.addEndDate();
99
- if (dates && this.ganttUpper.loadOnScroll.observers) {
100
- this.ngZone.run(() => this.ganttUpper.loadOnScroll.emit({ start: dates.start.getUnixTime(), end: dates.end.getUnixTime() }));
101
- }
102
- }
103
- });
104
- }
105
- setupResize() {
106
- this.dom
107
- .getResize()
108
- .pipe(takeUntil(this.unsubscribe$))
109
- .subscribe(() => {
110
- this.setupScrollClass();
111
- });
112
- }
113
- setupScrollClass() {
114
- const mainContainer = this.dom.mainContainer;
115
- const height = mainContainer.offsetHeight;
116
- const scrollHeight = mainContainer.scrollHeight;
117
- if (scrollHeight > height) {
118
- this.elementRef.nativeElement.className = 'gantt gantt-scroll';
119
- }
120
- else {
121
- this.elementRef.nativeElement.className = 'gantt';
122
- }
123
- }
124
- scrollToToday() {
125
- const x = this.view.getTodayXPoint();
126
- this.dom.scrollMainContainer(x);
127
- }
128
- scrollToDate(date) {
129
- let x;
130
- if (typeof date === 'number' || date instanceof Date) {
131
- x = this.view.getXPointByDate(new GanttDate(date));
132
- }
133
- else {
134
- x = this.view.getXPointByDate(date);
135
- }
136
- this.dom.scrollMainContainer(x);
137
- }
138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxGanttRootComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.GanttDomService }, { token: i2.GanttDragContainer }, { token: GANTT_UPPER_TOKEN }, { token: i3.GanttPrintService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: NgxGanttRootComponent, isStandalone: true, 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: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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"] }] }); }
140
- }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxGanttRootComponent, decorators: [{
142
- type: Component,
143
- args: [{ selector: 'ngx-gantt-root', providers: [GanttDomService, GanttDragContainer], host: {
144
- class: 'gantt'
145
- }, standalone: true, imports: [
146
- NgIf,
147
- CdkScrollable,
148
- NgTemplateOutlet,
149
- GanttCalendarHeaderComponent,
150
- GanttCalendarGridComponent,
151
- GanttDragBackdropComponent,
152
- NgxGanttToolbarComponent
153
- ], 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" }]
154
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.GanttDomService }, { type: i2.GanttDragContainer }, { type: i4.GanttUpper, decorators: [{
155
- type: Inject,
156
- args: [GANTT_UPPER_TOKEN]
157
- }] }, { type: i3.GanttPrintService, decorators: [{
158
- type: Optional
159
- }] }], propDecorators: { sideWidth: [{
160
- type: Input
161
- }], sideTemplate: [{
162
- type: ContentChild,
163
- args: ['sideTemplate', { static: true }]
164
- }], mainTemplate: [{
165
- type: ContentChild,
166
- args: ['mainTemplate', { static: true }]
167
- }], backdrop: [{
168
- type: ViewChild,
169
- args: [GanttDragBackdropComponent, { static: true, read: ElementRef }]
170
- }], onWindowResize: [{
171
- type: HostListener,
172
- args: ['window:resize']
173
- }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxRQUFRLEVBRVIsU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBYyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFF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MEJBQTBCLGdFQUMxQiwwQkFBMEIsZ0VBQzFCLHdCQUF3Qjs7MkZBR25CLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0ksZ0JBQWdCLGFBRWYsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsUUFDMUM7d0JBQ0YsS0FBSyxFQUFFLE9BQU87cUJBQ2pCLGNBQ1csSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLHdCQUF3QjtxQkFDM0I7OzBCQWdDSSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLFFBQVE7eUNBOUJKLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRTBDLFlBQVk7c0JBQTNELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFRSxZQUFZO3NCQUEzRCxZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRzZCLFFBQVE7c0JBQWxGLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBYXpFLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE5nWm9uZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZCxcbiAgICBIb3N0TGlzdGVuZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYW50dERvbVNlcnZpY2UsIFNjcm9sbERpcmVjdGlvbiB9IGZyb20gJy4vZ2FudHQtZG9tLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2FudHREcmFnQ29udGFpbmVyIH0gZnJvbSAnLi9nYW50dC1kcmFnLWNvbnRhaW5lcic7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb20sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhbnR0VXBwZXIsIEdBTlRUX1VQUEVSX1RPS0VOIH0gZnJvbSAnLi9nYW50dC11cHBlcic7XG5pbXBvcnQgeyBHYW50dFByaW50U2VydmljZSB9IGZyb20gJy4vZ2FudHQtcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBwYXNzaXZlTGlzdGVuZXJPcHRpb25zIH0gZnJvbSAnLi91dGlscy9wYXNzaXZlLWxpc3RlbmVycyc7XG5pbXBvcnQgeyBHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWJhY2tkcm9wL2RyYWctYmFja2Ryb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBOZ3hHYW50dFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dENhbGVuZGFyR3JpZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9ncmlkL2NhbGVuZGFyLWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0Q2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FsZW5kYXIvaGVhZGVyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2RrU2Nyb2xsYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWdhbnR0LXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yb290LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtHYW50dERvbVNlcnZpY2UsIEdhbnR0RHJhZ0NvbnRhaW5lcl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2dhbnR0J1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIENka1Njcm9sbGFibGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIEdhbnR0Q2FsZW5kYXJIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEdhbnR0Q2FsZW5kYXJHcmlkQ29tcG9uZW50LFxuICAgICAgICBHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCxcbiAgICAgICAgTmd4R2FudHRUb29sYmFyQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hHYW50dFJvb3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgc2lkZVdpZHRoOiBudW1iZXI7XG5cbiAgICBAQ29udGVudENoaWxkKCdzaWRlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzaWRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdtYWluVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYWluVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogVGhlIG5hdGl2ZSBgPGdhbnR0LWRyYWctYmFja2Ryb3A+PC9nYW50dC1kcmFnLWJhY2tkcm9wPmAgZWxlbWVudC4gKi9cbiAgICBAVmlld0NoaWxkKEdhbnR0RHJhZ0JhY2tkcm9wQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBiYWNrZHJvcDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gMDtcblxuICAgIGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQgPSAwO1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBnZXQgdmlldygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FudHRVcHBlci52aWV3O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLmNvbXB1dGVTY3JvbGxCYXJPZmZzZXQoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBkb206IEdhbnR0RG9tU2VydmljZSxcbiAgICAgICAgcHVibGljIGRyYWdDb250YWluZXI6IEdhbnR0RHJhZ0NvbnRhaW5lcixcbiAgICAgICAgQEluamVjdChHQU5UVF9VUFBFUl9UT0tFTikgcHVibGljIGdhbnR0VXBwZXI6IEdhbnR0VXBwZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcHJpbnRTZXJ2aWNlOiBHYW50dFByaW50U2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmdhbnR0VXBwZXIuZHJhZ0NvbnRhaW5lciA9IGRyYWdDb250YWluZXI7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIE5vdGU6IHRoZSB6b25lIG1heSBiZSBub29wZWQgdGhyb3VnaCBgQm9vdHN0cmFwT3B0aW9uc2Agd2hlbiBib290c3RyYXBwaW5nIHRoZSByb290IG1vZHVsZS4gVGhpcyBtZWFuc1xuICAgICAgICAvLyB0aGUgYG9uU3RhYmxlYCB3aWxsIG5ldmVyIGVtaXQgYW55IHZhbHVlLlxuICAgICAgICBjb25zdCBvblN0YWJsZSQgPSB0aGlzLm5nWm9uZS5pc1N0YWJsZSA/IGZyb20oUHJvbWlzZS5yZXNvbHZlKCkpIDogdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgLy8gTm9ybWFsbHkgdGhpcyBpc24ndCBpbiB0aGUgem9uZSwgYnV0IGl0IGNhbiBjYXVzZSBwZXJmb3JtYW5jZSByZWdyZXNzaW9ucyBmb3IgYXBwc1xuICAgICAgICAvLyB1c2luZyBgem9uZS1wYXRjaC1yeGpzYCBiZWNhdXNlIGl0J2xsIHRyaWdnZXIgYSBjaGFuZ2UgZGV0ZWN0aW9uIHdoZW4gaXQgdW5zdWJzY3JpYmVzLlxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBvblN0YWJsZSQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZG9tLmluaXRpYWxpemUodGhpcy5lbGVtZW50UmVmKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByaW50U2VydmljZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByaW50U2VydmljZS5yZWdpc3Rlcih0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwU2Nyb2xsQ2xhc3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwUmVzaXplKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cFZpZXdTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICAvLyDkvJjljJbliJ3lp4vljJbml7ZTY3JvbGzmu5rliqjkvZPpqozpl67popjvvIzpgJrov4fpgI/mmI7luqbop6PlhrPvvIzpu5jorqTpgI/mmI7luqbkuLow77yM5rua5Yqo57uT5p2f5ZCO5oGi5aSNXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9ICcxJztcbiAgICAgICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIudmlld0NoYW5nZS5waXBlKHN0YXJ0V2l0aDxudWxsLCBudWxsPihudWxsKSwgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb1RvZGF5KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlU2Nyb2xsQmFyT2Zmc2V0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29tcHV0ZVNjcm9sbEJhck9mZnNldCgpIHtcbiAgICAgICAgY29uc3QgZ2FudHRNYWluQ29udGFpbmVyID0gdGhpcy5kb20ubWFpbkNvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgZ2FudHRWZXJ0aWNhbFNjcm9sbENvbnRhaW5lciA9IHRoaXMuZG9tLnZlcnRpY2FsU2Nyb2xsQ29udGFpbmVyIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgIGxldCB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gMDtcbiAgICAgICAgaWYgKGdhbnR0VmVydGljYWxTY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGggPSBnYW50dFZlcnRpY2FsU2Nyb2xsQ29udGFpbmVyLm9mZnNldFdpZHRoIC0gZ2FudHRWZXJ0aWNhbFNjcm9sbENvbnRhaW5lci5jbGllbnRXaWR0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGggPSBnYW50dE1haW5Db250YWluZXI/Lm9mZnNldFdpZHRoIC0gZ2FudHRNYWluQ29udGFpbmVyPy5jbGllbnRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0ID0gZ2FudHRNYWluQ29udGFpbmVyPy5vZmZzZXRIZWlnaHQgLSBnYW50dE1haW5Db250YWluZXI/LmNsaWVudEhlaWdodDtcbiAgICAgICAgdGhpcy52ZXJ0aWNhbFNjcm9sbGJhcldpZHRoID0gdmVydGljYWxTY3JvbGxiYXJXaWR0aDtcbiAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0ID0gaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBWaWV3U2Nyb2xsKCkge1xuICAgICAgICBpZiAodGhpcy5nYW50dFVwcGVyLmRpc2FibGVkTG9hZE9uU2Nyb2xsICYmICF0aGlzLmdhbnR0VXBwZXIucXVpY2tUaW1lRm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRvbVxuICAgICAgICAgICAgLmdldFZpZXdlclNjcm9sbChwYXNzaXZlTGlzdGVuZXJPcHRpb25zKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRpcmVjdGlvbiA9PT0gU2Nyb2xsRGlyZWN0aW9uLkxFRlQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnZpZXcuYWRkU3RhcnREYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnNjcm9sbExlZnQgKz0gdGhpcy52aWV3LmdldERhdGVSYW5nZVdpZHRoKGRhdGVzLnN0YXJ0LCBkYXRlcy5lbmQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwub2JzZXJ2ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwuZW1pdCh7IHN0YXJ0OiBkYXRlcy5zdGFydC5nZXRVbml4VGltZSgpLCBlbmQ6IGRhdGVzLmVuZC5nZXRVbml4VGltZSgpIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGlyZWN0aW9uID09PSBTY3JvbGxEaXJlY3Rpb24uUklHSFQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLnZpZXcuYWRkRW5kRGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXMgJiYgdGhpcy5nYW50dFVwcGVyLmxvYWRPblNjcm9sbC5vYnNlcnZlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwuZW1pdCh7IHN0YXJ0OiBkYXRlcy5zdGFydC5nZXRVbml4VGltZSgpLCBlbmQ6IGRhdGVzLmVuZC5nZXRVbml4VGltZSgpIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5kb21cbiAgICAgICAgICAgIC5nZXRSZXNpemUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBTY3JvbGxDbGFzcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cFNjcm9sbENsYXNzKCkge1xuICAgICAgICBjb25zdCBtYWluQ29udGFpbmVyID0gdGhpcy5kb20ubWFpbkNvbnRhaW5lciBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gbWFpbkNvbnRhaW5lci5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIGNvbnN0IHNjcm9sbEhlaWdodCA9IG1haW5Db250YWluZXIuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICBpZiAoc2Nyb2xsSGVpZ2h0ID4gaGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnZ2FudHQgZ2FudHQtc2Nyb2xsJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZSA9ICdnYW50dCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2Nyb2xsVG9Ub2RheSgpIHtcbiAgICAgICAgY29uc3QgeCA9IHRoaXMudmlldy5nZXRUb2RheVhQb2ludCgpO1xuICAgICAgICB0aGlzLmRvbS5zY3JvbGxNYWluQ29udGFpbmVyKHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzY3JvbGxUb0RhdGUoZGF0ZTogbnVtYmVyIHwgRGF0ZSB8IEdhbnR0RGF0ZSkge1xuICAgICAgICBsZXQgeDogbnVtYmVyO1xuICAgICAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdudW1iZXInIHx8IGRhdGUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICB4ID0gdGhpcy52aWV3LmdldFhQb2ludEJ5RGF0ZShuZXcgR2FudHREYXRlKGRhdGUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHggPSB0aGlzLnZpZXcuZ2V0WFBvaW50QnlEYXRlKGRhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kb20uc2Nyb2xsTWFpbkNvbnRhaW5lcih4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2FudHQtc2lkZVwiICpuZ0lmPVwic2lkZVRlbXBsYXRlXCIgW3N0eWxlLndpZHRoLnB4XT1cInNpZGVXaWR0aFwiIFtzdHlsZS5wYWRkaW5nLWJvdHRvbS5weF09XCJob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0XCI+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1zaWRlLWNvbnRhaW5lclwiIGNka1Njcm9sbGFibGU+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNpZGVUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ2FudHQtY29udGFpbmVyXCIgKm5nSWY9XCJtYWluVGVtcGxhdGVcIj5cbiAgPGdhbnR0LWNhbGVuZGFyLWhlYWRlciBbc3R5bGUucGFkZGluZy1yaWdodC5weF09XCJ2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoXCI+PC9nYW50dC1jYWxlbmRhci1oZWFkZXI+XG4gIDxnYW50dC1jYWxlbmRhci1ncmlkXG4gICAgW3N0eWxlLnBhZGRpbmctcmlnaHQucHhdPVwidmVydGljYWxTY3JvbGxiYXJXaWR0aFwiXG4gICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnB4XT1cImhvcml6b250YWxTY3JvbGxiYXJIZWlnaHRcIlxuICA+PC9nYW50dC1jYWxlbmRhci1ncmlkPlxuICA8Z2FudHQtZHJhZy1iYWNrZHJvcD48L2dhbnR0LWRyYWctYmFja2Ryb3A+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1tYWluXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1haW5UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48Z2FudHQtdG9vbGJhciAqbmdJZj1cImdhbnR0VXBwZXIuc2hvd1Rvb2xiYXIgfHwgZ2FudHRVcHBlci50b29sYmFyVGVtcGxhdGVcIiBbdGVtcGxhdGVdPVwiZ2FudHRVcHBlci50b29sYmFyVGVtcGxhdGVcIj4gPC9nYW50dC10b29sYmFyPlxuIl19
@@ -1,46 +0,0 @@
1
- import { Component, ContentChild, Input, Inject } from '@angular/core';
2
- import { coerceCssPixelValue } from '@angular/cdk/coercion';
3
- import { GANTT_UPPER_TOKEN } from '../gantt-upper';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../gantt-upper";
6
- export class NgxGanttTableColumnComponent {
7
- set width(width) {
8
- this.columnWidth = coerceCssPixelValue(width);
9
- }
10
- constructor(ganttUpper, elementRef) {
11
- this.ganttUpper = ganttUpper;
12
- this.elementRef = elementRef;
13
- }
14
- get classList() {
15
- return this.elementRef.nativeElement.classList;
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxGanttTableColumnComponent, deps: [{ token: GANTT_UPPER_TOKEN }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: NgxGanttTableColumnComponent, isStandalone: true, selector: "ngx-gantt-column", inputs: { width: "width", name: "name", showExpandIcon: "showExpandIcon" }, host: { classAttribute: "gantt-table-column" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxGanttTableColumnComponent, decorators: [{
21
- type: Component,
22
- args: [{
23
- selector: 'ngx-gantt-column',
24
- template: '',
25
- host: {
26
- class: 'gantt-table-column'
27
- },
28
- standalone: true
29
- }]
30
- }], ctorParameters: () => [{ type: i1.GanttUpper, decorators: [{
31
- type: Inject,
32
- args: [GANTT_UPPER_TOKEN]
33
- }] }, { type: i0.ElementRef }], propDecorators: { width: [{
34
- type: Input
35
- }], name: [{
36
- type: Input
37
- }], showExpandIcon: [{
38
- type: Input
39
- }], templateRef: [{
40
- type: ContentChild,
41
- args: ['cell', { static: true }]
42
- }], headerTemplateRef: [{
43
- type: ContentChild,
44
- args: ['header', { static: true }]
45
- }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFlLEtBQUssRUFBRSxNQUFNLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVMvRCxNQUFNLE9BQU8sNEJBQTRCO0lBR3JDLElBQ0ksS0FBSyxDQUFDLEtBQXNCO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQVVELFlBQThDLFVBQXNCLEVBQVUsVUFBc0I7UUFBdEQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRXhHLElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7OEdBcEJRLDRCQUE0QixrQkFnQmpCLGlCQUFpQjtrR0FoQjVCLDRCQUE0QixtYUFOM0IsRUFBRTs7MkZBTUgsNEJBQTRCO2tCQVJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQWlCZ0IsTUFBTTsyQkFBQyxpQkFBaUI7a0VBWmpDLEtBQUs7c0JBRFIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFa0MsV0FBVztzQkFBbEQsWUFBWTt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVJLGlCQUFpQjtzQkFBMUQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBJbnB1dCwgSW5qZWN0LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VDc3NQaXhlbFZhbHVlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEdhbnR0VXBwZXIsIEdBTlRUX1VQUEVSX1RPS0VOIH0gZnJvbSAnLi4vZ2FudHQtdXBwZXInO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtZ2FudHQtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2dhbnR0LXRhYmxlLWNvbHVtbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG4gICAgcHVibGljIGNvbHVtbldpZHRoOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB3aWR0aCh3aWR0aDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29sdW1uV2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKHdpZHRoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzaG93RXhwYW5kSWNvbjogYm9vbGVhbjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2NlbGwnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicsIHsgc3RhdGljOiB0cnVlIH0pIGhlYWRlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChHQU5UVF9VUFBFUl9UT0tFTikgcHVibGljIGdhbnR0VXBwZXI6IEdhbnR0VXBwZXIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIGdldCBjbGFzc0xpc3QoKTogRE9NVG9rZW5MaXN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcbiAgICB9XG59XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NgxGanttTableComponent {
4
- constructor() {
5
- this.draggable = false;
6
- this.dragDropped = new EventEmitter();
7
- this.dragStarted = new EventEmitter();
8
- this.dragEnded = new EventEmitter();
9
- this.columnChanges = new EventEmitter();
10
- this.itemClick = new EventEmitter();
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxGanttTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: NgxGanttTableComponent, isStandalone: true, selector: "ngx-gantt-table", inputs: { draggable: "draggable", dropEnterPredicate: "dropEnterPredicate" }, outputs: { dragDropped: "dragDropped", dragStarted: "dragStarted", dragEnded: "dragEnded", columnChanges: "columnChanges", itemClick: "itemClick" }, queries: [{ propertyName: "rowBeforeTemplate", first: true, predicate: ["rowBeforeSlot"], descendants: true, static: true }, { propertyName: "rowAfterTemplate", first: true, predicate: ["rowAfterSlot"], descendants: true, static: true }, { propertyName: "tableEmptyTemplate", first: true, predicate: ["tableEmpty"], descendants: true, static: true }, { propertyName: "tableFooterTemplate", first: true, predicate: ["tableFooter"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NgxGanttTableComponent, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'ngx-gantt-table',
19
- template: '',
20
- standalone: true
21
- }]
22
- }], propDecorators: { draggable: [{
23
- type: Input
24
- }], dropEnterPredicate: [{
25
- type: Input
26
- }], dragDropped: [{
27
- type: Output
28
- }], dragStarted: [{
29
- type: Output
30
- }], dragEnded: [{
31
- type: Output
32
- }], columnChanges: [{
33
- type: Output
34
- }], itemClick: [{
35
- type: Output
36
- }], rowBeforeTemplate: [{
37
- type: ContentChild,
38
- args: ['rowBeforeSlot', { static: true }]
39
- }], rowAfterTemplate: [{
40
- type: ContentChild,
41
- args: ['rowAfterSlot', { static: true }]
42
- }], tableEmptyTemplate: [{
43
- type: ContentChild,
44
- args: ['tableEmpty', { static: true }]
45
- }], tableFooterTemplate: [{
46
- type: ContentChild,
47
- args: ['tableFooter', { static: true }]
48
- }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQVMsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFlekcsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1hLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFJakIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQztRQUU3RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO1FBRTdELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztRQUV6RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRXBELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztLQVN0RTs4R0F0Qlksc0JBQXNCO2tHQUF0QixzQkFBc0IsaXdCQUhyQixFQUFFOzsyRkFHSCxzQkFBc0I7a0JBTGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQUVZLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTTtnQkFFMEMsaUJBQWlCO3NCQUFqRSxZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUMsZ0JBQWdCO3NCQUEvRCxZQUFZO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUEsa0JBQWtCO3NCQUEvRCxZQUFZO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUcsbUJBQW1CO3NCQUFqRSxZQUFZO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgR2FudHRUYWJsZURyYWdFbnRlclByZWRpY2F0ZUNvbnRleHQsXG4gICAgR2FudHRUYWJsZURyYWdEcm9wcGVkRXZlbnQsXG4gICAgR2FudHRUYWJsZUV2ZW50LFxuICAgIEdhbnR0VGFibGVEcmFnU3RhcnRlZEV2ZW50LFxuICAgIEdhbnR0VGFibGVEcmFnRW5kZWRFdmVudCxcbiAgICBHYW50dFRhYmxlSXRlbUNsaWNrRXZlbnRcbn0gZnJvbSAnLi4vY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1nYW50dC10YWJsZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRUYWJsZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZHJhZ2dhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBkcm9wRW50ZXJQcmVkaWNhdGU/OiAoY29udGV4dDogR2FudHRUYWJsZURyYWdFbnRlclByZWRpY2F0ZUNvbnRleHQpID0+IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgZHJhZ0Ryb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0VGFibGVEcmFnRHJvcHBlZEV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIGRyYWdTdGFydGVkID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dFRhYmxlRHJhZ1N0YXJ0ZWRFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBkcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEdhbnR0VGFibGVEcmFnRW5kZWRFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBjb2x1bW5DaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dFRhYmxlRXZlbnQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dFRhYmxlSXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKCdyb3dCZWZvcmVTbG90JywgeyBzdGF0aWM6IHRydWUgfSkgcm93QmVmb3JlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdyb3dBZnRlclNsb3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSByb3dBZnRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgndGFibGVFbXB0eScsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlRW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ3RhYmxlRm9vdGVyJywgeyBzdGF0aWM6IHRydWUgfSkgdGFibGVGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ==
@@ -1,180 +0,0 @@
1
- import { addDays, addHours, addMinutes, addMonths, addQuarters, addSeconds, addWeeks, addYears, differenceInCalendarDays, endOfDay, endOfMonth, endOfQuarter, endOfWeek, endOfYear, format, fromUnixTime, getDaysInMonth, getUnixTime, getWeek, isToday, isWeekend, setDate, startOfDay, startOfMonth, startOfQuarter, startOfWeek, startOfYear, startOfMinute, startOfHour, endOfHour, endOfMinute } from 'date-fns';
2
- import { TZDate } from '@date-fns/tz';
3
- 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, startOfMinute, startOfHour, endOfMinute, endOfHour, differenceInMinutes, eachHourOfInterval } from 'date-fns';
4
- let timeZone;
5
- export function setDefaultTimeZone(zone) {
6
- timeZone = zone ?? undefined;
7
- }
8
- export function getDefaultTimeZone() {
9
- return timeZone;
10
- }
11
- export class GanttDate {
12
- constructor(date) {
13
- if (date) {
14
- if (date instanceof Date) {
15
- this.value = date;
16
- }
17
- else if (typeof date === 'string' || typeof date === 'number') {
18
- if (date.toString().length < 13) {
19
- this.value = new TZDate(fromUnixTime(+date), timeZone);
20
- }
21
- else {
22
- this.value = new TZDate(date, timeZone);
23
- }
24
- }
25
- else {
26
- throw new Error(`The input date type is not supported expect Date | string
27
- | number | { date: number; with_time: 0 | 1}, actual ${JSON.stringify(date)}`);
28
- }
29
- }
30
- else {
31
- this.value = new TZDate(new Date(), timeZone);
32
- }
33
- }
34
- getYear() {
35
- return this.value.getFullYear();
36
- }
37
- getMonth() {
38
- return this.value.getMonth();
39
- }
40
- getDay() {
41
- return this.value.getDay();
42
- }
43
- getTime() {
44
- return this.value.getTime();
45
- }
46
- getDate() {
47
- return this.value.getDate();
48
- }
49
- getHours() {
50
- return this.value.getHours();
51
- }
52
- getMinutes() {
53
- return this.value.getMinutes();
54
- }
55
- getSeconds() {
56
- return this.value.getSeconds();
57
- }
58
- getMilliseconds() {
59
- return this.value.getMilliseconds();
60
- }
61
- getWeek(options) {
62
- return getWeek(this.value, options);
63
- }
64
- getDaysInMonth() {
65
- return getDaysInMonth(this.value);
66
- }
67
- getDaysInQuarter() {
68
- return differenceInCalendarDays(this.endOfQuarter().addSeconds(1).value, this.startOfQuarter().value);
69
- }
70
- getDaysInYear() {
71
- return differenceInCalendarDays(this.endOfYear().addSeconds(1).value, this.startOfYear().value);
72
- }
73
- setDate(dayOfMonth) {
74
- return new GanttDate(setDate(this.value, dayOfMonth));
75
- }
76
- clone() {
77
- return new GanttDate(new Date(this.value));
78
- }
79
- add(amount, unit) {
80
- switch (unit) {
81
- case 'second':
82
- return new GanttDate(this.value).addSeconds(amount);
83
- case 'minute':
84
- return new GanttDate(this.value).addMinutes(amount);
85
- case 'hour':
86
- return new GanttDate(this.value).addHours(amount);
87
- case 'day':
88
- return new GanttDate(this.value).addDays(amount);
89
- case 'week':
90
- return new GanttDate(this.value).addWeeks(amount);
91
- case 'month':
92
- return new GanttDate(this.value).addMonths(amount);
93
- case 'quarter':
94
- return new GanttDate(this.value).addQuarters(amount);
95
- case 'year':
96
- return new GanttDate(this.value).addYears(amount);
97
- default:
98
- return new GanttDate(this.value).addSeconds(amount);
99
- }
100
- }
101
- addSeconds(amount) {
102
- return new GanttDate(addSeconds(this.value, amount));
103
- }
104
- addMinutes(amount) {
105
- return new GanttDate(addMinutes(this.value, amount));
106
- }
107
- addHours(amount) {
108
- return new GanttDate(addHours(this.value, amount));
109
- }
110
- addDays(amount) {
111
- return new GanttDate(addDays(this.value, amount));
112
- }
113
- addWeeks(amount) {
114
- return new GanttDate(addWeeks(this.value, amount));
115
- }
116
- addMonths(amount) {
117
- return new GanttDate(addMonths(this.value, amount));
118
- }
119
- addQuarters(amount) {
120
- return new GanttDate(addQuarters(this.value, amount));
121
- }
122
- addYears(amount) {
123
- return new GanttDate(addYears(this.value, amount));
124
- }
125
- startOfMinute() {
126
- return new GanttDate(startOfMinute(this.value));
127
- }
128
- startOfHour() {
129
- return new GanttDate(startOfHour(this.value));
130
- }
131
- startOfDay() {
132
- return new GanttDate(startOfDay(this.value));
133
- }
134
- startOfWeek(options) {
135
- return new GanttDate(startOfWeek(this.value, options));
136
- }
137
- startOfMonth() {
138
- return new GanttDate(startOfMonth(this.value));
139
- }
140
- startOfQuarter() {
141
- return new GanttDate(startOfQuarter(this.value));
142
- }
143
- startOfYear() {
144
- return new GanttDate(startOfYear(this.value));
145
- }
146
- endOfMinute() {
147
- return new GanttDate(endOfMinute(this.value));
148
- }
149
- endOfHour() {
150
- return new GanttDate(endOfHour(this.value));
151
- }
152
- endOfDay() {
153
- return new GanttDate(endOfDay(this.value));
154
- }
155
- endOfWeek(options) {
156
- return new GanttDate(endOfWeek(this.value, options));
157
- }
158
- endOfMonth() {
159
- return new GanttDate(endOfMonth(this.value));
160
- }
161
- endOfQuarter() {
162
- return new GanttDate(endOfQuarter(this.value));
163
- }
164
- endOfYear() {
165
- return new GanttDate(endOfYear(this.value));
166
- }
167
- getUnixTime() {
168
- return getUnixTime(this.value);
169
- }
170
- format(mat, options) {
171
- return format(this.value, mat, options);
172
- }
173
- isWeekend() {
174
- return isWeekend(this.value);
175
- }
176
- isToday() {
177
- return isToday(this.value);
178
- }
179
- }
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsV0FBVyxFQUNYLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsRUFDWCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBR2QsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0QyxPQUFPLEVBRUgsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsUUFBUSxFQUNSLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsNEJBQTRCLEVBQzVCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixRQUFRLEVBQ1IsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sRUFDTixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsRUFDWCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLFdBQVcsRUFDWCxhQUFhLEVBQ2IsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFT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QUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBhZGREYXlzLFxuICAgIGFkZEhvdXJzLFxuICAgIGFkZE1pbnV0ZXMsXG4gICAgYWRkTW9udGhzLFxuICAgIGFkZFF1YXJ0ZXJzLFxuICAgIGFkZFNlY29uZHMsXG4gICAgYWRkV2Vla3MsXG4gICAgYWRkWWVhcnMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzLFxuICAgIGVuZE9mRGF5LFxuICAgIGVuZE9mTW9udGgsXG4gICAgZW5kT2ZRdWFydGVyLFxuICAgIGVuZE9mV2VlayxcbiAgICBlbmRPZlllYXIsXG4gICAgZm9ybWF0LFxuICAgIGZyb21Vbml4VGltZSxcbiAgICBnZXREYXlzSW5Nb250aCxcbiAgICBnZXRVbml4VGltZSxcbiAgICBnZXRXZWVrLFxuICAgIGlzVG9kYXksXG4gICAgaXNXZWVrZW5kLFxuICAgIHNldERhdGUsXG4gICAgc3RhcnRPZkRheSxcbiAgICBzdGFydE9mTW9udGgsXG4gICAgc3RhcnRPZlF1YXJ0ZXIsXG4gICAgc3RhcnRPZldlZWssXG4gICAgc3RhcnRPZlllYXIsXG4gICAgc3RhcnRPZk1pbnV0ZSxcbiAgICBzdGFydE9mSG91cixcbiAgICBlbmRPZkhvdXIsXG4gICAgZW5kT2ZNaW51dGUsXG4gICAgTG9jYWxlLFxuICAgIEZpcnN0V2Vla0NvbnRhaW5zRGF0ZVxufSBmcm9tICdkYXRlLWZucyc7XG5cbmltcG9ydCB7IFRaRGF0ZSB9IGZyb20gJ0BkYXRlLWZucy90eic7XG5cbmV4cG9ydCB7XG4gICAgTG9jYWxlLFxuICAgIGFkZERheXMsXG4gICAgYWRkSG91cnMsXG4gICAgYWRkTWludXRlcyxcbiAgICBhZGRNb250aHMsXG4gICAgYWRkUXVhcnRlcnMsXG4gICAgYWRkU2Vjb25kcyxcbiAgICBhZGRXZWVrcyxcbiAgICBhZGRZZWFycyxcbiAgICBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMsXG4gICAgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyxcbiAgICBkaWZmZXJlbmNlSW5EYXlzLFxuICAgIGVhY2hEYXlPZkludGVydmFsLFxuICAgIGVhY2hNb250aE9mSW50ZXJ2YWwsXG4gICAgZWFjaFdlZWtPZkludGVydmFsLFxuICAgIGVuZE9mRGF5LFxuICAgIGVuZE9mTW9udGgsXG4gICAgZW5kT2ZRdWFydGVyLFxuICAgIGVuZE9mV2VlayxcbiAgICBlbmRPZlllYXIsXG4gICAgZm9ybWF0LFxuICAgIGZyb21Vbml4VGltZSxcbiAgICBnZXREYXlzSW5Nb250aCxcbiAgICBnZXRVbml4VGltZSxcbiAgICBnZXRXZWVrLFxuICAgIGlzVG9kYXksXG4gICAgaXNXZWVrZW5kLFxuICAgIHNldERhdGUsXG4gICAgc3RhcnRPZkRheSxcbiAgICBzdGFydE9mTW9udGgsXG4gICAgc3RhcnRPZlF1YXJ0ZXIsXG4gICAgc3RhcnRPZldlZWssXG4gICAgc3RhcnRPZlllYXIsXG4gICAgc3RhcnRPZk1pbnV0ZSxcbiAgICBzdGFydE9mSG91cixcbiAgICBlbmRPZk1pbnV0ZSxcbiAgICBlbmRPZkhvdXIsXG4gICAgZGlmZmVyZW5jZUluTWludXRlcyxcbiAgICBlYWNoSG91ck9mSW50ZXJ2YWxcbn0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgdHlwZSBHYW50dERhdGVVdGlsID0gJ3NlY29uZCcgfCAnbWludXRlJyB8ICdob3VyJyB8ICdkYXknIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICdxdWFydGVyJyB8ICd5ZWFyJztcblxubGV0IHRpbWVab25lOiBzdHJpbmc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREZWZhdWx0VGltZVpvbmUoem9uZTogc3RyaW5nKSB7XG4gICAgdGltZVpvbmUgPSB6b25lID8/IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERlZmF1bHRUaW1lWm9uZSgpIHtcbiAgICByZXR1cm4gdGltZVpvbmU7XG59XG5cbmV4cG9ydCBjbGFzcyBHYW50dERhdGUge1xuICAgIHZhbHVlOiBEYXRlO1xuXG4gICAgY29uc3RydWN0b3IoZGF0ZT86IERhdGUgfCBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChkYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGUudG9TdHJpbmcoKS5sZW5ndGggPCAxMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gbmV3IFRaRGF0ZShmcm9tVW5peFRpbWUoK2RhdGUpLCB0aW1lWm9uZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBUWkRhdGUoZGF0ZSBhcyBhbnksIHRpbWVab25lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgYFRoZSBpbnB1dCBkYXRlIHR5cGUgaXMgbm90IHN1cHBvcnRlZCBleHBlY3QgRGF0ZSB8IHN0cmluZ1xuICAgICAgICAgICAgICAgICAgICAgfCBudW1iZXIgfCB7IGRhdGU6IG51bWJlcjsgd2l0aF90aW1lOiAwIHwgMX0sIGFjdHVhbCAke0pTT04uc3RyaW5naWZ5KGRhdGUpfWBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBUWkRhdGUobmV3IERhdGUoKSwgdGltZVpvbmUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0WWVhcigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIGdldE1vbnRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldE1vbnRoKCk7XG4gICAgfVxuXG4gICAgZ2V0RGF5KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldERheSgpO1xuICAgIH1cblxuICAgIGdldFRpbWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0VGltZSgpO1xuICAgIH1cblxuICAgIGdldERhdGUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuZ2V0RGF0ZSgpO1xuICAgIH1cblxuICAgIGdldEhvdXJzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldEhvdXJzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWludXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRNaW51dGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5nZXRTZWNvbmRzKCk7XG4gICAgfVxuXG4gICAgZ2V0TWlsbGlzZWNvbmRzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmdldE1pbGxpc2Vjb25kcygpO1xuICAgIH1cblxuICAgIGdldFdlZWsob3B0aW9ucz86IHsgbG9jYWxlPzogTG9jYWxlOyB3ZWVrU3RhcnRzT24/OiAwIHwgMSB8IDIgfCAzIHwgNCB8IDUgfCA2IH0pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZ2V0V2Vlayh0aGlzLnZhbHVlLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBnZXREYXlzSW5Nb250aCgpIHtcbiAgICAgICAgcmV0dXJuIGdldERheXNJbk1vbnRoKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldERheXNJblF1YXJ0ZXIoKSB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXModGhpcy5lbmRPZlF1YXJ0ZXIoKS5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0T2ZRdWFydGVyKCkudmFsdWUpO1xuICAgIH1cblxuICAgIGdldERheXNJblllYXIoKSB7XG4gICAgICAgIHJldHVybiBkaWZmZXJlbmNlSW5DYWxlbmRhckRheXModGhpcy5lbmRPZlllYXIoKS5hZGRTZWNvbmRzKDEpLnZhbHVlLCB0aGlzLnN0YXJ0T2ZZZWFyKCkudmFsdWUpO1xuICAgIH1cblxuICAgIHNldERhdGUoZGF5T2ZNb250aDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc2V0RGF0ZSh0aGlzLnZhbHVlLCBkYXlPZk1vbnRoKSk7XG4gICAgfVxuXG4gICAgY2xvbmUoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGFkZChhbW91bnQ6IG51bWJlciwgdW5pdD86IEdhbnR0RGF0ZVV0aWwpIHtcbiAgICAgICAgc3dpdGNoICh1bml0KSB7XG4gICAgICAgICAgICBjYXNlICdzZWNvbmQnOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZFNlY29uZHMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ21pbnV0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkTWludXRlcyhhbW91bnQpO1xuICAgICAgICAgICAgY2FzZSAnaG91cic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkSG91cnMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkRGF5cyhhbW91bnQpO1xuICAgICAgICAgICAgY2FzZSAnd2Vlayc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUodGhpcy52YWx1ZSkuYWRkV2Vla3MoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRNb250aHMoYW1vdW50KTtcbiAgICAgICAgICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHRoaXMudmFsdWUpLmFkZFF1YXJ0ZXJzKGFtb3VudCk7XG4gICAgICAgICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRZZWFycyhhbW91bnQpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZSh0aGlzLnZhbHVlKS5hZGRTZWNvbmRzKGFtb3VudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRTZWNvbmRzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkU2Vjb25kcyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRNaW51dGVzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkTWludXRlcyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRIb3VycyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZEhvdXJzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZERheXMoYW1vdW50OiBudW1iZXIpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShhZGREYXlzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFdlZWtzKGFtb3VudDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFdlZWtzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZE1vbnRocyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZE1vbnRocyh0aGlzLnZhbHVlLCBhbW91bnQpKTtcbiAgICB9XG5cbiAgICBhZGRRdWFydGVycyhhbW91bnQ6IG51bWJlcik6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGFkZFF1YXJ0ZXJzKHRoaXMudmFsdWUsIGFtb3VudCkpO1xuICAgIH1cblxuICAgIGFkZFllYXJzKGFtb3VudDogbnVtYmVyKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoYWRkWWVhcnModGhpcy52YWx1ZSwgYW1vdW50KSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZk1pbnV0ZSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mTWludXRlKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mSG91cigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mSG91cih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZkRheSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mRGF5KHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mV2VlayhvcHRpb25zPzogeyBsb2NhbGU/OiBMb2NhbGU7IHdlZWtTdGFydHNPbj86IDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDYgfSk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKHN0YXJ0T2ZXZWVrKHRoaXMudmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mTW9udGgoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZk1vbnRoKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBzdGFydE9mUXVhcnRlcigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShzdGFydE9mUXVhcnRlcih0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZlllYXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoc3RhcnRPZlllYXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mTWludXRlKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mTWludXRlKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZkhvdXIoKTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZIb3VyKHRoaXMudmFsdWUpKTtcbiAgICB9XG5cbiAgICBlbmRPZkRheSgpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZkRheSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgZW5kT2ZXZWVrKG9wdGlvbnM/OiB7IGxvY2FsZT86IExvY2FsZTsgd2Vla1N0YXJ0c09uPzogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB9KTogR2FudHREYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHYW50dERhdGUoZW5kT2ZXZWVrKHRoaXMudmFsdWUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBlbmRPZk1vbnRoKCk6IEdhbnR0RGF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgR2FudHREYXRlKGVuZE9mTW9udGgodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mUXVhcnRlcigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZlF1YXJ0ZXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGVuZE9mWWVhcigpOiBHYW50dERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IEdhbnR0RGF0ZShlbmRPZlllYXIodGhpcy52YWx1ZSkpO1xuICAgIH1cblxuICAgIGdldFVuaXhUaW1lKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRVbml4VGltZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBmb3JtYXQoXG4gICAgICAgIG1hdDogc3RyaW5nLFxuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgbG9jYWxlPzogTG9jYWxlO1xuICAgICAgICAgICAgd2Vla1N0YXJ0c09uPzogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNjtcbiAgICAgICAgICAgIGZpcnN0V2Vla0NvbnRhaW5zRGF0ZT86IEZpcnN0V2Vla0NvbnRhaW5zRGF0ZTtcbiAgICAgICAgICAgIHVzZUFkZGl0aW9uYWxXZWVrWWVhclRva2Vucz86IGJvb2xlYW47XG4gICAgICAgICAgICB1c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zPzogYm9vbGVhbjtcbiAgICAgICAgfVxuICAgICkge1xuICAgICAgICByZXR1cm4gZm9ybWF0KHRoaXMudmFsdWUsIG1hdCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaXNXZWVrZW5kKCkge1xuICAgICAgICByZXR1cm4gaXNXZWVrZW5kKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGlzVG9kYXkoKSB7XG4gICAgICAgIHJldHVybiBpc1RvZGF5KHRoaXMudmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==