@syncfusion/ej2-angular-gantt 34.2.4-ngcc → 34.2.4
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/CHANGELOG.md +2812 -0
- package/README.md +26 -25
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/src/gantt/adddialogfields.directive.mjs +58 -0
- package/esm2020/src/gantt/columns.directive.mjs +102 -0
- package/esm2020/src/gantt/dayworkingtime.directive.mjs +58 -0
- package/esm2020/src/gantt/editdialogfields.directive.mjs +58 -0
- package/esm2020/src/gantt/eventmarkers.directive.mjs +57 -0
- package/esm2020/src/gantt/gantt-all.module.mjs +77 -0
- package/esm2020/src/gantt/gantt.component.mjs +328 -0
- package/esm2020/src/gantt/gantt.module.mjs +88 -0
- package/esm2020/src/gantt/holidays.directive.mjs +58 -0
- package/esm2020/src/gantt/weekworkingtime.directive.mjs +58 -0
- package/esm2020/src/index.mjs +12 -0
- package/esm2020/syncfusion-ej2-angular-gantt.mjs +5 -0
- package/fesm2015/syncfusion-ej2-angular-gantt.mjs +903 -0
- package/fesm2015/syncfusion-ej2-angular-gantt.mjs.map +1 -0
- package/fesm2020/syncfusion-ej2-angular-gantt.mjs +903 -0
- package/fesm2020/syncfusion-ej2-angular-gantt.mjs.map +1 -0
- package/package.json +20 -7
- package/public_api.d.ts +1 -1
- package/src/gantt/adddialogfields.directive.d.ts +58 -53
- package/src/gantt/columns.directive.d.ts +242 -236
- package/src/gantt/dayworkingtime.directive.d.ts +41 -36
- package/src/gantt/editdialogfields.directive.d.ts +58 -53
- package/src/gantt/eventmarkers.directive.d.ts +54 -49
- package/src/gantt/gantt-all.module.d.ts +29 -23
- package/src/gantt/gantt.component.d.ts +169 -164
- package/src/gantt/gantt.module.d.ts +18 -5
- package/src/gantt/holidays.directive.d.ts +64 -59
- package/src/gantt/weekworkingtime.directive.d.ts +43 -38
- package/src/index.d.ts +11 -11
- package/styles/bds-lite.css +1 -0
- package/styles/bds-lite.scss +1 -0
- package/styles/bds.css +1 -0
- package/styles/bds.scss +1 -0
- package/styles/bootstrap-dark-lite.css +1 -0
- package/styles/bootstrap-dark-lite.scss +1 -0
- package/styles/bootstrap-dark.css +1 -0
- package/styles/bootstrap-dark.scss +1 -0
- package/styles/bootstrap-lite.css +1 -0
- package/styles/bootstrap-lite.scss +1 -0
- package/styles/bootstrap.css +1 -0
- package/styles/bootstrap.scss +1 -0
- package/styles/bootstrap4-lite.css +1 -0
- package/styles/bootstrap4-lite.scss +1 -0
- package/styles/bootstrap4.css +1 -0
- package/styles/bootstrap4.scss +1 -0
- package/styles/bootstrap5-dark-lite.css +1 -0
- package/styles/bootstrap5-dark-lite.scss +1 -0
- package/styles/bootstrap5-dark.css +1 -0
- package/styles/bootstrap5-dark.scss +1 -0
- package/styles/bootstrap5-lite.css +1 -0
- package/styles/bootstrap5-lite.scss +1 -0
- package/styles/bootstrap5.3-lite.css +1 -0
- package/styles/bootstrap5.3-lite.scss +1 -0
- package/styles/bootstrap5.3.css +1 -0
- package/styles/bootstrap5.3.scss +1 -0
- package/styles/bootstrap5.css +1 -0
- package/styles/bootstrap5.scss +1 -0
- package/styles/fabric-dark-lite.css +1 -0
- package/styles/fabric-dark-lite.scss +1 -0
- package/styles/fabric-dark.css +1 -0
- package/styles/fabric-dark.scss +1 -0
- package/styles/fabric-lite.css +1 -0
- package/styles/fabric-lite.scss +1 -0
- package/styles/fabric.css +1 -0
- package/styles/fabric.scss +1 -0
- package/styles/fluent-dark-lite.css +1 -0
- package/styles/fluent-dark-lite.scss +1 -0
- package/styles/fluent-dark.css +1 -0
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent-lite.css +1 -0
- package/styles/fluent-lite.scss +1 -0
- package/styles/fluent.css +1 -0
- package/styles/fluent.scss +1 -0
- package/styles/fluent2-lite.css +1 -0
- package/styles/fluent2-lite.scss +1 -0
- package/styles/fluent2.css +1 -0
- package/styles/fluent2.scss +1 -0
- package/styles/gantt/bds.css +1 -0
- package/styles/gantt/bds.scss +1 -0
- package/styles/gantt/bootstrap-dark.css +1 -0
- package/styles/gantt/bootstrap-dark.scss +1 -0
- package/styles/gantt/bootstrap.css +1 -0
- package/styles/gantt/bootstrap.scss +1 -0
- package/styles/gantt/bootstrap4.css +1 -0
- package/styles/gantt/bootstrap4.scss +1 -0
- package/styles/gantt/bootstrap5-dark.css +1 -0
- package/styles/gantt/bootstrap5-dark.scss +1 -0
- package/styles/gantt/bootstrap5.3.css +1 -0
- package/styles/gantt/bootstrap5.3.scss +1 -0
- package/styles/gantt/bootstrap5.css +1 -0
- package/styles/gantt/bootstrap5.scss +1 -0
- package/styles/gantt/fabric-dark.css +1 -0
- package/styles/gantt/fabric-dark.scss +1 -0
- package/styles/gantt/fabric.css +1 -0
- package/styles/gantt/fabric.scss +1 -0
- package/styles/gantt/fluent-dark.css +1 -0
- package/styles/gantt/fluent-dark.scss +1 -0
- package/styles/gantt/fluent.css +1 -0
- package/styles/gantt/fluent.scss +1 -0
- package/styles/gantt/fluent2.css +1 -0
- package/styles/gantt/fluent2.scss +1 -0
- package/styles/gantt/highcontrast-light.css +1 -0
- package/styles/gantt/highcontrast-light.scss +1 -0
- package/styles/gantt/highcontrast.css +1 -0
- package/styles/gantt/highcontrast.scss +1 -0
- package/styles/gantt/material-dark.css +1 -0
- package/styles/gantt/material-dark.scss +1 -0
- package/styles/gantt/material.css +1 -0
- package/styles/gantt/material.scss +1 -0
- package/styles/gantt/material3-dark.css +1 -0
- package/styles/gantt/material3-dark.scss +1 -0
- package/styles/gantt/material3.css +1 -0
- package/styles/gantt/material3.scss +1 -0
- package/styles/gantt/tailwind-dark.css +1 -0
- package/styles/gantt/tailwind-dark.scss +1 -0
- package/styles/gantt/tailwind.css +1 -0
- package/styles/gantt/tailwind.scss +1 -0
- package/styles/gantt/tailwind3.css +1 -0
- package/styles/gantt/tailwind3.scss +1 -0
- package/styles/highcontrast-light-lite.css +1 -0
- package/styles/highcontrast-light-lite.scss +1 -0
- package/styles/highcontrast-light.css +1 -0
- package/styles/highcontrast-light.scss +1 -0
- package/styles/highcontrast-lite.css +1 -0
- package/styles/highcontrast-lite.scss +1 -0
- package/styles/highcontrast.css +1 -0
- package/styles/highcontrast.scss +1 -0
- package/styles/material-dark-lite.css +1 -0
- package/styles/material-dark-lite.scss +1 -0
- package/styles/material-dark.css +1 -0
- package/styles/material-dark.scss +1 -0
- package/styles/material-lite.css +1 -0
- package/styles/material-lite.scss +1 -0
- package/styles/material.css +1 -0
- package/styles/material.scss +1 -0
- package/styles/material3-dark-lite.css +1 -0
- package/styles/material3-dark-lite.scss +1 -0
- package/styles/material3-dark.css +1 -0
- package/styles/material3-dark.scss +1 -0
- package/styles/material3-lite.css +1 -0
- package/styles/material3-lite.scss +1 -0
- package/styles/material3.css +1 -0
- package/styles/material3.scss +1 -0
- package/styles/tailwind-dark-lite.css +1 -0
- package/styles/tailwind-dark-lite.scss +1 -0
- package/styles/tailwind-dark.css +1 -0
- package/styles/tailwind-dark.scss +1 -0
- package/styles/tailwind-lite.css +1 -0
- package/styles/tailwind-lite.scss +1 -0
- package/styles/tailwind.css +1 -0
- package/styles/tailwind.scss +1 -0
- package/styles/tailwind3-lite.css +1 -0
- package/styles/tailwind3-lite.scss +1 -0
- package/styles/tailwind3.css +1 -0
- package/styles/tailwind3.scss +1 -0
- package/syncfusion-ej2-angular-gantt.d.ts +5 -0
- package/@syncfusion/ej2-angular-gantt.es5.js +0 -958
- package/@syncfusion/ej2-angular-gantt.es5.js.map +0 -1
- package/@syncfusion/ej2-angular-gantt.js +0 -906
- package/@syncfusion/ej2-angular-gantt.js.map +0 -1
- package/LICENSE +0 -10
- package/dist/ej2-angular-gantt.umd.js +0 -1087
- package/dist/ej2-angular-gantt.umd.js.map +0 -1
- package/dist/ej2-angular-gantt.umd.min.js +0 -11
- package/dist/ej2-angular-gantt.umd.min.js.map +0 -1
- package/ej2-angular-gantt.d.ts +0 -5
- package/ej2-angular-gantt.metadata.json +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { GanttModule } from './gantt.module';
|
|
4
|
+
import { Filter, Selection, Sort, Reorder, Resize, Edit, DayMarkers, Toolbar, ContextMenu, ExcelExport, RowDD, ColumnMenu, PdfExport, VirtualScroll, CriticalPath, UndoRedo, Freeze } from '@syncfusion/ej2-gantt';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export const FilterService = { provide: 'GanttFilter', useValue: Filter };
|
|
7
|
+
export const SelectionService = { provide: 'GanttSelection', useValue: Selection };
|
|
8
|
+
export const SortService = { provide: 'GanttSort', useValue: Sort };
|
|
9
|
+
export const ReorderService = { provide: 'GanttReorder', useValue: Reorder };
|
|
10
|
+
export const ResizeService = { provide: 'GanttResize', useValue: Resize };
|
|
11
|
+
export const EditService = { provide: 'GanttEdit', useValue: Edit };
|
|
12
|
+
export const DayMarkersService = { provide: 'GanttDayMarkers', useValue: DayMarkers };
|
|
13
|
+
export const ToolbarService = { provide: 'GanttToolbar', useValue: Toolbar };
|
|
14
|
+
export const ContextMenuService = { provide: 'GanttContextMenu', useValue: ContextMenu };
|
|
15
|
+
export const ExcelExportService = { provide: 'GanttExcelExport', useValue: ExcelExport };
|
|
16
|
+
export const RowDDService = { provide: 'GanttRowDD', useValue: RowDD };
|
|
17
|
+
export const ColumnMenuService = { provide: 'GanttColumnMenu', useValue: ColumnMenu };
|
|
18
|
+
export const PdfExportService = { provide: 'GanttPdfExport', useValue: PdfExport };
|
|
19
|
+
export const VirtualScrollService = { provide: 'GanttVirtualScroll', useValue: VirtualScroll };
|
|
20
|
+
export const CriticalPathService = { provide: 'GanttCriticalPath', useValue: CriticalPath };
|
|
21
|
+
export const UndoRedoService = { provide: 'GanttUndoRedo', useValue: UndoRedo };
|
|
22
|
+
export const FreezeService = { provide: 'GanttFreeze', useValue: Freeze };
|
|
23
|
+
/**
|
|
24
|
+
* NgModule definition for the Gantt component with providers.
|
|
25
|
+
*/
|
|
26
|
+
export class GanttAllModule {
|
|
27
|
+
}
|
|
28
|
+
GanttAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
29
|
+
GanttAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, imports: [CommonModule, GanttModule], exports: [GanttModule] });
|
|
30
|
+
GanttAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, providers: [
|
|
31
|
+
FilterService,
|
|
32
|
+
SelectionService,
|
|
33
|
+
SortService,
|
|
34
|
+
ReorderService,
|
|
35
|
+
ResizeService,
|
|
36
|
+
EditService,
|
|
37
|
+
DayMarkersService,
|
|
38
|
+
ToolbarService,
|
|
39
|
+
ContextMenuService,
|
|
40
|
+
ExcelExportService,
|
|
41
|
+
RowDDService,
|
|
42
|
+
ColumnMenuService,
|
|
43
|
+
PdfExportService,
|
|
44
|
+
VirtualScrollService,
|
|
45
|
+
CriticalPathService,
|
|
46
|
+
UndoRedoService,
|
|
47
|
+
FreezeService
|
|
48
|
+
], imports: [[CommonModule, GanttModule], GanttModule] });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttAllModule, decorators: [{
|
|
50
|
+
type: NgModule,
|
|
51
|
+
args: [{
|
|
52
|
+
imports: [CommonModule, GanttModule],
|
|
53
|
+
exports: [
|
|
54
|
+
GanttModule
|
|
55
|
+
],
|
|
56
|
+
providers: [
|
|
57
|
+
FilterService,
|
|
58
|
+
SelectionService,
|
|
59
|
+
SortService,
|
|
60
|
+
ReorderService,
|
|
61
|
+
ResizeService,
|
|
62
|
+
EditService,
|
|
63
|
+
DayMarkersService,
|
|
64
|
+
ToolbarService,
|
|
65
|
+
ContextMenuService,
|
|
66
|
+
ExcelExportService,
|
|
67
|
+
RowDDService,
|
|
68
|
+
ColumnMenuService,
|
|
69
|
+
PdfExportService,
|
|
70
|
+
VirtualScrollService,
|
|
71
|
+
CriticalPathService,
|
|
72
|
+
UndoRedoService,
|
|
73
|
+
FreezeService
|
|
74
|
+
]
|
|
75
|
+
}]
|
|
76
|
+
}] });
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtYWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9nYW50dC9nYW50dC1hbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQTs7QUFHaE4sTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDO0FBQ3hGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFrQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFrQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBa0IsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQztBQUMzRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLENBQUM7QUFDeEYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFrQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFDLENBQUM7QUFDcEcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFrQixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFrQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFDLENBQUM7QUFDdkcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsQ0FBQztBQUN2RyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWtCLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUMsQ0FBQztBQUNwRyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxDQUFDO0FBQ2pHLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQixFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFDLENBQUM7QUFDN0csTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWtCLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUMsQ0FBQztBQUMxRyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWtCLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLENBQUM7QUFDOUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFrQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDO0FBRXhGOztHQUVHO0FBMEJILE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsWUF4QmIsWUFBWSxFQUFFLFdBQVcsYUFFL0IsV0FBVzs0R0FzQk4sY0FBYyxhQXBCYjtRQUNOLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGNBQWM7UUFDZCxhQUFhO1FBQ2IsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2Qsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixhQUFhO0tBQ2hCLFlBdEJRLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxFQUVoQyxXQUFXOzJGQXNCTixjQUFjO2tCQXpCMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO29CQUNwQyxPQUFPLEVBQUU7d0JBQ0wsV0FBVztxQkFDZDtvQkFDRCxTQUFTLEVBQUM7d0JBQ04sYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixhQUFhO3FCQUNoQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29sdW1uRGlyZWN0aXZlLCBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZGREaWFsb2dGaWVsZERpcmVjdGl2ZSwgQWRkRGlhbG9nRmllbGRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hZGRkaWFsb2dmaWVsZHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVkaXREaWFsb2dGaWVsZERpcmVjdGl2ZSwgRWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSB9IGZyb20gJy4vZWRpdGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF5V29ya2luZ1RpbWVEaXJlY3RpdmUsIERheVdvcmtpbmdUaW1lQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGF5d29ya2luZ3RpbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdlZWtXb3JraW5nVGltZURpcmVjdGl2ZSwgV2Vla1dvcmtpbmdUaW1lc0RpcmVjdGl2ZSB9IGZyb20gJy4vd2Vla3dvcmtpbmd0aW1lLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIb2xpZGF5RGlyZWN0aXZlLCBIb2xpZGF5c0RpcmVjdGl2ZSB9IGZyb20gJy4vaG9saWRheXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEV2ZW50TWFya2VyRGlyZWN0aXZlLCBFdmVudE1hcmtlcnNEaXJlY3RpdmUgfSBmcm9tICcuL2V2ZW50bWFya2Vycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR2FudHRDb21wb25lbnQgfSBmcm9tICcuL2dhbnR0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHYW50dE1vZHVsZSB9IGZyb20gJy4vZ2FudHQubW9kdWxlJztcbmltcG9ydCB7RmlsdGVyLCBTZWxlY3Rpb24sIFNvcnQsIFJlb3JkZXIsIFJlc2l6ZSwgRWRpdCwgRGF5TWFya2VycywgVG9vbGJhciwgQ29udGV4dE1lbnUsIEV4Y2VsRXhwb3J0LCBSb3dERCwgQ29sdW1uTWVudSwgUGRmRXhwb3J0LCBWaXJ0dWFsU2Nyb2xsLCBDcml0aWNhbFBhdGgsIFVuZG9SZWRvLCBGcmVlemV9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1nYW50dCdcblxuXG5leHBvcnQgY29uc3QgRmlsdGVyU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0RmlsdGVyJywgdXNlVmFsdWU6IEZpbHRlcn07XG5leHBvcnQgY29uc3QgU2VsZWN0aW9uU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0U2VsZWN0aW9uJywgdXNlVmFsdWU6IFNlbGVjdGlvbn07XG5leHBvcnQgY29uc3QgU29ydFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dFNvcnQnLCB1c2VWYWx1ZTogU29ydH07XG5leHBvcnQgY29uc3QgUmVvcmRlclNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dFJlb3JkZXInLCB1c2VWYWx1ZTogUmVvcmRlcn07XG5leHBvcnQgY29uc3QgUmVzaXplU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0UmVzaXplJywgdXNlVmFsdWU6IFJlc2l6ZX07XG5leHBvcnQgY29uc3QgRWRpdFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dEVkaXQnLCB1c2VWYWx1ZTogRWRpdH07XG5leHBvcnQgY29uc3QgRGF5TWFya2Vyc1NlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dERheU1hcmtlcnMnLCB1c2VWYWx1ZTogRGF5TWFya2Vyc307XG5leHBvcnQgY29uc3QgVG9vbGJhclNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dFRvb2xiYXInLCB1c2VWYWx1ZTogVG9vbGJhcn07XG5leHBvcnQgY29uc3QgQ29udGV4dE1lbnVTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRDb250ZXh0TWVudScsIHVzZVZhbHVlOiBDb250ZXh0TWVudX07XG5leHBvcnQgY29uc3QgRXhjZWxFeHBvcnRTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRFeGNlbEV4cG9ydCcsIHVzZVZhbHVlOiBFeGNlbEV4cG9ydH07XG5leHBvcnQgY29uc3QgUm93RERTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRSb3dERCcsIHVzZVZhbHVlOiBSb3dERH07XG5leHBvcnQgY29uc3QgQ29sdW1uTWVudVNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dENvbHVtbk1lbnUnLCB1c2VWYWx1ZTogQ29sdW1uTWVudX07XG5leHBvcnQgY29uc3QgUGRmRXhwb3J0U2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0UGRmRXhwb3J0JywgdXNlVmFsdWU6IFBkZkV4cG9ydH07XG5leHBvcnQgY29uc3QgVmlydHVhbFNjcm9sbFNlcnZpY2U6IFZhbHVlUHJvdmlkZXIgPSB7IHByb3ZpZGU6ICdHYW50dFZpcnR1YWxTY3JvbGwnLCB1c2VWYWx1ZTogVmlydHVhbFNjcm9sbH07XG5leHBvcnQgY29uc3QgQ3JpdGljYWxQYXRoU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0Q3JpdGljYWxQYXRoJywgdXNlVmFsdWU6IENyaXRpY2FsUGF0aH07XG5leHBvcnQgY29uc3QgVW5kb1JlZG9TZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnR2FudHRVbmRvUmVkbycsIHVzZVZhbHVlOiBVbmRvUmVkb307XG5leHBvcnQgY29uc3QgRnJlZXplU2VydmljZTogVmFsdWVQcm92aWRlciA9IHsgcHJvdmlkZTogJ0dhbnR0RnJlZXplJywgdXNlVmFsdWU6IEZyZWV6ZX07XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIEdhbnR0IGNvbXBvbmVudCB3aXRoIHByb3ZpZGVycy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBHYW50dE1vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBHYW50dE1vZHVsZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOltcbiAgICAgICAgRmlsdGVyU2VydmljZSxcbiAgICAgICAgU2VsZWN0aW9uU2VydmljZSxcbiAgICAgICAgU29ydFNlcnZpY2UsXG4gICAgICAgIFJlb3JkZXJTZXJ2aWNlLFxuICAgICAgICBSZXNpemVTZXJ2aWNlLFxuICAgICAgICBFZGl0U2VydmljZSxcbiAgICAgICAgRGF5TWFya2Vyc1NlcnZpY2UsXG4gICAgICAgIFRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBDb250ZXh0TWVudVNlcnZpY2UsXG4gICAgICAgIEV4Y2VsRXhwb3J0U2VydmljZSxcbiAgICAgICAgUm93RERTZXJ2aWNlLFxuICAgICAgICBDb2x1bW5NZW51U2VydmljZSxcbiAgICAgICAgUGRmRXhwb3J0U2VydmljZSxcbiAgICAgICAgVmlydHVhbFNjcm9sbFNlcnZpY2UsXG4gICAgICAgIENyaXRpY2FsUGF0aFNlcnZpY2UsXG4gICAgICAgIFVuZG9SZWRvU2VydmljZSxcbiAgICAgICAgRnJlZXplU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR2FudHRBbGxNb2R1bGUgeyB9Il19
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ChangeDetectionStrategy, ContentChild } from '@angular/core';
|
|
3
|
+
import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
|
|
4
|
+
import { Gantt } from '@syncfusion/ej2-gantt';
|
|
5
|
+
import { Template } from '@syncfusion/ej2-angular-base';
|
|
6
|
+
import { ColumnsDirective } from './columns.directive';
|
|
7
|
+
import { AddDialogFieldsDirective } from './adddialogfields.directive';
|
|
8
|
+
import { EditDialogFieldsDirective } from './editdialogfields.directive';
|
|
9
|
+
import { DayWorkingTimeCollectionDirective } from './dayworkingtime.directive';
|
|
10
|
+
import { WeekWorkingTimesDirective } from './weekworkingtime.directive';
|
|
11
|
+
import { HolidaysDirective } from './holidays.directive';
|
|
12
|
+
import { EventMarkersDirective } from './eventmarkers.directive';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export const inputs = ['addDialogFields', 'allowExcelExport', 'allowFiltering', 'allowKeyboard', 'allowParentDependency', 'allowPdfExport', 'allowReordering', 'allowResizing', 'allowRowDragAndDrop', 'allowSelection', 'allowSorting', 'allowTaskbarDragAndDrop', 'allowTaskbarOverlap', 'allowUnscheduledTasks', 'autoCalculateDateScheduling', 'autoFocusTasks', 'autoUpdatePredecessorOffset', 'baselineColor', 'baselineTemplate', 'calendarSettings', 'collapseAllParentTasks', 'columnMenuItems', 'columns', 'connectorLineBackground', 'connectorLineWidth', 'contextMenuItems', 'dataSource', 'dateFormat', 'dayWorkingTime', 'disableHtmlEncode', 'durationUnit', 'editDialogFields', 'editSettings', 'emptyRecordTemplate', 'enableAdaptiveUI', 'enableAutoWbsUpdate', 'enableContextMenu', 'enableCriticalPath', 'enableHover', 'enableHtmlSanitizer', 'enableImmutableMode', 'enableInfiniteTimelineScroll', 'enableMultiTaskbar', 'enablePersistence', 'enablePredecessorValidation', 'enableRtl', 'enableTimelineVirtualization', 'enableUndoRedo', 'enableVirtualMaskRow', 'enableVirtualization', 'enableWBS', 'eventMarkers', 'filterSettings', 'frozenColumns', 'gridLines', 'height', 'highlightWeekends', 'holidays', 'includeWeekend', 'labelSettings', 'loadChildOnDemand', 'loadingIndicator', 'locale', 'milestoneTemplate', 'parentTaskbarTemplate', 'projectEndDate', 'projectStartDate', 'query', 'readOnly', 'renderBaseline', 'resourceFields', 'resourceIDMapping', 'resourceNameMapping', 'resources', 'rowHeight', 'searchSettings', 'segmentData', 'selectedRowIndex', 'selectionSettings', 'showColumnMenu', 'showInlineNotes', 'showOverAllocation', 'sortSettings', 'splitterSettings', 'taskFields', 'taskMode', 'taskType', 'taskbarHeight', 'taskbarTemplate', 'timelineSettings', 'timelineTemplate', 'timezone', 'toolbar', 'tooltipSettings', 'treeColumnIndex', 'undoRedoActions', 'undoRedoStepsCount', 'updateOffsetOnTaskbarEdit', 'validateManualTasksOnLinking', 'viewType', 'weekWorkingTime', 'width', 'workUnit', 'workWeek', 'zoomingLevels'];
|
|
15
|
+
export const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'beforeDataBound', 'beforeExcelExport', 'beforePdfExport', 'beforeTooltipRender', 'cellDeselected', 'cellDeselecting', 'cellEdit', 'cellSave', 'cellSelected', 'cellSelecting', 'collapsed', 'collapsing', 'columnDrag', 'columnDragStart', 'columnDrop', 'columnMenuClick', 'columnMenuOpen', 'contextMenuClick', 'contextMenuOpen', 'created', 'dataBound', 'dataSourceChanged', 'dataStateChange', 'destroyed', 'endEdit', 'excelExportComplete', 'excelHeaderQueryCellInfo', 'excelQueryCellInfo', 'expanded', 'expanding', 'headerCellInfo', 'load', 'onMouseMove', 'onTaskbarClick', 'pdfColumnHeaderQueryCellInfo', 'pdfExportComplete', 'pdfQueryCellInfo', 'pdfQueryTaskbarInfo', 'pdfQueryTimelineCellInfo', 'queryCellInfo', 'queryTaskbarInfo', 'recordDoubleClick', 'resizeStart', 'resizeStop', 'resizing', 'rowDataBound', 'rowDeselected', 'rowDeselecting', 'rowDrag', 'rowDragStart', 'rowDragStartHelper', 'rowDrop', 'rowSelected', 'rowSelecting', 'splitterResizeStart', 'splitterResized', 'splitterResizing', 'taskbarEdited', 'taskbarEditing', 'toolbarClick', 'dataSourceChange'];
|
|
16
|
+
export const twoWays = ['dataSource'];
|
|
17
|
+
/**
|
|
18
|
+
* `ejs-gantt` represents the Angular Gantt Component.
|
|
19
|
+
* ```html
|
|
20
|
+
* <ejs-gantt [dataSource]='data' allowSelection='true' allowSorting='true'></ejs-gantt>
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
let GanttComponent = class GanttComponent extends Gantt {
|
|
24
|
+
constructor(ngEle, srenderer, viewContainerRef, injector) {
|
|
25
|
+
super();
|
|
26
|
+
this.ngEle = ngEle;
|
|
27
|
+
this.srenderer = srenderer;
|
|
28
|
+
this.viewContainerRef = viewContainerRef;
|
|
29
|
+
this.injector = injector;
|
|
30
|
+
this.tags = ['columns', 'addDialogFields', 'editDialogFields', 'dayWorkingTime', 'weekWorkingTime', 'holidays', 'eventMarkers'];
|
|
31
|
+
this.element = this.ngEle.nativeElement;
|
|
32
|
+
this.injectedModules = this.injectedModules || [];
|
|
33
|
+
try {
|
|
34
|
+
let mod = this.injector.get('GanttFilter');
|
|
35
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
36
|
+
this.injectedModules.push(mod);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch { }
|
|
40
|
+
try {
|
|
41
|
+
let mod = this.injector.get('GanttSelection');
|
|
42
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
43
|
+
this.injectedModules.push(mod);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch { }
|
|
47
|
+
try {
|
|
48
|
+
let mod = this.injector.get('GanttSort');
|
|
49
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
50
|
+
this.injectedModules.push(mod);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
catch { }
|
|
54
|
+
try {
|
|
55
|
+
let mod = this.injector.get('GanttReorder');
|
|
56
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
57
|
+
this.injectedModules.push(mod);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch { }
|
|
61
|
+
try {
|
|
62
|
+
let mod = this.injector.get('GanttResize');
|
|
63
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
64
|
+
this.injectedModules.push(mod);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch { }
|
|
68
|
+
try {
|
|
69
|
+
let mod = this.injector.get('GanttEdit');
|
|
70
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
71
|
+
this.injectedModules.push(mod);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch { }
|
|
75
|
+
try {
|
|
76
|
+
let mod = this.injector.get('GanttDayMarkers');
|
|
77
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
78
|
+
this.injectedModules.push(mod);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch { }
|
|
82
|
+
try {
|
|
83
|
+
let mod = this.injector.get('GanttToolbar');
|
|
84
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
85
|
+
this.injectedModules.push(mod);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch { }
|
|
89
|
+
try {
|
|
90
|
+
let mod = this.injector.get('GanttContextMenu');
|
|
91
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
92
|
+
this.injectedModules.push(mod);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch { }
|
|
96
|
+
try {
|
|
97
|
+
let mod = this.injector.get('GanttExcelExport');
|
|
98
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
99
|
+
this.injectedModules.push(mod);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch { }
|
|
103
|
+
try {
|
|
104
|
+
let mod = this.injector.get('GanttRowDD');
|
|
105
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
106
|
+
this.injectedModules.push(mod);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch { }
|
|
110
|
+
try {
|
|
111
|
+
let mod = this.injector.get('GanttColumnMenu');
|
|
112
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
113
|
+
this.injectedModules.push(mod);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch { }
|
|
117
|
+
try {
|
|
118
|
+
let mod = this.injector.get('GanttPdfExport');
|
|
119
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
120
|
+
this.injectedModules.push(mod);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch { }
|
|
124
|
+
try {
|
|
125
|
+
let mod = this.injector.get('GanttVirtualScroll');
|
|
126
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
127
|
+
this.injectedModules.push(mod);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch { }
|
|
131
|
+
try {
|
|
132
|
+
let mod = this.injector.get('GanttCriticalPath');
|
|
133
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
134
|
+
this.injectedModules.push(mod);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch { }
|
|
138
|
+
try {
|
|
139
|
+
let mod = this.injector.get('GanttUndoRedo');
|
|
140
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
141
|
+
this.injectedModules.push(mod);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
catch { }
|
|
145
|
+
try {
|
|
146
|
+
let mod = this.injector.get('GanttFreeze');
|
|
147
|
+
if (this.injectedModules.indexOf(mod) === -1) {
|
|
148
|
+
this.injectedModules.push(mod);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch { }
|
|
152
|
+
this.registerEvents(outputs);
|
|
153
|
+
this.addTwoWay.call(this, twoWays);
|
|
154
|
+
setValue('currentInstance', this, this.viewContainerRef);
|
|
155
|
+
this.context = new ComponentBase();
|
|
156
|
+
}
|
|
157
|
+
ngOnInit() {
|
|
158
|
+
this.context.ngOnInit(this);
|
|
159
|
+
}
|
|
160
|
+
ngAfterViewInit() {
|
|
161
|
+
this.context.ngAfterViewInit(this);
|
|
162
|
+
}
|
|
163
|
+
ngOnDestroy() {
|
|
164
|
+
this.context.ngOnDestroy(this);
|
|
165
|
+
}
|
|
166
|
+
ngAfterContentChecked() {
|
|
167
|
+
this.tagObjects[0].instance = this.childColumns;
|
|
168
|
+
if (this.childAddDialogFields) {
|
|
169
|
+
this.tagObjects[1].instance = this.childAddDialogFields;
|
|
170
|
+
}
|
|
171
|
+
if (this.childEditDialogFields) {
|
|
172
|
+
this.tagObjects[2].instance = this.childEditDialogFields;
|
|
173
|
+
}
|
|
174
|
+
if (this.childDayWorkingTime) {
|
|
175
|
+
this.tagObjects[3].instance = this.childDayWorkingTime;
|
|
176
|
+
}
|
|
177
|
+
if (this.childWeekWorkingTime) {
|
|
178
|
+
this.tagObjects[4].instance = this.childWeekWorkingTime;
|
|
179
|
+
}
|
|
180
|
+
if (this.childHolidays) {
|
|
181
|
+
this.tagObjects[5].instance = this.childHolidays;
|
|
182
|
+
}
|
|
183
|
+
if (this.childEventMarkers) {
|
|
184
|
+
this.tagObjects[6].instance = this.childEventMarkers;
|
|
185
|
+
}
|
|
186
|
+
this.context.ngAfterContentChecked(this);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
GanttComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
190
|
+
GanttComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: GanttComponent, selector: "ejs-gantt", inputs: { addDialogFields: "addDialogFields", allowExcelExport: "allowExcelExport", allowFiltering: "allowFiltering", allowKeyboard: "allowKeyboard", allowParentDependency: "allowParentDependency", allowPdfExport: "allowPdfExport", allowReordering: "allowReordering", allowResizing: "allowResizing", allowRowDragAndDrop: "allowRowDragAndDrop", allowSelection: "allowSelection", allowSorting: "allowSorting", allowTaskbarDragAndDrop: "allowTaskbarDragAndDrop", allowTaskbarOverlap: "allowTaskbarOverlap", allowUnscheduledTasks: "allowUnscheduledTasks", autoCalculateDateScheduling: "autoCalculateDateScheduling", autoFocusTasks: "autoFocusTasks", autoUpdatePredecessorOffset: "autoUpdatePredecessorOffset", baselineColor: "baselineColor", baselineTemplate: "baselineTemplate", calendarSettings: "calendarSettings", collapseAllParentTasks: "collapseAllParentTasks", columnMenuItems: "columnMenuItems", columns: "columns", connectorLineBackground: "connectorLineBackground", connectorLineWidth: "connectorLineWidth", contextMenuItems: "contextMenuItems", dataSource: "dataSource", dateFormat: "dateFormat", dayWorkingTime: "dayWorkingTime", disableHtmlEncode: "disableHtmlEncode", durationUnit: "durationUnit", editDialogFields: "editDialogFields", editSettings: "editSettings", emptyRecordTemplate: "emptyRecordTemplate", enableAdaptiveUI: "enableAdaptiveUI", enableAutoWbsUpdate: "enableAutoWbsUpdate", enableContextMenu: "enableContextMenu", enableCriticalPath: "enableCriticalPath", enableHover: "enableHover", enableHtmlSanitizer: "enableHtmlSanitizer", enableImmutableMode: "enableImmutableMode", enableInfiniteTimelineScroll: "enableInfiniteTimelineScroll", enableMultiTaskbar: "enableMultiTaskbar", enablePersistence: "enablePersistence", enablePredecessorValidation: "enablePredecessorValidation", enableRtl: "enableRtl", enableTimelineVirtualization: "enableTimelineVirtualization", enableUndoRedo: "enableUndoRedo", enableVirtualMaskRow: "enableVirtualMaskRow", enableVirtualization: "enableVirtualization", enableWBS: "enableWBS", eventMarkers: "eventMarkers", filterSettings: "filterSettings", frozenColumns: "frozenColumns", gridLines: "gridLines", height: "height", highlightWeekends: "highlightWeekends", holidays: "holidays", includeWeekend: "includeWeekend", labelSettings: "labelSettings", loadChildOnDemand: "loadChildOnDemand", loadingIndicator: "loadingIndicator", locale: "locale", milestoneTemplate: "milestoneTemplate", parentTaskbarTemplate: "parentTaskbarTemplate", projectEndDate: "projectEndDate", projectStartDate: "projectStartDate", query: "query", readOnly: "readOnly", renderBaseline: "renderBaseline", resourceFields: "resourceFields", resourceIDMapping: "resourceIDMapping", resourceNameMapping: "resourceNameMapping", resources: "resources", rowHeight: "rowHeight", searchSettings: "searchSettings", segmentData: "segmentData", selectedRowIndex: "selectedRowIndex", selectionSettings: "selectionSettings", showColumnMenu: "showColumnMenu", showInlineNotes: "showInlineNotes", showOverAllocation: "showOverAllocation", sortSettings: "sortSettings", splitterSettings: "splitterSettings", taskFields: "taskFields", taskMode: "taskMode", taskType: "taskType", taskbarHeight: "taskbarHeight", taskbarTemplate: "taskbarTemplate", timelineSettings: "timelineSettings", timelineTemplate: "timelineTemplate", timezone: "timezone", toolbar: "toolbar", tooltipSettings: "tooltipSettings", treeColumnIndex: "treeColumnIndex", undoRedoActions: "undoRedoActions", undoRedoStepsCount: "undoRedoStepsCount", updateOffsetOnTaskbarEdit: "updateOffsetOnTaskbarEdit", validateManualTasksOnLinking: "validateManualTasksOnLinking", viewType: "viewType", weekWorkingTime: "weekWorkingTime", width: "width", workUnit: "workUnit", workWeek: "workWeek", zoomingLevels: "zoomingLevels" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforeDataBound: "beforeDataBound", beforeExcelExport: "beforeExcelExport", beforePdfExport: "beforePdfExport", beforeTooltipRender: "beforeTooltipRender", cellDeselected: "cellDeselected", cellDeselecting: "cellDeselecting", cellEdit: "cellEdit", cellSave: "cellSave", cellSelected: "cellSelected", cellSelecting: "cellSelecting", collapsed: "collapsed", collapsing: "collapsing", columnDrag: "columnDrag", columnDragStart: "columnDragStart", columnDrop: "columnDrop", columnMenuClick: "columnMenuClick", columnMenuOpen: "columnMenuOpen", contextMenuClick: "contextMenuClick", contextMenuOpen: "contextMenuOpen", created: "created", dataBound: "dataBound", dataSourceChanged: "dataSourceChanged", dataStateChange: "dataStateChange", destroyed: "destroyed", endEdit: "endEdit", excelExportComplete: "excelExportComplete", excelHeaderQueryCellInfo: "excelHeaderQueryCellInfo", excelQueryCellInfo: "excelQueryCellInfo", expanded: "expanded", expanding: "expanding", headerCellInfo: "headerCellInfo", load: "load", onMouseMove: "onMouseMove", onTaskbarClick: "onTaskbarClick", pdfColumnHeaderQueryCellInfo: "pdfColumnHeaderQueryCellInfo", pdfExportComplete: "pdfExportComplete", pdfQueryCellInfo: "pdfQueryCellInfo", pdfQueryTaskbarInfo: "pdfQueryTaskbarInfo", pdfQueryTimelineCellInfo: "pdfQueryTimelineCellInfo", queryCellInfo: "queryCellInfo", queryTaskbarInfo: "queryTaskbarInfo", recordDoubleClick: "recordDoubleClick", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", rowDataBound: "rowDataBound", rowDeselected: "rowDeselected", rowDeselecting: "rowDeselecting", rowDrag: "rowDrag", rowDragStart: "rowDragStart", rowDragStartHelper: "rowDragStartHelper", rowDrop: "rowDrop", rowSelected: "rowSelected", rowSelecting: "rowSelecting", splitterResizeStart: "splitterResizeStart", splitterResized: "splitterResized", splitterResizing: "splitterResizing", taskbarEdited: "taskbarEdited", taskbarEditing: "taskbarEditing", toolbarClick: "toolbarClick", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "parentTaskbarTemplate", first: true, predicate: ["parentTaskbarTemplate"], descendants: true }, { propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true }, { propertyName: "timelineTemplate", first: true, predicate: ["timelineTemplate"], descendants: true }, { propertyName: "milestoneTemplate", first: true, predicate: ["milestoneTemplate"], descendants: true }, { propertyName: "baselineTemplate", first: true, predicate: ["baselineTemplate"], descendants: true }, { propertyName: "taskbarTemplate", first: true, predicate: ["taskbarTemplate"], descendants: true }, { propertyName: "editTemplate", first: true, predicate: ["editTemplate"], descendants: true }, { propertyName: "labelSettings_rightLabel", first: true, predicate: ["labelSettingsRightLabel"], descendants: true }, { propertyName: "labelSettings_leftLabel", first: true, predicate: ["labelSettingsLeftLabel"], descendants: true }, { propertyName: "labelSettings_taskLabel", first: true, predicate: ["labelSettingsTaskLabel"], descendants: true }, { propertyName: "tooltipSettings_taskbar", first: true, predicate: ["tooltipSettingsTaskbar"], descendants: true }, { propertyName: "tooltipSettings_baseline", first: true, predicate: ["tooltipSettingsBaseline"], descendants: true }, { propertyName: "tooltipSettings_connectorLine", first: true, predicate: ["tooltipSettingsConnectorLine"], descendants: true }, { propertyName: "tooltipSettings_editing", first: true, predicate: ["tooltipSettingsEditing"], descendants: true }, { propertyName: "tooltipSettings_timeline", first: true, predicate: ["tooltipSettingsTimeline"], descendants: true }, { propertyName: "filter_itemTemplate", first: true, predicate: ["filterItemTemplate"], descendants: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true }, { propertyName: "emptyRecordTemplate", first: true, predicate: ["emptyRecordTemplate"], descendants: true }, { propertyName: "template", first: true, predicate: ["template"], descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childAddDialogFields", first: true, predicate: AddDialogFieldsDirective, descendants: true }, { propertyName: "childEditDialogFields", first: true, predicate: EditDialogFieldsDirective, descendants: true }, { propertyName: "childDayWorkingTime", first: true, predicate: DayWorkingTimeCollectionDirective, descendants: true }, { propertyName: "childWeekWorkingTime", first: true, predicate: WeekWorkingTimesDirective, descendants: true }, { propertyName: "childHolidays", first: true, predicate: HolidaysDirective, descendants: true }, { propertyName: "childEventMarkers", first: true, predicate: EventMarkersDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
191
|
+
__decorate([
|
|
192
|
+
Template()
|
|
193
|
+
], GanttComponent.prototype, "parentTaskbarTemplate", void 0);
|
|
194
|
+
__decorate([
|
|
195
|
+
Template()
|
|
196
|
+
], GanttComponent.prototype, "toolbarTemplate", void 0);
|
|
197
|
+
__decorate([
|
|
198
|
+
Template()
|
|
199
|
+
], GanttComponent.prototype, "timelineTemplate", void 0);
|
|
200
|
+
__decorate([
|
|
201
|
+
Template()
|
|
202
|
+
], GanttComponent.prototype, "milestoneTemplate", void 0);
|
|
203
|
+
__decorate([
|
|
204
|
+
Template()
|
|
205
|
+
], GanttComponent.prototype, "baselineTemplate", void 0);
|
|
206
|
+
__decorate([
|
|
207
|
+
Template()
|
|
208
|
+
], GanttComponent.prototype, "taskbarTemplate", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
Template()
|
|
211
|
+
], GanttComponent.prototype, "editTemplate", void 0);
|
|
212
|
+
__decorate([
|
|
213
|
+
Template()
|
|
214
|
+
], GanttComponent.prototype, "labelSettings_rightLabel", void 0);
|
|
215
|
+
__decorate([
|
|
216
|
+
Template()
|
|
217
|
+
], GanttComponent.prototype, "labelSettings_leftLabel", void 0);
|
|
218
|
+
__decorate([
|
|
219
|
+
Template()
|
|
220
|
+
], GanttComponent.prototype, "labelSettings_taskLabel", void 0);
|
|
221
|
+
__decorate([
|
|
222
|
+
Template()
|
|
223
|
+
], GanttComponent.prototype, "tooltipSettings_taskbar", void 0);
|
|
224
|
+
__decorate([
|
|
225
|
+
Template()
|
|
226
|
+
], GanttComponent.prototype, "tooltipSettings_baseline", void 0);
|
|
227
|
+
__decorate([
|
|
228
|
+
Template()
|
|
229
|
+
], GanttComponent.prototype, "tooltipSettings_connectorLine", void 0);
|
|
230
|
+
__decorate([
|
|
231
|
+
Template()
|
|
232
|
+
], GanttComponent.prototype, "tooltipSettings_editing", void 0);
|
|
233
|
+
__decorate([
|
|
234
|
+
Template()
|
|
235
|
+
], GanttComponent.prototype, "tooltipSettings_timeline", void 0);
|
|
236
|
+
__decorate([
|
|
237
|
+
Template()
|
|
238
|
+
], GanttComponent.prototype, "filter_itemTemplate", void 0);
|
|
239
|
+
__decorate([
|
|
240
|
+
Template()
|
|
241
|
+
], GanttComponent.prototype, "filterTemplate", void 0);
|
|
242
|
+
__decorate([
|
|
243
|
+
Template()
|
|
244
|
+
], GanttComponent.prototype, "emptyRecordTemplate", void 0);
|
|
245
|
+
__decorate([
|
|
246
|
+
Template()
|
|
247
|
+
], GanttComponent.prototype, "template", void 0);
|
|
248
|
+
GanttComponent = __decorate([
|
|
249
|
+
ComponentMixins([ComponentBase])
|
|
250
|
+
], GanttComponent);
|
|
251
|
+
export { GanttComponent };
|
|
252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttComponent, decorators: [{
|
|
253
|
+
type: Component,
|
|
254
|
+
args: [{
|
|
255
|
+
selector: 'ejs-gantt',
|
|
256
|
+
inputs: inputs,
|
|
257
|
+
outputs: outputs,
|
|
258
|
+
template: '',
|
|
259
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
260
|
+
queries: {
|
|
261
|
+
childColumns: new ContentChild(ColumnsDirective),
|
|
262
|
+
childAddDialogFields: new ContentChild(AddDialogFieldsDirective),
|
|
263
|
+
childEditDialogFields: new ContentChild(EditDialogFieldsDirective),
|
|
264
|
+
childDayWorkingTime: new ContentChild(DayWorkingTimeCollectionDirective),
|
|
265
|
+
childWeekWorkingTime: new ContentChild(WeekWorkingTimesDirective),
|
|
266
|
+
childHolidays: new ContentChild(HolidaysDirective),
|
|
267
|
+
childEventMarkers: new ContentChild(EventMarkersDirective)
|
|
268
|
+
}
|
|
269
|
+
}]
|
|
270
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { parentTaskbarTemplate: [{
|
|
271
|
+
type: ContentChild,
|
|
272
|
+
args: ['parentTaskbarTemplate']
|
|
273
|
+
}], toolbarTemplate: [{
|
|
274
|
+
type: ContentChild,
|
|
275
|
+
args: ['toolbarTemplate']
|
|
276
|
+
}], timelineTemplate: [{
|
|
277
|
+
type: ContentChild,
|
|
278
|
+
args: ['timelineTemplate']
|
|
279
|
+
}], milestoneTemplate: [{
|
|
280
|
+
type: ContentChild,
|
|
281
|
+
args: ['milestoneTemplate']
|
|
282
|
+
}], baselineTemplate: [{
|
|
283
|
+
type: ContentChild,
|
|
284
|
+
args: ['baselineTemplate']
|
|
285
|
+
}], taskbarTemplate: [{
|
|
286
|
+
type: ContentChild,
|
|
287
|
+
args: ['taskbarTemplate']
|
|
288
|
+
}], editTemplate: [{
|
|
289
|
+
type: ContentChild,
|
|
290
|
+
args: ['editTemplate']
|
|
291
|
+
}], labelSettings_rightLabel: [{
|
|
292
|
+
type: ContentChild,
|
|
293
|
+
args: ['labelSettingsRightLabel']
|
|
294
|
+
}], labelSettings_leftLabel: [{
|
|
295
|
+
type: ContentChild,
|
|
296
|
+
args: ['labelSettingsLeftLabel']
|
|
297
|
+
}], labelSettings_taskLabel: [{
|
|
298
|
+
type: ContentChild,
|
|
299
|
+
args: ['labelSettingsTaskLabel']
|
|
300
|
+
}], tooltipSettings_taskbar: [{
|
|
301
|
+
type: ContentChild,
|
|
302
|
+
args: ['tooltipSettingsTaskbar']
|
|
303
|
+
}], tooltipSettings_baseline: [{
|
|
304
|
+
type: ContentChild,
|
|
305
|
+
args: ['tooltipSettingsBaseline']
|
|
306
|
+
}], tooltipSettings_connectorLine: [{
|
|
307
|
+
type: ContentChild,
|
|
308
|
+
args: ['tooltipSettingsConnectorLine']
|
|
309
|
+
}], tooltipSettings_editing: [{
|
|
310
|
+
type: ContentChild,
|
|
311
|
+
args: ['tooltipSettingsEditing']
|
|
312
|
+
}], tooltipSettings_timeline: [{
|
|
313
|
+
type: ContentChild,
|
|
314
|
+
args: ['tooltipSettingsTimeline']
|
|
315
|
+
}], filter_itemTemplate: [{
|
|
316
|
+
type: ContentChild,
|
|
317
|
+
args: ['filterItemTemplate']
|
|
318
|
+
}], filterTemplate: [{
|
|
319
|
+
type: ContentChild,
|
|
320
|
+
args: ['filterTemplate']
|
|
321
|
+
}], emptyRecordTemplate: [{
|
|
322
|
+
type: ContentChild,
|
|
323
|
+
args: ['emptyRecordTemplate']
|
|
324
|
+
}], template: [{
|
|
325
|
+
type: ContentChild,
|
|
326
|
+
args: ['template']
|
|
327
|
+
}] } });
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dhbnR0L2dhbnR0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRWpFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBYSxDQUFDLGlCQUFpQixFQUFDLGtCQUFrQixFQUFDLGdCQUFnQixFQUFDLGVBQWUsRUFBQyx1QkFBdUIsRUFBQyxnQkFBZ0IsRUFBQyxpQkFBaUIsRUFBQyxlQUFlLEVBQUMscUJBQXFCLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxFQUFDLHlCQUF5QixFQUFDLHFCQUFxQixFQUFDLHVCQUF1QixFQUFDLDZCQUE2QixFQUFDLGdCQUFnQixFQUFDLDZCQUE2QixFQUFD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O3VCQUFDLHlCQUF5QjtnQkFLaEMsNkJBQTZCO3NCQUZuQyxZQUFZO3VCQUFDLDhCQUE4QjtnQkFLckMsdUJBQXVCO3NCQUY3QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLL0Isd0JBQXdCO3NCQUY5QixZQUFZO3VCQUFDLHlCQUF5QjtnQkFLaEMsbUJBQW1CO3NCQUZ6QixZQUFZO3VCQUFDLG9CQUFvQjtnQkFLM0IsY0FBYztzQkFGcEIsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBY3ZCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSzVCLFFBQVE7c0JBRmQsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIEluamVjdG9yLCBWYWx1ZVByb3ZpZGVyLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgR2FudHQgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZ2FudHQnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IENvbHVtbnNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbHVtbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFkZERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSB9IGZyb20gJy4vYWRkZGlhbG9nZmllbGRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFZGl0RGlhbG9nRmllbGRzRGlyZWN0aXZlIH0gZnJvbSAnLi9lZGl0ZGlhbG9nZmllbGRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYXlXb3JraW5nVGltZUNvbGxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RheXdvcmtpbmd0aW1lLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBXZWVrV29ya2luZ1RpbWVzRGlyZWN0aXZlIH0gZnJvbSAnLi93ZWVrd29ya2luZ3RpbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEhvbGlkYXlzRGlyZWN0aXZlIH0gZnJvbSAnLi9ob2xpZGF5cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRXZlbnRNYXJrZXJzRGlyZWN0aXZlIH0gZnJvbSAnLi9ldmVudG1hcmtlcnMuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IGlucHV0czogc3RyaW5nW10gPSBbJ2FkZERpYWxvZ0ZpZWxkcycsJ2FsbG93RXhjZWxFeHBvcnQnLCdhbGxvd0ZpbHRlcmluZycsJ2FsbG93S2V5Ym9hcmQnLCdhbGxvd1BhcmVudERlcGVuZGVuY3knLCdhbGxvd1BkZkV4cG9ydCcsJ2FsbG93UmVvcmRlcmluZycsJ2FsbG93UmVzaXppbmcnLCdhbGxvd1Jvd0RyYWdBbmREcm9wJywnYWxsb3dTZWxlY3Rpb24nLCdhbGxvd1NvcnRpbmcnLCdhbGxvd1Rhc2tiYXJEcmFnQW5kRHJvcCcsJ2FsbG93VGFza2Jhck92ZXJsYXAnLCdhbGxvd1Vuc2NoZWR1bGVkVGFza3MnLCdhdXRvQ2FsY3VsYXRlRGF0ZVNjaGVkdWxpbmcnLCdhdXRvRm9jdXNUYXNrcycsJ2F1dG9VcGRhdGVQcmVkZWNlc3Nvck9mZnNldCcsJ2Jhc2VsaW5lQ29sb3InLCdiYXNlbGluZVRlbXBsYXRlJywnY2FsZW5kYXJTZXR0aW5ncycsJ2NvbGxhcHNlQWxsUGFyZW50VGFza3MnLCdjb2x1bW5NZW51SXRlbXMnLCdjb2x1bW5zJywnY29ubmVjdG9yTGluZUJhY2tncm91bmQnLCdjb25uZWN0b3JMaW5lV2lkdGgnLCdjb250ZXh0TWVudUl0ZW1zJywnZGF0YVNvdXJjZScsJ2RhdGVGb3JtYXQnLCdkYXlXb3JraW5nVGltZScsJ2Rpc2FibGVIdG1sRW5jb2RlJywnZHVyYXRpb25Vbml0JywnZWRpdERpYWxvZ0ZpZWxkcycsJ2VkaXRTZXR0aW5ncycsJ2VtcHR5UmVjb3JkVGVtcGxhdGUnLCdlbmFibGVBZGFwdGl2ZVVJJywnZW5hYmxlQXV0b1dic1VwZGF0ZScsJ2VuYWJsZUNvbnRleHRNZW51JywnZW5hYmxlQ3JpdGljYWxQYXRoJywnZW5hYmxlSG92ZXInLCdlbmFibGVIdG1sU2FuaXRpemVyJywnZW5hYmxlSW1tdXRhYmxlTW9kZScsJ2VuYWJsZUluZmluaXRlVGltZWxpbmVTY3JvbGwnLCdlbmFibGVNdWx0aVRhc2tiYXInLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVByZWRlY2Vzc29yVmFsaWRhdGlvbicsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVRpbWVsaW5lVmlydHVhbGl6YXRpb24nLCdlbmFibGVVbmRvUmVkbycsJ2VuYWJsZVZpcnR1YWxNYXNrUm93JywnZW5hYmxlVmlydHVhbGl6YXRpb24nLCdlbmFibGVXQlMnLCdldmVudE1hcmtlcnMnLCdmaWx0ZXJTZXR0aW5ncycsJ2Zyb3plbkNvbHVtbnMnLCdncmlkTGluZXMnLCdoZWlnaHQnLCdoaWdobGlnaHRXZWVrZW5kcycsJ2hvbGlkYXlzJywnaW5jbHVkZVdlZWtlbmQnLCdsYWJlbFNldHRpbmdzJywnbG9hZENoaWxkT25EZW1hbmQnLCdsb2FkaW5nSW5kaWNhdG9yJywnbG9jYWxlJywnbWlsZXN0b25lVGVtcGxhdGUnLCdwYXJlbnRUYXNrYmFyVGVtcGxhdGUnLCdwcm9qZWN0RW5kRGF0ZScsJ3Byb2plY3RTdGFydERhdGUnLCdxdWVyeScsJ3JlYWRPbmx5JywncmVuZGVyQmFzZWxpbmUnLCdyZXNvdXJjZUZpZWxkcycsJ3Jlc291cmNlSURNYXBwaW5nJywncmVzb3VyY2VOYW1lTWFwcGluZycsJ3Jlc291cmNlcycsJ3Jvd0hlaWdodCcsJ3NlYXJjaFNldHRpbmdzJywnc2VnbWVudERhdGEnLCdzZWxlY3RlZFJvd0luZGV4Jywnc2VsZWN0aW9uU2V0dGluZ3MnLCdzaG93Q29sdW1uTWVudScsJ3Nob3dJbmxpbmVOb3RlcycsJ3Nob3dPdmVyQWxsb2NhdGlvbicsJ3NvcnRTZXR0aW5ncycsJ3NwbGl0dGVyU2V0dGluZ3MnLCd0YXNrRmllbGRzJywndGFza01vZGUnLCd0YXNrVHlwZScsJ3Rhc2tiYXJIZWlnaHQnLCd0YXNrYmFyVGVtcGxhdGUnLCd0aW1lbGluZVNldHRpbmdzJywndGltZWxpbmVUZW1wbGF0ZScsJ3RpbWV6b25lJywndG9vbGJhcicsJ3Rvb2x0aXBTZXR0aW5ncycsJ3RyZWVDb2x1bW5JbmRleCcsJ3VuZG9SZWRvQWN0aW9ucycsJ3VuZG9SZWRvU3RlcHNDb3VudCcsJ3VwZGF0ZU9mZnNldE9uVGFza2JhckVkaXQnLCd2YWxpZGF0ZU1hbnVhbFRhc2tzT25MaW5raW5nJywndmlld1R5cGUnLCd3ZWVrV29ya2luZ1RpbWUnLCd3aWR0aCcsJ3dvcmtVbml0Jywnd29ya1dlZWsnLCd6b29taW5nTGV2ZWxzJ107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2FjdGlvbkJlZ2luJywnYWN0aW9uQ29tcGxldGUnLCdhY3Rpb25GYWlsdXJlJywnYmVmb3JlRGF0YUJvdW5kJywnYmVmb3JlRXhjZWxFeHBvcnQnLCdiZWZvcmVQZGZFeHBvcnQnLCdiZWZvcmVUb29sdGlwUmVuZGVyJywnY2VsbERlc2VsZWN0ZWQnLCdjZWxsRGVzZWxlY3RpbmcnLCdjZWxsRWRpdCcsJ2NlbGxTYXZlJywnY2VsbFNlbGVjdGVkJywnY2VsbFNlbGVjdGluZycsJ2NvbGxhcHNlZCcsJ2NvbGxhcHNpbmcnLCdjb2x1bW5EcmFnJywnY29sdW1uRHJhZ1N0YXJ0JywnY29sdW1uRHJvcCcsJ2NvbHVtbk1lbnVDbGljaycsJ2NvbHVtbk1lbnVPcGVuJywnY29udGV4dE1lbnVDbGljaycsJ2NvbnRleHRNZW51T3BlbicsJ2NyZWF0ZWQnLCdkYXRhQm91bmQnLCdkYXRhU291cmNlQ2hhbmdlZCcsJ2RhdGFTdGF0ZUNoYW5nZScsJ2Rlc3Ryb3llZCcsJ2VuZEVkaXQnLCdleGNlbEV4cG9ydENvbXBsZXRlJywnZXhjZWxIZWFkZXJRdWVyeUNlbGxJbmZvJywnZXhjZWxRdWVyeUNlbGxJbmZvJywnZXhwYW5kZWQnLCdleHBhbmRpbmcnLCdoZWFkZXJDZWxsSW5mbycsJ2xvYWQnLCdvbk1vdXNlTW92ZScsJ29uVGFza2JhckNsaWNrJywncGRmQ29sdW1uSGVhZGVyUXVlcnlDZWxsSW5mbycsJ3BkZkV4cG9ydENvbXBsZXRlJywncGRmUXVlcnlDZWxsSW5mbycsJ3BkZlF1ZXJ5VGFza2JhckluZm8nLCdwZGZRdWVyeVRpbWVsaW5lQ2VsbEluZm8nLCdxdWVyeUNlbGxJbmZvJywncXVlcnlUYXNrYmFySW5mbycsJ3JlY29yZERvdWJsZUNsaWNrJywncmVzaXplU3RhcnQnLCdyZXNpemVTdG9wJywncmVzaXppbmcnLCdyb3dEYXRhQm91bmQnLCdyb3dEZXNlbGVjdGVkJywncm93RGVzZWxlY3RpbmcnLCdyb3dEcmFnJywncm93RHJhZ1N0YXJ0Jywncm93RHJhZ1N0YXJ0SGVscGVyJywncm93RHJvcCcsJ3Jvd1NlbGVjdGVkJywncm93U2VsZWN0aW5nJywnc3BsaXR0ZXJSZXNpemVTdGFydCcsJ3NwbGl0dGVyUmVzaXplZCcsJ3NwbGl0dGVyUmVzaXppbmcnLCd0YXNrYmFyRWRpdGVkJywndGFza2JhckVkaXRpbmcnLCd0b29sYmFyQ2xpY2snLCdkYXRhU291cmNlQ2hhbmdlJ107XG5leHBvcnQgY29uc3QgdHdvV2F5czogc3RyaW5nW10gPSBbJ2RhdGFTb3VyY2UnXTtcblxuLyoqXG4gKiBgZWpzLWdhbnR0YCByZXByZXNlbnRzIHRoZSBBbmd1bGFyIEdhbnR0IENvbXBvbmVudC5cbiAqIGBgYGh0bWxcbiAqIDxlanMtZ2FudHQgW2RhdGFTb3VyY2VdPSdkYXRhJyBhbGxvd1NlbGVjdGlvbj0ndHJ1ZScgYWxsb3dTb3J0aW5nPSd0cnVlJz48L2Vqcy1nYW50dD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Vqcy1nYW50dCcsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgb3V0cHV0czogb3V0cHV0cyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZENvbHVtbnM6IG5ldyBDb250ZW50Q2hpbGQoQ29sdW1uc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEFkZERpYWxvZ0ZpZWxkczogbmV3IENvbnRlbnRDaGlsZChBZGREaWFsb2dGaWVsZHNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRFZGl0RGlhbG9nRmllbGRzOiBuZXcgQ29udGVudENoaWxkKEVkaXREaWFsb2dGaWVsZHNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGREYXlXb3JraW5nVGltZTogbmV3IENvbnRlbnRDaGlsZChEYXlXb3JraW5nVGltZUNvbGxlY3Rpb25EaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRXZWVrV29ya2luZ1RpbWU6IG5ldyBDb250ZW50Q2hpbGQoV2Vla1dvcmtpbmdUaW1lc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEhvbGlkYXlzOiBuZXcgQ29udGVudENoaWxkKEhvbGlkYXlzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkRXZlbnRNYXJrZXJzOiBuZXcgQ29udGVudENoaWxkKEV2ZW50TWFya2Vyc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuQENvbXBvbmVudE1peGlucyhbQ29tcG9uZW50QmFzZV0pXG5leHBvcnQgY2xhc3MgR2FudHRDb21wb25lbnQgZXh0ZW5kcyBHYW50dCBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgY29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRhY3Rpb25CZWdpbjogYW55O1xuXHRhY3Rpb25Db21wbGV0ZTogYW55O1xuXHRhY3Rpb25GYWlsdXJlOiBhbnk7XG5cdGJlZm9yZURhdGFCb3VuZDogYW55O1xuXHRiZWZvcmVFeGNlbEV4cG9ydDogYW55O1xuXHRiZWZvcmVQZGZFeHBvcnQ6IGFueTtcblx0YmVmb3JlVG9vbHRpcFJlbmRlcjogYW55O1xuXHRjZWxsRGVzZWxlY3RlZDogYW55O1xuXHRjZWxsRGVzZWxlY3Rpbmc6IGFueTtcblx0Y2VsbEVkaXQ6IGFueTtcblx0Y2VsbFNhdmU6IGFueTtcblx0Y2VsbFNlbGVjdGVkOiBhbnk7XG5cdGNlbGxTZWxlY3Rpbmc6IGFueTtcblx0Y29sbGFwc2VkOiBhbnk7XG5cdGNvbGxhcHNpbmc6IGFueTtcblx0Y29sdW1uRHJhZzogYW55O1xuXHRjb2x1bW5EcmFnU3RhcnQ6IGFueTtcblx0Y29sdW1uRHJvcDogYW55O1xuXHRjb2x1bW5NZW51Q2xpY2s6IGFueTtcblx0Y29sdW1uTWVudU9wZW46IGFueTtcblx0Y29udGV4dE1lbnVDbGljazogYW55O1xuXHRjb250ZXh0TWVudU9wZW46IGFueTtcblx0Y3JlYXRlZDogYW55O1xuXHRkYXRhQm91bmQ6IGFueTtcblx0ZGF0YVNvdXJjZUNoYW5nZWQ6IGFueTtcblx0ZGF0YVN0YXRlQ2hhbmdlOiBhbnk7XG5cdGRlc3Ryb3llZDogYW55O1xuXHRlbmRFZGl0OiBhbnk7XG5cdGV4Y2VsRXhwb3J0Q29tcGxldGU6IGFueTtcblx0ZXhjZWxIZWFkZXJRdWVyeUNlbGxJbmZvOiBhbnk7XG5cdGV4Y2VsUXVlcnlDZWxsSW5mbzogYW55O1xuXHRleHBhbmRlZDogYW55O1xuXHRleHBhbmRpbmc6IGFueTtcblx0aGVhZGVyQ2VsbEluZm86IGFueTtcblx0bG9hZDogYW55O1xuXHRvbk1vdXNlTW92ZTogYW55O1xuXHRvblRhc2tiYXJDbGljazogYW55O1xuXHRwZGZDb2x1bW5IZWFkZXJRdWVyeUNlbGxJbmZvOiBhbnk7XG5cdHBkZkV4cG9ydENvbXBsZXRlOiBhbnk7XG5cdHBkZlF1ZXJ5Q2VsbEluZm86IGFueTtcblx0cGRmUXVlcnlUYXNrYmFySW5mbzogYW55O1xuXHRwZGZRdWVyeVRpbWVsaW5lQ2VsbEluZm86IGFueTtcblx0cXVlcnlDZWxsSW5mbzogYW55O1xuXHRxdWVyeVRhc2tiYXJJbmZvOiBhbnk7XG5cdHJlY29yZERvdWJsZUNsaWNrOiBhbnk7XG5cdHJlc2l6ZVN0YXJ0OiBhbnk7XG5cdHJlc2l6ZVN0b3A6IGFueTtcblx0cmVzaXppbmc6IGFueTtcblx0cm93RGF0YUJvdW5kOiBhbnk7XG5cdHJvd0Rlc2VsZWN0ZWQ6IGFueTtcblx0cm93RGVzZWxlY3Rpbmc6IGFueTtcblx0cm93RHJhZzogYW55O1xuXHRyb3dEcmFnU3RhcnQ6IGFueTtcblx0cm93RHJhZ1N0YXJ0SGVscGVyOiBhbnk7XG5cdHJvd0Ryb3A6IGFueTtcblx0cm93U2VsZWN0ZWQ6IGFueTtcblx0cm93U2VsZWN0aW5nOiBhbnk7XG5cdHNwbGl0dGVyUmVzaXplU3RhcnQ6IGFueTtcblx0c3BsaXR0ZXJSZXNpemVkOiBhbnk7XG5cdHNwbGl0dGVyUmVzaXppbmc6IGFueTtcblx0dGFza2JhckVkaXRlZDogYW55O1xuXHR0YXNrYmFyRWRpdGluZzogYW55O1xuXHR0b29sYmFyQ2xpY2s6IGFueTtcblx0cHVibGljIGRhdGFTb3VyY2VDaGFuZ2U6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRDb2x1bW5zOiBRdWVyeUxpc3Q8Q29sdW1uc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkQWRkRGlhbG9nRmllbGRzOiBRdWVyeUxpc3Q8QWRkRGlhbG9nRmllbGRzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRFZGl0RGlhbG9nRmllbGRzOiBRdWVyeUxpc3Q8RWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkRGF5V29ya2luZ1RpbWU6IFF1ZXJ5TGlzdDxEYXlXb3JraW5nVGltZUNvbGxlY3Rpb25EaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFdlZWtXb3JraW5nVGltZTogUXVlcnlMaXN0PFdlZWtXb3JraW5nVGltZXNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEhvbGlkYXlzOiBRdWVyeUxpc3Q8SG9saWRheXNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEV2ZW50TWFya2VyczogUXVlcnlMaXN0PEV2ZW50TWFya2Vyc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIHRhZ3M6IHN0cmluZ1tdID0gWydjb2x1bW5zJywgJ2FkZERpYWxvZ0ZpZWxkcycsICdlZGl0RGlhbG9nRmllbGRzJywgJ2RheVdvcmtpbmdUaW1lJywgJ3dlZWtXb3JraW5nVGltZScsICdob2xpZGF5cycsICdldmVudE1hcmtlcnMnXTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IgcmVuZGVyaW5nIHBhcmVudCB0YXNrIGJhcnMgaW4gdGhlIEdhbnR0IGNoYXJ0LiBUaGlzIHRlbXBsYXRlIGFsbG93cyB5b3UgdG8gY3VzdG9taXplIHRoZSBhcHBlYXJhbmNlIG9mIHBhcmVudCB0YXNrIGJhcnMuIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J2dhbnR0L3BhcmVudFRhc2tiYXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncGFyZW50VGFza2JhclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBwYXJlbnRUYXNrYmFyVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0b29sYmFyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2xiYXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHVzZWQgdG8gcmVuZGVyIGN1c3RvbSBIVE1MIGNvbnRlbnQgaW4gdGltZWxpbmUgY2VsbHMuIFxuICAgICAqIHslIGNvZGVCbG9jayBzcmM9J2dhbnR0L3RpbWVsaW5lVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3RpbWVsaW5lVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRpbWVsaW5lVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBhIGN1c3RvbSB0ZW1wbGF0ZSBmb3IgcmVuZGVyaW5nIG1pbGVzdG9uZSB0YXNrcyBpbiB0aGUgR2FudHQgY2hhcnQuIFRoaXMgdGVtcGxhdGUgYWxsb3dzIHlvdSB0byBjdXN0b21pemUgdGhlIGFwcGVhcmFuY2Ugb2YgbWlsZXN0b25lIHRhc2tzLiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdnYW50dC9taWxlc3RvbmVUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbWlsZXN0b25lVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIG1pbGVzdG9uZVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIC4gXG4gICAgICogQWNjZXB0cyBhbiBlbGVtZW50IElEIHNlbGVjdG9yLCBIVE1MIHN0cmluZywgb3IgZnVuY3Rpb24gcmV0dXJuaW5nIGBzdHJpbmdgIG9yIGBIVE1MRWxlbWVudGAuIFxuICAgICAqIERlZmluZXMgYSBjdXN0b20gdGVtcGxhdGUgZm9yIHJlbmRlcmluZyBiYXNlbGluZSBiYXJzIGluIHRoZSBHYW50dCBjaGFydC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnYmFzZWxpbmVUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgYmFzZWxpbmVUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgdGFzayBiYXIgdGVtcGxhdGUgdGhhdCByZW5kZXJzIGN1c3RvbWl6ZWQgY2hpbGQgdGFzayBiYXJzIGZyb20gdGhlIGdpdmVuIHRlbXBsYXRlLiBcbiAgICAgKiBUaGlzIHByb3BlcnR5IGFsbG93cyB1c2VycyB0byBkZWZpbmUgYSBjdXN0b20gdGVtcGxhdGUgZm9yIHJlbmRlcmluZyBjaGlsZCB0YXNrIGJhcnMgaW4gdGhlIEdhbnR0IGNoYXJ0LiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdnYW50dC90YXNrYmFyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rhc2tiYXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGFza2JhclRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZWRpdFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBlZGl0VGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFNldHRpbmdzUmlnaHRMYWJlbCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbGFiZWxTZXR0aW5nc19yaWdodExhYmVsOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnbGFiZWxTZXR0aW5nc0xlZnRMYWJlbCcpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgbGFiZWxTZXR0aW5nc19sZWZ0TGFiZWw6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFNldHRpbmdzVGFza0xhYmVsJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBsYWJlbFNldHRpbmdzX3Rhc2tMYWJlbDogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc1Rhc2tiYXInKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc190YXNrYmFyOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndG9vbHRpcFNldHRpbmdzQmFzZWxpbmUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc19iYXNlbGluZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBTZXR0aW5nc0Nvbm5lY3RvckxpbmUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRvb2x0aXBTZXR0aW5nc19jb25uZWN0b3JMaW5lOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndG9vbHRpcFNldHRpbmdzRWRpdGluZycpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcFNldHRpbmdzX2VkaXRpbmc6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0b29sdGlwU2V0dGluZ3NUaW1lbGluZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcFNldHRpbmdzX3RpbWVsaW5lOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZmlsdGVySXRlbVRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBmaWx0ZXJfaXRlbVRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZmlsdGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGZpbHRlclRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgYSBjdXN0b20gdGVtcGxhdGUgdG8gZGlzcGxheSB3aGVuIHRoZSBHYW50dCBjaGFydCBoYXMgbm8gcmVjb3Jkcy5cbiAgICAgKiBcbiAgICAgKiBUaGlzIHRlbXBsYXRlIHJlcGxhY2VzIHRoZSBkZWZhdWx0IGVtcHR5IHJlY29yZCBtZXNzYWdlIGFuZCBjYW4gaW5jbHVkZSB0ZXh0LCBIVE1MIGVsZW1lbnRzLCBvciBpbWFnZXMuXG4gICAgICpBY2NlcHRzIGVpdGhlciBhIHRlbXBsYXRlIHN0cmluZyBvciBhbiBIVE1MIGVsZW1lbnQgSUQuXG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdlbXB0eVJlY29yZFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBlbXB0eVJlY29yZFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nRWxlOiBFbGVtZW50UmVmLCBwcml2YXRlIHNyZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5uZ0VsZS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcyA9IHRoaXMuaW5qZWN0ZWRNb2R1bGVzIHx8IFtdO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRGaWx0ZXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0U2VsZWN0aW9uJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFNvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0UmVvcmRlcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRSZXNpemUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0RWRpdCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHREYXlNYXJrZXJzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdHYW50dFRvb2xiYXInKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0Q29udGV4dE1lbnUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0RXhjZWxFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0Um93REQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0Q29sdW1uTWVudScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRQZGZFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0VmlydHVhbFNjcm9sbCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnR2FudHRDcml0aWNhbFBhdGgnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0VW5kb1JlZG8nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0dhbnR0RnJlZXplJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHJcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5hZGRUd29XYXkuY2FsbCh0aGlzLCB0d29XYXlzKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMuY29udGV4dCAgPSBuZXcgQ29tcG9uZW50QmFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25Jbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyVmlld0luaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkRlc3Ryb3kodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWdPYmplY3RzWzBdLmluc3RhbmNlID0gdGhpcy5jaGlsZENvbHVtbnM7XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRBZGREaWFsb2dGaWVsZHMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1sxXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRBZGREaWFsb2dGaWVsZHM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEVkaXREaWFsb2dGaWVsZHMpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1syXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRFZGl0RGlhbG9nRmllbGRzO1xuICAgICAgICB9XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGREYXlXb3JraW5nVGltZSkge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzNdLmluc3RhbmNlID0gdGhpcy5jaGlsZERheVdvcmtpbmdUaW1lO1xuICAgICAgICB9XG4gICAgICAgIFxuXHQgICAgaWYgKHRoaXMuY2hpbGRXZWVrV29ya2luZ1RpbWUpIHtcbiAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s0XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRXZWVrV29ya2luZ1RpbWU7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEhvbGlkYXlzKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNV0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkSG9saWRheXM7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZEV2ZW50TWFya2Vycykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzZdLmluc3RhbmNlID0gdGhpcy5jaGlsZEV2ZW50TWFya2VycztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlckNvbnRlbnRDaGVja2VkKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckV2ZW50czogKGV2ZW50TGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHVibGljIGFkZFR3b1dheTogKHByb3BMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuIl19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ColumnDirective, ColumnsDirective } from './columns.directive';
|
|
4
|
+
import { AddDialogFieldDirective, AddDialogFieldsDirective } from './adddialogfields.directive';
|
|
5
|
+
import { EditDialogFieldDirective, EditDialogFieldsDirective } from './editdialogfields.directive';
|
|
6
|
+
import { DayWorkingTimeDirective, DayWorkingTimeCollectionDirective } from './dayworkingtime.directive';
|
|
7
|
+
import { WeekWorkingTimeDirective, WeekWorkingTimesDirective } from './weekworkingtime.directive';
|
|
8
|
+
import { HolidayDirective, HolidaysDirective } from './holidays.directive';
|
|
9
|
+
import { EventMarkerDirective, EventMarkersDirective } from './eventmarkers.directive';
|
|
10
|
+
import { GanttComponent } from './gantt.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
/**
|
|
13
|
+
* NgModule definition for the Gantt component.
|
|
14
|
+
*/
|
|
15
|
+
export class GanttModule {
|
|
16
|
+
}
|
|
17
|
+
GanttModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
GanttModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttModule, declarations: [GanttComponent,
|
|
19
|
+
ColumnDirective,
|
|
20
|
+
ColumnsDirective,
|
|
21
|
+
AddDialogFieldDirective,
|
|
22
|
+
AddDialogFieldsDirective,
|
|
23
|
+
EditDialogFieldDirective,
|
|
24
|
+
EditDialogFieldsDirective,
|
|
25
|
+
DayWorkingTimeDirective,
|
|
26
|
+
DayWorkingTimeCollectionDirective,
|
|
27
|
+
WeekWorkingTimeDirective,
|
|
28
|
+
WeekWorkingTimesDirective,
|
|
29
|
+
HolidayDirective,
|
|
30
|
+
HolidaysDirective,
|
|
31
|
+
EventMarkerDirective,
|
|
32
|
+
EventMarkersDirective], imports: [CommonModule], exports: [GanttComponent,
|
|
33
|
+
ColumnDirective,
|
|
34
|
+
ColumnsDirective,
|
|
35
|
+
AddDialogFieldDirective,
|
|
36
|
+
AddDialogFieldsDirective,
|
|
37
|
+
EditDialogFieldDirective,
|
|
38
|
+
EditDialogFieldsDirective,
|
|
39
|
+
DayWorkingTimeDirective,
|
|
40
|
+
DayWorkingTimeCollectionDirective,
|
|
41
|
+
WeekWorkingTimeDirective,
|
|
42
|
+
WeekWorkingTimesDirective,
|
|
43
|
+
HolidayDirective,
|
|
44
|
+
HolidaysDirective,
|
|
45
|
+
EventMarkerDirective,
|
|
46
|
+
EventMarkersDirective] });
|
|
47
|
+
GanttModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttModule, imports: [[CommonModule]] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: GanttModule, decorators: [{
|
|
49
|
+
type: NgModule,
|
|
50
|
+
args: [{
|
|
51
|
+
imports: [CommonModule],
|
|
52
|
+
declarations: [
|
|
53
|
+
GanttComponent,
|
|
54
|
+
ColumnDirective,
|
|
55
|
+
ColumnsDirective,
|
|
56
|
+
AddDialogFieldDirective,
|
|
57
|
+
AddDialogFieldsDirective,
|
|
58
|
+
EditDialogFieldDirective,
|
|
59
|
+
EditDialogFieldsDirective,
|
|
60
|
+
DayWorkingTimeDirective,
|
|
61
|
+
DayWorkingTimeCollectionDirective,
|
|
62
|
+
WeekWorkingTimeDirective,
|
|
63
|
+
WeekWorkingTimesDirective,
|
|
64
|
+
HolidayDirective,
|
|
65
|
+
HolidaysDirective,
|
|
66
|
+
EventMarkerDirective,
|
|
67
|
+
EventMarkersDirective
|
|
68
|
+
],
|
|
69
|
+
exports: [
|
|
70
|
+
GanttComponent,
|
|
71
|
+
ColumnDirective,
|
|
72
|
+
ColumnsDirective,
|
|
73
|
+
AddDialogFieldDirective,
|
|
74
|
+
AddDialogFieldsDirective,
|
|
75
|
+
EditDialogFieldDirective,
|
|
76
|
+
EditDialogFieldsDirective,
|
|
77
|
+
DayWorkingTimeDirective,
|
|
78
|
+
DayWorkingTimeCollectionDirective,
|
|
79
|
+
WeekWorkingTimeDirective,
|
|
80
|
+
WeekWorkingTimesDirective,
|
|
81
|
+
HolidayDirective,
|
|
82
|
+
HolidaysDirective,
|
|
83
|
+
EventMarkerDirective,
|
|
84
|
+
EventMarkersDirective
|
|
85
|
+
]
|
|
86
|
+
}]
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dhbnR0L2dhbnR0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUVuRDs7R0FFRztBQXNDSCxNQUFNLE9BQU8sV0FBVzs7d0dBQVgsV0FBVzt5R0FBWCxXQUFXLGlCQWxDaEIsY0FBYztRQUNkLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixpQ0FBaUM7UUFDakMsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixxQkFBcUIsYUFoQmYsWUFBWSxhQW1CbEIsY0FBYztRQUNkLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixpQ0FBaUM7UUFDakMsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixxQkFBcUI7eUdBR2hCLFdBQVcsWUFwQ1gsQ0FBQyxZQUFZLENBQUM7MkZBb0NkLFdBQVc7a0JBckN2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFO3dCQUNWLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsdUJBQXVCO3dCQUN2QixpQ0FBaUM7d0JBQ2pDLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixxQkFBcUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsaUNBQWlDO3dCQUNqQyx3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3FCQUN4QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29sdW1uRGlyZWN0aXZlLCBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBZGREaWFsb2dGaWVsZERpcmVjdGl2ZSwgQWRkRGlhbG9nRmllbGRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hZGRkaWFsb2dmaWVsZHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVkaXREaWFsb2dGaWVsZERpcmVjdGl2ZSwgRWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSB9IGZyb20gJy4vZWRpdGRpYWxvZ2ZpZWxkcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGF5V29ya2luZ1RpbWVEaXJlY3RpdmUsIERheVdvcmtpbmdUaW1lQ29sbGVjdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGF5d29ya2luZ3RpbWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFdlZWtXb3JraW5nVGltZURpcmVjdGl2ZSwgV2Vla1dvcmtpbmdUaW1lc0RpcmVjdGl2ZSB9IGZyb20gJy4vd2Vla3dvcmtpbmd0aW1lLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIb2xpZGF5RGlyZWN0aXZlLCBIb2xpZGF5c0RpcmVjdGl2ZSB9IGZyb20gJy4vaG9saWRheXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEV2ZW50TWFya2VyRGlyZWN0aXZlLCBFdmVudE1hcmtlcnNEaXJlY3RpdmUgfSBmcm9tICcuL2V2ZW50bWFya2Vycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR2FudHRDb21wb25lbnQgfSBmcm9tICcuL2dhbnR0LmNvbXBvbmVudCc7XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIEdhbnR0IGNvbXBvbmVudC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgR2FudHRDb21wb25lbnQsXG4gICAgICAgIENvbHVtbkRpcmVjdGl2ZSxcbiAgICAgICAgQ29sdW1uc0RpcmVjdGl2ZSxcbiAgICAgICAgQWRkRGlhbG9nRmllbGREaXJlY3RpdmUsXG4gICAgICAgIEFkZERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSxcbiAgICAgICAgRWRpdERpYWxvZ0ZpZWxkRGlyZWN0aXZlLFxuICAgICAgICBFZGl0RGlhbG9nRmllbGRzRGlyZWN0aXZlLFxuICAgICAgICBEYXlXb3JraW5nVGltZURpcmVjdGl2ZSxcbiAgICAgICAgRGF5V29ya2luZ1RpbWVDb2xsZWN0aW9uRGlyZWN0aXZlLFxuICAgICAgICBXZWVrV29ya2luZ1RpbWVEaXJlY3RpdmUsXG4gICAgICAgIFdlZWtXb3JraW5nVGltZXNEaXJlY3RpdmUsXG4gICAgICAgIEhvbGlkYXlEaXJlY3RpdmUsXG4gICAgICAgIEhvbGlkYXlzRGlyZWN0aXZlLFxuICAgICAgICBFdmVudE1hcmtlckRpcmVjdGl2ZSxcbiAgICAgICAgRXZlbnRNYXJrZXJzRGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEdhbnR0Q29tcG9uZW50LFxuICAgICAgICBDb2x1bW5EaXJlY3RpdmUsXG4gICAgICAgIENvbHVtbnNEaXJlY3RpdmUsXG4gICAgICAgIEFkZERpYWxvZ0ZpZWxkRGlyZWN0aXZlLFxuICAgICAgICBBZGREaWFsb2dGaWVsZHNEaXJlY3RpdmUsXG4gICAgICAgIEVkaXREaWFsb2dGaWVsZERpcmVjdGl2ZSxcbiAgICAgICAgRWRpdERpYWxvZ0ZpZWxkc0RpcmVjdGl2ZSxcbiAgICAgICAgRGF5V29ya2luZ1RpbWVEaXJlY3RpdmUsXG4gICAgICAgIERheVdvcmtpbmdUaW1lQ29sbGVjdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgV2Vla1dvcmtpbmdUaW1lRGlyZWN0aXZlLFxuICAgICAgICBXZWVrV29ya2luZ1RpbWVzRGlyZWN0aXZlLFxuICAgICAgICBIb2xpZGF5RGlyZWN0aXZlLFxuICAgICAgICBIb2xpZGF5c0RpcmVjdGl2ZSxcbiAgICAgICAgRXZlbnRNYXJrZXJEaXJlY3RpdmUsXG4gICAgICAgIEV2ZW50TWFya2Vyc0RpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgR2FudHRNb2R1bGUgeyB9Il19
|