@flywheel-io/vision 0.5.0 → 0.7.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.
- package/README.md +1 -19
- package/assets/fonts/Flywheel-Vision-Icons.svg +239 -0
- package/assets/fonts/{flywheel.eot → Flywheel-Vision-Icons.ttf} +0 -0
- package/assets/fonts/{flywheel.ttf → Flywheel-Vision-Icons.woff} +0 -0
- package/components/button/button.component.d.ts +3 -0
- package/components/button/button.module.d.ts +7 -0
- package/components/button-group/button-group.component.d.ts +3 -0
- package/components/button-group/button-group.module.d.ts +5 -0
- package/components/dialog/choice-dialog.component.d.ts +11 -5
- package/components/dialog/confirm-dialog.component.d.ts +3 -0
- package/components/dialog/dialog.module.d.ts +14 -0
- package/components/dialog/dialog.service.d.ts +3 -0
- package/components/dialog/error-dialog.component.d.ts +3 -0
- package/components/dialog/portal-dialog.component.d.ts +3 -0
- package/components/icon/icon.component.d.ts +5 -0
- package/components/icon/icon.module.d.ts +8 -0
- package/components/notification/notification/notification.component.d.ts +3 -0
- package/components/notification/notification-container/notification-container.component.d.ts +3 -0
- package/components/notification/notification.module.d.ts +11 -0
- package/components/notification/notification.service.d.ts +3 -0
- package/components/popover/popover-trigger.component.d.ts +3 -0
- package/components/popover/popover-trigger.directive.d.ts +3 -0
- package/components/popover/popover.component.d.ts +3 -0
- package/components/popover/popover.module.d.ts +8 -0
- package/components/shared/pipes/pipes.module.d.ts +6 -0
- package/components/shared/pipes/translate.pipe.d.ts +3 -0
- package/components/shared/pipes/trusthtml.pipe.d.ts +3 -0
- package/components/shared/translation.service.d.ts +3 -0
- package/components/table/table.component.d.ts +3 -0
- package/components/table/table.module.d.ts +12 -0
- package/elements/README.md +20 -0
- package/elements/flywheel-io-vision-elements.d.ts +1 -0
- package/elements/package.json +5 -6
- package/esm2020/components/button/button.component.mjs +32 -0
- package/esm2020/components/button/button.module.mjs +33 -0
- package/esm2020/components/button-group/button-group.component.mjs +25 -0
- package/esm2020/components/button-group/button-group.module.mjs +23 -0
- package/esm2020/components/dialog/choice-dialog.component.mjs +90 -0
- package/esm2020/components/dialog/confirm-dialog.component.mjs +57 -0
- package/{esm2015/components/dialog/dialog.module.js → esm2020/components/dialog/dialog.module.mjs} +58 -31
- package/esm2020/components/dialog/dialog.service.mjs +72 -0
- package/esm2020/components/dialog/error-dialog.component.mjs +45 -0
- package/esm2020/components/dialog/portal-dialog.component.mjs +112 -0
- package/esm2020/components/icon/icon.component.mjs +19 -0
- package/esm2020/components/icon/icon.module.mjs +26 -0
- package/esm2020/components/notification/notification/notification.component.mjs +69 -0
- package/{esm2015/components/notification/notification/notification.model.js → esm2020/components/notification/notification/notification.model.mjs} +0 -0
- package/esm2020/components/notification/notification-container/notification-container.component.mjs +86 -0
- package/{esm2015/components/notification/notification-timer.service.js → esm2020/components/notification/notification-timer.service.mjs} +0 -0
- package/esm2020/components/notification/notification.module.mjs +56 -0
- package/{esm2015/components/notification/notification.service.js → esm2020/components/notification/notification.service.mjs} +9 -7
- package/esm2020/components/popover/popover-trigger.component.mjs +56 -0
- package/esm2020/components/popover/popover-trigger.directive.mjs +133 -0
- package/esm2020/components/popover/popover.component.mjs +29 -0
- package/esm2020/components/popover/popover.module.mjs +46 -0
- package/esm2020/components/shared/pipes/pipes.module.mjs +36 -0
- package/esm2020/components/shared/pipes/translate.pipe.mjs +39 -0
- package/esm2020/components/shared/pipes/trusthtml.pipe.mjs +21 -0
- package/esm2020/components/shared/translation.service.mjs +25 -0
- package/esm2020/components/table/table.component.mjs +179 -0
- package/esm2020/components/table/table.module.mjs +56 -0
- package/esm2020/elements/elements.mjs +61 -0
- package/{esm2015/elements/flywheel-io-vision-elements.js → esm2020/elements/flywheel-io-vision-elements.mjs} +0 -0
- package/{esm2015/elements/polyfills.js → esm2020/elements/polyfills.mjs} +0 -0
- package/{esm2015/elements/public-api.js → esm2020/elements/public-api.mjs} +0 -0
- package/esm2020/flywheel-io-vision.mjs +5 -0
- package/esm2020/public-api.mjs +25 -0
- package/fesm2015/{flywheel-io-vision-elements.js → flywheel-io-vision-elements.mjs} +19 -14
- package/fesm2015/flywheel-io-vision-elements.mjs.map +1 -0
- package/fesm2015/flywheel-io-vision.mjs +1402 -0
- package/fesm2015/flywheel-io-vision.mjs.map +1 -0
- package/fesm2020/flywheel-io-vision-elements.mjs +85 -0
- package/fesm2020/flywheel-io-vision-elements.mjs.map +1 -0
- package/fesm2020/flywheel-io-vision.mjs +1392 -0
- package/fesm2020/flywheel-io-vision.mjs.map +1 -0
- package/flywheel-io-vision.d.ts +1 -4
- package/package.json +43 -19
- package/public-api.d.ts +2 -0
- package/scss/atoms/ghost.scss +30 -0
- package/scss/config/theme.scss +6 -6
- package/scss/icons/_icon-font-face.scss +5 -6
- package/scss/icons/_icon-glyphs.scss +96 -16
- package/scss/material/overrides.scss +6 -1
- package/styles.css +274 -202
- package/styles.scss +8 -9
- package/assets/fonts/flywheel.svg +0 -101
- package/assets/fonts/flywheel.woff +0 -0
- package/bundles/flywheel-io-vision-elements.umd.js +0 -425
- package/bundles/flywheel-io-vision-elements.umd.js.map +0 -1
- package/bundles/flywheel-io-vision-elements.umd.min.js +0 -2
- package/bundles/flywheel-io-vision-elements.umd.min.js.map +0 -1
- package/bundles/flywheel-io-vision.umd.js +0 -1578
- package/bundles/flywheel-io-vision.umd.js.map +0 -1
- package/bundles/flywheel-io-vision.umd.min.js +0 -2
- package/bundles/flywheel-io-vision.umd.min.js.map +0 -1
- package/elements/flywheel-io-vision-elements.metadata.json +0 -1
- package/esm2015/components/button/button.component.js +0 -29
- package/esm2015/components/button/button.module.js +0 -24
- package/esm2015/components/button-group/button-group.component.js +0 -27
- package/esm2015/components/button-group/button-group.module.js +0 -18
- package/esm2015/components/dialog/choice-dialog.component.js +0 -52
- package/esm2015/components/dialog/confirm-dialog.component.js +0 -40
- package/esm2015/components/dialog/dialog.service.js +0 -69
- package/esm2015/components/dialog/error-dialog.component.js +0 -32
- package/esm2015/components/dialog/portal-dialog.component.js +0 -88
- package/esm2015/components/notification/notification/notification.component.js +0 -73
- package/esm2015/components/notification/notification-container/notification-container.component.js +0 -89
- package/esm2015/components/notification/notification.module.js +0 -37
- package/esm2015/components/popover/popover-trigger.component.js +0 -49
- package/esm2015/components/popover/popover-trigger.directive.js +0 -134
- package/esm2015/components/popover/popover.component.js +0 -23
- package/esm2015/components/popover/popover.module.js +0 -33
- package/esm2015/components/shared/pipes/pipes.module.js +0 -24
- package/esm2015/components/shared/pipes/translate.pipe.js +0 -40
- package/esm2015/components/shared/pipes/trusthtml.pipe.js +0 -20
- package/esm2015/components/shared/translation.service.js +0 -22
- package/esm2015/components/table/table.component.js +0 -165
- package/esm2015/components/table/table.module.js +0 -35
- package/esm2015/elements/elements.js +0 -56
- package/esm2015/flywheel-io-vision.js +0 -9
- package/esm2015/public-api.js +0 -23
- package/fesm2015/flywheel-io-vision-elements.js.map +0 -1
- package/fesm2015/flywheel-io-vision.js +0 -1168
- package/fesm2015/flywheel-io-vision.js.map +0 -1
- package/flywheel-io-vision.metadata.json +0 -1
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import { MatPaginator } from '@angular/material/paginator';
|
|
4
|
-
import { MatSort } from '@angular/material/sort';
|
|
5
|
-
import { MatTableDataSource } from '@angular/material/table';
|
|
6
|
-
import { debounceTime } from 'rxjs/operators';
|
|
7
|
-
export class FwTableComponent {
|
|
8
|
-
constructor(changeDetectorRef) {
|
|
9
|
-
this.changeDetectorRef = changeDetectorRef;
|
|
10
|
-
this.columns = [];
|
|
11
|
-
this.dataSource = [];
|
|
12
|
-
this.layout = 'basic';
|
|
13
|
-
this.pageSize = null;
|
|
14
|
-
this.webCompPageSize = null;
|
|
15
|
-
this.sort = null;
|
|
16
|
-
this.sortColumn = '';
|
|
17
|
-
this.sortOrder = 'asc';
|
|
18
|
-
this.displayedColumns = [];
|
|
19
|
-
this.filters = new FormGroup({});
|
|
20
|
-
// to support updating column header labels
|
|
21
|
-
this.trackByIndex = i => i;
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.setDataSource();
|
|
25
|
-
this.setColumns();
|
|
26
|
-
this.addFilterControls();
|
|
27
|
-
this.setFilter();
|
|
28
|
-
this.matDataSource.filterPredicate = (row, filter) => {
|
|
29
|
-
const filters = JSON.parse(filter);
|
|
30
|
-
for (const filter in filters) {
|
|
31
|
-
const filterValue = filters[filter];
|
|
32
|
-
const rowValue = row[filter];
|
|
33
|
-
// multi-select
|
|
34
|
-
if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
// input or select
|
|
38
|
-
if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue !== null && filterValue !== void 0 ? filterValue : '').toLowerCase())) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return true;
|
|
43
|
-
};
|
|
44
|
-
this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());
|
|
45
|
-
}
|
|
46
|
-
ngAfterViewInit() {
|
|
47
|
-
this.setSort();
|
|
48
|
-
this.setPaginator();
|
|
49
|
-
}
|
|
50
|
-
ngOnChanges(changes) {
|
|
51
|
-
if (changes.columns) {
|
|
52
|
-
this.setColumns();
|
|
53
|
-
}
|
|
54
|
-
if (changes.dataSource) {
|
|
55
|
-
this.setDataSource();
|
|
56
|
-
}
|
|
57
|
-
if (changes.sort || changes.dataSource) {
|
|
58
|
-
this.setSort();
|
|
59
|
-
}
|
|
60
|
-
if (changes.pageSize || changes['page-size']) {
|
|
61
|
-
this.setPaginator();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
get isCompact() {
|
|
65
|
-
return this.layout === 'compact';
|
|
66
|
-
}
|
|
67
|
-
get paginationSize() {
|
|
68
|
-
return this.pageSize || this.webCompPageSize || 0;
|
|
69
|
-
}
|
|
70
|
-
get isSortEnabled() {
|
|
71
|
-
return this.sort !== null;
|
|
72
|
-
}
|
|
73
|
-
addFilterControls() {
|
|
74
|
-
for (const column of this.columns) {
|
|
75
|
-
this.filters.addControl(column.key, new FormControl());
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
setDataSource() {
|
|
79
|
-
this.matDataSource = new MatTableDataSource(this.dataSource);
|
|
80
|
-
}
|
|
81
|
-
setColumns() {
|
|
82
|
-
this.displayedColumns = this.columns.map(column => column.key);
|
|
83
|
-
}
|
|
84
|
-
setFilter() {
|
|
85
|
-
this.matDataSource.filter = JSON.stringify(this.filters.value);
|
|
86
|
-
}
|
|
87
|
-
setSort() {
|
|
88
|
-
if (!this.matSort || this.sort === null) {
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
const sortSplit = this.sort.split(' ');
|
|
92
|
-
this.sortColumn = sortSplit[0];
|
|
93
|
-
if (['asc', 'desc'].includes(sortSplit[1])) {
|
|
94
|
-
this.sortOrder = sortSplit[1];
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);
|
|
98
|
-
}
|
|
99
|
-
if (this.sortColumn) {
|
|
100
|
-
this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });
|
|
101
|
-
const sortHeader = this.matSort.sortables.get(this.sortColumn);
|
|
102
|
-
if (sortHeader) {
|
|
103
|
-
sortHeader._setAnimationTransitionState({ toState: 'active' });
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
this.matDataSource.sort = this.matSort;
|
|
110
|
-
}
|
|
111
|
-
setPaginator() {
|
|
112
|
-
// ensures ui updates correctly when paginator options change
|
|
113
|
-
this.changeDetectorRef.detectChanges();
|
|
114
|
-
this.matDataSource.paginator = this.matPaginator;
|
|
115
|
-
}
|
|
116
|
-
// necessary for web component to trigger this.filter.valueChanges
|
|
117
|
-
onInputFilter(event, column) {
|
|
118
|
-
// defer setting filter control as event.target.value is not set yet
|
|
119
|
-
setTimeout(() => this.filters.get(column.key).setValue(event.target.value));
|
|
120
|
-
}
|
|
121
|
-
// necessary for web component to trigger this.filter.valueChanges
|
|
122
|
-
onSelectFilter(event, column) {
|
|
123
|
-
const innerText = event.target.innerText;
|
|
124
|
-
this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);
|
|
125
|
-
}
|
|
126
|
-
// necessary for web component to trigger this.filter.valueChanges
|
|
127
|
-
onMultiSelectFilter(event, column) {
|
|
128
|
-
let value = this.filters.controls[column.key].value || [];
|
|
129
|
-
const innerText = event.target.parentElement.innerText;
|
|
130
|
-
if (value.includes(innerText)) {
|
|
131
|
-
value = value.filter(v => v !== innerText);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
value.push(innerText);
|
|
135
|
-
}
|
|
136
|
-
this.filters.get(column.key).setValue(value.length === 1 && innerText === ''
|
|
137
|
-
? null // when all checboxes have been deselected
|
|
138
|
-
: value);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
FwTableComponent.decorators = [
|
|
142
|
-
{ type: Component, args: [{
|
|
143
|
-
host: {
|
|
144
|
-
'class': 'fw-table',
|
|
145
|
-
'[class.compact]': 'isCompact',
|
|
146
|
-
},
|
|
147
|
-
selector: 'fw-table',
|
|
148
|
-
template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n",
|
|
149
|
-
styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table td,table.mat-table th{vertical-align:middle}table.mat-table td.mat-cell,table.mat-table td.mat-header-cell,table.mat-table th.mat-cell,table.mat-table th.mat-header-cell{border-bottom-color:var(--color-gray)}"]
|
|
150
|
-
},] }
|
|
151
|
-
];
|
|
152
|
-
FwTableComponent.ctorParameters = () => [
|
|
153
|
-
{ type: ChangeDetectorRef }
|
|
154
|
-
];
|
|
155
|
-
FwTableComponent.propDecorators = {
|
|
156
|
-
columns: [{ type: Input }],
|
|
157
|
-
dataSource: [{ type: Input }],
|
|
158
|
-
layout: [{ type: Input }],
|
|
159
|
-
pageSize: [{ type: Input }],
|
|
160
|
-
webCompPageSize: [{ type: Input, args: ['page-size',] }],
|
|
161
|
-
sort: [{ type: Input }],
|
|
162
|
-
matPaginator: [{ type: ViewChild, args: [MatPaginator,] }],
|
|
163
|
-
matSort: [{ type: ViewChild, args: [MatSort,] }]
|
|
164
|
-
};
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFvQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF5QjlDLE1BQU0sT0FBTyxnQkFBZ0I7SUFxQjNCLFlBQ1UsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFyQnJDLFlBQU8sR0FBYSxFQUFFLENBQUE7UUFDdEIsZUFBVSxHQUFVLEVBQUUsQ0FBQTtRQUN0QixXQUFNLEdBQXlCLE9BQU8sQ0FBQTtRQUN0QyxhQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ0osb0JBQWUsR0FBRyxJQUFJLENBQUE7UUFDakMsU0FBSSxHQUFHLElBQUksQ0FBQTtRQUVaLGVBQVUsR0FBRyxFQUFFLENBQUE7UUFDZixjQUFTLEdBQWMsS0FBSyxDQUFBO1FBRXBDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQTtRQUMvQixZQUFPLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7UUFHdEMsMkNBQTJDO1FBQzNDLGlCQUFZLEdBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFPdEIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENB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RyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxNQUFNLFNBQVMsR0FBSSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzdFLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztTQUM1QzthQUFNO1lBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQ25DLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFNBQVMsS0FBSyxFQUFFO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsMENBQTBDO1lBQ2pELENBQUMsQ0FBQyxLQUFLLENBQ1YsQ0FBQztJQUNKLENBQUM7OztZQW5LRixTQUFTLFNBQUM7Z0JBQ1QsSUFBSSxFQUFFO29CQUNKLE9BQU8sRUFBRSxVQUFVO29CQUNuQixpQkFBaUIsRUFBRSxXQUFXO2lCQUMvQjtnQkFDRCxRQUFRLEVBQUUsVUFBVTtnQkFFcEIsb2dHQUFxQzs7YUFDdEM7OztZQTdCUSxpQkFBaUI7OztzQkErQnZCLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLO3VCQUNMLEtBQUs7OEJBQ0wsS0FBSyxTQUFDLFdBQVc7bUJBQ2pCLEtBQUs7MkJBWUwsU0FBUyxTQUFDLFlBQVk7c0JBQ3RCLFNBQVMsU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0U29ydCwgTWF0U29ydEhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG50eXBlIFNvcnRPcmRlciA9ICdhc2MnIHwgJ2Rlc2MnXG5cbmludGVyZmFjZSBDb2x1bW5GaWx0ZXIge1xuICBjb250cm9sOiAnaW5wdXQnIHwgJ3NlbGVjdCcgfCAnbXVsdGktc2VsZWN0JyxcbiAgb3B0aW9ucz86IHN0cmluZ1tdLFxuICBwbGFjZWhvbGRlcj86IHN0cmluZyxcbn1cblxuaW50ZXJmYWNlIENvbHVtbiB7XG4gIGxhYmVsOiBzdHJpbmcsXG4gIGtleTogc3RyaW5nLFxuICBmaWx0ZXI/OiBDb2x1bW5GaWx0ZXIsXG59XG5cbkBDb21wb25lbnQoe1xuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2Z3LXRhYmxlJyxcbiAgICAnW2NsYXNzLmNvbXBhY3RdJzogJ2lzQ29tcGFjdCcsXG4gIH0sXG4gIHNlbGVjdG9yOiAnZnctdGFibGUnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGd1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb2x1bW5zOiBDb2x1bW5bXSA9IFtdXG4gIEBJbnB1dCgpIGRhdGFTb3VyY2U6IGFueVtdID0gW11cbiAgQElucHV0KCkgbGF5b3V0PzogJ2Jhc2ljJyB8ICdjb21wYWN0JyA9ICdiYXNpYydcbiAgQElucHV0KCkgcGFnZVNpemUgPSBudWxsXG4gIEBJbnB1dCgncGFnZS1zaXplJykgd2ViQ29tcFBhZ2VTaXplID0gbnVsbFxuICBASW5wdXQoKSBzb3J0ID0gbnVsbFxuXG4gIHByaXZhdGUgc29ydENvbHVtbiA9ICcnXG4gIHByaXZhdGUgc29ydE9yZGVyOiBTb3J0T3JkZXIgPSAnYXNjJ1xuXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW11cbiAgZmlsdGVyczogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSlcbiAgbWF0RGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPGFueT5cblxuICAvLyB0byBzdXBwb3J0IHVwZGF0aW5nIGNvbHVtbiBoZWFkZXIgbGFiZWxzXG4gIHRyYWNrQnlJbmRleDogYW55ID0gaSA9PiBpXG5cbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIG1hdFBhZ2luYXRvcjogTWF0UGFnaW5hdG9yXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgbWF0U29ydDogTWF0U29ydFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0RGF0YVNvdXJjZSgpO1xuICAgIHRoaXMuc2V0Q29sdW1ucygpO1xuICAgIHRoaXMuYWRkRmlsdGVyQ29udHJvbHMoKTtcbiAgICB0aGlzLnNldEZpbHRlcigpO1xuICAgIHRoaXMubWF0RGF0YVNvdXJjZS5maWx0ZXJQcmVkaWNhdGUgPSAocm93LCBmaWx0ZXIpID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcnMgPSBKU09OLnBhcnNlKGZpbHRlcik7XG4gICAgICBmb3IgKGNvbnN0IGZpbHRlciBpbiBmaWx0ZXJzKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlclZhbHVlID0gZmlsdGVyc1tmaWx0ZXJdO1xuICAgICAgICBjb25zdCByb3dWYWx1ZSA9IHJvd1tmaWx0ZXJdO1xuICAgICAgICAvLyBtdWx0aS1zZWxlY3RcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsdGVyVmFsdWUpICYmIGZpbHRlclZhbHVlLmxlbmd0aCA+IDAgJiYgIWZpbHRlclZhbHVlLmluY2x1ZGVzKHJvd1ZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpbnB1dCBvciBzZWxlY3RcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGZpbHRlclZhbHVlKSAmJiAhU3RyaW5nKHJvd1ZhbHVlKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFN0cmluZyhmaWx0ZXJWYWx1ZSA/PyAnJykudG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH07XG4gICAgdGhpcy5maWx0ZXJzLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyMDApKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRGaWx0ZXIoKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRTb3J0KCk7XG4gICAgdGhpcy5zZXRQYWdpbmF0b3IoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5jb2x1bW5zKSB7XG4gICAgICB0aGlzLnNldENvbHVtbnMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5zZXREYXRhU291cmNlKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnNvcnQgfHwgY2hhbmdlcy5kYXRhU291cmNlKSB7XG4gICAgICB0aGlzLnNldFNvcnQoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMucGFnZVNpemUgfHwgY2hhbmdlc1sncGFnZS1zaXplJ10pIHtcbiAgICAgIHRoaXMuc2V0UGFnaW5hdG9yKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlzQ29tcGFjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5sYXlvdXQgPT09ICdjb21wYWN0JztcbiAgfVxuXG4gIGdldCBwYWdpbmF0aW9uU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplIHx8IHRoaXMud2ViQ29tcFBhZ2VTaXplIHx8IDA7XG4gIH1cblxuICBnZXQgaXNTb3J0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zb3J0ICE9PSBudWxsO1xuICB9XG5cbiAgYWRkRmlsdGVyQ29udHJvbHMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy5jb2x1bW5zKSB7XG4gICAgICB0aGlzLmZpbHRlcnMuYWRkQ29udHJvbChjb2x1bW4ua2V5LCBuZXcgRm9ybUNvbnRyb2woKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0YVNvdXJjZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlKHRoaXMuZGF0YVNvdXJjZSk7XG4gIH1cblxuICBzZXRDb2x1bW5zKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5tYXAoY29sdW1uID0+IGNvbHVtbi5rZXkpO1xuICB9XG5cbiAgc2V0RmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMubWF0RGF0YVNvdXJjZS5maWx0ZXIgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlcnMudmFsdWUpO1xuICB9XG5cbiAgc2V0U29ydCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF0U29ydCB8fCB0aGlzLnNvcnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc29ydFNwbGl0ID0gdGhpcy5zb3J0LnNwbGl0KCcgJyk7XG4gICAgdGhpcy5zb3J0Q29sdW1uID0gc29ydFNwbGl0WzBdO1xuICAgIGlmIChbJ2FzYycsICdkZXNjJ10uaW5jbHVkZXMoc29ydFNwbGl0WzFdKSkge1xuICAgICAgdGhpcy5zb3J0T3JkZXIgPSBzb3J0U3BsaXRbMV0gYXMgU29ydE9yZGVyO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oYFNvcnQgb3JkZXIgJyR7c29ydFNwbGl0WzFdfScgaXMgbm90ICdhc2MnIG9yICdkZXNjJywgZGVmYXVsdGluZyB0byAnYXNjJ2ApO1xuICAgIH1cbiAgICBpZiAodGhpcy5zb3J0Q29sdW1uKSB7XG4gICAgICB0aGlzLm1hdFNvcnQuc29ydCh7IGlkOiB0aGlzLnNvcnRDb2x1bW4sIHN0YXJ0OiB0aGlzLnNvcnRPcmRlciwgZGlzYWJsZUNsZWFyOiBmYWxzZSB9KTtcbiAgICAgIGNvbnN0IHNvcnRIZWFkZXIgPSB0aGlzLm1hdFNvcnQuc29ydGFibGVzLmdldCh0aGlzLnNvcnRDb2x1bW4pIGFzIE1hdFNvcnRIZWFkZXI7XG4gICAgICBpZiAoc29ydEhlYWRlcikge1xuICAgICAgICBzb3J0SGVhZGVyLl9zZXRBbmltYXRpb25UcmFuc2l0aW9uU3RhdGUoeyB0b1N0YXRlOiAnYWN0aXZlJyB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgVW5hYmxlIHRvIGZpbmQgc29ydCBjb2x1bW4gJyR7dGhpcy5zb3J0Q29sdW1ufScuIEluaXRpYWwgc29ydCBmYWlsZWQuYCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubWF0RGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5tYXRTb3J0O1xuICB9XG5cbiAgc2V0UGFnaW5hdG9yKCk6IHZvaWQge1xuICAgIC8vIGVuc3VyZXMgdWkgdXBkYXRlcyBjb3JyZWN0bHkgd2hlbiBwYWdpbmF0b3Igb3B0aW9ucyBjaGFuZ2VcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5tYXRQYWdpbmF0b3I7XG4gIH1cblxuICAvLyBuZWNlc3NhcnkgZm9yIHdlYiBjb21wb25lbnQgdG8gdHJpZ2dlciB0aGlzLmZpbHRlci52YWx1ZUNoYW5nZXNcbiAgb25JbnB1dEZpbHRlcihldmVudDogS2V5Ym9hcmRFdmVudCwgY29sdW1uOiBDb2x1bW4pOiB2b2lkIHtcbiAgICAvLyBkZWZlciBzZXR0aW5nIGZpbHRlciBjb250cm9sIGFzIGV2ZW50LnRhcmdldC52YWx1ZSBpcyBub3Qgc2V0IHlldFxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5maWx0ZXJzLmdldChjb2x1bW4ua2V5KS5zZXRWYWx1ZSgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKSk7XG4gIH1cblxuICAvLyBuZWNlc3NhcnkgZm9yIHdlYiBjb21wb25lbnQgdG8gdHJpZ2dlciB0aGlzLmZpbHRlci52YWx1ZUNoYW5nZXNcbiAgb25TZWxlY3RGaWx0ZXIoZXZlbnQ6IE1vdXNlRXZlbnQsIGNvbHVtbjogQ29sdW1uKTogdm9pZCB7XG4gICAgY29uc3QgaW5uZXJUZXh0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5pbm5lclRleHQ7XG4gICAgdGhpcy5maWx0ZXJzLmdldChjb2x1bW4ua2V5KS5zZXRWYWx1ZShpbm5lclRleHQgPT09ICctIG5vbmUgLScgPyBudWxsIDogaW5uZXJUZXh0KTtcbiAgfVxuXG4gIC8vIG5lY2Vzc2FyeSBmb3Igd2ViIGNvbXBvbmVudCB0byB0cmlnZ2VyIHRoaXMuZmlsdGVyLnZhbHVlQ2hhbmdlc1xuICBvbk11bHRpU2VsZWN0RmlsdGVyKGV2ZW50OiBNb3VzZUV2ZW50LCBjb2x1bW46IENvbHVtbik6IHZvaWQge1xuICAgIGxldCB2YWx1ZSA9IHRoaXMuZmlsdGVycy5jb250cm9sc1tjb2x1bW4ua2V5XS52YWx1ZSB8fCBbXTtcbiAgICBjb25zdCBpbm5lclRleHQgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnBhcmVudEVsZW1lbnQuaW5uZXJUZXh0O1xuICAgIGlmICh2YWx1ZS5pbmNsdWRlcyhpbm5lclRleHQpKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLmZpbHRlcih2ID0+IHYgIT09IGlubmVyVGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlLnB1c2goaW5uZXJUZXh0KTtcbiAgICB9XG4gICAgdGhpcy5maWx0ZXJzLmdldChjb2x1bW4ua2V5KS5zZXRWYWx1ZShcbiAgICAgIHZhbHVlLmxlbmd0aCA9PT0gMSAmJiBpbm5lclRleHQgPT09ICcnXG4gICAgICAgID8gbnVsbCAvLyB3aGVuIGFsbCBjaGVjYm94ZXMgaGF2ZSBiZWVuIGRlc2VsZWN0ZWRcbiAgICAgICAgOiB2YWx1ZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatInputModule } from '@angular/material/input';
|
|
5
|
-
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
6
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
7
|
-
import { MatSortModule } from '@angular/material/sort';
|
|
8
|
-
import { MatTableModule } from '@angular/material/table';
|
|
9
|
-
import { FwTableComponent } from './table.component';
|
|
10
|
-
export class FwTableModule {
|
|
11
|
-
}
|
|
12
|
-
FwTableModule.decorators = [
|
|
13
|
-
{ type: NgModule, args: [{
|
|
14
|
-
imports: [
|
|
15
|
-
CommonModule,
|
|
16
|
-
FormsModule,
|
|
17
|
-
ReactiveFormsModule,
|
|
18
|
-
MatInputModule,
|
|
19
|
-
MatPaginatorModule,
|
|
20
|
-
MatSelectModule,
|
|
21
|
-
MatSortModule,
|
|
22
|
-
MatTableModule,
|
|
23
|
-
],
|
|
24
|
-
exports: [
|
|
25
|
-
FwTableComponent,
|
|
26
|
-
],
|
|
27
|
-
declarations: [
|
|
28
|
-
FwTableComponent,
|
|
29
|
-
],
|
|
30
|
-
entryComponents: [
|
|
31
|
-
FwTableComponent,
|
|
32
|
-
]
|
|
33
|
-
},] }
|
|
34
|
-
];
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUF1QnJELE1BQU0sT0FBTyxhQUFhOzs7WUFyQnpCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixjQUFjO2lCQUNmO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7aUJBQ2pCO2dCQUNELFlBQVksRUFBRTtvQkFDWixnQkFBZ0I7aUJBQ2pCO2dCQUNELGVBQWUsRUFBRTtvQkFDZixnQkFBZ0I7aUJBQ2pCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuXG5pbXBvcnQgeyBGd1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRTb3J0TW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRndUYWJsZUNvbXBvbmVudCxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRndUYWJsZUNvbXBvbmVudCxcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgRndUYWJsZUNvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGd1RhYmxlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import './polyfills';
|
|
2
|
-
import { Compiler, enableProdMode, Injector, NgModule } from '@angular/core';
|
|
3
|
-
import { createCustomElement } from '@angular/elements';
|
|
4
|
-
import { BrowserModule } from '@angular/platform-browser';
|
|
5
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
6
|
-
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
|
7
|
-
let elementAppModule;
|
|
8
|
-
class ElementAppModule {
|
|
9
|
-
constructor(compiler, injector) {
|
|
10
|
-
this.compiler = compiler;
|
|
11
|
-
this.injector = injector;
|
|
12
|
-
elementAppModule = this;
|
|
13
|
-
}
|
|
14
|
-
ngDoBootstrap() { }
|
|
15
|
-
}
|
|
16
|
-
ElementAppModule.decorators = [
|
|
17
|
-
{ type: NgModule, args: [{
|
|
18
|
-
imports: [
|
|
19
|
-
BrowserAnimationsModule,
|
|
20
|
-
BrowserModule,
|
|
21
|
-
],
|
|
22
|
-
},] }
|
|
23
|
-
];
|
|
24
|
-
ElementAppModule.ctorParameters = () => [
|
|
25
|
-
{ type: Compiler },
|
|
26
|
-
{ type: Injector }
|
|
27
|
-
];
|
|
28
|
-
function initializeApp() {
|
|
29
|
-
enableProdMode();
|
|
30
|
-
return platformBrowserDynamic().bootstrapModule(ElementAppModule)
|
|
31
|
-
.catch(error => {
|
|
32
|
-
console.error(error);
|
|
33
|
-
throw error;
|
|
34
|
-
}).then(() => void 0);
|
|
35
|
-
}
|
|
36
|
-
let initPromise;
|
|
37
|
-
// https://github.com/angular/angular/blob/a92a89b0eb127a59d7e071502b5850e57618ec2d/aio/src/app/custom-elements/elements-loader.ts#L70
|
|
38
|
-
export function registerElements(...modules) {
|
|
39
|
-
if (!initPromise) {
|
|
40
|
-
initPromise = initializeApp();
|
|
41
|
-
}
|
|
42
|
-
const elementSelectors = [];
|
|
43
|
-
return initPromise.then(() => Promise.all(modules.map(module => {
|
|
44
|
-
return elementAppModule.compiler.compileModuleAndAllComponentsAsync(module).then(compiledModule => {
|
|
45
|
-
const moduleRef = compiledModule.ngModuleFactory.create(elementAppModule.injector);
|
|
46
|
-
for (const { selector, componentType } of compiledModule.componentFactories) {
|
|
47
|
-
if (selector.startsWith('fw-')) {
|
|
48
|
-
const element = createCustomElement(componentType, { injector: moduleRef.injector });
|
|
49
|
-
customElements.define(selector, element);
|
|
50
|
-
elementSelectors.push(selector);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}))).then(() => elementSelectors);
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lbGVtZW50cy9zcmMvZWxlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFFBQVEsRUFBZSxjQUFjLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFM0UsSUFBSSxnQkFBa0MsQ0FBQztBQUV2QyxNQU1NLGdCQUFnQjtJQUNwQixZQUNTLFFBQWtCLEVBQ2xCLFFBQWtCO1FBRGxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUV6QixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWEsS0FBVSxDQUFDOzs7WUFkekIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCx1QkFBdUI7b0JBQ3ZCLGFBQWE7aUJBQ2Q7YUFDRjs7O1lBYlEsUUFBUTtZQUErQixRQUFROztBQXlCeEQsU0FBUyxhQUFhO0lBQ3BCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLE9BQU8sc0JBQXNCLEVBQUUsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7U0FDOUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixNQUFNLEtBQUssQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRCxJQUFJLFdBQTBCLENBQUM7QUFFL0Isc0lBQXNJO0FBQ3RJLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFHLE9BQXdCO0lBQzFELElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDaEIsV0FBVyxHQUFHLGFBQWEsRUFBRSxDQUFDO0tBQy9CO0lBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDNUIsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUM3RCxPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDaEcsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkYsS0FBSyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRTtnQkFDM0UsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM5QixNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQ3JGLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUN6QyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ2pDO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICcuL3BvbHlmaWxscyc7XG5pbXBvcnQgeyBDb21waWxlciwgRG9Cb290c3RyYXAsIGVuYWJsZVByb2RNb2RlLCBJbmplY3RvciwgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztcblxubGV0IGVsZW1lbnRBcHBNb2R1bGU6IEVsZW1lbnRBcHBNb2R1bGU7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICBCcm93c2VyTW9kdWxlLFxuICBdLFxufSlcbmNsYXNzIEVsZW1lbnRBcHBNb2R1bGUgaW1wbGVtZW50cyBEb0Jvb3RzdHJhcCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgcHVibGljIGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7XG4gICAgZWxlbWVudEFwcE1vZHVsZSA9IHRoaXM7XG4gIH1cblxuICBuZ0RvQm9vdHN0cmFwKCk6IHZvaWQge31cbn1cblxuZnVuY3Rpb24gaW5pdGlhbGl6ZUFwcCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgZW5hYmxlUHJvZE1vZGUoKTtcbiAgcmV0dXJuIHBsYXRmb3JtQnJvd3NlckR5bmFtaWMoKS5ib290c3RyYXBNb2R1bGUoRWxlbWVudEFwcE1vZHVsZSlcbiAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KS50aGVuKCgpID0+IHZvaWQgMCk7XG59XG5cbmxldCBpbml0UHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL2E5MmE4OWIwZWIxMjdhNTlkN2UwNzE1MDJiNTg1MGU1NzYxOGVjMmQvYWlvL3NyYy9hcHAvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnRzLWxvYWRlci50cyNMNzBcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckVsZW1lbnRzKC4uLm1vZHVsZXM6IFR5cGU8dW5rbm93bj5bXSk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgaWYgKCFpbml0UHJvbWlzZSkge1xuICAgIGluaXRQcm9taXNlID0gaW5pdGlhbGl6ZUFwcCgpO1xuICB9XG4gIGNvbnN0IGVsZW1lbnRTZWxlY3RvcnMgPSBbXTtcbiAgcmV0dXJuIGluaXRQcm9taXNlLnRoZW4oKCkgPT4gUHJvbWlzZS5hbGwobW9kdWxlcy5tYXAobW9kdWxlID0+IHtcbiAgICByZXR1cm4gZWxlbWVudEFwcE1vZHVsZS5jb21waWxlci5jb21waWxlTW9kdWxlQW5kQWxsQ29tcG9uZW50c0FzeW5jKG1vZHVsZSkudGhlbihjb21waWxlZE1vZHVsZSA9PiB7XG4gICAgICBjb25zdCBtb2R1bGVSZWYgPSBjb21waWxlZE1vZHVsZS5uZ01vZHVsZUZhY3RvcnkuY3JlYXRlKGVsZW1lbnRBcHBNb2R1bGUuaW5qZWN0b3IpO1xuICAgICAgZm9yIChjb25zdCB7IHNlbGVjdG9yLCBjb21wb25lbnRUeXBlIH0gb2YgY29tcGlsZWRNb2R1bGUuY29tcG9uZW50RmFjdG9yaWVzKSB7XG4gICAgICAgIGlmIChzZWxlY3Rvci5zdGFydHNXaXRoKCdmdy0nKSkge1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBjcmVhdGVDdXN0b21FbGVtZW50KGNvbXBvbmVudFR5cGUsIHsgaW5qZWN0b3I6IG1vZHVsZVJlZi5pbmplY3RvciB9KTtcbiAgICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoc2VsZWN0b3IsIGVsZW1lbnQpO1xuICAgICAgICAgIGVsZW1lbnRTZWxlY3RvcnMucHVzaChzZWxlY3Rvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSkpKS50aGVuKCgpID0+IGVsZW1lbnRTZWxlY3RvcnMpO1xufVxuIl19
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
export { FwNotificationTimerService as ɵd } from './components/notification/notification-timer.service';
|
|
6
|
-
export { PipesModule as ɵa } from './components/shared/pipes/pipes.module';
|
|
7
|
-
export { TranslatePipe as ɵb } from './components/shared/pipes/translate.pipe';
|
|
8
|
-
export { TrustHtmlPipe as ɵc } from './components/shared/pipes/trusthtml.pipe';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5d2hlZWwtaW8tdmlzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZseXdoZWVsLWlvLXZpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUN0RyxPQUFPLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtGd05vdGlmaWNhdGlvblRpbWVyU2VydmljZSBhcyDJtWR9IGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLXRpbWVyLnNlcnZpY2UnO1xuZXhwb3J0IHtQaXBlc01vZHVsZSBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZWQvcGlwZXMvcGlwZXMubW9kdWxlJztcbmV4cG9ydCB7VHJhbnNsYXRlUGlwZSBhcyDJtWJ9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZWQvcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xuZXhwb3J0IHtUcnVzdEh0bWxQaXBlIGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlZC9waXBlcy90cnVzdGh0bWwucGlwZSc7Il19
|
package/esm2015/public-api.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export * from './components/button-group/button-group.component';
|
|
2
|
-
export * from './components/button-group/button-group.module';
|
|
3
|
-
export * from './components/button/button.component';
|
|
4
|
-
export * from './components/button/button.module';
|
|
5
|
-
export * from './components/dialog/choice-dialog.component';
|
|
6
|
-
export * from './components/dialog/confirm-dialog.component';
|
|
7
|
-
export * from './components/dialog/dialog.module';
|
|
8
|
-
export * from './components/dialog/dialog.service';
|
|
9
|
-
export * from './components/dialog/error-dialog.component';
|
|
10
|
-
export * from './components/dialog/portal-dialog.component';
|
|
11
|
-
export * from './components/notification/notification-container/notification-container.component';
|
|
12
|
-
export * from './components/notification/notification.module';
|
|
13
|
-
export * from './components/notification/notification.service';
|
|
14
|
-
export * from './components/notification/notification/notification.component';
|
|
15
|
-
export * from './components/notification/notification/notification.model';
|
|
16
|
-
export * from './components/popover/popover-trigger.component';
|
|
17
|
-
export * from './components/popover/popover-trigger.directive';
|
|
18
|
-
export * from './components/popover/popover.component';
|
|
19
|
-
export * from './components/popover/popover.module';
|
|
20
|
-
export * from './components/table/table.component';
|
|
21
|
-
export * from './components/table/table.module';
|
|
22
|
-
export * from './components/shared/translation.service';
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9jaG9pY2UtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGlhbG9nL2Vycm9yLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9wb3J0YWwtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi1jb250YWluZXIvbm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci10cmlnZ2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmVkL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flywheel-io-vision-elements.js","sources":["../../../elements/src/polyfills.ts","../../../elements/src/elements.ts","../../../elements/src/flywheel-io-vision-elements.ts"],"sourcesContent":["/**\n * This file includes polyfills needed by Angular and is loaded before the app.\n * You can add your own extra polyfills to this file.\n *\n * This file is divided into 2 sections:\n * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.\n * 2. Application imports. Files imported after ZoneJS that should be loaded before your main\n * file.\n *\n * The current setup is for so-called \"evergreen\" browsers; the last versions of browsers that\n * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),\n * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.\n *\n * Learn more in https://angular.io/guide/browser-support\n */\n\n/***************************************************************************************************\n * BROWSER POLYFILLS\n */\n\n/**\n * IE11 requires the following for NgClass support on SVG elements\n */\n// import 'classlist.js'; // Run `npm install --save classlist.js`.\n\n/**\n * Web Animations `@angular/platform-browser/animations`\n * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.\n * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).\n */\n// import 'web-animations-js'; // Run `npm install --save web-animations-js`.\n\n/**\n * By default, zone.js will patch all possible macroTask and DomEvents\n * user can disable parts of macroTask/DomEvents patch by setting following flags\n * because those flags need to be set before `zone.js` being loaded, and webpack\n * will put import in the top of bundle, so user need to create a separate file\n * in this directory (for example: zone-flags.ts), and put the following flags\n * into that file, and then add the following code before importing zone.js.\n * import './zone-flags';\n *\n * The flags allowed in zone-flags.ts are listed here.\n *\n * The following flags will work for all browsers.\n *\n * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame\n * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick\n * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames\n *\n * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js\n * with the following flag, it will bypass `zone.js` patch for IE/Edge\n *\n * (window as any).__Zone_enable_cross_context_check = true;\n *\n */\n\n/***************************************************************************************************\n * Zone JS is required by default for Angular itself.\n */\nimport 'zone.js/dist/zone'; // Included with Angular CLI.\n\n\n/***************************************************************************************************\n * APPLICATION IMPORTS\n */\nimport 'document-register-element';\n","import './polyfills';\nimport { Compiler, DoBootstrap, enableProdMode, Injector, NgModule, Type } from '@angular/core';\nimport { createCustomElement } from '@angular/elements';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nlet elementAppModule: ElementAppModule;\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n ],\n})\nclass ElementAppModule implements DoBootstrap {\n constructor(\n public compiler: Compiler,\n public injector: Injector,\n ) {\n elementAppModule = this;\n }\n\n ngDoBootstrap(): void {}\n}\n\nfunction initializeApp(): Promise<void> {\n enableProdMode();\n return platformBrowserDynamic().bootstrapModule(ElementAppModule)\n .catch(error => {\n console.error(error);\n throw error;\n }).then(() => void 0);\n}\n\nlet initPromise: Promise<void>;\n\n// https://github.com/angular/angular/blob/a92a89b0eb127a59d7e071502b5850e57618ec2d/aio/src/app/custom-elements/elements-loader.ts#L70\nexport function registerElements(...modules: Type<unknown>[]): Promise<string[]> {\n if (!initPromise) {\n initPromise = initializeApp();\n }\n const elementSelectors = [];\n return initPromise.then(() => Promise.all(modules.map(module => {\n return elementAppModule.compiler.compileModuleAndAllComponentsAsync(module).then(compiledModule => {\n const moduleRef = compiledModule.ngModuleFactory.create(elementAppModule.injector);\n for (const { selector, componentType } of compiledModule.componentFactories) {\n if (selector.startsWith('fw-')) {\n const element = createCustomElement(componentType, { injector: moduleRef.injector });\n customElements.define(selector, element);\n elementSelectors.push(selector);\n }\n }\n });\n }))).then(() => elementSelectors);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAAA;;;;;;;;;;;;;;;;ACOA,IAAI,gBAAkC,CAAC;AAEvC,MAMM,gBAAgB;IACpB,YACS,QAAkB,EAClB,QAAkB;QADlB,aAAQ,GAAR,QAAQ,CAAU;QAClB,aAAQ,GAAR,QAAQ,CAAU;QAEzB,gBAAgB,GAAG,IAAI,CAAC;KACzB;IAED,aAAa,MAAW;;;YAdzB,QAAQ,SAAC;gBACR,OAAO,EAAE;oBACP,uBAAuB;oBACvB,aAAa;iBACd;aACF;;;YAbQ,QAAQ;YAA+B,QAAQ;;AAyBxD,SAAS,aAAa;IACpB,cAAc,EAAE,CAAC;IACjB,OAAO,sBAAsB,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC;SAC9D,KAAK,CAAC,KAAK;QACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,KAAK,CAAC;KACb,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,IAAI,WAA0B,CAAC;AAE/B;SACgB,gBAAgB,CAAC,GAAG,OAAwB;IAC1D,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,aAAa,EAAE,CAAC;KAC/B;IACD,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;QAC1D,OAAO,gBAAgB,CAAC,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc;YAC7F,MAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACnF,KAAK,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,cAAc,CAAC,kBAAkB,EAAE;gBAC3E,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBAC9B,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACrF,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACzC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACjC;aACF;SACF,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,gBAAgB,CAAC,CAAC;AACpC;;ACvDA;;;;;;"}
|