@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
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FwPopoverTriggerComponent } from './popover-trigger.component';
|
|
5
|
+
import { FwPopoverTriggerDirective } from './popover-trigger.directive';
|
|
6
|
+
import { FwPopoverComponent } from './popover.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class FwPopoverModule {
|
|
9
|
+
}
|
|
10
|
+
FwPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
FwPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, declarations: [FwPopoverComponent,
|
|
12
|
+
FwPopoverTriggerComponent,
|
|
13
|
+
FwPopoverTriggerDirective], imports: [CommonModule], exports: [FwPopoverComponent,
|
|
14
|
+
FwPopoverTriggerComponent,
|
|
15
|
+
FwPopoverTriggerDirective] });
|
|
16
|
+
FwPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, providers: [
|
|
17
|
+
Overlay,
|
|
18
|
+
], imports: [[
|
|
19
|
+
CommonModule,
|
|
20
|
+
]] });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, decorators: [{
|
|
22
|
+
type: NgModule,
|
|
23
|
+
args: [{
|
|
24
|
+
imports: [
|
|
25
|
+
CommonModule,
|
|
26
|
+
],
|
|
27
|
+
exports: [
|
|
28
|
+
FwPopoverComponent,
|
|
29
|
+
FwPopoverTriggerComponent,
|
|
30
|
+
FwPopoverTriggerDirective,
|
|
31
|
+
],
|
|
32
|
+
declarations: [
|
|
33
|
+
FwPopoverComponent,
|
|
34
|
+
FwPopoverTriggerComponent,
|
|
35
|
+
FwPopoverTriggerDirective,
|
|
36
|
+
],
|
|
37
|
+
entryComponents: [
|
|
38
|
+
FwPopoverComponent,
|
|
39
|
+
FwPopoverTriggerComponent,
|
|
40
|
+
],
|
|
41
|
+
providers: [
|
|
42
|
+
Overlay,
|
|
43
|
+
],
|
|
44
|
+
}]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUF3QnpELE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBWnhCLGtCQUFrQjtRQUNsQix5QkFBeUI7UUFDekIseUJBQXlCLGFBVnpCLFlBQVksYUFHWixrQkFBa0I7UUFDbEIseUJBQXlCO1FBQ3pCLHlCQUF5Qjs4R0FlaEIsZUFBZSxhQUpmO1FBQ1QsT0FBTztLQUNSLFlBbkJRO1lBQ1AsWUFBWTtTQUNiOzRGQW1CVSxlQUFlO2tCQXRCM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix5QkFBeUI7cUJBQzFCO29CQUNELGVBQWUsRUFBRTt3QkFDZixrQkFBa0I7d0JBQ2xCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULE9BQU87cUJBQ1I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZ3UG9wb3ZlclRyaWdnZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItdHJpZ2dlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGd1BvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZ3UG9wb3ZlckNvbXBvbmVudCxcbiAgICBGd1BvcG92ZXJUcmlnZ2VyQ29tcG9uZW50LFxuICAgIEZ3UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ3UG9wb3ZlckNvbXBvbmVudCxcbiAgICBGd1BvcG92ZXJUcmlnZ2VyQ29tcG9uZW50LFxuICAgIEZ3UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIEZ3UG9wb3ZlckNvbXBvbmVudCxcbiAgICBGd1BvcG92ZXJUcmlnZ2VyQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBPdmVybGF5LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd1BvcG92ZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { TranslatePipe } from './translate.pipe';
|
|
3
|
+
import { TranslationService, MinimalTranslationService } from '../translation.service';
|
|
4
|
+
import { TrustHtmlPipe } from './trusthtml.pipe';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
const exports = [
|
|
7
|
+
TranslatePipe,
|
|
8
|
+
TrustHtmlPipe,
|
|
9
|
+
];
|
|
10
|
+
export class PipesModule {
|
|
11
|
+
}
|
|
12
|
+
PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, declarations: [TranslatePipe,
|
|
14
|
+
TrustHtmlPipe], exports: [TranslatePipe,
|
|
15
|
+
TrustHtmlPipe] });
|
|
16
|
+
PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, providers: [
|
|
17
|
+
{
|
|
18
|
+
provide: TranslationService,
|
|
19
|
+
useClass: MinimalTranslationService,
|
|
20
|
+
},
|
|
21
|
+
] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
declarations: exports,
|
|
26
|
+
exports: exports,
|
|
27
|
+
providers: [
|
|
28
|
+
{
|
|
29
|
+
provide: TranslationService,
|
|
30
|
+
useClass: MinimalTranslationService,
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
}]
|
|
34
|
+
}] });
|
|
35
|
+
export { TranslationService };
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2hhcmVkL3BpcGVzL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWpELE1BQU0sT0FBTyxHQUFHO0lBQ2QsYUFBYTtJQUNiLGFBQWE7Q0FDZCxDQUFDO0FBWUYsTUFBTSxPQUFPLFdBQVc7O3lHQUFYLFdBQVc7MEdBQVgsV0FBVyxpQkFkdEIsYUFBYTtRQUNiLGFBQWEsYUFEYixhQUFhO1FBQ2IsYUFBYTswR0FhRixXQUFXLGFBUFg7UUFDVDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsUUFBUSxFQUFFLHlCQUF5QjtTQUNwQztLQUNGOzRGQUVVLFdBQVc7a0JBVnZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLE9BQU87b0JBQ3JCLE9BQU8sRUFBRSxPQUFPO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLHlCQUF5Qjt5QkFDcEM7cUJBQ0Y7aUJBQ0Y7O0FBR0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UsIE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRydXN0SHRtbFBpcGUgfSBmcm9tICcuL3RydXN0aHRtbC5waXBlJztcblxuY29uc3QgZXhwb3J0cyA9IFtcbiAgVHJhbnNsYXRlUGlwZSxcbiAgVHJ1c3RIdG1sUGlwZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogZXhwb3J0cyxcbiAgZXhwb3J0czogZXhwb3J0cyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGlwZXNNb2R1bGUge31cblxuZXhwb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH1cbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../translation.service";
|
|
4
|
+
/**
|
|
5
|
+
* Translate a message given a nested key to a location in the loaded locale copy.
|
|
6
|
+
*/
|
|
7
|
+
export class TranslatePipe {
|
|
8
|
+
constructor(cdr, translationService) {
|
|
9
|
+
this.cdr = cdr;
|
|
10
|
+
this.translationService = translationService;
|
|
11
|
+
this.subscriptions = {};
|
|
12
|
+
this.messages = {};
|
|
13
|
+
}
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
for (const subscription of Object.values(this.subscriptions)) {
|
|
16
|
+
subscription.unsubscribe();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
transform(key, silent = false) {
|
|
20
|
+
if (!(key in this.subscriptions)) {
|
|
21
|
+
this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {
|
|
22
|
+
this.messages[key] = message;
|
|
23
|
+
// trigger change detection to support components with ChangeDetectionStrategy.OnPush
|
|
24
|
+
this.cdr.markForCheck();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return this.messages[key] || '';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
31
|
+
TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, decorators: [{
|
|
33
|
+
type: Pipe,
|
|
34
|
+
args: [{
|
|
35
|
+
name: 'translate',
|
|
36
|
+
pure: false,
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TranslationService }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zaGFyZWQvcGlwZXMvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQUtwRDs7R0FFRztBQUtILE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQ1UsR0FBc0IsRUFDdEIsa0JBQXNDO1FBRHRDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFMeEMsa0JBQWEsR0FBb0MsRUFBRSxDQUFBO1FBQ25ELGFBQVEsR0FBOEIsRUFBRSxDQUFBO0lBSzdDLENBQUM7SUFFSixXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1RCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFNLEdBQUcsS0FBSztRQUNuQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM1RixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztnQkFDN0IscUZBQXFGO2dCQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7OzJHQXhCVSxhQUFhO3lHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFKeEIsSUFBSTttQkFBQztvQkFDTCxJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNsYXRpb24uc2VydmljZSc7XG5cbi8qKlxuICogVHJhbnNsYXRlIGEgbWVzc2FnZSBnaXZlbiBhIG5lc3RlZCBrZXkgdG8gYSBsb2NhdGlvbiBpbiB0aGUgbG9hZGVkIGxvY2FsZSBjb3B5LlxuICovXG4gQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHsgW2tleTogc3RyaW5nXTogU3Vic2NyaXB0aW9uIH0gPSB7fVxuICBwcml2YXRlIG1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge31cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIE9iamVjdC52YWx1ZXModGhpcy5zdWJzY3JpcHRpb25zKSkge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCBzaWxlbnQgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgaWYgKCEoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuZ2V0TWVzc2FnZShrZXksIHNpbGVudCkuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzW2tleV0gPSBtZXNzYWdlO1xuICAgICAgICAvLyB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gdG8gc3VwcG9ydCBjb21wb25lbnRzIHdpdGggQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VzW2tleV0gfHwgJyc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class TrustHtmlPipe {
|
|
5
|
+
constructor(sanitizer) {
|
|
6
|
+
this.sanitizer = sanitizer;
|
|
7
|
+
}
|
|
8
|
+
transform(html) {
|
|
9
|
+
return this.sanitizer.bypassSecurityTrustHtml(html);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
TrustHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
TrustHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, name: "trusthtml" });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{
|
|
17
|
+
name: 'trusthtml',
|
|
18
|
+
pure: true,
|
|
19
|
+
}]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RodG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zaGFyZWQvcGlwZXMvdHJ1c3RodG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU9wRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFxQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUksQ0FBQztJQUVqRCxTQUFTLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7MkdBTFUsYUFBYTt5R0FBYixhQUFhOzRGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxJQUFJO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cnVzdGh0bWwnLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcnVzdEh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yIChwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICB0cmFuc2Zvcm0oaHRtbDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TranslationService {
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
|
|
8
|
+
*/
|
|
9
|
+
export class MinimalTranslationService {
|
|
10
|
+
getMessage(key, silent) {
|
|
11
|
+
return of(MinimalTranslationService.messages[key]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
MinimalTranslationService.messages = {
|
|
15
|
+
'common.actions.close': 'Close',
|
|
16
|
+
'confirmDialog.body': 'Are you sure?',
|
|
17
|
+
'confirmDialog.no': 'No',
|
|
18
|
+
'confirmDialog.yes': 'Yes',
|
|
19
|
+
};
|
|
20
|
+
MinimalTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
MinimalTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, decorators: [{
|
|
23
|
+
type: Injectable
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NoYXJlZC90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHMUIsTUFBTSxPQUFnQixrQkFBa0I7Q0FFdkM7QUFFRDs7R0FFRztBQUVGLE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsVUFBVSxDQUFDLEdBQVcsRUFBRSxNQUFnQjtRQUN0QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOztBQVRjLGtDQUFRLEdBQUc7SUFDeEIsc0JBQXNCLEVBQUUsT0FBTztJQUMvQixvQkFBb0IsRUFBRSxlQUFlO0lBQ3JDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsbUJBQW1CLEVBQUUsS0FBSztDQUMzQixDQUFBO3VIQU5VLHlCQUF5QjsySEFBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgYWJzdHJhY3QgZ2V0TWVzc2FnZShrZXk6IHN0cmluZywgc2lsZW50PzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nPlxufVxuXG4vKipcbiAqIFZlcnkgYmFzaWMgaTE4biBpbXBsZW1lbnRhdGlvbi4gQ29uc3VtZXIgYXBwcyBjYW4gcHJvdmlkZSB0aGVpciBvd24gaW1wbGVtZW50YXRpb24gb2YgVHJhbnNsYXRpb25TZXJ2aWNlIHRvIG92ZXJyaWRlLlxuICovXG4gQEluamVjdGFibGUoKVxuIGV4cG9ydCBjbGFzcyBNaW5pbWFsVHJhbnNsYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgIHByaXZhdGUgc3RhdGljIG1lc3NhZ2VzID0ge1xuICAgICAnY29tbW9uLmFjdGlvbnMuY2xvc2UnOiAnQ2xvc2UnLFxuICAgICAnY29uZmlybURpYWxvZy5ib2R5JzogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAnY29uZmlybURpYWxvZy5ubyc6ICdObycsXG4gICAgICdjb25maXJtRGlhbG9nLnllcyc6ICdZZXMnLFxuICAgfVxuXG4gICBnZXRNZXNzYWdlKGtleTogc3RyaW5nLCBzaWxlbnQ/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgcmV0dXJuIG9mKE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UubWVzc2FnZXNba2V5XSk7XG4gICB9XG4gfVxuIl19
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { 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
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/table";
|
|
9
|
+
import * as i2 from "@angular/material/form-field";
|
|
10
|
+
import * as i3 from "@angular/material/select";
|
|
11
|
+
import * as i4 from "@angular/material/core";
|
|
12
|
+
import * as i5 from "@angular/material/sort";
|
|
13
|
+
import * as i6 from "@angular/material/paginator";
|
|
14
|
+
import * as i7 from "@angular/common";
|
|
15
|
+
import * as i8 from "@angular/material/input";
|
|
16
|
+
import * as i9 from "@angular/forms";
|
|
17
|
+
export class FwTableComponent {
|
|
18
|
+
constructor(changeDetectorRef) {
|
|
19
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
20
|
+
this.columns = [];
|
|
21
|
+
this.dataSource = [];
|
|
22
|
+
this.layout = 'basic';
|
|
23
|
+
this.pageSize = null;
|
|
24
|
+
this.webCompPageSize = null;
|
|
25
|
+
this.sort = null;
|
|
26
|
+
this.sortColumn = '';
|
|
27
|
+
this.sortOrder = 'asc';
|
|
28
|
+
this.displayedColumns = [];
|
|
29
|
+
this.filters = new FormGroup({});
|
|
30
|
+
// to support updating column header labels
|
|
31
|
+
this.trackByIndex = i => i;
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.setDataSource();
|
|
35
|
+
this.setColumns();
|
|
36
|
+
this.addFilterControls();
|
|
37
|
+
this.setFilter();
|
|
38
|
+
this.matDataSource.filterPredicate = (row, filter) => {
|
|
39
|
+
const filters = JSON.parse(filter);
|
|
40
|
+
for (const filter in filters) {
|
|
41
|
+
const filterValue = filters[filter];
|
|
42
|
+
const rowValue = row[filter];
|
|
43
|
+
// multi-select
|
|
44
|
+
if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
// input or select
|
|
48
|
+
if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
};
|
|
54
|
+
this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());
|
|
55
|
+
}
|
|
56
|
+
ngAfterViewInit() {
|
|
57
|
+
this.setSort();
|
|
58
|
+
this.setPaginator();
|
|
59
|
+
}
|
|
60
|
+
ngOnChanges(changes) {
|
|
61
|
+
if (changes.columns) {
|
|
62
|
+
this.setColumns();
|
|
63
|
+
}
|
|
64
|
+
if (changes.dataSource) {
|
|
65
|
+
this.setDataSource();
|
|
66
|
+
}
|
|
67
|
+
if (changes.sort || changes.dataSource) {
|
|
68
|
+
this.setSort();
|
|
69
|
+
}
|
|
70
|
+
if (changes.pageSize || changes['page-size']) {
|
|
71
|
+
this.setPaginator();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
get isCompact() {
|
|
75
|
+
return this.layout === 'compact';
|
|
76
|
+
}
|
|
77
|
+
get paginationSize() {
|
|
78
|
+
return this.pageSize || this.webCompPageSize || 0;
|
|
79
|
+
}
|
|
80
|
+
get isSortEnabled() {
|
|
81
|
+
return this.sort !== null;
|
|
82
|
+
}
|
|
83
|
+
addFilterControls() {
|
|
84
|
+
for (const column of this.columns) {
|
|
85
|
+
this.filters.addControl(column.key, new FormControl());
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
setDataSource() {
|
|
89
|
+
this.matDataSource = new MatTableDataSource(this.dataSource);
|
|
90
|
+
}
|
|
91
|
+
setColumns() {
|
|
92
|
+
this.displayedColumns = this.columns.map(column => column.key);
|
|
93
|
+
}
|
|
94
|
+
setFilter() {
|
|
95
|
+
this.matDataSource.filter = JSON.stringify(this.filters.value);
|
|
96
|
+
}
|
|
97
|
+
setSort() {
|
|
98
|
+
if (!this.matSort || this.sort === null) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const sortSplit = this.sort.split(' ');
|
|
102
|
+
this.sortColumn = sortSplit[0];
|
|
103
|
+
if (['asc', 'desc'].includes(sortSplit[1])) {
|
|
104
|
+
this.sortOrder = sortSplit[1];
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);
|
|
108
|
+
}
|
|
109
|
+
if (this.sortColumn) {
|
|
110
|
+
this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });
|
|
111
|
+
const sortHeader = this.matSort.sortables.get(this.sortColumn);
|
|
112
|
+
if (sortHeader) {
|
|
113
|
+
sortHeader._setAnimationTransitionState({ toState: 'active' });
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
this.matDataSource.sort = this.matSort;
|
|
120
|
+
}
|
|
121
|
+
setPaginator() {
|
|
122
|
+
// ensures ui updates correctly when paginator options change
|
|
123
|
+
this.changeDetectorRef.detectChanges();
|
|
124
|
+
this.matDataSource.paginator = this.matPaginator;
|
|
125
|
+
}
|
|
126
|
+
// necessary for web component to trigger this.filter.valueChanges
|
|
127
|
+
onInputFilter(event, column) {
|
|
128
|
+
// defer setting filter control as event.target.value is not set yet
|
|
129
|
+
setTimeout(() => this.filters.get(column.key).setValue(event.target.value));
|
|
130
|
+
}
|
|
131
|
+
// necessary for web component to trigger this.filter.valueChanges
|
|
132
|
+
onSelectFilter(event, column) {
|
|
133
|
+
const innerText = event.target.innerText;
|
|
134
|
+
this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);
|
|
135
|
+
}
|
|
136
|
+
// necessary for web component to trigger this.filter.valueChanges
|
|
137
|
+
onMultiSelectFilter(event, column) {
|
|
138
|
+
let value = this.filters.controls[column.key].value || [];
|
|
139
|
+
const innerText = event.target.parentElement.innerText;
|
|
140
|
+
if (value.includes(innerText)) {
|
|
141
|
+
value = value.filter(v => v !== innerText);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
value.push(innerText);
|
|
145
|
+
}
|
|
146
|
+
this.filters.get(column.key).setValue(value.length === 1 && innerText === ''
|
|
147
|
+
? null // when all checboxes have been deselected
|
|
148
|
+
: value);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
FwTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
152
|
+
FwTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwTableComponent, selector: "fw-table", inputs: { columns: "columns", dataSource: "dataSource", layout: "layout", pageSize: "pageSize", webCompPageSize: ["page-size", "webCompPageSize"], sort: "sort" }, host: { properties: { "class.compact": "isCompact" }, classAttribute: "fw-table" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, 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", 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 th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"], components: [{ type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i5.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.MatCellDef, selector: "[matCellDef]" }, { type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }] });
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, decorators: [{
|
|
154
|
+
type: Component,
|
|
155
|
+
args: [{ host: {
|
|
156
|
+
'class': 'fw-table',
|
|
157
|
+
'[class.compact]': 'isCompact',
|
|
158
|
+
}, selector: 'fw-table', 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", 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 th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"] }]
|
|
159
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], dataSource: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], layout: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], pageSize: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], webCompPageSize: [{
|
|
168
|
+
type: Input,
|
|
169
|
+
args: ['page-size']
|
|
170
|
+
}], sort: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], matPaginator: [{
|
|
173
|
+
type: ViewChild,
|
|
174
|
+
args: [MatPaginator]
|
|
175
|
+
}], matSort: [{
|
|
176
|
+
type: ViewChild,
|
|
177
|
+
args: [MatSort]
|
|
178
|
+
}] } });
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFvQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBeUI5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBcUIzQixZQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckJyQyxZQUFPLEdBQWEsRUFBRSxDQUFBO1FBQ3RCLGVBQVUsR0FBVSxFQUFFLENBQUE7UUFDdEIsV0FBTSxHQUF5QixPQUFPLENBQUE7UUFDdEMsYUFBUSxHQUFHLElBQUksQ0FBQTtRQUNKLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ2pDLFNBQUksR0FBRyxJQUFJLENBQUE7UUFFWixlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsY0FBUyxHQUFjLEtBQUssQ0FBQTtRQUVwQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUE7UUFDL0IsWUFBTyxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBR3RDLDJDQUEyQztRQUMzQyxpQkFBWSxHQUFRLENBQUMs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LE9BQU87c0JBQTFCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIE1hdFNvcnRIZWFkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBTb3J0T3JkZXIgPSAnYXNjJyB8ICdkZXNjJ1xuXG5pbnRlcmZhY2UgQ29sdW1uRmlsdGVyIHtcbiAgY29udHJvbDogJ2lucHV0JyB8ICdzZWxlY3QnIHwgJ211bHRpLXNlbGVjdCcsXG4gIG9wdGlvbnM/OiBzdHJpbmdbXSxcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG59XG5cbmludGVyZmFjZSBDb2x1bW4ge1xuICBsYWJlbDogc3RyaW5nLFxuICBrZXk6IHN0cmluZyxcbiAgZmlsdGVyPzogQ29sdW1uRmlsdGVyLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmdy10YWJsZScsXG4gICAgJ1tjbGFzcy5jb21wYWN0XSc6ICdpc0NvbXBhY3QnLFxuICB9LFxuICBzZWxlY3RvcjogJ2Z3LXRhYmxlJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRndUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29sdW1uczogQ29sdW1uW10gPSBbXVxuICBASW5wdXQoKSBkYXRhU291cmNlOiBhbnlbXSA9IFtdXG4gIEBJbnB1dCgpIGxheW91dD86ICdiYXNpYycgfCAnY29tcGFjdCcgPSAnYmFzaWMnXG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gbnVsbFxuICBASW5wdXQoJ3BhZ2Utc2l6ZScpIHdlYkNvbXBQYWdlU2l6ZSA9IG51bGxcbiAgQElucHV0KCkgc29ydCA9IG51bGxcblxuICBwcml2YXRlIHNvcnRDb2x1bW4gPSAnJ1xuICBwcml2YXRlIHNvcnRPcmRlcjogU29ydE9yZGVyID0gJ2FzYydcblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdXG4gIGZpbHRlcnM6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pXG4gIG1hdERhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+XG5cbiAgLy8gdG8gc3VwcG9ydCB1cGRhdGluZyBjb2x1bW4gaGVhZGVyIGxhYmVsc1xuICB0cmFja0J5SW5kZXg6IGFueSA9IGkgPT4gaVxuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBtYXRQYWdpbmF0b3I6IE1hdFBhZ2luYXRvclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIG1hdFNvcnQ6IE1hdFNvcnRcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGFTb3VyY2UoKTtcbiAgICB0aGlzLnNldENvbHVtbnMoKTtcbiAgICB0aGlzLmFkZEZpbHRlckNvbnRyb2xzKCk7XG4gICAgdGhpcy5zZXRGaWx0ZXIoKTtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UuZmlsdGVyUHJlZGljYXRlID0gKHJvdywgZmlsdGVyKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShmaWx0ZXIpO1xuICAgICAgZm9yIChjb25zdCBmaWx0ZXIgaW4gZmlsdGVycykge1xuICAgICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlcnNbZmlsdGVyXTtcbiAgICAgICAgY29uc3Qgcm93VmFsdWUgPSByb3dbZmlsdGVyXTtcbiAgICAgICAgLy8gbXVsdGktc2VsZWN0XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlclZhbHVlKSAmJiBmaWx0ZXJWYWx1ZS5sZW5ndGggPiAwICYmICFmaWx0ZXJWYWx1ZS5pbmNsdWRlcyhyb3dWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5wdXQgb3Igc2VsZWN0XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWx0ZXJWYWx1ZSkgJiYgIVN0cmluZyhyb3dWYWx1ZSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhTdHJpbmcoZmlsdGVyVmFsdWUgPz8gJycpLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICAgIHRoaXMuZmlsdGVycy52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0RmlsdGVyKCkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U29ydCgpO1xuICAgIHRoaXMuc2V0UGFnaW5hdG9yKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuY29sdW1ucykge1xuICAgICAgdGhpcy5zZXRDb2x1bW5zKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuc2V0RGF0YVNvdXJjZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5zb3J0IHx8IGNoYW5nZXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5zZXRTb3J0KCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnBhZ2VTaXplIHx8IGNoYW5nZXNbJ3BhZ2Utc2l6ZSddKSB7XG4gICAgICB0aGlzLnNldFBhZ2luYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc0NvbXBhY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAnY29tcGFjdCc7XG4gIH1cblxuICBnZXQgcGFnaW5hdGlvblNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlU2l6ZSB8fCB0aGlzLndlYkNvbXBQYWdlU2l6ZSB8fCAwO1xuICB9XG5cbiAgZ2V0IGlzU29ydEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc29ydCAhPT0gbnVsbDtcbiAgfVxuXG4gIGFkZEZpbHRlckNvbnRyb2xzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRoaXMuY29sdW1ucykge1xuICAgICAgdGhpcy5maWx0ZXJzLmFkZENvbnRyb2woY29sdW1uLmtleSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIH1cbiAgfVxuXG4gIHNldERhdGFTb3VyY2UoKTogdm9pZCB7XG4gICAgdGhpcy5tYXREYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpO1xuICB9XG5cbiAgc2V0Q29sdW1ucygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ua2V5KTtcbiAgfVxuXG4gIHNldEZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UuZmlsdGVyID0gSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJzLnZhbHVlKTtcbiAgfVxuXG4gIHNldFNvcnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hdFNvcnQgfHwgdGhpcy5zb3J0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvcnRTcGxpdCA9IHRoaXMuc29ydC5zcGxpdCgnICcpO1xuICAgIHRoaXMuc29ydENvbHVtbiA9IHNvcnRTcGxpdFswXTtcbiAgICBpZiAoWydhc2MnLCAnZGVzYyddLmluY2x1ZGVzKHNvcnRTcGxpdFsxXSkpIHtcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gc29ydFNwbGl0WzFdIGFzIFNvcnRPcmRlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKGBTb3J0IG9yZGVyICcke3NvcnRTcGxpdFsxXX0nIGlzIG5vdCAnYXNjJyBvciAnZGVzYycsIGRlZmF1bHRpbmcgdG8gJ2FzYydgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc29ydENvbHVtbikge1xuICAgICAgdGhpcy5tYXRTb3J0LnNvcnQoeyBpZDogdGhpcy5zb3J0Q29sdW1uLCBzdGFydDogdGhpcy5zb3J0T3JkZXIsIGRpc2FibGVDbGVhcjogZmFsc2UgfSk7XG4gICAgICBjb25zdCBzb3J0SGVhZGVyID0gdGhpcy5tYXRTb3J0LnNvcnRhYmxlcy5nZXQodGhpcy5zb3J0Q29sdW1uKSBhcyBNYXRTb3J0SGVhZGVyO1xuICAgICAgaWYgKHNvcnRIZWFkZXIpIHtcbiAgICAgICAgc29ydEhlYWRlci5fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHsgdG9TdGF0ZTogJ2FjdGl2ZScgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYFVuYWJsZSB0byBmaW5kIHNvcnQgY29sdW1uICcke3RoaXMuc29ydENvbHVtbn0nLiBJbml0aWFsIHNvcnQgZmFpbGVkLmApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm1hdERhdGFTb3VyY2Uuc29ydCA9IHRoaXMubWF0U29ydDtcbiAgfVxuXG4gIHNldFBhZ2luYXRvcigpOiB2b2lkIHtcbiAgICAvLyBlbnN1cmVzIHVpIHVwZGF0ZXMgY29ycmVjdGx5IHdoZW4gcGFnaW5hdG9yIG9wdGlvbnMgY2hhbmdlXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXREYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMubWF0UGFnaW5hdG9yO1xuICB9XG5cbiAgLy8gbmVjZXNzYXJ5IGZvciB3ZWIgY29tcG9uZW50IHRvIHRyaWdnZXIgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzXG4gIG9uSW5wdXRGaWx0ZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGNvbHVtbjogQ29sdW1uKTogdm9pZCB7XG4gICAgLy8gZGVmZXIgc2V0dGluZyBmaWx0ZXIgY29udHJvbCBhcyBldmVudC50YXJnZXQudmFsdWUgaXMgbm90IHNldCB5ZXRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSkpO1xuICB9XG5cbiAgLy8gbmVjZXNzYXJ5IGZvciB3ZWIgY29tcG9uZW50IHRvIHRyaWdnZXIgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzXG4gIG9uU2VsZWN0RmlsdGVyKGV2ZW50OiBNb3VzZUV2ZW50LCBjb2x1bW46IENvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IGlubmVyVGV4dCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuaW5uZXJUZXh0O1xuICAgIHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoaW5uZXJUZXh0ID09PSAnLSBub25lIC0nID8gbnVsbCA6IGlubmVyVGV4dCk7XG4gIH1cblxuICAvLyBuZWNlc3NhcnkgZm9yIHdlYiBjb21wb25lbnQgdG8gdHJpZ2dlciB0aGlzLmZpbHRlci52YWx1ZUNoYW5nZXNcbiAgb25NdWx0aVNlbGVjdEZpbHRlcihldmVudDogTW91c2VFdmVudCwgY29sdW1uOiBDb2x1bW4pOiB2b2lkIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZpbHRlcnMuY29udHJvbHNbY29sdW1uLmtleV0udmFsdWUgfHwgW107XG4gICAgY29uc3QgaW5uZXJUZXh0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5wYXJlbnRFbGVtZW50LmlubmVyVGV4dDtcbiAgICBpZiAodmFsdWUuaW5jbHVkZXMoaW5uZXJUZXh0KSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5maWx0ZXIodiA9PiB2ICE9PSBpbm5lclRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZS5wdXNoKGlubmVyVGV4dCk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoXG4gICAgICB2YWx1ZS5sZW5ndGggPT09IDEgJiYgaW5uZXJUZXh0ID09PSAnJ1xuICAgICAgICA/IG51bGwgLy8gd2hlbiBhbGwgY2hlY2JveGVzIGhhdmUgYmVlbiBkZXNlbGVjdGVkXG4gICAgICAgIDogdmFsdWVcbiAgICApO1xuICB9XG59XG4iLCI8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1hdERhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5rZXlcIj5cblxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUhlYWRlcnM+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi5maWx0ZXI/LmNvbnRyb2xcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5wdXQnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJmaWx0ZXJzLmdldChjb2x1bW4ua2V5KSBhcyBjb250cm9sXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCIhaXNDb21wYWN0XCI+e3sgY29sdW1uLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJjb2x1bW4uZmlsdGVyLnBsYWNlaG9sZGVyXCIgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBvbklucHV0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZpbHRlcnMuZ2V0KGNvbHVtbi5rZXkpIGFzIGNvbnRyb2xcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFpc0NvbXBhY3RcIj57eyBjb2x1bW4ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiY29sdW1uLmZpbHRlci5wbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIChjbGljayk9XCJvblNlbGVjdEZpbHRlcigkZXZlbnQsIGNvbHVtbik7XCI+LSBub25lIC08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjb2x1bW4uZmlsdGVyLm9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCIgKGNsaWNrKT1cIm9uU2VsZWN0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj57eyBvcHRpb24gfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ211bHRpLXNlbGVjdCdcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZpbHRlcnMuZ2V0KGNvbHVtbi5rZXkpIGFzIGNvbnRyb2xcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFpc0NvbXBhY3RcIj57eyBjb2x1bW4ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiY29sdW1uLmZpbHRlci5wbGFjZWhvbGRlclwiIG11bHRpcGxlPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29sdW1uLmZpbHRlci5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiIChjbGljayk9XCJvbk11bHRpU2VsZWN0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj57eyBvcHRpb24gfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGNvbHVtbi5sYWJlbCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NvcnRFbmFibGVkXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVIZWFkZXJzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1NvcnRFbmFibGVkXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUhlYWRlcnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7eyBlbGVtZW50W2NvbHVtbi5rZXldIH19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuPC90YWJsZT5cbjxtYXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdGlvblNpemUgPiAwXCIgW3BhZ2VTaXplXT1cInBhZ2luYXRpb25TaXplXCI+PC9tYXQtcGFnaW5hdG9yPlxuXG5cblxuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class FwTableModule {
|
|
12
|
+
}
|
|
13
|
+
FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
|
|
15
|
+
FormsModule,
|
|
16
|
+
ReactiveFormsModule,
|
|
17
|
+
MatInputModule,
|
|
18
|
+
MatPaginatorModule,
|
|
19
|
+
MatSelectModule,
|
|
20
|
+
MatSortModule,
|
|
21
|
+
MatTableModule], exports: [FwTableComponent] });
|
|
22
|
+
FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, imports: [[
|
|
23
|
+
CommonModule,
|
|
24
|
+
FormsModule,
|
|
25
|
+
ReactiveFormsModule,
|
|
26
|
+
MatInputModule,
|
|
27
|
+
MatPaginatorModule,
|
|
28
|
+
MatSelectModule,
|
|
29
|
+
MatSortModule,
|
|
30
|
+
MatTableModule,
|
|
31
|
+
]] });
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, decorators: [{
|
|
33
|
+
type: NgModule,
|
|
34
|
+
args: [{
|
|
35
|
+
imports: [
|
|
36
|
+
CommonModule,
|
|
37
|
+
FormsModule,
|
|
38
|
+
ReactiveFormsModule,
|
|
39
|
+
MatInputModule,
|
|
40
|
+
MatPaginatorModule,
|
|
41
|
+
MatSelectModule,
|
|
42
|
+
MatSortModule,
|
|
43
|
+
MatTableModule,
|
|
44
|
+
],
|
|
45
|
+
exports: [
|
|
46
|
+
FwTableComponent,
|
|
47
|
+
],
|
|
48
|
+
declarations: [
|
|
49
|
+
FwTableComponent,
|
|
50
|
+
],
|
|
51
|
+
entryComponents: [
|
|
52
|
+
FwTableComponent,
|
|
53
|
+
]
|
|
54
|
+
}]
|
|
55
|
+
}] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBdUJyRCxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQU50QixnQkFBZ0IsYUFiaEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWMsYUFHZCxnQkFBZ0I7NEdBU1AsYUFBYSxZQXBCZjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1NBQ2Y7NEZBV1UsYUFBYTtrQkFyQnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5cbmltcG9ydCB7IEZ3VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGd1RhYmxlQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd1RhYmxlQ29tcG9uZW50LFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBGd1RhYmxlQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZ3VGFibGVNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import './polyfills';
|
|
2
|
+
import { enableProdMode, 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
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
let elementAppModule;
|
|
9
|
+
class ElementAppModule {
|
|
10
|
+
constructor(compiler, injector) {
|
|
11
|
+
this.compiler = compiler;
|
|
12
|
+
this.injector = injector;
|
|
13
|
+
elementAppModule = this;
|
|
14
|
+
}
|
|
15
|
+
ngDoBootstrap() { }
|
|
16
|
+
}
|
|
17
|
+
ElementAppModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, deps: [{ token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
18
|
+
ElementAppModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [BrowserAnimationsModule,
|
|
19
|
+
BrowserModule] });
|
|
20
|
+
ElementAppModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [[
|
|
21
|
+
BrowserAnimationsModule,
|
|
22
|
+
BrowserModule,
|
|
23
|
+
]] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
imports: [
|
|
28
|
+
BrowserAnimationsModule,
|
|
29
|
+
BrowserModule,
|
|
30
|
+
],
|
|
31
|
+
}]
|
|
32
|
+
}], ctorParameters: function () { return [{ type: i0.Compiler }, { type: i0.Injector }]; } });
|
|
33
|
+
function initializeApp() {
|
|
34
|
+
enableProdMode();
|
|
35
|
+
return platformBrowserDynamic().bootstrapModule(ElementAppModule)
|
|
36
|
+
.catch(error => {
|
|
37
|
+
console.error(error);
|
|
38
|
+
throw error;
|
|
39
|
+
}).then(() => void 0);
|
|
40
|
+
}
|
|
41
|
+
let initPromise;
|
|
42
|
+
// https://github.com/angular/angular/blob/a92a89b0eb127a59d7e071502b5850e57618ec2d/aio/src/app/custom-elements/elements-loader.ts#L70
|
|
43
|
+
export function registerElements(...modules) {
|
|
44
|
+
if (!initPromise) {
|
|
45
|
+
initPromise = initializeApp();
|
|
46
|
+
}
|
|
47
|
+
const elementSelectors = [];
|
|
48
|
+
return initPromise.then(() => Promise.all(modules.map(module => {
|
|
49
|
+
return elementAppModule.compiler.compileModuleAndAllComponentsAsync(module).then(compiledModule => {
|
|
50
|
+
const moduleRef = compiledModule.ngModuleFactory.create(elementAppModule.injector);
|
|
51
|
+
for (const { selector, componentType } of compiledModule.componentFactories) {
|
|
52
|
+
if (selector.startsWith('fw-')) {
|
|
53
|
+
const element = createCustomElement(componentType, { injector: moduleRef.injector });
|
|
54
|
+
customElements.define(selector, element);
|
|
55
|
+
elementSelectors.push(selector);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}))).then(() => elementSelectors);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lbGVtZW50cy9zcmMvZWxlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUF5QixjQUFjLEVBQVksUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFM0UsSUFBSSxnQkFBa0MsQ0FBQztBQUV2QyxNQU1NLGdCQUFnQjtJQUNwQixZQUNTLFFBQWtCLEVBQ2xCLFFBQWtCO1FBRGxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUV6QixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWEsS0FBVSxDQUFDOzs4R0FScEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsWUFKbEIsdUJBQXVCO1FBQ3ZCLGFBQWE7K0dBR1gsZ0JBQWdCLFlBTFg7WUFDUCx1QkFBdUI7WUFDdkIsYUFBYTtTQUNkOzRGQUVHLGdCQUFnQjtrQkFOckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QixhQUFhO3FCQUNkO2lCQUNGOztBQVlELFNBQVMsYUFBYTtJQUNwQixjQUFjLEVBQUUsQ0FBQztJQUNqQixPQUFPLHNCQUFzQixFQUFFLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDO1NBQzlELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRUQsSUFBSSxXQUEwQixDQUFDO0FBRS9CLHNJQUFzSTtBQUN0SSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBRyxPQUF3QjtJQUMxRCxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztLQUMvQjtJQUNELE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzVCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDN0QsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsa0NBQWtDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2hHLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25GLEtBQUssTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxjQUFjLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzNFLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDOUIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUNyRixjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDekMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNqQzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9wb2x5ZmlsbHMnO1xuaW1wb3J0IHsgQ29tcGlsZXIsIERvQm9vdHN0cmFwLCBlbmFibGVQcm9kTW9kZSwgSW5qZWN0b3IsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgcGxhdGZvcm1Ccm93c2VyRHluYW1pYyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XG5cbmxldCBlbGVtZW50QXBwTW9kdWxlOiBFbGVtZW50QXBwTW9kdWxlO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgXSxcbn0pXG5jbGFzcyBFbGVtZW50QXBwTW9kdWxlIGltcGxlbWVudHMgRG9Cb290c3RyYXAge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIGVsZW1lbnRBcHBNb2R1bGUgPSB0aGlzO1xuICB9XG5cbiAgbmdEb0Jvb3RzdHJhcCgpOiB2b2lkIHt9XG59XG5cbmZ1bmN0aW9uIGluaXRpYWxpemVBcHAoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGVuYWJsZVByb2RNb2RlKCk7XG4gIHJldHVybiBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljKCkuYm9vdHN0cmFwTW9kdWxlKEVsZW1lbnRBcHBNb2R1bGUpXG4gICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSkudGhlbigoKSA9PiB2b2lkIDApO1xufVxuXG5sZXQgaW5pdFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9hOTJhODliMGViMTI3YTU5ZDdlMDcxNTAyYjU4NTBlNTc2MThlYzJkL2Fpby9zcmMvYXBwL2N1c3RvbS1lbGVtZW50cy9lbGVtZW50cy1sb2FkZXIudHMjTDcwXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJFbGVtZW50cyguLi5tb2R1bGVzOiBUeXBlPHVua25vd24+W10pOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGlmICghaW5pdFByb21pc2UpIHtcbiAgICBpbml0UHJvbWlzZSA9IGluaXRpYWxpemVBcHAoKTtcbiAgfVxuICBjb25zdCBlbGVtZW50U2VsZWN0b3JzID0gW107XG4gIHJldHVybiBpbml0UHJvbWlzZS50aGVuKCgpID0+IFByb21pc2UuYWxsKG1vZHVsZXMubWFwKG1vZHVsZSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRBcHBNb2R1bGUuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYyhtb2R1bGUpLnRoZW4oY29tcGlsZWRNb2R1bGUgPT4ge1xuICAgICAgY29uc3QgbW9kdWxlUmVmID0gY29tcGlsZWRNb2R1bGUubmdNb2R1bGVGYWN0b3J5LmNyZWF0ZShlbGVtZW50QXBwTW9kdWxlLmluamVjdG9yKTtcbiAgICAgIGZvciAoY29uc3QgeyBzZWxlY3RvciwgY29tcG9uZW50VHlwZSB9IG9mIGNvbXBpbGVkTW9kdWxlLmNvbXBvbmVudEZhY3Rvcmllcykge1xuICAgICAgICBpZiAoc2VsZWN0b3Iuc3RhcnRzV2l0aCgnZnctJykpIHtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gY3JlYXRlQ3VzdG9tRWxlbWVudChjb21wb25lbnRUeXBlLCB7IGluamVjdG9yOiBtb2R1bGVSZWYuaW5qZWN0b3IgfSk7XG4gICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKHNlbGVjdG9yLCBlbGVtZW50KTtcbiAgICAgICAgICBlbGVtZW50U2VsZWN0b3JzLnB1c2goc2VsZWN0b3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pKSkudGhlbigoKSA9PiBlbGVtZW50U2VsZWN0b3JzKTtcbn1cbiJdfQ==
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5d2hlZWwtaW8tdmlzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZseXdoZWVsLWlvLXZpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
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/icon/icon.component';
|
|
12
|
+
export * from './components/icon/icon.module';
|
|
13
|
+
export * from './components/notification/notification-container/notification-container.component';
|
|
14
|
+
export * from './components/notification/notification.module';
|
|
15
|
+
export * from './components/notification/notification.service';
|
|
16
|
+
export * from './components/notification/notification/notification.component';
|
|
17
|
+
export * from './components/notification/notification/notification.model';
|
|
18
|
+
export * from './components/popover/popover-trigger.component';
|
|
19
|
+
export * from './components/popover/popover-trigger.directive';
|
|
20
|
+
export * from './components/popover/popover.component';
|
|
21
|
+
export * from './components/popover/popover.module';
|
|
22
|
+
export * from './components/table/table.component';
|
|
23
|
+
export * from './components/table/table.module';
|
|
24
|
+
export * from './components/shared/translation.service';
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvY2hvaWNlLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9lcnJvci1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvcG9ydGFsLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tY29udGFpbmVyL25vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXItdHJpZ2dlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlZC90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbiJdfQ==
|