@tilde-nlp/ngx-common 3.0.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +227 -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 +1714 -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 +66 -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/mixins/material-overrides/mat-button-overrides.mixin.scss +17 -9
- 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-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbmZpZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL21vZGVscy9maWx0ZXItY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJCYXJTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9maWx0ZXItYmFyXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZ3tcclxuICBlbmFibGVkOiBib29sZWFuO1xyXG4gIHNldHRpbmdzOiBGaWx0ZXJCYXJTZXR0aW5ncztcclxuICB2aXNpYmxlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -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,227 @@
|
|
|
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", filterEnabled: "filterEnabled", 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=\"filterEnabled && config.filter\" [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=\"filterEnabled && config.filter\" [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
|
+
}], filterEnabled: [{
|
|
194
|
+
type: Input
|
|
195
|
+
}], highlightedElements: [{
|
|
196
|
+
type: Input
|
|
197
|
+
}], selection: [{
|
|
198
|
+
type: Input
|
|
199
|
+
}], filterBarChange: [{
|
|
200
|
+
type: Output
|
|
201
|
+
}], exported: [{
|
|
202
|
+
type: Output
|
|
203
|
+
}], selectionChange: [{
|
|
204
|
+
type: Output
|
|
205
|
+
}], headerRowDefs: [{
|
|
206
|
+
type: ContentChildren,
|
|
207
|
+
args: [MatHeaderRowDef]
|
|
208
|
+
}], rowDefs: [{
|
|
209
|
+
type: ContentChildren,
|
|
210
|
+
args: [MatRowDef, { descendants: true }]
|
|
211
|
+
}], columnDefs: [{
|
|
212
|
+
type: ContentChildren,
|
|
213
|
+
args: [MatColumnDef]
|
|
214
|
+
}], noDataRow: [{
|
|
215
|
+
type: ContentChild,
|
|
216
|
+
args: [MatNoDataRow]
|
|
217
|
+
}], table: [{
|
|
218
|
+
type: ViewChild,
|
|
219
|
+
args: [MatTable, { static: true }]
|
|
220
|
+
}], sort: [{
|
|
221
|
+
type: ViewChild,
|
|
222
|
+
args: [MatSort]
|
|
223
|
+
}], tableElementRef: [{
|
|
224
|
+
type: ViewChild,
|
|
225
|
+
args: [MatTable, { read: ElementRef }]
|
|
226
|
+
}] } });
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL211bHRpLWZ1bmN0aW9uYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBbUMsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqTCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRyxPQUFPLEVBQUUsR0FBRyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTdELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQW1CLE1BQU0sVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBV3pELE1BQU0sT0FBTyw2QkFBNkI7SUFNeEMsSUFBYSxTQUFTLENBQUMsS0FBVTtRQUMvQixJQUFJLENBQUMs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LFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0Q29sdW1uRGVmLCBNYXRIZWFkZXJSb3dEZWYsIE1hdE5vRGF0YVJvdywgTWF0Um93RGVmLCBNYXRUYWJsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHRha2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmlsdGVyQmFyQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi9maWx0ZXItYmFyL21vZGVscy9maWx0ZXItYmFyLWNoYW5nZS1ldmVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEh0bWxFbGVtZW50UGFyc2VIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgU2F2ZUZpbGVIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL3NhdmUtZmlsZS5oZWxwZXInO1xyXG5pbXBvcnQgeyBET01TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBESVNBQkxFX0VYUE9SVF9BVFRSSUJVVEVfTkFNRSB9IGZyb20gJy4vY29uc3RhbnRzL2Rpc2FibGUtZXhwb3J0LWF0dHJpYnV0ZS1uYW1lLmNvbnN0JztcclxuaW1wb3J0IHsgRXhwb3J0Rm9ybWF0LCBOb0RhdGFSb3dDb25maWcgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL2NvbHVtbi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBNdWx0aUZ1bmN0aW9uYWxUYWJsZUNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL211bHRpLWZ1bmN0aW9uYWwtdGFibGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWcgfSBmcm9tICcuL21vZGVscy9zZWxlY3RlZC1jb2x1bW4tbG9jYWwtc3RvcmFnZS1jb25maWcubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3RsZC1tdWx0aS1mdW5jdGlvbmFsLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aUZ1bmN0aW9uYWxUYWJsZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcmVhZG9ubHkgbWF0U2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRydWUsIFtdKTtcclxuXHJcbiAgQElucHV0KCkgY29uZmlnITogTXVsdGlGdW5jdGlvbmFsVGFibGVDb25maWc8VD47XHJcbiAgQElucHV0KCkgZmlsdGVyRW5hYmxlZCE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaGlnaGxpZ2h0ZWRFbGVtZW50cyE6IFRbXTtcclxuICBASW5wdXQoKSBzZXQgc2VsZWN0aW9uKHZhbHVlOiBUW10pIHtcclxuICAgIHRoaXMubWF0U2VsZWN0aW9uLnNldFNlbGVjdGlvbiguLi4odmFsdWUgPz8gW10pKTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBPdXRwdXQgcHJvcGVydGllc1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJCYXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxGaWx0ZXJCYXJDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckJhckNoYW5nZUV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBleHBvcnRlZDogRXZlbnRFbWl0dGVyPFRbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlOiBPYnNlcnZhYmxlPFRbXT4gPSB0aGlzLm1hdFNlbGVjdGlvbi5jaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKCgpID0+IHsgcmV0dXJuIHRoaXMubWF0U2VsZWN0aW9uLnNlbGVjdGVkOyB9KSk7XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vICNyZWdpb24gUHJvcGVydGllcyBmb3IgbWF0IHRhYmxlIHdyYXBwZXJcclxuICBAQ29udGVudENoaWxkcmVuKE1hdEhlYWRlclJvd0RlZikgaGVhZGVyUm93RGVmcyE6IFF1ZXJ5TGlzdDxNYXRIZWFkZXJSb3dEZWY+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0Um93RGVmLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHJvd0RlZnMhOiBRdWVyeUxpc3Q8TWF0Um93RGVmPFQ+PjtcclxuICBAQ29udGVudENoaWxkcmVuKE1hdENvbHVtbkRlZikgY29sdW1uRGVmcyE6IFF1ZXJ5TGlzdDxNYXRDb2x1bW5EZWY+O1xyXG4gIEBDb250ZW50Q2hpbGQoTWF0Tm9EYXRhUm93KSBub0RhdGFSb3chOiBNYXROb0RhdGFSb3c7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0VGFibGUsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlITogTWF0VGFibGU8VD47XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0ITogTWF0U29ydDtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgQFZpZXdDaGlsZChNYXRUYWJsZSwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHRhYmxlRWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuXHJcbiAgZ2V0IGlnbm9yZUF0dHJpYnV0ZU5hbWUoKSB7IHJldHVybiBESVNBQkxFX0VYUE9SVF9BVFRSSUJVVEVfTkFNRSB9XHJcbiAgZGlzcGxheUNvbHVtbnMhOiBzdHJpbmdbXTtcclxuXHJcbiAgY29sdW1uU2VsZWN0QWN0aXZlITogYm9vbGVhbjtcclxuICBnZXQgZmlsdGVyQWN0aXZlKCkgeyByZXR1cm4gdGhpcy5jb25maWcuZmlsdGVyPy5lbmFibGVkOyB9XHJcbiAgZXhwb3J0QWN0aXZlITogYm9vbGVhbjtcclxuICBub0RhdGFSb3dBY3RpdmUhOiBib29sZWFuO1xyXG5cclxuICBmaWx0ZXJCYXJWaXNpYmxlITogYm9vbGVhbjtcclxuXHJcbiAgbm9EYXRhUm93Q29uZmlnITogTm9EYXRhUm93Q29uZmlnO1xyXG4gIG5vRGF0YVJvd0ljb24gPSBcIm1hbmFnZV9zZWFyY2hcIjtcclxuXHJcbiAgY29uZmlndXJhYmxlQ29sdW1ucyE6IENvbHVtbkNvbmZpZ1tdO1xyXG4gIGJhdGNoU2VsZWN0ZWRFbmFibGVkITogYm9vbGVhbjtcclxuXHJcbiAgLy8gaXMgdXNlZCBpbiBodG1sIHRvIGRpc3BsYXkgYmF0Y2ggY2hlY2tib3ggb24gaG92ZXJlZCByb3dcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGhvdmVyZWRSb3c6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2VWYWx1ZSE6IFNlbGVjdGVkQ29sdW1uTG9jYWxTdG9yYWdlQ29uZmlnO1xyXG4gIHJlYWRvbmx5IGJhdGNoQ29sdW1uTmFtZSA9IFwiYmF0Y2hcIjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkb21TZXJ2aWNlOiBET01TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7IH1cclxuXHJcbiAgLy8jcmVnaW9uIEFuZ3VsYXIgbGlmZWN5Y2xlIGhvb2tzXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlYWRGcm9tTG9jYWxTdG9yYWdlKCk7XHJcbiAgICB0aGlzLnNldEZpbHRlclZpc2liaWxpdHkoKTtcclxuICAgIHRoaXMuc2V0Q29sdW1uU2VsZWN0UHJvcGVydGllcygpO1xyXG4gICAgdGhpcy5zZXRFeHBvcnRQcm9wZXJ0aWVzKCk7XHJcbiAgICB0aGlzLnNldE5vRGF0YVJvd1Byb3BlcnRpZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgIHRoaXMuY29sdW1uRGVmcy5mb3JFYWNoKGNvbHVtbkRlZiA9PiB0aGlzLnRhYmxlLmFkZENvbHVtbkRlZihjb2x1bW5EZWYpKTtcclxuICAgIHRoaXMucm93RGVmcy5mb3JFYWNoKHJvd0RlZiA9PiB0aGlzLnRhYmxlLmFkZFJvd0RlZihyb3dEZWYpKTtcclxuICAgIHRoaXMuaGVhZGVyUm93RGVmcy5mb3JFYWNoKGhlYWRlclJvd0RlZiA9PiB0aGlzLnRhYmxlLmFkZEhlYWRlclJvd0RlZihoZWFkZXJSb3dEZWYpKTtcclxuICAgIHRoaXMuaGVhZGVyUm93RGVmcy5mb3JFYWNoKGhlYWRlclJvd0RlZiA9PiB0aGlzLnRhYmxlLmFkZEhlYWRlclJvd0RlZihoZWFkZXJSb3dEZWYpKTtcclxuICAgIHRoaXMudGFibGUuc2V0Tm9EYXRhUm93KHRoaXMubm9EYXRhUm93KTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIHVwZGF0ZURpc3BsYXlDb2x1bW5zKGluaXRpYWwgPSBmYWxzZSkge1xyXG4gICAgdGhpcy5iYXRjaFNlbGVjdGVkRW5hYmxlZCA9IHRoaXMuY29uZmlnLmJhdGNoQ29uZmlnPy5lbmFibGVkID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgY29uc3QgYWxsQ29sdW1ucyA9IHRoaXMuY29uZmlnLmNvbHVtblNlbGVjdD8uY29sdW1ucyA/PyBbXTtcclxuICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBbXTtcclxuICAgIHRoaXMuY29uZmlndXJhYmxlQ29sdW1ucyA9IGFsbENvbHVtbnMuZmlsdGVyKGNvbHVtbiA9PiAhY29sdW1uLm5vdENvbmZpZ3VyYWJsZSk7XHJcblxyXG4gICAgaWYgKHRoaXMuYmF0Y2hTZWxlY3RlZEVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5Q29sdW1ucy5wdXNoKHRoaXMuYmF0Y2hDb2x1bW5OYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWFsbENvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2VWYWx1ZSA9IHRoaXMubG9jYWxTdG9yYWdlVmFsdWUgPz8ge307XHJcbiAgICBpZiAoIWxvY2FsU3RvcmFnZVZhbHVlLmNvbHVtbnMpIHtcclxuICAgICAgbG9jYWxTdG9yYWdlVmFsdWUuY29sdW1ucyA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGFsbENvbHVtbnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XHJcbiAgICAgIGlmIChpbml0aWFsKSB7XHJcbiAgICAgICAgY29sdW1uLnNlbGVjdGVkID0gbG9jYWxTdG9yYWdlVmFsdWUuY29sdW1ucz8uW2NvbHVtbi5uYW1lXSA/PyBjb2x1bW4uc2VsZWN0ZWQ7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cclxuICAgICAgICBsb2NhbFN0b3JhZ2VWYWx1ZS5jb2x1bW5zIVtjb2x1bW4ubmFtZV0gPSBjb2x1bW4uc2VsZWN0ZWQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbHVtbi5zZWxlY3RlZCkge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMucHVzaChjb2x1bW4ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICBpZiAoIWluaXRpYWwpIHtcclxuICAgICAgdGhpcy51cGRhdGVMb2NhbFN0b3JhZ2UobG9jYWxTdG9yYWdlVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRmlsdGVyQmFyKCkge1xyXG4gICAgY29uc3QgbG9jYWxzdG9yYWdlT2JqZWN0ID0gdGhpcy5sb2NhbFN0b3JhZ2VWYWx1ZSA/PyB7fTtcclxuICAgIGlmICghbG9jYWxzdG9yYWdlT2JqZWN0LmZpbHRlcikge1xyXG4gICAgICBsb2NhbHN0b3JhZ2VPYmplY3QuZmlsdGVyID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJCYXJWaXNpYmxlID0gIXRoaXMuZmlsdGVyQmFyVmlzaWJsZTtcclxuICAgIGxvY2Fsc3RvcmFnZU9iamVjdC5maWx0ZXIudmlzaWJsZSA9IHRoaXMuZmlsdGVyQmFyVmlzaWJsZTtcclxuICAgIHRoaXMudXBkYXRlTG9jYWxTdG9yYWdlKGxvY2Fsc3RvcmFnZU9iamVjdCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJzQ2hhbmdlZChmaWx0ZXJzOiBGaWx0ZXJCYXJDaGFuZ2VFdmVudCkge1xyXG4gICAgdGhpcy5maWx0ZXJCYXJDaGFuZ2UuZW1pdChmaWx0ZXJzKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCgpIHtcclxuICAgIHRoaXMuY29uZmlnLmRhdGFTb3VyY2UuY29ubmVjdCgpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhwb3J0ZWQuZW1pdChkYXRhKTtcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmV4cG9ydD8uZmlsZU9wdGlvbnMpIHtcclxuICAgICAgdGhpcy5leHBvcnRUb0ZpbGUoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlnaGxpZ2h0RWxlbWVudChlbGVtZW50OiBUKSB7XHJcbiAgICByZXR1cm4gdGhpcy5oaWdobGlnaHRlZEVsZW1lbnRzPy5pbmNsdWRlcyhlbGVtZW50KTtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBNZXRob2RzIGZvciBiYXRjaCBzZWxlY3Rpb25cclxuICBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLm1hdFNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5jb25maWcuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcclxuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcclxuICB9XHJcblxyXG4gIHRvZ2dsZUFsbFJvd1NlbGVjdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWQoKSkge1xyXG4gICAgICB0aGlzLm1hdFNlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tYXRTZWxlY3Rpb24uc2VsZWN0KC4uLnRoaXMuY29uZmlnLmRhdGFTb3VyY2UuZGF0YSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVFbGVtZW50U2VsZWN0aW9uKGVsZW1lbnQ6IFQpIHtcclxuICAgIHRoaXMubWF0U2VsZWN0aW9uLnRvZ2dsZShlbGVtZW50KTtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIHByaXZhdGUgZXhwb3J0VG9GaWxlKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5leHBvcnQ/LmZpbGVPcHRpb25zPy5zYXZlVG9GaWxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZmlsZVN0cmluZyA9IFwiXCI7XHJcbiAgICBsZXQgZXh0ZW5zaW9uITogRXhwb3J0Rm9ybWF0O1xyXG4gICAgc3dpdGNoICh0aGlzLmNvbmZpZy5leHBvcnQuZmlsZU9wdGlvbnMuZm9ybWF0KSB7XHJcbiAgICAgIGNhc2UgRXhwb3J0Rm9ybWF0LkNTVjpcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBleHRlbnNpb24gPSBFeHBvcnRGb3JtYXQuQ1NWO1xyXG4gICAgICAgIGZpbGVTdHJpbmcgPSBIdG1sRWxlbWVudFBhcnNlSGVscGVyLnRhYmxlQXNDc3YodGhpcy50YWJsZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5pZ25vcmVBdHRyaWJ1dGVOYW1lKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGNvbnN0IHRyYW5zbGF0ZWRGaWxlTmFtZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuY29uZmlnLmV4cG9ydC5maWxlT3B0aW9ucy5maWxlTmFtZSk7XHJcbiAgICBTYXZlRmlsZUhlbHBlci5zYXZlRmlsZShmaWxlU3RyaW5nLCBgJHt0cmFuc2xhdGVkRmlsZU5hbWV9LiR7ZXh0ZW5zaW9ufWApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVMb2NhbFN0b3JhZ2UobmV3VmFsdWU6IFNlbGVjdGVkQ29sdW1uTG9jYWxTdG9yYWdlQ29uZmlnKSB7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlID0gbmV3VmFsdWU7XHJcbiAgICBpZiAodGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5ICYmIG5ld1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2U/LnNldEl0ZW0odGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5LCBKU09OLnN0cmluZ2lmeShuZXdWYWx1ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIHJlYWRGcm9tTG9jYWxTdG9yYWdlKCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmxvY2FsU3RvcmFnZUtleSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGxvY2FsU3RvcmFnZVN0cmluZyA9IHRoaXMuZG9tU2VydmljZS5sb2NhbFN0b3JhZ2U/LmdldEl0ZW0odGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5KTtcclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlU3RyaW5nKSB7XHJcbiAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2VTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHlcclxuICAgICAgY2F0Y2gge1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbHVtblNlbGVjdFByb3BlcnRpZXMoKSB7XHJcbiAgICB0aGlzLmNvbHVtblNlbGVjdEFjdGl2ZSA9IHRoaXMuY29uZmlnLmNvbHVtblNlbGVjdD8uZW5hYmxlZCA/IHRydWUgOiBmYWxzZTtcclxuICAgIHRoaXMudXBkYXRlRGlzcGxheUNvbHVtbnModHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEZpbHRlclZpc2liaWxpdHkoKSB7XHJcbiAgICB0aGlzLmZpbHRlckJhclZpc2libGUgPSB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlPy5maWx0ZXI/LnZpc2libGUgPz8gdGhpcy5jb25maWc/LmZpbHRlcj8udmlzaWJsZSA/PyBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Tm9EYXRhUm93UHJvcGVydGllcygpIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5ub0RhdGFSb3cpIHtcclxuICAgICAgdGhpcy5ub0RhdGFSb3dBY3RpdmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLm5vRGF0YVJvd0NvbmZpZyA9IHRoaXMuY29uZmlnLm5vRGF0YVJvdztcclxuICAgICAgaWYgKHRoaXMubm9EYXRhUm93Q29uZmlnLmljb24pIHtcclxuICAgICAgICB0aGlzLm5vRGF0YVJvd0ljb24gPSB0aGlzLm5vRGF0YVJvd0NvbmZpZy5pY29uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEV4cG9ydFByb3BlcnRpZXMoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcuZXhwb3J0Py5lbmFibGVkKSB7XHJcbiAgICAgIHRoaXMuZXhwb3J0QWN0aXZlID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0R2FwPVwiMXJlbVwiPlxyXG5cclxuICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICA8ZGl2IGZ4RmxleCBmeExheW91dEdhcD1cIjFyZW1cIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb2x1bW5NZW51XCIgKm5nSWY9XCJjb2x1bW5TZWxlY3RBY3RpdmVcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGNvbHVtbi1zZWxlY3QtaWNvblwiPm1lbnU8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3snTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5DT0xVTU5fU0VMRUNUJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImZpbHRlckFjdGl2ZVwiIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJCYXIoKVwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5maWx0ZXJfbGlzdDwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj57eydNVUxUSV9GVU5DVElPTkFMX1RBQkxFLkZJTFRFUl9UT0dHTEUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJleHBvcnRBY3RpdmVcIiAoY2xpY2spPVwiZXhwb3J0KClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+Y2xvdWRfZG93bmxvYWQ8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4+e3snTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5FWFBPUlQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FkZGl0aW9uYWxBY3Rpb25zXVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG1hdC1tZW51ICNjb2x1bW5NZW51PVwibWF0TWVudVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1zZWxlY3Qtd3JhcHBlclwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbmZpZ3VyYWJsZUNvbHVtbnNcIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiY29sdW1uLnNlbGVjdGVkXCIgKGNoYW5nZSk9XCJ1cGRhdGVEaXNwbGF5Q29sdW1ucygpXCI+XHJcbiAgICAgICAgICB7e2NvbHVtbi5kaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtbWVudT5cclxuXHJcbiAgPHRsZC1maWx0ZXItYmFyICpuZ0lmPVwiZmlsdGVyRW5hYmxlZCAmJiBjb25maWcuZmlsdGVyXCIgW2ZpbHRlclJvd1Zpc2libGVdPVwiIWZpbHRlckJhclZpc2libGVcIiBbc2V0dGluZ3NdPVwiY29uZmlnLmZpbHRlci5zZXR0aW5nc1wiIFxyXG4gICAgKGZpbHRlckJhckNoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgkZXZlbnQpXCI+XHJcbiAgPC90bGQtZmlsdGVyLWJhcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInRhYmxlLW92ZXJmbG93XCI+XHJcbiAgICA8dGFibGUgI3RhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJjb25maWcuZGF0YVNvdXJjZVwiPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJiYXRjaENvbHVtbk5hbWVcIj5cclxuICAgICAgICA8dGggY2xhc3M9XCJyb3ctc2VsZWN0XCIgbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGRpc2FibGUtZXhwb3J0PlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCBbZGlzYWJsZWRdPVwiY29uZmlnLmJhdGNoQ29uZmlnIS5jaGVja0JveGVzRGlzYWJsZWRcIiAoY2hhbmdlKT1cInRvZ2dsZUFsbFJvd1NlbGVjdGlvbigpXCJcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwibWF0U2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwibWF0U2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiPlxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJyb3ctc2VsZWN0XCIgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGRpc2FibGUtZXhwb3J0PlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCAqbmdJZj1cImhvdmVyZWRSb3cgPT09IGVsZW1lbnQgfHwgbWF0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoZWxlbWVudClcIiBbZGlzYWJsZWRdPVwiY29uZmlnLmJhdGNoQ29uZmlnIS5jaGVja0JveGVzRGlzYWJsZWRcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVFbGVtZW50U2VsZWN0aW9uKGVsZW1lbnQpXCIgW2NoZWNrZWRdPVwibWF0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoZWxlbWVudClcIj5cclxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zXCIgc3RpY2t5PjwvdHI+XHJcbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5Q29sdW1uc1wiIChtb3VzZW92ZXIpPVwiaG92ZXJlZFJvdyA9IHJvd1wiIChtb3VzZWxlYXZlKT1cImhvdmVyZWRSb3cgPSBudWxsXCIgW2NsYXNzLmhpZ2hsaWdodF09XCJoaWdobGlnaHRFbGVtZW50KHJvdylcIj48L3RyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YVJvd0FjdGl2ZVwiPlxyXG4gICAgICAgIDx0ciAqbWF0Tm9EYXRhUm93PlxyXG4gICAgICAgICAgPCEtLSBhZGQgcmFuZG9tIG51bWJlciB0byBtYWtlIHN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCAtLT5cclxuICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiOTlcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vLWVuZ2luZXMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbm9EYXRhUm93Q29uZmlnLmxvYWRpbmc7IGVsc2UgbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7bm9EYXRhUm93SWNvbn19XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQteGwtc2VtaS1ib2xkXCIgKm5nSWY9XCJub0RhdGFSb3dDb25maWcudGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgICBbaW5uZXJIdG1sXT1cIm5vRGF0YVJvd0NvbmZpZy50aXRsZSB8IHRyYW5zbGF0ZTogbm9EYXRhUm93Q29uZmlnLnRpdGxlUGFyYW1zXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxcIiAqbmdJZj1cIm5vRGF0YVJvd0NvbmZpZy5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgIFtpbm5lckh0bWxdPVwibm9EYXRhUm93Q29uZmlnLmRlc2NyaXB0aW9uIHwgdHJhbnNsYXRlOiBub0RhdGFSb3dDb25maWcuZGVzY3JpcHRpb25QYXJhbXNcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmc+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJhY2NlbnRcIj48L21hdC1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|