@tilde-nlp/ngx-common 3.0.2 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/{esm2020 → esm2022}/lib/close-button/close-button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/close-button/close-button.module.mjs +11 -11
- package/{esm2020 → esm2022}/lib/company-product/company-product.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/company-product/company-product.module.mjs +5 -5
- package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +25 -0
- package/esm2022/lib/confirmation-modal/confirmation-modal.module.mjs +21 -0
- package/esm2022/lib/confirmation-modal/index.mjs +6 -0
- package/esm2022/lib/confirmation-modal/models/confirmation-body.model.mjs +2 -0
- package/esm2022/lib/confirmation-modal/models/confirmation.enum.mjs +6 -0
- package/esm2022/lib/confirmation-modal/services/confirmation.service.mjs +25 -0
- package/esm2022/lib/confirmation-modal/services/index.mjs +2 -0
- package/{esm2020 → esm2022}/lib/directives/click-outside/click-outside.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/directives/click-outside/click-outside.module.mjs +5 -5
- package/esm2022/lib/directives/drag-and-drop/drag-and-drop.directive.mjs +62 -0
- package/esm2022/lib/directives/drag-and-drop/drag-and-drop.module.mjs +24 -0
- package/esm2022/lib/directives/drag-and-drop/index.mjs +3 -0
- package/esm2022/lib/directives/index.mjs +4 -0
- package/esm2022/lib/directives/mat-button-loading/index.mjs +3 -0
- package/esm2022/lib/directives/mat-button-loading/mat-button-loading.directive.mjs +65 -0
- package/esm2022/lib/directives/mat-button-loading/mat-button-loading.module.mjs +20 -0
- package/esm2022/lib/file-upload/file-upload.component.mjs +107 -0
- package/esm2022/lib/file-upload/file-upload.module.mjs +42 -0
- package/esm2022/lib/file-upload/index.mjs +4 -0
- package/esm2022/lib/file-upload/models/file-upload-error-type.enum.mjs +8 -0
- package/esm2022/lib/file-upload/models/file-upload-error.model.mjs +2 -0
- package/esm2022/lib/file-upload/models/index.mjs +3 -0
- package/esm2022/lib/filter-bar/filter-bar.component.mjs +146 -0
- package/esm2022/lib/filter-bar/filter-bar.module.mjs +71 -0
- package/esm2022/lib/filter-bar/index.mjs +4 -0
- package/esm2022/lib/filter-bar/models/filter-bar-change-event.model.mjs +2 -0
- package/esm2022/lib/filter-bar/models/filter-bar-filter-item.model.mjs +2 -0
- package/esm2022/lib/filter-bar/models/filter-bar-filter.model.mjs +2 -0
- package/esm2022/lib/filter-bar/models/filter-bar-settings.model.mjs +2 -0
- package/esm2022/lib/filter-bar/models/index.mjs +4 -0
- package/{esm2020 → esm2022}/lib/footer/footer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/footer/footer.module.mjs +11 -11
- package/esm2022/lib/helpers/html-element-parse.helper.mjs +15 -0
- package/esm2022/lib/helpers/index.mjs +4 -0
- package/{esm2020/lib/helpers/missing-translation-helper.mjs → esm2022/lib/helpers/missing-translation.helper.mjs} +1 -1
- package/esm2022/lib/helpers/save-file.helper.mjs +11 -0
- package/{esm2020 → esm2022}/lib/inline-message/inline-message.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/inline-message/inline-message.module.mjs +9 -9
- package/esm2022/lib/multi-functional-table/constants/disable-export-attribute-name.const.mjs +2 -0
- package/esm2022/lib/multi-functional-table/constants/index.mjs +2 -0
- package/esm2022/lib/multi-functional-table/index.mjs +5 -0
- package/esm2022/lib/multi-functional-table/models/batch-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/models/column-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/models/column-select-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/models/export-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/models/export-format.enum.mjs +5 -0
- package/esm2022/lib/multi-functional-table/models/filter-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/models/index.mjs +8 -0
- package/esm2022/lib/multi-functional-table/models/multi-functional-table-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/models/no-data-row-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs +2 -0
- package/esm2022/lib/multi-functional-table/multi-functional-table.component.mjs +225 -0
- package/esm2022/lib/multi-functional-table/multi-functional-table.module.mjs +64 -0
- package/esm2022/lib/notification-message/notification-message.component.mjs +51 -0
- package/{esm2020 → esm2022}/lib/notification-message/notification-message.module.mjs +15 -15
- package/esm2022/lib/pipes/date-ago/date-ago.module.mjs +28 -0
- package/esm2022/lib/pipes/date-ago/date-ago.pipe.mjs +114 -0
- package/esm2022/lib/pipes/date-ago/index.mjs +3 -0
- package/esm2022/lib/pipes/date-ago/models/date-ago-interval.model.mjs +2 -0
- package/esm2022/lib/pipes/date-ago/models/date-ago-settings.model.mjs +2 -0
- package/esm2022/lib/pipes/date-ago/models/date-ago-settings.token.mjs +2 -0
- package/esm2022/lib/pipes/date-ago/models/date-ago.model.mjs +2 -0
- package/esm2022/lib/pipes/date-ago/models/index.mjs +5 -0
- package/{esm2020 → esm2022}/lib/pipes/filter-with-highlight/filter-with-highlight.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/pipes/filter-with-highlight/filter-with-highlight.pipe.mjs +4 -4
- package/esm2022/lib/pipes/index.mjs +5 -0
- package/{esm2020 → esm2022}/lib/pipes/sort-translations/sort-translations.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/pipes/sort-translations/sort-translations.pipe.mjs +4 -4
- package/esm2022/lib/pipes/sort-translations-by-property/index.mjs +3 -0
- package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.mjs +18 -0
- package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.mjs +40 -0
- package/{esm2020 → esm2022}/lib/plausible/plausible-event.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/plausible/plausible.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/dom.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/icon.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tld-loader/tld-loader.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/tld-loader/tld-loader.module.mjs +5 -5
- package/esm2022/public-api.mjs +19 -0
- package/fesm2022/tilde-nlp-ngx-common.mjs +1712 -0
- package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -0
- package/lib/close-button/close-button.component.d.ts +1 -1
- package/lib/company-product/company-product.component.d.ts +1 -1
- package/lib/confirmation-modal/confirmation-modal.component.d.ts +12 -0
- package/lib/confirmation-modal/confirmation-modal.module.d.ts +11 -0
- package/lib/confirmation-modal/index.d.ts +5 -0
- package/lib/confirmation-modal/models/confirmation-body.model.d.ts +8 -0
- package/lib/confirmation-modal/models/confirmation.enum.d.ts +4 -0
- package/lib/confirmation-modal/services/confirmation.service.d.ts +12 -0
- package/lib/confirmation-modal/services/index.d.ts +1 -0
- package/lib/directives/drag-and-drop/drag-and-drop.directive.d.ts +14 -0
- package/lib/directives/drag-and-drop/drag-and-drop.module.d.ts +8 -0
- package/lib/directives/drag-and-drop/index.d.ts +2 -0
- package/lib/directives/index.d.ts +2 -0
- package/lib/directives/mat-button-loading/index.d.ts +2 -0
- package/lib/directives/mat-button-loading/mat-button-loading.directive.d.ts +18 -0
- package/lib/directives/mat-button-loading/mat-button-loading.module.d.ts +8 -0
- package/lib/file-upload/file-upload.component.d.ts +29 -0
- package/lib/file-upload/file-upload.module.d.ts +13 -0
- package/lib/file-upload/index.d.ts +3 -0
- package/lib/file-upload/models/file-upload-error-type.enum.d.ts +6 -0
- package/lib/file-upload/models/file-upload-error.model.d.ts +6 -0
- package/lib/file-upload/models/index.d.ts +2 -0
- package/lib/filter-bar/filter-bar.component.d.ts +54 -0
- package/lib/filter-bar/filter-bar.module.d.ts +19 -0
- package/lib/filter-bar/index.d.ts +3 -0
- package/lib/filter-bar/models/filter-bar-change-event.model.d.ts +6 -0
- package/lib/filter-bar/models/filter-bar-filter-item.model.d.ts +4 -0
- package/lib/filter-bar/models/filter-bar-filter.model.d.ts +6 -0
- package/lib/filter-bar/models/filter-bar-settings.model.d.ts +19 -0
- package/lib/filter-bar/models/index.d.ts +3 -0
- package/lib/footer/footer.component.d.ts +1 -1
- package/lib/helpers/html-element-parse.helper.d.ts +3 -0
- package/lib/helpers/index.d.ts +3 -1
- package/lib/helpers/save-file.helper.d.ts +3 -0
- package/lib/inline-message/inline-message.component.d.ts +1 -1
- package/lib/multi-functional-table/constants/disable-export-attribute-name.const.d.ts +1 -0
- package/lib/multi-functional-table/constants/index.d.ts +1 -0
- package/lib/multi-functional-table/index.d.ts +4 -0
- package/lib/multi-functional-table/models/batch-config.model.d.ts +4 -0
- package/lib/multi-functional-table/models/column-config.model.d.ts +18 -0
- package/lib/multi-functional-table/models/column-select-config.model.d.ts +14 -0
- package/lib/multi-functional-table/models/export-config.model.d.ts +9 -0
- package/lib/multi-functional-table/models/export-format.enum.d.ts +3 -0
- package/lib/multi-functional-table/models/filter-config.model.d.ts +6 -0
- package/lib/multi-functional-table/models/index.d.ts +7 -0
- package/lib/multi-functional-table/models/multi-functional-table-config.model.d.ts +36 -0
- package/lib/multi-functional-table/models/no-data-row-config.model.d.ts +9 -0
- package/lib/multi-functional-table/models/selected-column-local-storage-config.model.d.ts +20 -0
- package/lib/multi-functional-table/multi-functional-table.component.d.ts +65 -0
- package/lib/multi-functional-table/multi-functional-table.module.d.ts +18 -0
- package/lib/notification-message/notification-message.component.d.ts +1 -1
- package/lib/pipes/date-ago/date-ago.module.d.ts +9 -0
- package/lib/pipes/date-ago/date-ago.pipe.d.ts +20 -0
- package/lib/pipes/date-ago/index.d.ts +2 -0
- package/lib/pipes/date-ago/models/date-ago-interval.model.d.ts +5 -0
- package/lib/pipes/date-ago/models/date-ago-settings.model.d.ts +26 -0
- package/lib/pipes/date-ago/models/date-ago-settings.token.d.ts +1 -0
- package/lib/pipes/date-ago/models/date-ago.model.d.ts +4 -0
- package/lib/pipes/date-ago/models/index.d.ts +4 -0
- package/lib/pipes/index.d.ts +2 -0
- package/lib/pipes/sort-translations-by-property/index.d.ts +2 -0
- package/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.d.ts +8 -0
- package/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.d.ts +15 -0
- package/lib/plausible/plausible-event.directive.d.ts +1 -1
- package/package.json +8 -14
- package/public-api.d.ts +4 -0
- package/styles/components/buttons.scss +19 -0
- package/styles/components/dialogs.scss +18 -0
- package/styles/components/icons.scss +16 -4
- package/styles/fonts/inter/inter.scss +567 -0
- package/styles/fonts/inter/woff/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2 +0 -0
- package/styles/fonts/inter/woff/inter-cyrillic-ext.woff2 +0 -0
- package/styles/fonts/inter/woff/inter-cyrillic.woff2 +0 -0
- package/styles/fonts/inter/woff/inter-greek-ext.woff2 +0 -0
- package/styles/fonts/inter/woff/inter-greek.woff2 +0 -0
- package/styles/fonts/inter/woff/inter-latin-ext.woff2 +0 -0
- package/styles/fonts/inter/woff/inter-latin.woff2 +0 -0
- package/styles/fonts/inter/woff/inter-vietnamese.woff2 +0 -0
- package/styles/fonts/material-icons/material-icons.scss +40 -0
- package/styles/fonts/material-icons/woff/material-icons-outlined.woff2 +0 -0
- package/styles/fonts/material-icons/woff/material-icons.woff2 +0 -0
- package/styles/fonts/roboto/roboto.scss +252 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-300.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-400.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-500.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-700.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-ext-300.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-ext-400.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-ext-500.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-cyrillic-ext-700.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-300.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-400.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-500.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-700.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-ext-300.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-ext-400.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-ext-500.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-greek-ext-700.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-300.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-400.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-500.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-700.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-ext-300.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-ext-400.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-ext-500.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-latin-ext-700.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-vietnamese-300.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-vietnamese-400.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-vietnamese-500.woff2 +0 -0
- package/styles/fonts/roboto/woff/roboto-vietnamese-700.woff2 +0 -0
- package/styles/mixins/material-overrides/mat-button-overrides.mixin.scss +13 -3
- package/styles/mixins/material-overrides/mat-form-field-overrides.mixin.scss +1 -0
- package/styles/mixins/material-overrides/mat-progress-bar-overrides.mixin.scss +15 -0
- package/styles/mixins/material-overrides/material-overrides.mixin.scss +2 -0
- package/styles/mixins/tld-all-mixins.mixin.scss +9 -1
- package/styles/tilde-fonts.scss +2 -2
- package/styles/tilde-style.scss +1 -0
- package/styles/variables/colors.variables.scss +1 -0
- package/esm2020/lib/directives/index.mjs +0 -2
- package/esm2020/lib/helpers/index.mjs +0 -2
- package/esm2020/lib/notification-message/notification-message.component.mjs +0 -51
- package/esm2020/lib/pipes/index.mjs +0 -3
- package/esm2020/public-api.mjs +0 -15
- package/fesm2015/tilde-nlp-ngx-common.mjs +0 -676
- package/fesm2015/tilde-nlp-ngx-common.mjs.map +0 -1
- package/fesm2020/tilde-nlp-ngx-common.mjs +0 -675
- package/fesm2020/tilde-nlp-ngx-common.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/close-button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/company-product/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/click-outside/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/footer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/inline-message/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/inline-message/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/inline-message/models/inline-message-icon-position.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/inline-message/models/inline-message-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/inline-message/models/inline-message.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/notification-message/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/notification-message/enums/notification-message-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/notification-message/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/notification-message/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/notification-message/interfaces/notification-message.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/filter-with-highlight/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/sort-translations/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/plausible/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/plausible/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/plausible/models/plausible-event.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/plausible/plausible.helper.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/tld-loader/index.mjs +0 -0
- /package/{esm2020 → esm2022}/tilde-nlp-ngx-common.mjs +0 -0
- /package/lib/helpers/{missing-translation-helper.d.ts → missing-translation.helper.d.ts} +0 -0
|
@@ -6,17 +6,17 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
6
6
|
import { RouterModule } from '@angular/router';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class FooterModule {
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: FooterModule, declarations: [FooterComponent], imports: [CommonModule,
|
|
11
|
+
FlexLayoutModule,
|
|
12
|
+
TranslateModule,
|
|
13
|
+
RouterModule], exports: [FooterComponent] }); }
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FooterModule, imports: [CommonModule,
|
|
15
|
+
FlexLayoutModule,
|
|
16
|
+
TranslateModule,
|
|
17
|
+
RouterModule] }); }
|
|
9
18
|
}
|
|
10
|
-
|
|
11
|
-
FooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: FooterModule, declarations: [FooterComponent], imports: [CommonModule,
|
|
12
|
-
FlexLayoutModule,
|
|
13
|
-
TranslateModule,
|
|
14
|
-
RouterModule], exports: [FooterComponent] });
|
|
15
|
-
FooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FooterModule, imports: [CommonModule,
|
|
16
|
-
FlexLayoutModule,
|
|
17
|
-
TranslateModule,
|
|
18
|
-
RouterModule] });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FooterModule, decorators: [{
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: FooterModule, decorators: [{
|
|
20
20
|
type: NgModule,
|
|
21
21
|
args: [{
|
|
22
22
|
declarations: [
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
31
31
|
exports: [FooterComponent]
|
|
32
32
|
}]
|
|
33
33
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9mb290ZXIvZm9vdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFnQi9DLE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxpQkFWckIsZUFBZSxhQUdmLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLFlBQVksYUFFSixlQUFlOytHQUVkLFlBQVksWUFQckIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsWUFBWTs7MkZBSUgsWUFBWTtrQkFaeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRm9vdGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbRm9vdGVyQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9vdGVyTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class HtmlElementParseHelper {
|
|
2
|
+
static tableAsCsv(tableElement, ignoreAttributeName) {
|
|
3
|
+
const csv_data = [];
|
|
4
|
+
const rows = tableElement.querySelectorAll('tr');
|
|
5
|
+
const columnSelector = ignoreAttributeName ? `td:not([${ignoreAttributeName}]),th:not([${ignoreAttributeName}])` : `td,th`;
|
|
6
|
+
for (let i = 0; i < rows.length; i++) {
|
|
7
|
+
const cols = rows[i].querySelectorAll(columnSelector);
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
+
const csvrow = Array.from(cols).map((element) => `"${element.innerText}"`);
|
|
10
|
+
csv_data.push(csvrow.join(","));
|
|
11
|
+
}
|
|
12
|
+
return csv_data.join('\n');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lbGVtZW50LXBhcnNlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9oZWxwZXJzL2h0bWwtZWxlbWVudC1wYXJzZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQXlCLEVBQUUsbUJBQTRCO1FBQ3ZFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFdBQVcsbUJBQW1CLGNBQWMsbUJBQW1CLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzNILEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN0RCw4REFBOEQ7WUFDOUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDaEYsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDakM7UUFDRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEh0bWxFbGVtZW50UGFyc2VIZWxwZXIge1xyXG4gIHN0YXRpYyB0YWJsZUFzQ3N2KHRhYmxlRWxlbWVudDogSFRNTEVsZW1lbnQsIGlnbm9yZUF0dHJpYnV0ZU5hbWU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNzdl9kYXRhID0gW107XHJcbiAgICBjb25zdCByb3dzID0gdGFibGVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJyk7XHJcbiAgICBjb25zdCBjb2x1bW5TZWxlY3RvciA9IGlnbm9yZUF0dHJpYnV0ZU5hbWUgPyBgdGQ6bm90KFske2lnbm9yZUF0dHJpYnV0ZU5hbWV9XSksdGg6bm90KFske2lnbm9yZUF0dHJpYnV0ZU5hbWV9XSlgIDogYHRkLHRoYDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBjb2xzID0gcm93c1tpXS5xdWVyeVNlbGVjdG9yQWxsKGNvbHVtblNlbGVjdG9yKTtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgY29uc3QgY3N2cm93ID0gQXJyYXkuZnJvbShjb2xzKS5tYXAoKGVsZW1lbnQ6IGFueSkgPT4gYFwiJHtlbGVtZW50LmlubmVyVGV4dH1cImApO1xyXG4gICAgICBjc3ZfZGF0YS5wdXNoKGNzdnJvdy5qb2luKFwiLFwiKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY3N2X2RhdGEuam9pbignXFxuJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from "./missing-translation.helper";
|
|
2
|
+
export * from "./save-file.helper";
|
|
3
|
+
export * from "./html-element-parse.helper";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL21pc3NpbmctdHJhbnNsYXRpb24uaGVscGVyXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3NhdmUtZmlsZS5oZWxwZXJcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vaHRtbC1lbGVtZW50LXBhcnNlLmhlbHBlclwiO1xyXG4iXX0=
|
|
@@ -4,4 +4,4 @@ export class MissingTranslationHelper {
|
|
|
4
4
|
return params.interpolateParams?.default || params.key;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzc2luZy10cmFuc2xhdGlvbi5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvaGVscGVycy9taXNzaW5nLXRyYW5zbGF0aW9uLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLE1BQU0sQ0FBQyxNQUF1QztRQUM1Qyw4REFBOEQ7UUFDOUQsT0FBUSxNQUFNLENBQUMsaUJBQXlCLEVBQUUsT0FBTyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDbEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlclBhcmFtcyB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTWlzc2luZ1RyYW5zbGF0aW9uSGVscGVyIGltcGxlbWVudHMgTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciB7XHJcbiAgaGFuZGxlKHBhcmFtczogTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlclBhcmFtcykge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgIHJldHVybiAocGFyYW1zLmludGVycG9sYXRlUGFyYW1zIGFzIGFueSk/LmRlZmF1bHQgfHwgcGFyYW1zLmtleTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class SaveFileHelper {
|
|
2
|
+
static saveFile(content, fileName) {
|
|
3
|
+
const file = new Blob([content]);
|
|
4
|
+
const link = document.createElement("a");
|
|
5
|
+
link.href = URL.createObjectURL(file);
|
|
6
|
+
link.download = fileName;
|
|
7
|
+
link.click();
|
|
8
|
+
link.remove();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1maWxlLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9oZWxwZXJzL3NhdmUtZmlsZS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFlLEVBQUUsUUFBZ0I7UUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU2F2ZUZpbGVIZWxwZXIge1xyXG4gIHN0YXRpYyBzYXZlRmlsZShjb250ZW50OiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGZpbGUgPSBuZXcgQmxvYihbY29udGVudF0pO1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgbGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcclxuICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZTtcclxuICAgIGxpbmsuY2xpY2soKTtcclxuICAgIGxpbmsucmVtb3ZlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -9,10 +9,10 @@ export class InlineMessageComponent {
|
|
|
9
9
|
this.END_ICON_POSITION = InlineMessageIconPosition.END;
|
|
10
10
|
this.iconName = "info";
|
|
11
11
|
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: InlineMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: InlineMessageComponent, selector: "lib-inline-message", inputs: { iconName: "iconName", message: "message" }, ngImport: i0, template: "<div class=\"tld-inline-message {{message.type}}\">\r\n <span class=\"material-icons\" [class.order-end]=\"message.iconPosition === END_ICON_POSITION\"\r\n [matTooltip]=\"message.iconTooltip? (message.iconTooltip | translate: message.localizationParams) : ''\" *ngIf=\"iconName\">{{iconName}}</span>\r\n <section *ngIf=\"message\">\r\n <div class=\"text-s-semi-bold title\" *ngIf=\"message.title\"\r\n [innerHtml]=\"message.title | translate: message.localizationParams\">\r\n </div>\r\n <p class=\"text-s description\" *ngIf=\"message.description\" [innerHtml]=\"message.description | translate:\r\n message.localizationParams\"></p>\r\n </section>\r\n</div>", styles: [":host{display:block}.tld-inline-message{display:flex;flex-direction:row}.tld-inline-message.error .material-icons{color:var(--error-dark)}.tld-inline-message.info .material-icons{color:var(--base-40)}.tld-inline-message.warning .material-icons{color:var(--warning-dark)}.tld-inline-message .material-icons{font-size:16px;margin-right:.5rem;display:inline-block}.tld-inline-message .material-icons.order-end{order:2}.tld-inline-message .title,.tld-inline-message .description{margin:0}.tld-inline-message .title+.description{margin-top:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
12
14
|
}
|
|
13
|
-
|
|
14
|
-
InlineMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: InlineMessageComponent, selector: "lib-inline-message", inputs: { iconName: "iconName", message: "message" }, ngImport: i0, template: "<div class=\"tld-inline-message {{message.type}}\">\r\n <span class=\"material-icons\" [class.order-end]=\"message.iconPosition === END_ICON_POSITION\"\r\n [matTooltip]=\"message.iconTooltip? (message.iconTooltip | translate: message.localizationParams) : ''\" *ngIf=\"iconName\">{{iconName}}</span>\r\n <section *ngIf=\"message\">\r\n <div class=\"text-s-semi-bold title\" *ngIf=\"message.title\"\r\n [innerHtml]=\"message.title | translate: message.localizationParams\">\r\n </div>\r\n <p class=\"text-s description\" *ngIf=\"message.description\" [innerHtml]=\"message.description | translate:\r\n message.localizationParams\"></p>\r\n </section>\r\n</div>", styles: [":host{display:block}.tld-inline-message{display:flex;flex-direction:row}.tld-inline-message.error .material-icons{color:var(--error-dark)}.tld-inline-message.info .material-icons{color:var(--base-40)}.tld-inline-message.warning .material-icons{color:var(--warning-dark)}.tld-inline-message .material-icons{font-size:16px;margin-right:.5rem;display:inline-block}.tld-inline-message .material-icons.order-end{order:2}.tld-inline-message .title,.tld-inline-message .description{margin:0}.tld-inline-message .title+.description{margin-top:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InlineMessageComponent, decorators: [{
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: InlineMessageComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{ selector: 'lib-inline-message', template: "<div class=\"tld-inline-message {{message.type}}\">\r\n <span class=\"material-icons\" [class.order-end]=\"message.iconPosition === END_ICON_POSITION\"\r\n [matTooltip]=\"message.iconTooltip? (message.iconTooltip | translate: message.localizationParams) : ''\" *ngIf=\"iconName\">{{iconName}}</span>\r\n <section *ngIf=\"message\">\r\n <div class=\"text-s-semi-bold title\" *ngIf=\"message.title\"\r\n [innerHtml]=\"message.title | translate: message.localizationParams\">\r\n </div>\r\n <p class=\"text-s description\" *ngIf=\"message.description\" [innerHtml]=\"message.description | translate:\r\n message.localizationParams\"></p>\r\n </section>\r\n</div>", styles: [":host{display:block}.tld-inline-message{display:flex;flex-direction:row}.tld-inline-message.error .material-icons{color:var(--error-dark)}.tld-inline-message.info .material-icons{color:var(--base-40)}.tld-inline-message.warning .material-icons{color:var(--warning-dark)}.tld-inline-message .material-icons{font-size:16px;margin-right:.5rem;display:inline-block}.tld-inline-message .material-icons.order-end{order:2}.tld-inline-message .title,.tld-inline-message .description{margin:0}.tld-inline-message .title+.description{margin-top:.5rem}\n"] }]
|
|
18
18
|
}], propDecorators: { iconName: [{
|
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
20
20
|
}], message: [{
|
|
21
21
|
type: Input
|
|
22
22
|
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLW1lc3NhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2lubGluZS1tZXNzYWdlL2lubGluZS1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9pbmxpbmUtbWVzc2FnZS9pbmxpbmUtbWVzc2FnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7QUFRdkYsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1XLHNCQUFpQixHQUFHLHlCQUF5QixDQUFDLEdBQUcsQ0FBQztRQUVsRCxhQUFRLEdBQUcsTUFBTSxDQUFDO0tBRTVCOzhHQUxZLHNCQUFzQjtrR0FBdEIsc0JBQXNCLGdIQ1RuQyw0cUJBVU07OzJGRERPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxvQkFBb0I7OEJBT3JCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmxpbmVNZXNzYWdlSWNvblBvc2l0aW9uIH0gZnJvbSAnLi9tb2RlbHMvaW5saW5lLW1lc3NhZ2UtaWNvbi1wb3NpdGlvbi5lbnVtJztcclxuaW1wb3J0IHsgSW5saW5lTWVzc2FnZSB9IGZyb20gJy4vbW9kZWxzL2lubGluZS1tZXNzYWdlLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWlubGluZS1tZXNzYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5saW5lLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lubGluZS1tZXNzYWdlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIElubGluZU1lc3NhZ2VDb21wb25lbnQge1xyXG4gIHJlYWRvbmx5IEVORF9JQ09OX1BPU0lUSU9OID0gSW5saW5lTWVzc2FnZUljb25Qb3NpdGlvbi5FTkQ7XHJcblxyXG4gIEBJbnB1dCgpIGljb25OYW1lID0gXCJpbmZvXCI7XHJcbiAgQElucHV0KCkgbWVzc2FnZSE6IElubGluZU1lc3NhZ2U7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRsZC1pbmxpbmUtbWVzc2FnZSB7e21lc3NhZ2UudHlwZX19XCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIFtjbGFzcy5vcmRlci1lbmRdPVwibWVzc2FnZS5pY29uUG9zaXRpb24gPT09IEVORF9JQ09OX1BPU0lUSU9OXCJcclxuICAgIFttYXRUb29sdGlwXT1cIm1lc3NhZ2UuaWNvblRvb2x0aXA/IChtZXNzYWdlLmljb25Ub29sdGlwIHwgdHJhbnNsYXRlOiBtZXNzYWdlLmxvY2FsaXphdGlvblBhcmFtcykgOiAnJ1wiICpuZ0lmPVwiaWNvbk5hbWVcIj57e2ljb25OYW1lfX08L3NwYW4+XHJcbiAgPHNlY3Rpb24gKm5nSWY9XCJtZXNzYWdlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1zLXNlbWktYm9sZCB0aXRsZVwiICpuZ0lmPVwibWVzc2FnZS50aXRsZVwiXHJcbiAgICAgIFtpbm5lckh0bWxdPVwibWVzc2FnZS50aXRsZSB8IHRyYW5zbGF0ZTogbWVzc2FnZS5sb2NhbGl6YXRpb25QYXJhbXNcIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPHAgY2xhc3M9XCJ0ZXh0LXMgZGVzY3JpcHRpb25cIiAqbmdJZj1cIm1lc3NhZ2UuZGVzY3JpcHRpb25cIiBbaW5uZXJIdG1sXT1cIm1lc3NhZ2UuZGVzY3JpcHRpb24gfCB0cmFuc2xhdGU6XHJcbiAgICBtZXNzYWdlLmxvY2FsaXphdGlvblBhcmFtc1wiPjwvcD5cclxuICA8L3NlY3Rpb24+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -5,15 +5,15 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
5
5
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class InlineMessageModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: InlineMessageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: InlineMessageModule, declarations: [InlineMessageComponent], imports: [CommonModule,
|
|
10
|
+
TranslateModule,
|
|
11
|
+
MatTooltipModule], exports: [InlineMessageComponent] }); }
|
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: InlineMessageModule, imports: [CommonModule,
|
|
13
|
+
TranslateModule,
|
|
14
|
+
MatTooltipModule] }); }
|
|
8
15
|
}
|
|
9
|
-
|
|
10
|
-
InlineMessageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: InlineMessageModule, declarations: [InlineMessageComponent], imports: [CommonModule,
|
|
11
|
-
TranslateModule,
|
|
12
|
-
MatTooltipModule], exports: [InlineMessageComponent] });
|
|
13
|
-
InlineMessageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InlineMessageModule, imports: [CommonModule,
|
|
14
|
-
TranslateModule,
|
|
15
|
-
MatTooltipModule] });
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: InlineMessageModule, decorators: [{
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: InlineMessageModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
19
|
declarations: [
|
|
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
29
29
|
]
|
|
30
30
|
}]
|
|
31
31
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLW1lc3NhZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL2lubGluZS1tZXNzYWdlL2lubGluZS1tZXNzYWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBZ0I3RCxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixpQkFYNUIsc0JBQXNCLGFBR3RCLFlBQVk7WUFDWixlQUFlO1lBQ2YsZ0JBQWdCLGFBR2hCLHNCQUFzQjsrR0FHYixtQkFBbUIsWUFSNUIsWUFBWTtZQUNaLGVBQWU7WUFDZixnQkFBZ0I7OzJGQU1QLG1CQUFtQjtrQkFiL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmxpbmVNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBJbmxpbmVNZXNzYWdlQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJbmxpbmVNZXNzYWdlQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5saW5lTWVzc2FnZU1vZHVsZSB7IH1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const DISABLE_EXPORT_ATTRIBUTE_NAME = "disable-export";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS1leHBvcnQtYXR0cmlidXRlLW5hbWUuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9jb25zdGFudHMvZGlzYWJsZS1leHBvcnQtYXR0cmlidXRlLW5hbWUuY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRElTQUJMRV9FWFBPUlRfQVRUUklCVVRFX05BTUUgPSBcImRpc2FibGUtZXhwb3J0XCI7XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./disable-export-attribute-name.const";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Rpc2FibGUtZXhwb3J0LWF0dHJpYnV0ZS1uYW1lLmNvbnN0XCI7XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './multi-functional-table.component';
|
|
2
|
+
export * from './multi-functional-table.module';
|
|
3
|
+
export * from './models';
|
|
4
|
+
export * from './constants';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL211bHRpLWZ1bmN0aW9uYWwtdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2gtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL211bHRpLWZ1bmN0aW9uYWwtdGFibGUvbW9kZWxzL2JhdGNoLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBCYXRjaENvbmZpZyB7XHJcbiAgZW5hYmxlZDogYm9vbGVhbjtcclxuXHJcbiAgY2hlY2tCb3hlc0Rpc2FibGVkPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL21vZGVscy9jb2x1bW4tY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbHVtbkNvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogQ29sdW1uIG5hbWUuIEZvciBjb2x1bW4gdG8gZGlzc2FwZWFyL2JlIHZpc2libGUsIHRoaXMgbXVzdCBiZSB0aGUgc2FtZSBhcyBkZWZpbmVkIGZvciBtYXQtdGFibGUgY29sdW1ucy5cclxuICAgKi9cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBuYW1lLiBDb21wb25lbnQgYXBwbGllcyB0cmFuc2xhdGUgcGlwZSB0byB0aGlzLlxyXG4gICAqL1xyXG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogRGVmYXVsdCB2YWx1ZSB0byBkZXRlcm1pbmUgaWYgY29sdW1uIGlzIHNlbGVjdGVkLlxyXG4gICAqL1xyXG4gIHNlbGVjdGVkOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICogSWYgc2V0IHRvIHRydWUsIGNvbHVtbnMgdmlzaWJpbGl0eSBjYW4ndCBiZSB0b2dnbGVkLlxyXG4gICovXHJcbiAgbm90Q29uZmlndXJhYmxlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNlbGVjdC1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tb2RlbHMvY29sdW1uLXNlbGVjdC1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gXCIuL2NvbHVtbi1jb25maWcubW9kZWxcIjtcclxuXHJcbi8qKlxyXG4gKiBNdWx0aSBmdW5jdGlvbmFsIHRhYmxlIGNvbmZpZ3VyYXRpb24gZm9yIGNvbHVtbiBzZWxlY3RpbmcuIENvbmZpZyByZXNwb25zaWJsZSBmb3IgY29uZmlndXJpbmcgY29sdW1ucyB3aG9zZSB2aXNpYmlsdHkgY2FuIGJlIHRvZ2dsZWQuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNlbGVjdENvbmZpZyB7XHJcbiAgLyoqXHJcbiAgICogQ29sdW1ucyB0byB3aG9tIHZpc2liaWxpdHkgY2FuIGJlIGNoYW5nZWQuXHJcbiAgICovXHJcbiAgY29sdW1uczogQ29sdW1uQ29uZmlnW107XHJcbiAgLyoqXHJcbiAgICogSWYgY29sdW1uIHNlbGVjdCBmZWF0dXJlIGlzIGVuYWJsZWQuXHJcbiAgICovXHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL21vZGVscy9leHBvcnQtY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeHBvcnRGb3JtYXQgfSBmcm9tIFwiLi9leHBvcnQtZm9ybWF0LmVudW1cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0Q29uZmlnIHtcclxuICBlbmFibGVkOiBib29sZWFuO1xyXG4gIGZpbGVPcHRpb25zPzoge1xyXG4gICAgZm9ybWF0PzogRXhwb3J0Rm9ybWF0O1xyXG4gICAgc2F2ZVRvRmlsZTogYm9vbGVhbjtcclxuICAgIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var ExportFormat;
|
|
2
|
+
(function (ExportFormat) {
|
|
3
|
+
ExportFormat["CSV"] = "csv";
|
|
4
|
+
})(ExportFormat || (ExportFormat = {}));
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWZvcm1hdC5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL211bHRpLWZ1bmN0aW9uYWwtdGFibGUvbW9kZWxzL2V4cG9ydC1mb3JtYXQuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUVYO0FBRkQsV0FBWSxZQUFZO0lBQ3RCLDJCQUFXLENBQUE7QUFDYixDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFeHBvcnRGb3JtYXQge1xyXG4gIENTViA9IFwiY3N2XCJcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL21vZGVscy9maWx0ZXItY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJCYXJTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9maWx0ZXItYmFyXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZ3tcclxuICBzZXR0aW5nczogRmlsdGVyQmFyU2V0dGluZ3M7XHJcbiAgdmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./multi-functional-table-config.model";
|
|
2
|
+
export * from "./column-config.model";
|
|
3
|
+
export * from "./column-select-config.model";
|
|
4
|
+
export * from "./export-config.model";
|
|
5
|
+
export * from "./export-format.enum";
|
|
6
|
+
export * from "./no-data-row-config.model";
|
|
7
|
+
export * from "./batch-config.model";
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL211bHRpLWZ1bmN0aW9uYWwtdGFibGUtY29uZmlnLm1vZGVsXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbHVtbi1jb25maWcubW9kZWxcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vY29sdW1uLXNlbGVjdC1jb25maWcubW9kZWxcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vZXhwb3J0LWNvbmZpZy5tb2RlbFwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9leHBvcnQtZm9ybWF0LmVudW1cIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbm8tZGF0YS1yb3ctY29uZmlnLm1vZGVsXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL2JhdGNoLWNvbmZpZy5tb2RlbFwiO1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZnVuY3Rpb25hbC10YWJsZS1jb25maWcubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tb2RlbHMvbXVsdGktZnVuY3Rpb25hbC10YWJsZS1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBCYXRjaENvbmZpZyB9IGZyb20gXCIuL2JhdGNoLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBDb2x1bW5TZWxlY3RDb25maWcgfSBmcm9tIFwiLi9jb2x1bW4tc2VsZWN0LWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBFeHBvcnRDb25maWcgfSBmcm9tIFwiLi9leHBvcnQtY29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IEZpbHRlckNvbmZpZyB9IGZyb20gXCIuL2ZpbHRlci1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgTm9EYXRhUm93Q29uZmlnIH0gZnJvbSBcIi4vbm8tZGF0YS1yb3ctY29uZmlnLm1vZGVsXCI7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBmb3IgdGFibGUgd2l0aCBtdWx0aXBsZSBwcmVkZWZpbmVkIGFjdG9pbnMgYWdhaW5zdCBtYXQgdGFibGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpRnVuY3Rpb25hbFRhYmxlQ29uZmlnPFQ+IHtcclxuICAvKipcclxuICAgKiBNYXQgdGFibGUgZGF0YVNvdXJjZVxyXG4gICAqL1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxUPjtcclxuICAvKipcclxuICAgKiBDb25maWd1cmF0aW9uIGZvciB0b2dnbGluZyBkaXNwbGF5ZWQgY29sdW1ucyBpbiBtYXQgdGFibGVcclxuICAgKi9cclxuICBjb2x1bW5TZWxlY3Q/OiBDb2x1bW5TZWxlY3RDb25maWc7XHJcbiAgLyoqXHJcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgZmlsdGVycy4gRm9yIGZpbHRlcmluZyBjdXN0b20gZmlsdGVyQmFyIGNvbXBvbmVudCBpcyB1c2VkLiBOb3RlIHRoYXQgY29tcG9uZW50IGRvZXMgbm90IGZpbHRlciBkYXRhc291cmNlIGJ5IGl0c2VsZiBidXQgb25seSBlbWl0cyBldmVudCB3aGVuIGZpbHRlcnMgYXJlIGNoYW5nZWQuXHJcbiAgICovXHJcbiAgZmlsdGVyPzogRmlsdGVyQ29uZmlnO1xyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIGV4cG9ydGluZyBkYXRhLlxyXG4gICAqL1xyXG4gIGV4cG9ydD86IEV4cG9ydENvbmZpZztcclxuICAvKipcclxuICAgKiBMb2NhbCBzdG9yYWdlIGtleSB0byBzdG9yZSBzZWxlY3RlZCBjb2x1bW5zIGFuZCBmaWx0ZXIgdmlzaWJpbHR5LlxyXG4gICAqL1xyXG4gIGxvY2FsU3RvcmFnZUtleT86IHN0cmluZztcclxuICAvKipcclxuICAgKiBDb25maWd1cmF0aW9uIGZvciB0ZXh0cyBhbmQgaWNvbiBmb3Igbm8gZGF0YSByb3cuXHJcbiAgICovXHJcbiAgbm9EYXRhUm93PzogTm9EYXRhUm93Q29uZmlnO1xyXG4gIGJhdGNoQ29uZmlnPzogQmF0Y2hDb25maWc7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZGF0YS1yb3ctY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL211bHRpLWZ1bmN0aW9uYWwtdGFibGUvbW9kZWxzL25vLWRhdGEtcm93LWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOb0RhdGFSb3dDb25maWcge1xyXG4gIGVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHRpdGxlUGFyYW1zPzogYW55O1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBkZXNjcmlwdGlvblBhcmFtcz86IGFueTtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGxvYWRpbmc/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
package/esm2022/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY29sdW1uLWxvY2FsLXN0b3JhZ2UtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL211bHRpLWZ1bmN0aW9uYWwtdGFibGUvbW9kZWxzL3NlbGVjdGVkLWNvbHVtbi1sb2NhbC1zdG9yYWdlLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIE9iamVjdCB0eXBlIHRoYXQgaXMgc3RvcmVkIGluIGxvY2FsIHN0b3JhZ2UgZm9yIHJlbWVtYmVyaW5nIHVzZXIgY2hvaWNlcy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWcge1xyXG4gIC8qKlxyXG4gICAqIFNldHRpbmdzIHJlbGF0ZWQgdG8gY29sdW1uIHNlbGVjdC5cclxuICAgKi9cclxuICBjb2x1bW5zPzoge1xyXG4gICAgLyoqXHJcbiAgICAgKiBXZXRoZXIgZ2l2ZW4gY29sdW1uIHdhcyBzZWxlY3RlZC5cclxuICAgICAqL1xyXG4gICAgW2NvbHVtbk5hbWU6IHN0cmluZ106IGJvb2xlYW5cclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIEZpbHRlciBzZXR0aW5ncy5cclxuICAgKi9cclxuICBmaWx0ZXI/OiB7IHZpc2libGU/OiBib29sZWFuOyB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
+
import { Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { MatSort } from '@angular/material/sort';
|
|
4
|
+
import { MatColumnDef, MatHeaderRowDef, MatNoDataRow, MatRowDef, MatTable } from '@angular/material/table';
|
|
5
|
+
import { map, take } from 'rxjs';
|
|
6
|
+
import { HtmlElementParseHelper } from '../helpers';
|
|
7
|
+
import { SaveFileHelper } from '../helpers/save-file.helper';
|
|
8
|
+
import { DISABLE_EXPORT_ATTRIBUTE_NAME } from './constants/disable-export-attribute-name.const';
|
|
9
|
+
import { ExportFormat } from './models';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../services";
|
|
12
|
+
import * as i2 from "@ngx-translate/core";
|
|
13
|
+
import * as i3 from "@angular/common";
|
|
14
|
+
import * as i4 from "@angular/material/table";
|
|
15
|
+
import * as i5 from "@angular/material/button";
|
|
16
|
+
import * as i6 from "@angular/material/menu";
|
|
17
|
+
import * as i7 from "@angular/material/checkbox";
|
|
18
|
+
import * as i8 from "@angular/forms";
|
|
19
|
+
import * as i9 from "../filter-bar/filter-bar.component";
|
|
20
|
+
import * as i10 from "@angular/flex-layout/flex";
|
|
21
|
+
import * as i11 from "@angular/material/progress-spinner";
|
|
22
|
+
export class MultiFunctionalTableComponent {
|
|
23
|
+
set selection(value) {
|
|
24
|
+
this.matSelection.setSelection(...(value ?? []));
|
|
25
|
+
}
|
|
26
|
+
get ignoreAttributeName() { return DISABLE_EXPORT_ATTRIBUTE_NAME; }
|
|
27
|
+
get filterActive() { return this.config.filter?.enabled; }
|
|
28
|
+
constructor(domService, translateService) {
|
|
29
|
+
this.domService = domService;
|
|
30
|
+
this.translateService = translateService;
|
|
31
|
+
this.matSelection = new SelectionModel(true, []);
|
|
32
|
+
//#region Output properties
|
|
33
|
+
this.filterBarChange = new EventEmitter();
|
|
34
|
+
this.exported = new EventEmitter();
|
|
35
|
+
this.selectionChange = this.matSelection.changed.asObservable().pipe(map(() => { return this.matSelection.selected; }));
|
|
36
|
+
this.noDataRowIcon = "manage_search";
|
|
37
|
+
this.batchColumnName = "batch";
|
|
38
|
+
}
|
|
39
|
+
//#region Angular lifecycle hooks
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.readFromLocalStorage();
|
|
42
|
+
this.setFilterVisibility();
|
|
43
|
+
this.setColumnSelectProperties();
|
|
44
|
+
this.setExportProperties();
|
|
45
|
+
this.setNoDataRowProperties();
|
|
46
|
+
}
|
|
47
|
+
ngAfterContentInit() {
|
|
48
|
+
this.columnDefs.forEach(columnDef => this.table.addColumnDef(columnDef));
|
|
49
|
+
this.rowDefs.forEach(rowDef => this.table.addRowDef(rowDef));
|
|
50
|
+
this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));
|
|
51
|
+
this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));
|
|
52
|
+
this.table.setNoDataRow(this.noDataRow);
|
|
53
|
+
}
|
|
54
|
+
ngAfterViewInit() {
|
|
55
|
+
this.config.dataSource.sort = this.sort;
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
updateDisplayColumns(initial = false) {
|
|
59
|
+
this.batchSelectedEnabled = this.config.batchConfig?.enabled ? true : false;
|
|
60
|
+
const allColumns = this.config.columnSelect?.columns ?? [];
|
|
61
|
+
this.displayColumns = [];
|
|
62
|
+
this.configurableColumns = allColumns.filter(column => !column.notConfigurable);
|
|
63
|
+
if (this.batchSelectedEnabled) {
|
|
64
|
+
this.displayColumns.push(this.batchColumnName);
|
|
65
|
+
}
|
|
66
|
+
if (!allColumns.length) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const localStorageValue = this.localStorageValue ?? {};
|
|
70
|
+
if (!localStorageValue.columns) {
|
|
71
|
+
localStorageValue.columns = {};
|
|
72
|
+
}
|
|
73
|
+
allColumns.forEach((column) => {
|
|
74
|
+
if (initial) {
|
|
75
|
+
column.selected = localStorageValue.columns?.[column.name] ?? column.selected;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
79
|
+
localStorageValue.columns[column.name] = column.selected;
|
|
80
|
+
}
|
|
81
|
+
if (column.selected) {
|
|
82
|
+
this.displayColumns.push(column.name);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
if (!initial) {
|
|
86
|
+
this.updateLocalStorage(localStorageValue);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
toggleFilterBar() {
|
|
90
|
+
const localstorageObject = this.localStorageValue ?? {};
|
|
91
|
+
if (!localstorageObject.filter) {
|
|
92
|
+
localstorageObject.filter = {};
|
|
93
|
+
}
|
|
94
|
+
this.filterBarVisible = !this.filterBarVisible;
|
|
95
|
+
localstorageObject.filter.visible = this.filterBarVisible;
|
|
96
|
+
this.updateLocalStorage(localstorageObject);
|
|
97
|
+
}
|
|
98
|
+
filtersChanged(filters) {
|
|
99
|
+
this.filterBarChange.emit(filters);
|
|
100
|
+
}
|
|
101
|
+
export() {
|
|
102
|
+
this.config.dataSource.connect().pipe(take(1)).subscribe((data) => {
|
|
103
|
+
this.exported.emit(data);
|
|
104
|
+
});
|
|
105
|
+
if (this.config.export?.fileOptions) {
|
|
106
|
+
this.exportToFile();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
highlightElement(element) {
|
|
110
|
+
return this.highlightedElements?.includes(element);
|
|
111
|
+
}
|
|
112
|
+
//#region Methods for batch selection
|
|
113
|
+
isAllSelected() {
|
|
114
|
+
const numSelected = this.matSelection.selected.length;
|
|
115
|
+
const numRows = this.config.dataSource.data.length;
|
|
116
|
+
return numSelected === numRows;
|
|
117
|
+
}
|
|
118
|
+
toggleAllRowSelection() {
|
|
119
|
+
if (this.isAllSelected()) {
|
|
120
|
+
this.matSelection.clear();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this.matSelection.select(...this.config.dataSource.data);
|
|
124
|
+
}
|
|
125
|
+
toggleElementSelection(element) {
|
|
126
|
+
this.matSelection.toggle(element);
|
|
127
|
+
}
|
|
128
|
+
//#endregion
|
|
129
|
+
exportToFile() {
|
|
130
|
+
if (!this.config.export?.fileOptions?.saveToFile) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
let fileString = "";
|
|
134
|
+
let extension;
|
|
135
|
+
switch (this.config.export.fileOptions.format) {
|
|
136
|
+
case ExportFormat.CSV:
|
|
137
|
+
default:
|
|
138
|
+
extension = ExportFormat.CSV;
|
|
139
|
+
fileString = HtmlElementParseHelper.tableAsCsv(this.tableElementRef.nativeElement, this.ignoreAttributeName);
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
const translatedFileName = this.translateService.instant(this.config.export.fileOptions.fileName);
|
|
143
|
+
SaveFileHelper.saveFile(fileString, `${translatedFileName}.${extension}`);
|
|
144
|
+
}
|
|
145
|
+
updateLocalStorage(newValue) {
|
|
146
|
+
this.localStorageValue = newValue;
|
|
147
|
+
if (this.config.localStorageKey && newValue) {
|
|
148
|
+
this.domService.localStorage?.setItem(this.config.localStorageKey, JSON.stringify(newValue));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
readFromLocalStorage() {
|
|
152
|
+
if (this.config.localStorageKey) {
|
|
153
|
+
try {
|
|
154
|
+
const localStorageString = this.domService.localStorage?.getItem(this.config.localStorageKey);
|
|
155
|
+
if (localStorageString) {
|
|
156
|
+
this.localStorageValue = JSON.parse(localStorageString);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// eslint-disable-next-line no-empty
|
|
160
|
+
catch {
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
setColumnSelectProperties() {
|
|
165
|
+
this.columnSelectActive = this.config.columnSelect?.enabled ? true : false;
|
|
166
|
+
this.updateDisplayColumns(true);
|
|
167
|
+
}
|
|
168
|
+
setFilterVisibility() {
|
|
169
|
+
this.filterBarVisible = this.localStorageValue?.filter?.visible ?? this.config?.filter?.visible ?? false;
|
|
170
|
+
}
|
|
171
|
+
setNoDataRowProperties() {
|
|
172
|
+
if (this.config.noDataRow) {
|
|
173
|
+
this.noDataRowActive = true;
|
|
174
|
+
this.noDataRowConfig = this.config.noDataRow;
|
|
175
|
+
if (this.noDataRowConfig.icon) {
|
|
176
|
+
this.noDataRowIcon = this.noDataRowConfig.icon;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
setExportProperties() {
|
|
181
|
+
if (this.config.export?.enabled) {
|
|
182
|
+
this.exportActive = true;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiFunctionalTableComponent, deps: [{ token: i1.DOMService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: MultiFunctionalTableComponent, selector: "tld-multi-functional-table", inputs: { config: "config", highlightedElements: "highlightedElements", selection: "selection" }, outputs: { filterBarChange: "filterBarChange", exported: "exported", selectionChange: "selectionChange" }, queries: [{ propertyName: "noDataRow", first: true, predicate: MatNoDataRow, descendants: true }, { propertyName: "headerRowDefs", predicate: MatHeaderRowDef }, { propertyName: "rowDefs", predicate: MatRowDef, descendants: true }, { propertyName: "columnDefs", predicate: MatColumnDef }], viewQueries: [{ propertyName: "table", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "tableElementRef", first: true, predicate: MatTable, descendants: true, read: ElementRef }], ngImport: i0, template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\">\r\n\r\n <div fxLayout=\"row\">\r\n <div fxFlex fxLayoutGap=\"1rem\">\r\n <button mat-button [matMenuTriggerFor]=\"columnMenu\" *ngIf=\"columnSelectActive\">\r\n <span class=\"material-icons column-select-icon\">menu</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.COLUMN_SELECT' | translate}}</span>\r\n </button>\r\n\r\n <button mat-button *ngIf=\"filterActive\" (click)=\"toggleFilterBar()\">\r\n <span class=\"material-icons\">filter_list</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.FILTER_TOGGLE' | translate}}</span>\r\n </button>\r\n\r\n <button mat-stroked-button *ngIf=\"exportActive\" (click)=\"export()\">\r\n <span class=\"material-icons-outlined\">cloud_download</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.EXPORT' | translate}}</span>\r\n </button>\r\n </div>\r\n\r\n <ng-content select=\"[additionalActions]\"></ng-content>\r\n </div>\r\n\r\n <mat-menu #columnMenu=\"matMenu\">\r\n <div class=\"column-select-wrapper\" (click)=\"$event.stopPropagation()\">\r\n <div *ngFor=\"let column of configurableColumns\">\r\n <mat-checkbox [(ngModel)]=\"column.selected\" (change)=\"updateDisplayColumns()\">\r\n {{column.displayName | translate}}\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <tld-filter-bar *ngIf=\"config.filter && config.filter.enabled\" [filterRowVisible]=\"!filterBarVisible\" [settings]=\"config.filter.settings\" \r\n (filterBarChange)=\"filtersChanged($event)\">\r\n </tld-filter-bar>\r\n\r\n <div class=\"table-overflow\">\r\n <table #table mat-table [dataSource]=\"config.dataSource\">\r\n <ng-content></ng-content>\r\n <ng-container [matColumnDef]=\"batchColumnName\">\r\n <th class=\"row-select\" mat-header-cell *matHeaderCellDef disable-export>\r\n <mat-checkbox [disabled]=\"config.batchConfig!.checkBoxesDisabled\" (change)=\"toggleAllRowSelection()\"\r\n [checked]=\"matSelection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"matSelection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td class=\"row-select\" mat-cell *matCellDef=\"let element\" disable-export>\r\n <mat-checkbox *ngIf=\"hoveredRow === element || matSelection.isSelected(element)\" [disabled]=\"config.batchConfig!.checkBoxesDisabled\" (click)=\"$event.stopPropagation()\"\r\n (change)=\"toggleElementSelection(element)\" [checked]=\"matSelection.isSelected(element)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\" sticky></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayColumns\" (mouseover)=\"hoveredRow = row\" (mouseleave)=\"hoveredRow = null\" [class.highlight]=\"highlightElement(row)\"></tr>\r\n\r\n <ng-container *ngIf=\"noDataRowActive\">\r\n <tr *matNoDataRow>\r\n <!-- add random number to make sure it takes full width -->\r\n <td colspan=\"99\">\r\n <div class=\"no-engines-wrapper\">\r\n <ng-container *ngIf=\"!noDataRowConfig.loading; else loading\">\r\n <div>\r\n <span class=\"material-icons-outlined\">\r\n {{noDataRowIcon}}\r\n </span>\r\n </div>\r\n <div class=\"text-xl-semi-bold\" *ngIf=\"noDataRowConfig.title\"\r\n [innerHtml]=\"noDataRowConfig.title | translate: noDataRowConfig.titleParams\">\r\n </div>\r\n <div class=\"text-l\" *ngIf=\"noDataRowConfig.description\"\r\n [innerHtml]=\"noDataRowConfig.description | translate: noDataRowConfig.descriptionParams\"></div>\r\n </ng-container>\r\n <ng-template #loading>\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep th,:host ::ng-deep tr{white-space:nowrap}:host ::ng-deep td{padding-right:10px!important}:host ::ng-deep tr.mat-mdc-row:hover,:host ::ng-deep tr.mat-mdc-row.highlight{background-color:var(--base-95)}table{width:100%}.column-select-icon{rotate:90deg}.column-select-wrapper{padding:1rem}.material-icons,.material-icons-outlined{margin-right:.5rem}.table-action-button{margin-bottom:1rem}.mat-no-data-row{text-align:center}.mat-no-data-row .no-engines-wrapper{margin-top:4rem}.mat-no-data-row .material-icons-outlined{font-size:4rem;color:var(--base-70)}mat-spinner{margin:auto}th.mat-mdc-header-cell:first-of-type,td.mat-mdc-cell:first-of-type,td.mat-mdc-footer-cell:first-of-type{padding:0 22px}.row-select{width:0}.mat-mdc-checkbox{padding-top:8px}.table-overflow{overflow-x:auto}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i4.MatNoDataRow, selector: "ng-template[matNoDataRow]" }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.FilterBarComponent, selector: "tld-filter-bar", inputs: ["settings", "filterRowVisible"], outputs: ["filterBarChange"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i11.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
187
|
+
}
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: MultiFunctionalTableComponent, decorators: [{
|
|
189
|
+
type: Component,
|
|
190
|
+
args: [{ selector: 'tld-multi-functional-table', template: "<div fxLayout=\"column\" fxLayoutGap=\"1rem\">\r\n\r\n <div fxLayout=\"row\">\r\n <div fxFlex fxLayoutGap=\"1rem\">\r\n <button mat-button [matMenuTriggerFor]=\"columnMenu\" *ngIf=\"columnSelectActive\">\r\n <span class=\"material-icons column-select-icon\">menu</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.COLUMN_SELECT' | translate}}</span>\r\n </button>\r\n\r\n <button mat-button *ngIf=\"filterActive\" (click)=\"toggleFilterBar()\">\r\n <span class=\"material-icons\">filter_list</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.FILTER_TOGGLE' | translate}}</span>\r\n </button>\r\n\r\n <button mat-stroked-button *ngIf=\"exportActive\" (click)=\"export()\">\r\n <span class=\"material-icons-outlined\">cloud_download</span>\r\n <span>{{'MULTI_FUNCTIONAL_TABLE.EXPORT' | translate}}</span>\r\n </button>\r\n </div>\r\n\r\n <ng-content select=\"[additionalActions]\"></ng-content>\r\n </div>\r\n\r\n <mat-menu #columnMenu=\"matMenu\">\r\n <div class=\"column-select-wrapper\" (click)=\"$event.stopPropagation()\">\r\n <div *ngFor=\"let column of configurableColumns\">\r\n <mat-checkbox [(ngModel)]=\"column.selected\" (change)=\"updateDisplayColumns()\">\r\n {{column.displayName | translate}}\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n </mat-menu>\r\n\r\n <tld-filter-bar *ngIf=\"config.filter && config.filter.enabled\" [filterRowVisible]=\"!filterBarVisible\" [settings]=\"config.filter.settings\" \r\n (filterBarChange)=\"filtersChanged($event)\">\r\n </tld-filter-bar>\r\n\r\n <div class=\"table-overflow\">\r\n <table #table mat-table [dataSource]=\"config.dataSource\">\r\n <ng-content></ng-content>\r\n <ng-container [matColumnDef]=\"batchColumnName\">\r\n <th class=\"row-select\" mat-header-cell *matHeaderCellDef disable-export>\r\n <mat-checkbox [disabled]=\"config.batchConfig!.checkBoxesDisabled\" (change)=\"toggleAllRowSelection()\"\r\n [checked]=\"matSelection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"matSelection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td class=\"row-select\" mat-cell *matCellDef=\"let element\" disable-export>\r\n <mat-checkbox *ngIf=\"hoveredRow === element || matSelection.isSelected(element)\" [disabled]=\"config.batchConfig!.checkBoxesDisabled\" (click)=\"$event.stopPropagation()\"\r\n (change)=\"toggleElementSelection(element)\" [checked]=\"matSelection.isSelected(element)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns\" sticky></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayColumns\" (mouseover)=\"hoveredRow = row\" (mouseleave)=\"hoveredRow = null\" [class.highlight]=\"highlightElement(row)\"></tr>\r\n\r\n <ng-container *ngIf=\"noDataRowActive\">\r\n <tr *matNoDataRow>\r\n <!-- add random number to make sure it takes full width -->\r\n <td colspan=\"99\">\r\n <div class=\"no-engines-wrapper\">\r\n <ng-container *ngIf=\"!noDataRowConfig.loading; else loading\">\r\n <div>\r\n <span class=\"material-icons-outlined\">\r\n {{noDataRowIcon}}\r\n </span>\r\n </div>\r\n <div class=\"text-xl-semi-bold\" *ngIf=\"noDataRowConfig.title\"\r\n [innerHtml]=\"noDataRowConfig.title | translate: noDataRowConfig.titleParams\">\r\n </div>\r\n <div class=\"text-l\" *ngIf=\"noDataRowConfig.description\"\r\n [innerHtml]=\"noDataRowConfig.description | translate: noDataRowConfig.descriptionParams\"></div>\r\n </ng-container>\r\n <ng-template #loading>\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </ng-template>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: [":host ::ng-deep th,:host ::ng-deep tr{white-space:nowrap}:host ::ng-deep td{padding-right:10px!important}:host ::ng-deep tr.mat-mdc-row:hover,:host ::ng-deep tr.mat-mdc-row.highlight{background-color:var(--base-95)}table{width:100%}.column-select-icon{rotate:90deg}.column-select-wrapper{padding:1rem}.material-icons,.material-icons-outlined{margin-right:.5rem}.table-action-button{margin-bottom:1rem}.mat-no-data-row{text-align:center}.mat-no-data-row .no-engines-wrapper{margin-top:4rem}.mat-no-data-row .material-icons-outlined{font-size:4rem;color:var(--base-70)}mat-spinner{margin:auto}th.mat-mdc-header-cell:first-of-type,td.mat-mdc-cell:first-of-type,td.mat-mdc-footer-cell:first-of-type{padding:0 22px}.row-select{width:0}.mat-mdc-checkbox{padding-top:8px}.table-overflow{overflow-x:auto}\n"] }]
|
|
191
|
+
}], ctorParameters: function () { return [{ type: i1.DOMService }, { type: i2.TranslateService }]; }, propDecorators: { config: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], highlightedElements: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], selection: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], filterBarChange: [{
|
|
198
|
+
type: Output
|
|
199
|
+
}], exported: [{
|
|
200
|
+
type: Output
|
|
201
|
+
}], selectionChange: [{
|
|
202
|
+
type: Output
|
|
203
|
+
}], headerRowDefs: [{
|
|
204
|
+
type: ContentChildren,
|
|
205
|
+
args: [MatHeaderRowDef]
|
|
206
|
+
}], rowDefs: [{
|
|
207
|
+
type: ContentChildren,
|
|
208
|
+
args: [MatRowDef, { descendants: true }]
|
|
209
|
+
}], columnDefs: [{
|
|
210
|
+
type: ContentChildren,
|
|
211
|
+
args: [MatColumnDef]
|
|
212
|
+
}], noDataRow: [{
|
|
213
|
+
type: ContentChild,
|
|
214
|
+
args: [MatNoDataRow]
|
|
215
|
+
}], table: [{
|
|
216
|
+
type: ViewChild,
|
|
217
|
+
args: [MatTable, { static: true }]
|
|
218
|
+
}], sort: [{
|
|
219
|
+
type: ViewChild,
|
|
220
|
+
args: [MatSort]
|
|
221
|
+
}], tableElementRef: [{
|
|
222
|
+
type: ViewChild,
|
|
223
|
+
args: [MatTable, { read: ElementRef }]
|
|
224
|
+
}] } });
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL211bHRpLWZ1bmN0aW9uYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBbUMsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRyxPQUFPLEVBQUUsR0FBRyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQW1CLE1BQU0sVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBV3pELE1BQU0sT0FBTyw2QkFBNkI7SUFLeEMsSUFBYSxTQUFTLENBQUMsS0FBVTtRQUMvQixJQUFJLENBQUMs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QUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdENvbHVtbkRlZiwgTWF0SGVhZGVyUm93RGVmLCBNYXROb0RhdGFSb3csIE1hdFJvd0RlZiwgTWF0VGFibGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCB0YWtlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpbHRlckJhckNoYW5nZUV2ZW50IH0gZnJvbSAnLi4vZmlsdGVyLWJhci9tb2RlbHMvZmlsdGVyLWJhci1jaGFuZ2UtZXZlbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBIdG1sRWxlbWVudFBhcnNlSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IFNhdmVGaWxlSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9zYXZlLWZpbGUuaGVscGVyJztcclxuaW1wb3J0IHsgRE9NU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgRElTQUJMRV9FWFBPUlRfQVRUUklCVVRFX05BTUUgfSBmcm9tICcuL2NvbnN0YW50cy9kaXNhYmxlLWV4cG9ydC1hdHRyaWJ1dGUtbmFtZS5jb25zdCc7XHJcbmltcG9ydCB7IEV4cG9ydEZvcm1hdCwgTm9EYXRhUm93Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDb2x1bW5Db25maWcgfSBmcm9tICcuL21vZGVscy9jb2x1bW4tY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgTXVsdGlGdW5jdGlvbmFsVGFibGVDb25maWcgfSBmcm9tICcuL21vZGVscy9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkQ29sdW1uTG9jYWxTdG9yYWdlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvc2VsZWN0ZWQtY29sdW1uLWxvY2FsLXN0b3JhZ2UtY29uZmlnLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICd0bGQtbXVsdGktZnVuY3Rpb25hbC10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLWZ1bmN0aW9uYWwtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL211bHRpLWZ1bmN0aW9uYWwtdGFibGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXVsdGlGdW5jdGlvbmFsVGFibGVDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHJlYWRvbmx5IG1hdFNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxUPih0cnVlLCBbXSk7XHJcblxyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IE11bHRpRnVuY3Rpb25hbFRhYmxlQ29uZmlnPFQ+O1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodGVkRWxlbWVudHMhOiBUW107XHJcbiAgQElucHV0KCkgc2V0IHNlbGVjdGlvbih2YWx1ZTogVFtdKSB7XHJcbiAgICB0aGlzLm1hdFNlbGVjdGlvbi5zZXRTZWxlY3Rpb24oLi4uKHZhbHVlID8/IFtdKSk7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gT3V0cHV0IHByb3BlcnRpZXNcclxuICBAT3V0cHV0KCkgZmlsdGVyQmFyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsdGVyQmFyQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJCYXJDaGFuZ2VFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZXhwb3J0ZWQ6IEV2ZW50RW1pdHRlcjxUW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogT2JzZXJ2YWJsZTxUW10+ID0gdGhpcy5tYXRTZWxlY3Rpb24uY2hhbmdlZC5hc09ic2VydmFibGUoKS5waXBlKG1hcCgoKSA9PiB7IHJldHVybiB0aGlzLm1hdFNlbGVjdGlvbi5zZWxlY3RlZDsgfSkpO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXMgZm9yIG1hdCB0YWJsZSB3cmFwcGVyXHJcbiAgQENvbnRlbnRDaGlsZHJlbihNYXRIZWFkZXJSb3dEZWYpIGhlYWRlclJvd0RlZnMhOiBRdWVyeUxpc3Q8TWF0SGVhZGVyUm93RGVmPjtcclxuICBAQ29udGVudENoaWxkcmVuKE1hdFJvd0RlZiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSByb3dEZWZzITogUXVlcnlMaXN0PE1hdFJvd0RlZjxUPj47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihNYXRDb2x1bW5EZWYpIGNvbHVtbkRlZnMhOiBRdWVyeUxpc3Q8TWF0Q29sdW1uRGVmPjtcclxuICBAQ29udGVudENoaWxkKE1hdE5vRGF0YVJvdykgbm9EYXRhUm93ITogTWF0Tm9EYXRhUm93O1xyXG5cclxuICBAVmlld0NoaWxkKE1hdFRhYmxlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZSE6IE1hdFRhYmxlPFQ+O1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydCE6IE1hdFNvcnQ7XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0VGFibGUsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB0YWJsZUVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcblxyXG4gIGdldCBpZ25vcmVBdHRyaWJ1dGVOYW1lKCkgeyByZXR1cm4gRElTQUJMRV9FWFBPUlRfQVRUUklCVVRFX05BTUUgfVxyXG4gIGRpc3BsYXlDb2x1bW5zITogc3RyaW5nW107XHJcblxyXG4gIGNvbHVtblNlbGVjdEFjdGl2ZSE6IGJvb2xlYW47XHJcbiAgZXhwb3J0QWN0aXZlITogYm9vbGVhbjtcclxuICBub0RhdGFSb3dBY3RpdmUhOiBib29sZWFuO1xyXG5cclxuICBmaWx0ZXJCYXJWaXNpYmxlITogYm9vbGVhbjtcclxuXHJcbiAgbm9EYXRhUm93Q29uZmlnITogTm9EYXRhUm93Q29uZmlnO1xyXG4gIG5vRGF0YVJvd0ljb24gPSBcIm1hbmFnZV9zZWFyY2hcIjtcclxuXHJcbiAgY29uZmlndXJhYmxlQ29sdW1ucyE6IENvbHVtbkNvbmZpZ1tdO1xyXG4gIGJhdGNoU2VsZWN0ZWRFbmFibGVkITogYm9vbGVhbjtcclxuXHJcbiAgLy8gaXMgdXNlZCBpbiBodG1sIHRvIGRpc3BsYXkgYmF0Y2ggY2hlY2tib3ggb24gaG92ZXJlZCByb3dcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGhvdmVyZWRSb3c6IGFueTtcclxuXHJcbiAgZ2V0IGZpbHRlckFjdGl2ZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbHRlcj8uZW5hYmxlZDsgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsU3RvcmFnZVZhbHVlITogU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWc7XHJcbiAgcmVhZG9ubHkgYmF0Y2hDb2x1bW5OYW1lID0gXCJiYXRjaFwiO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRvbVNlcnZpY2U6IERPTVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxyXG5cclxuICAvLyNyZWdpb24gQW5ndWxhciBsaWZlY3ljbGUgaG9va3NcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVhZEZyb21Mb2NhbFN0b3JhZ2UoKTtcclxuICAgIHRoaXMuc2V0RmlsdGVyVmlzaWJpbGl0eSgpO1xyXG4gICAgdGhpcy5zZXRDb2x1bW5TZWxlY3RQcm9wZXJ0aWVzKCk7XHJcbiAgICB0aGlzLnNldEV4cG9ydFByb3BlcnRpZXMoKTtcclxuICAgIHRoaXMuc2V0Tm9EYXRhUm93UHJvcGVydGllcygpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5EZWZzLmZvckVhY2goY29sdW1uRGVmID0+IHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKGNvbHVtbkRlZikpO1xyXG4gICAgdGhpcy5yb3dEZWZzLmZvckVhY2gocm93RGVmID0+IHRoaXMudGFibGUuYWRkUm93RGVmKHJvd0RlZikpO1xyXG4gICAgdGhpcy5oZWFkZXJSb3dEZWZzLmZvckVhY2goaGVhZGVyUm93RGVmID0+IHRoaXMudGFibGUuYWRkSGVhZGVyUm93RGVmKGhlYWRlclJvd0RlZikpO1xyXG4gICAgdGhpcy5oZWFkZXJSb3dEZWZzLmZvckVhY2goaGVhZGVyUm93RGVmID0+IHRoaXMudGFibGUuYWRkSGVhZGVyUm93RGVmKGhlYWRlclJvd0RlZikpO1xyXG4gICAgdGhpcy50YWJsZS5zZXROb0RhdGFSb3codGhpcy5ub0RhdGFSb3cpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25maWcuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgdXBkYXRlRGlzcGxheUNvbHVtbnMoaW5pdGlhbCA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmJhdGNoU2VsZWN0ZWRFbmFibGVkID0gdGhpcy5jb25maWcuYmF0Y2hDb25maWc/LmVuYWJsZWQgPyB0cnVlIDogZmFsc2U7XHJcbiAgICBjb25zdCBhbGxDb2x1bW5zID0gdGhpcy5jb25maWcuY29sdW1uU2VsZWN0Py5jb2x1bW5zID8/IFtdO1xyXG4gICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IFtdO1xyXG4gICAgdGhpcy5jb25maWd1cmFibGVDb2x1bW5zID0gYWxsQ29sdW1ucy5maWx0ZXIoY29sdW1uID0+ICFjb2x1bW4ubm90Q29uZmlndXJhYmxlKTtcclxuXHJcbiAgICBpZiAodGhpcy5iYXRjaFNlbGVjdGVkRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zLnB1c2godGhpcy5iYXRjaENvbHVtbk5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghYWxsQ29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZVZhbHVlID0gdGhpcy5sb2NhbFN0b3JhZ2VWYWx1ZSA/PyB7fTtcclxuICAgIGlmICghbG9jYWxTdG9yYWdlVmFsdWUuY29sdW1ucykge1xyXG4gICAgICBsb2NhbFN0b3JhZ2VWYWx1ZS5jb2x1bW5zID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgYWxsQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgaWYgKGluaXRpYWwpIHtcclxuICAgICAgICBjb2x1bW4uc2VsZWN0ZWQgPSBsb2NhbFN0b3JhZ2VWYWx1ZS5jb2x1bW5zPy5bY29sdW1uLm5hbWVdID8/IGNvbHVtbi5zZWxlY3RlZDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgIGxvY2FsU3RvcmFnZVZhbHVlLmNvbHVtbnMhW2NvbHVtbi5uYW1lXSA9IGNvbHVtbi5zZWxlY3RlZDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29sdW1uLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucy5wdXNoKGNvbHVtbi5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIGlmICghaW5pdGlhbCkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUxvY2FsU3RvcmFnZShsb2NhbFN0b3JhZ2VWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVGaWx0ZXJCYXIoKSB7XHJcbiAgICBjb25zdCBsb2NhbHN0b3JhZ2VPYmplY3QgPSB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlID8/IHt9O1xyXG4gICAgaWYgKCFsb2NhbHN0b3JhZ2VPYmplY3QuZmlsdGVyKSB7XHJcbiAgICAgIGxvY2Fsc3RvcmFnZU9iamVjdC5maWx0ZXIgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbHRlckJhclZpc2libGUgPSAhdGhpcy5maWx0ZXJCYXJWaXNpYmxlO1xyXG4gICAgbG9jYWxzdG9yYWdlT2JqZWN0LmZpbHRlci52aXNpYmxlID0gdGhpcy5maWx0ZXJCYXJWaXNpYmxlO1xyXG4gICAgdGhpcy51cGRhdGVMb2NhbFN0b3JhZ2UobG9jYWxzdG9yYWdlT2JqZWN0KTtcclxuICB9XHJcblxyXG4gIGZpbHRlcnNDaGFuZ2VkKGZpbHRlcnM6IEZpbHRlckJhckNoYW5nZUV2ZW50KSB7XHJcbiAgICB0aGlzLmZpbHRlckJhckNoYW5nZS5lbWl0KGZpbHRlcnMpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0KCkge1xyXG4gICAgdGhpcy5jb25maWcuZGF0YVNvdXJjZS5jb25uZWN0KCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRlZC5lbWl0KGRhdGEpO1xyXG4gICAgfSlcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuZXhwb3J0Py5maWxlT3B0aW9ucykge1xyXG4gICAgICB0aGlzLmV4cG9ydFRvRmlsZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWdobGlnaHRFbGVtZW50KGVsZW1lbnQ6IFQpIHtcclxuICAgIHJldHVybiB0aGlzLmhpZ2hsaWdodGVkRWxlbWVudHM/LmluY2x1ZGVzKGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIE1ldGhvZHMgZm9yIGJhdGNoIHNlbGVjdGlvblxyXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XHJcbiAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMubWF0U2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcclxuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmNvbmZpZy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xyXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQWxsUm93U2VsZWN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XHJcbiAgICAgIHRoaXMubWF0U2VsZWN0aW9uLmNsZWFyKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1hdFNlbGVjdGlvbi5zZWxlY3QoLi4udGhpcy5jb25maWcuZGF0YVNvdXJjZS5kYXRhKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUVsZW1lbnRTZWxlY3Rpb24oZWxlbWVudDogVCkge1xyXG4gICAgdGhpcy5tYXRTZWxlY3Rpb24udG9nZ2xlKGVsZW1lbnQpO1xyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgcHJpdmF0ZSBleHBvcnRUb0ZpbGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLmV4cG9ydD8uZmlsZU9wdGlvbnM/LnNhdmVUb0ZpbGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmaWxlU3RyaW5nID0gXCJcIjtcclxuICAgIGxldCBleHRlbnNpb24hOiBFeHBvcnRGb3JtYXQ7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLmV4cG9ydC5maWxlT3B0aW9ucy5mb3JtYXQpIHtcclxuICAgICAgY2FzZSBFeHBvcnRGb3JtYXQuQ1NWOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGV4dGVuc2lvbiA9IEV4cG9ydEZvcm1hdC5DU1Y7XHJcbiAgICAgICAgZmlsZVN0cmluZyA9IEh0bWxFbGVtZW50UGFyc2VIZWxwZXIudGFibGVBc0Nzdih0aGlzLnRhYmxlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmlnbm9yZUF0dHJpYnV0ZU5hbWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdHJhbnNsYXRlZEZpbGVOYW1lID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5jb25maWcuZXhwb3J0LmZpbGVPcHRpb25zLmZpbGVOYW1lKTtcclxuICAgIFNhdmVGaWxlSGVscGVyLnNhdmVGaWxlKGZpbGVTdHJpbmcsIGAke3RyYW5zbGF0ZWRGaWxlTmFtZX0uJHtleHRlbnNpb259YCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUxvY2FsU3RvcmFnZShuZXdWYWx1ZTogU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWcpIHtcclxuICAgIHRoaXMubG9jYWxTdG9yYWdlVmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5sb2NhbFN0b3JhZ2VLZXkgJiYgbmV3VmFsdWUpIHtcclxuICAgICAgdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZT8uc2V0SXRlbSh0aGlzLmNvbmZpZy5sb2NhbFN0b3JhZ2VLZXksIEpTT04uc3RyaW5naWZ5KG5ld1ZhbHVlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZEZyb21Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5KSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgbG9jYWxTdG9yYWdlU3RyaW5nID0gdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZT8uZ2V0SXRlbSh0aGlzLmNvbmZpZy5sb2NhbFN0b3JhZ2VLZXkpO1xyXG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2VTdHJpbmcpIHtcclxuICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlVmFsdWUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZVN0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxyXG4gICAgICBjYXRjaCB7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uU2VsZWN0UHJvcGVydGllcygpIHtcclxuICAgIHRoaXMuY29sdW1uU2VsZWN0QWN0aXZlID0gdGhpcy5jb25maWcuY29sdW1uU2VsZWN0Py5lbmFibGVkID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgdGhpcy51cGRhdGVEaXNwbGF5Q29sdW1ucyh0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RmlsdGVyVmlzaWJpbGl0eSgpIHtcclxuICAgIHRoaXMuZmlsdGVyQmFyVmlzaWJsZSA9IHRoaXMubG9jYWxTdG9yYWdlVmFsdWU/LmZpbHRlcj8udmlzaWJsZSA/PyB0aGlzLmNvbmZpZz8uZmlsdGVyPy52aXNpYmxlID8/IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXROb0RhdGFSb3dQcm9wZXJ0aWVzKCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLm5vRGF0YVJvdykge1xyXG4gICAgICB0aGlzLm5vRGF0YVJvd0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMubm9EYXRhUm93Q29uZmlnID0gdGhpcy5jb25maWcubm9EYXRhUm93O1xyXG4gICAgICBpZiAodGhpcy5ub0RhdGFSb3dDb25maWcuaWNvbikge1xyXG4gICAgICAgIHRoaXMubm9EYXRhUm93SWNvbiA9IHRoaXMubm9EYXRhUm93Q29uZmlnLmljb247XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RXhwb3J0UHJvcGVydGllcygpIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5leHBvcnQ/LmVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5leHBvcnRBY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XHJcblxyXG4gIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgIDxkaXYgZnhGbGV4IGZ4TGF5b3V0R2FwPVwiMXJlbVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImNvbHVtbk1lbnVcIiAqbmdJZj1cImNvbHVtblNlbGVjdEFjdGl2ZVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgY29sdW1uLXNlbGVjdC1pY29uXCI+bWVudTwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj57eydNVUxUSV9GVU5DVElPTkFMX1RBQkxFLkNPTFVNTl9TRUxFQ1QnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImZpbHRlckFjdGl2ZVwiIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJCYXIoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5maWx0ZXJfbGlzdDwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj57eydNVUxUSV9GVU5DVElPTkFMX1RBQkxFLkZJTFRFUl9UT0dHTEUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJleHBvcnRBY3RpdmVcIiAoY2xpY2spPVwiZXhwb3J0KClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+Y2xvdWRfZG93bmxvYWQ8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3snTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5FWFBPUlQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FkZGl0aW9uYWxBY3Rpb25zXVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1hdC1tZW51ICNjb2x1bW5NZW51PVwibWF0TWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1zZWxlY3Qtd3JhcHBlclwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbmZpZ3VyYWJsZUNvbHVtbnNcIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiY29sdW1uLnNlbGVjdGVkXCIgKGNoYW5nZSk9XCJ1cGRhdGVEaXNwbGF5Q29sdW1ucygpXCI+XHJcbiAgICAgICAgICB7e2NvbHVtbi5kaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtbWVudT5cclxuXHJcbiAgPHRsZC1maWx0ZXItYmFyICpuZ0lmPVwiY29uZmlnLmZpbHRlciAmJiBjb25maWcuZmlsdGVyLmVuYWJsZWRcIiBbZmlsdGVyUm93VmlzaWJsZV09XCIhZmlsdGVyQmFyVmlzaWJsZVwiIFtzZXR0aW5nc109XCJjb25maWcuZmlsdGVyLnNldHRpbmdzXCIgXHJcbiAgICAoZmlsdGVyQmFyQ2hhbmdlKT1cImZpbHRlcnNDaGFuZ2VkKCRldmVudClcIj5cclxuICA8L3RsZC1maWx0ZXItYmFyPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidGFibGUtb3ZlcmZsb3dcIj5cclxuICAgIDx0YWJsZSAjdGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImNvbmZpZy5kYXRhU291cmNlXCI+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImJhdGNoQ29sdW1uTmFtZVwiPlxyXG4gICAgICAgIDx0aCBjbGFzcz1cInJvdy1zZWxlY3RcIiBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgZGlzYWJsZS1leHBvcnQ+XHJcbiAgICAgICAgICA8bWF0LWNoZWNrYm94IFtkaXNhYmxlZF09XCJjb25maWcuYmF0Y2hDb25maWchLmNoZWNrQm94ZXNEaXNhYmxlZFwiIChjaGFuZ2UpPVwidG9nZ2xlQWxsUm93U2VsZWN0aW9uKClcIlxyXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJtYXRTZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJtYXRTZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCI+XHJcbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cInJvdy1zZWxlY3RcIiBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCIgZGlzYWJsZS1leHBvcnQ+XHJcbiAgICAgICAgICA8bWF0LWNoZWNrYm94ICpuZ0lmPVwiaG92ZXJlZFJvdyA9PT0gZWxlbWVudCB8fCBtYXRTZWxlY3Rpb24uaXNTZWxlY3RlZChlbGVtZW50KVwiIFtkaXNhYmxlZF09XCJjb25maWcuYmF0Y2hDb25maWchLmNoZWNrQm94ZXNEaXNhYmxlZFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRvZ2dsZUVsZW1lbnRTZWxlY3Rpb24oZWxlbWVudClcIiBbY2hlY2tlZF09XCJtYXRTZWxlY3Rpb24uaXNTZWxlY3RlZChlbGVtZW50KVwiPlxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheUNvbHVtbnNcIiBzdGlja3k+PC90cj5cclxuICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXlDb2x1bW5zXCIgKG1vdXNlb3Zlcik9XCJob3ZlcmVkUm93ID0gcm93XCIgKG1vdXNlbGVhdmUpPVwiaG92ZXJlZFJvdyA9IG51bGxcIiBbY2xhc3MuaGlnaGxpZ2h0XT1cImhpZ2hsaWdodEVsZW1lbnQocm93KVwiPjwvdHI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhUm93QWN0aXZlXCI+XHJcbiAgICAgICAgPHRyICptYXROb0RhdGFSb3c+XHJcbiAgICAgICAgICA8IS0tIGFkZCByYW5kb20gbnVtYmVyIHRvIG1ha2Ugc3VyZSBpdCB0YWtlcyBmdWxsIHdpZHRoIC0tPlxyXG4gICAgICAgICAgPHRkIGNvbHNwYW49XCI5OVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tZW5naW5lcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFub0RhdGFSb3dDb25maWcubG9hZGluZzsgZWxzZSBsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tub0RhdGFSb3dJY29ufX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC14bC1zZW1pLWJvbGRcIiAqbmdJZj1cIm5vRGF0YVJvd0NvbmZpZy50aXRsZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpbm5lckh0bWxdPVwibm9EYXRhUm93Q29uZmlnLnRpdGxlIHwgdHJhbnNsYXRlOiBub0RhdGFSb3dDb25maWcudGl0bGVQYXJhbXNcIj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbFwiICpuZ0lmPVwibm9EYXRhUm93Q29uZmlnLmRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgW2lubmVySHRtbF09XCJub0RhdGFSb3dDb25maWcuZGVzY3JpcHRpb24gfCB0cmFuc2xhdGU6IG5vRGF0YVJvd0NvbmZpZy5kZXNjcmlwdGlvblBhcmFtc1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cclxuICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cImFjY2VudFwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC90YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|