@enigmatry/entry-components 15.2.0 → 16.0.0-preview
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/common/directives/auto-disable-button.directive.d.ts +1 -1
- package/dialog/dialogs/entry-dialog.component.d.ts +1 -1
- package/{esm2020 → esm2022}/button/entry-button.directive.mjs +4 -4
- package/{esm2020 → esm2022}/button/entry-button.module.mjs +7 -7
- package/{esm2020 → esm2022}/common/common.module.mjs +7 -7
- package/{esm2020 → esm2022}/common/date-time/entry-date-time-adapter.mjs +4 -4
- package/{esm2020 → esm2022}/common/directives/auto-disable-button.directive.mjs +4 -4
- package/{esm2020 → esm2022}/common/directives/scroll-to-invalid-control.directive.mjs +4 -4
- package/{esm2020 → esm2022}/common/event-plugins/debounce.plugin.mjs +4 -4
- package/{esm2020 → esm2022}/common/event-plugins/throttle.plugin.mjs +4 -4
- package/{esm2020 → esm2022}/common/interceptors/accept-language.interceptor.mjs +4 -4
- package/{esm2020 → esm2022}/dialog/dialogs/alert/entry-alert-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/dialog/dialogs/confirm/entry-confirm-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/dialog/dialogs/entry-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/dialog/dialogs/error/entry-error-dialog.component.mjs +4 -4
- package/{esm2020 → esm2022}/dialog/entry-dialog.module.mjs +19 -19
- package/esm2022/dialog/entry-dialog.service.mjs +86 -0
- package/esm2022/file-input/entry-file-input.component.mjs +201 -0
- package/{esm2020 → esm2022}/file-input/entry-file-input.module.mjs +13 -13
- package/{esm2020 → esm2022}/modules/entry-components.module.mjs +21 -21
- package/{esm2020 → esm2022}/permissions/permission.directive.mjs +4 -4
- package/{esm2020 → esm2022}/permissions/permission.module.mjs +7 -7
- package/{esm2020 → esm2022}/permissions/permission.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/search-filter/autocomplete/autocomplete-search-filter.component.mjs +4 -4
- package/esm2022/search-filter/date/date-search-filter.component.mjs +19 -0
- package/{esm2020 → esm2022}/search-filter/date-time/date-time-search-filter.component.mjs +7 -7
- package/{esm2020 → esm2022}/search-filter/entry-search-filter.component.mjs +4 -4
- package/{esm2020 → esm2022}/search-filter/entry-search-filter.module.mjs +28 -28
- package/{esm2020 → esm2022}/search-filter/select/select-search-filter.component.mjs +4 -4
- package/{esm2020 → esm2022}/search-filter/text/text-search-filter.component.mjs +4 -4
- package/{esm2020 → esm2022}/spinner/entry-spinner/spinner.component.mjs +10 -10
- package/{esm2020 → esm2022}/spinner/spinner-overlay-container.mjs +4 -4
- package/{esm2020 → esm2022}/spinner/spinner.module.mjs +9 -9
- package/{esm2020 → esm2022}/table/components/entry-cell/entry-cell.component.mjs +4 -4
- package/{esm2020 → esm2022}/table/components/entry-cell-context-menu/entry-cell-context-menu.component.mjs +4 -4
- package/{esm2020 → esm2022}/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.mjs +4 -4
- package/esm2022/table/components/entry-table/entry-table.component.mjs +248 -0
- package/{esm2020 → esm2022}/table/entry-table.module.mjs +33 -33
- package/{esm2020 → esm2022}/table/interfaces/entry-table-config.mjs +1 -2
- package/{esm2020 → esm2022}/validation/entry-display-control-validation.directive.mjs +4 -4
- package/{esm2020 → esm2022}/validation/entry-form-errors.component.mjs +6 -6
- package/{esm2020 → esm2022}/validation/entry-validation.module.mjs +13 -13
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-button.mjs +9 -9
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-button.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-common.mjs +24 -24
- package/{fesm2015 → fesm2022}/enigmatry-entry-components-common.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-dialog.mjs +33 -33
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-dialog.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-file-input.mjs +21 -17
- package/fesm2022/enigmatry-entry-components-file-input.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-permissions.mjs +12 -12
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-permissions.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-search-filter.mjs +387 -0
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-spinner.mjs +20 -20
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-spinner.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-table.mjs +44 -45
- package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-validation.mjs +20 -20
- package/{fesm2020 → fesm2022}/enigmatry-entry-components-validation.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/enigmatry-entry-components.mjs +20 -20
- package/{fesm2020 → fesm2022}/enigmatry-entry-components.mjs.map +1 -1
- package/file-input/entry-file-input.component.d.ts +1 -1
- package/package.json +39 -63
- package/permissions/permission.directive.d.ts +1 -1
- package/search-filter/autocomplete/autocomplete-search-filter.component.d.ts +1 -1
- package/search-filter/date/date-search-filter.component.d.ts +1 -1
- package/search-filter/date-time/date-time-search-filter.component.d.ts +1 -1
- package/search-filter/entry-search-filter.component.d.ts +1 -1
- package/search-filter/select/select-search-filter.component.d.ts +1 -1
- package/search-filter/text/text-search-filter.component.d.ts +1 -1
- package/spinner/entry-spinner/spinner.component.d.ts +1 -1
- package/table/components/entry-cell/entry-cell.component.d.ts +1 -1
- package/table/components/entry-cell-context-menu/entry-cell-context-menu.component.d.ts +1 -1
- package/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.d.ts +1 -1
- package/table/components/entry-table/entry-table.component.d.ts +1 -1
- package/validation/entry-display-control-validation.directive.d.ts +1 -1
- package/validation/entry-form-errors.component.d.ts +1 -1
- package/esm2020/dialog/entry-dialog.service.mjs +0 -86
- package/esm2020/file-input/entry-file-input.component.mjs +0 -197
- package/esm2020/search-filter/date/date-search-filter.component.mjs +0 -19
- package/esm2020/table/components/entry-table/entry-table.component.mjs +0 -248
- package/fesm2015/enigmatry-entry-components-button.mjs +0 -114
- package/fesm2015/enigmatry-entry-components-button.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-common.mjs +0 -405
- package/fesm2015/enigmatry-entry-components-dialog.mjs +0 -333
- package/fesm2015/enigmatry-entry-components-dialog.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-file-input.mjs +0 -237
- package/fesm2015/enigmatry-entry-components-file-input.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-permissions.mjs +0 -98
- package/fesm2015/enigmatry-entry-components-permissions.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-search-filter.mjs +0 -394
- package/fesm2015/enigmatry-entry-components-search-filter.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-spinner.mjs +0 -156
- package/fesm2015/enigmatry-entry-components-spinner.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-table.mjs +0 -462
- package/fesm2015/enigmatry-entry-components-table.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components-validation.mjs +0 -219
- package/fesm2015/enigmatry-entry-components-validation.mjs.map +0 -1
- package/fesm2015/enigmatry-entry-components.mjs +0 -87
- package/fesm2015/enigmatry-entry-components.mjs.map +0 -1
- package/fesm2020/enigmatry-entry-components-common.mjs.map +0 -1
- package/fesm2020/enigmatry-entry-components-file-input.mjs.map +0 -1
- package/fesm2020/enigmatry-entry-components-search-filter.mjs +0 -387
- package/fesm2020/enigmatry-entry-components-table.mjs.map +0 -1
- /package/{esm2020 → esm2022}/button/enigmatry-entry-components-button.mjs +0 -0
- /package/{esm2020 → esm2022}/button/entry-button-config.mjs +0 -0
- /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/common/date-time/entry-date-time.mjs +0 -0
- /package/{esm2020 → esm2022}/common/date-time/index.mjs +0 -0
- /package/{esm2020 → esm2022}/common/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/common/enigmatry-entry-components-common.mjs +0 -0
- /package/{esm2020 → esm2022}/common/event-plugins/abstract.plugin.mjs +0 -0
- /package/{esm2020 → esm2022}/common/event-plugins/index.mjs +0 -0
- /package/{esm2020 → esm2022}/common/interceptors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/common/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/common/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/common/utils/provide-config.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/dialogs/alert/entry-alert-dialog-data.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/dialogs/confirm/entry-confirm-dialog-data.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/dialogs/error/entry-error-dialog-data.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/enigmatry-entry-components-dialog.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/entry-dialog-buttons-alignment.type.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/entry-dialog-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/enigmatry-entry-components.mjs +0 -0
- /package/{esm2020 → esm2022}/file-input/enigmatry-entry-components-file-input.mjs +0 -0
- /package/{esm2020 → esm2022}/file-input/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/permissions/enigmatry-entry-components-permissions.mjs +0 -0
- /package/{esm2020 → esm2022}/permissions/permission-type.mjs +0 -0
- /package/{esm2020 → esm2022}/permissions/permission.guard.mjs +0 -0
- /package/{esm2020 → esm2022}/permissions/permission.service.mjs +0 -0
- /package/{esm2020 → esm2022}/permissions/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/autocomplete/autocomplete-search-filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/control-type.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/date/date-search-filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/date-time/date-time-search-filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/enigmatry-entry-components-search-filter.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/search-filter-base.model.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/search-filter-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/search-filter-params.type.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/select/select-search-filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/select-option.model.mjs +0 -0
- /package/{esm2020 → esm2022}/search-filter/text/text-search-filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/spinner/enigmatry-entry-components-spinner.mjs +0 -0
- /package/{esm2020 → esm2022}/spinner/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/table/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/enigmatry-entry-components-table.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/cell-template.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/column-def.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/column-sort-prop.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/column-type-parameter.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/column-type.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/context-menu-item.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/paged-query.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/pagination.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/row-class-formatter.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/row-context-menu-formatter.mjs +0 -0
- /package/{esm2020 → esm2022}/table/interfaces/row-selection-formatter.mjs +0 -0
- /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/validation/enigmatry-entry-components-validation.mjs +0 -0
- /package/{esm2020 → esm2022}/validation/entry-validation-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/validation/entry-validation.mjs +0 -0
- /package/{esm2020 → esm2022}/validation/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/validation/validation-problem-details.interface.mjs +0 -0
|
@@ -11,25 +11,25 @@ import { EntryDialogService } from './entry-dialog.service';
|
|
|
11
11
|
import { EntryErrorDialogComponent } from './dialogs/error/entry-error-dialog.component';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
export class EntryDialogModule {
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryDialogModule, declarations: [EntryDialogComponent,
|
|
16
|
+
EntryAlertDialogComponent,
|
|
17
|
+
EntryConfirmDialogComponent,
|
|
18
|
+
EntryErrorDialogComponent], imports: [CommonModule,
|
|
19
|
+
MatDialogModule,
|
|
20
|
+
MatIconModule,
|
|
21
|
+
MatButtonModule,
|
|
22
|
+
EntryButtonModule], exports: [EntryDialogComponent,
|
|
23
|
+
EntryAlertDialogComponent,
|
|
24
|
+
EntryConfirmDialogComponent,
|
|
25
|
+
EntryErrorDialogComponent] }); }
|
|
26
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDialogModule, providers: [EntryDialogService], imports: [CommonModule,
|
|
27
|
+
MatDialogModule,
|
|
28
|
+
MatIconModule,
|
|
29
|
+
MatButtonModule,
|
|
30
|
+
EntryButtonModule] }); }
|
|
14
31
|
}
|
|
15
|
-
|
|
16
|
-
EntryDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EntryDialogModule, declarations: [EntryDialogComponent,
|
|
17
|
-
EntryAlertDialogComponent,
|
|
18
|
-
EntryConfirmDialogComponent,
|
|
19
|
-
EntryErrorDialogComponent], imports: [CommonModule,
|
|
20
|
-
MatDialogModule,
|
|
21
|
-
MatIconModule,
|
|
22
|
-
MatButtonModule,
|
|
23
|
-
EntryButtonModule], exports: [EntryDialogComponent,
|
|
24
|
-
EntryAlertDialogComponent,
|
|
25
|
-
EntryConfirmDialogComponent,
|
|
26
|
-
EntryErrorDialogComponent] });
|
|
27
|
-
EntryDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryDialogModule, providers: [EntryDialogService], imports: [CommonModule,
|
|
28
|
-
MatDialogModule,
|
|
29
|
-
MatIconModule,
|
|
30
|
-
MatButtonModule,
|
|
31
|
-
EntryButtonModule] });
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryDialogModule, decorators: [{
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDialogModule, decorators: [{
|
|
33
33
|
type: NgModule,
|
|
34
34
|
args: [{
|
|
35
35
|
declarations: [
|
|
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
54
54
|
providers: [EntryDialogService]
|
|
55
55
|
}]
|
|
56
56
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9kaWFsb2cvZW50cnktZGlhbG9nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUF3QnpGLE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQXBCMUIsb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6QiwyQkFBMkI7WUFDM0IseUJBQXlCLGFBR3pCLFlBQVk7WUFDWixlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUIsYUFHakIsb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6QiwyQkFBMkI7WUFDM0IseUJBQXlCO2dIQUloQixpQkFBaUIsYUFGakIsQ0FBQyxrQkFBa0IsQ0FBQyxZQVo3QixZQUFZO1lBQ1osZUFBZTtZQUNmLGFBQWE7WUFDYixlQUFlO1lBQ2YsaUJBQWlCOzs0RkFVUixpQkFBaUI7a0JBdEI3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3dCQUMzQix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEVudHJ5QWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvYWxlcnQvZW50cnktYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeUNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvY29uZmlybS9lbnRyeS1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW50cnlEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZW50cnktZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgRW50cnlEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi9lbnRyeS1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRyeUVycm9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL2Vycm9yL2VudHJ5LWVycm9yLWRpYWxvZy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBFbnRyeURpYWxvZ0NvbXBvbmVudCxcbiAgICBFbnRyeUFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICAgIEVudHJ5Q29uZmlybURpYWxvZ0NvbXBvbmVudCxcbiAgICBFbnRyeUVycm9yRGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIEVudHJ5QnV0dG9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbnRyeURpYWxvZ0NvbXBvbmVudCxcbiAgICBFbnRyeUFsZXJ0RGlhbG9nQ29tcG9uZW50LFxuICAgIEVudHJ5Q29uZmlybURpYWxvZ0NvbXBvbmVudCxcbiAgICBFbnRyeUVycm9yRGlhbG9nQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW0VudHJ5RGlhbG9nU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRW50cnlEaWFsb2dNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { MatDialogConfig } from '@angular/material/dialog';
|
|
3
|
+
import { take } from 'rxjs/operators';
|
|
4
|
+
import { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';
|
|
5
|
+
import { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';
|
|
6
|
+
import { ENTRY_DIALOG_CONFIG } from './entry-dialog-config.model';
|
|
7
|
+
import { EntryErrorDialogComponent } from './dialogs/error/entry-error-dialog.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/material/dialog";
|
|
10
|
+
import * as i2 from "./entry-dialog-config.model";
|
|
11
|
+
/**
|
|
12
|
+
* Used to open built-in and custom entry dialogs.
|
|
13
|
+
*/
|
|
14
|
+
export class EntryDialogService {
|
|
15
|
+
constructor(config, matDialog) {
|
|
16
|
+
this.config = config;
|
|
17
|
+
this.matDialog = matDialog;
|
|
18
|
+
/**
|
|
19
|
+
* Opens alert dialog.
|
|
20
|
+
*
|
|
21
|
+
* @param data - Contains title, message and optional confirm button text
|
|
22
|
+
* @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape
|
|
23
|
+
*/
|
|
24
|
+
this.openAlert = (data) => {
|
|
25
|
+
data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;
|
|
26
|
+
return this.open(EntryAlertDialogComponent, data, data.disableClose);
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Opens confirm dialog.
|
|
30
|
+
*
|
|
31
|
+
* @param data - Contains title, message and optional confirm/cancel buttons text
|
|
32
|
+
* @returns `true` if confirmed, `false` if canceled or closed, `undefined` if closed by clicking on backdrop or pressing escape
|
|
33
|
+
*/
|
|
34
|
+
this.openConfirm = (data) => {
|
|
35
|
+
data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;
|
|
36
|
+
return this.open(EntryConfirmDialogComponent, data, data.disableClose);
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Opens error dialog.
|
|
40
|
+
*
|
|
41
|
+
* @param data - Contains title, errors and optional confirm button text
|
|
42
|
+
* @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape
|
|
43
|
+
*/
|
|
44
|
+
this.openError = (data) => {
|
|
45
|
+
data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;
|
|
46
|
+
return this.open(EntryErrorDialogComponent, data, data.disableClose);
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Opens dialog with custom component.
|
|
50
|
+
*
|
|
51
|
+
* @param component - Dialog custom component implementation
|
|
52
|
+
* @param data - Optional parameter used to supply component with input parameters
|
|
53
|
+
* @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop
|
|
54
|
+
* @param cssClass - Optional parameter used to set custom class to Material overlay pane
|
|
55
|
+
* @returns Any result custom implementation provides
|
|
56
|
+
*/
|
|
57
|
+
this.open = (component, data = undefined, disableClose = undefined, cssClass = '') => {
|
|
58
|
+
const configuration = new MatDialogConfig();
|
|
59
|
+
configuration.data = data;
|
|
60
|
+
configuration.disableClose = disableClose === undefined
|
|
61
|
+
? this.config.disableClose
|
|
62
|
+
: disableClose;
|
|
63
|
+
this.setPanelClassFor(configuration, cssClass);
|
|
64
|
+
return this.matDialog
|
|
65
|
+
.open(component, configuration)
|
|
66
|
+
.afterClosed()
|
|
67
|
+
.pipe(take(1));
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Closes all opened dialogs.
|
|
71
|
+
*/
|
|
72
|
+
this.closeAll = () => this.matDialog.closeAll();
|
|
73
|
+
this.setPanelClassFor = (configuration, cssClass) => {
|
|
74
|
+
configuration.panelClass = ['dialog-container', cssClass];
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDialogService, deps: [{ token: ENTRY_DIALOG_CONFIG }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDialogService }); }
|
|
79
|
+
}
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDialogService, decorators: [{
|
|
81
|
+
type: Injectable
|
|
82
|
+
}], ctorParameters: function () { return [{ type: i2.EntryDialogConfig, decorators: [{
|
|
83
|
+
type: Inject,
|
|
84
|
+
args: [ENTRY_DIALOG_CONFIG]
|
|
85
|
+
}] }, { type: i1.MatDialog }]; } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nL2VudHJ5LWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFekYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRXJGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7O0FBRXpGOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNrRCxNQUF5QixFQUN4RCxTQUFvQjtRQURXLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBQ3hELGNBQVMsR0FBVCxTQUFTLENBQVc7UUFFdkM7Ozs7O1dBS0c7UUFDSCxjQUFTLEdBQUcsQ0FBQyxJQUFvQyxFQUFnQyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ25HLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQUVGOzs7OztXQUtHO1FBQ0gsZ0JBQVcsR0FBRyxDQUFDLElBQXNDLEVBQW1DLEVBQUU7WUFDeEYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDbkcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDO1FBRUY7Ozs7O1dBS0c7UUFDSCxjQUFTLEdBQUcsQ0FBQyxJQUFvQyxFQUFnQyxFQUFFO1lBQ2pGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ25HLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQUVGOzs7Ozs7OztXQVFHO1FBQ0gsU0FBSSxHQUFHLENBQ0wsU0FBcUMsRUFDckMsT0FBZ0IsU0FBUyxFQUN6QixlQUFvQyxTQUFTLEVBQzdDLFFBQVEsR0FBRyxFQUFFLEVBQW1CLEVBQUU7WUFDbEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLEVBQVcsQ0FBQztZQUNyRCxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUMxQixhQUFhLENBQUMsWUFBWSxHQUFHLFlBQVksS0FBSyxTQUFTO2dCQUNyRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO2dCQUMxQixDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFL0MsT0FBTyxJQUFJLENBQUMsU0FBUztpQkFDbEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUM7aUJBQzlCLFdBQVcsRUFBRTtpQkFDYixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDO1FBRUY7O1dBRUc7UUFDSCxhQUFRLEdBQUcsR0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV6QyxxQkFBZ0IsR0FBRyxDQUFJLGFBQWlDLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1lBQ3BGLGFBQWEsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUM7SUFyRXlDLENBQUM7K0dBSGpDLGtCQUFrQixrQkFFbkIsbUJBQW1CO21IQUZsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBFbnRyeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9lbnRyeS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJRW50cnlBbGVydERpYWxvZ0RhdGEgfSBmcm9tICcuL2RpYWxvZ3MvYWxlcnQvZW50cnktYWxlcnQtZGlhbG9nLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVudHJ5QWxlcnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvYWxlcnQvZW50cnktYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFbnRyeUNvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvY29uZmlybS9lbnRyeS1jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUVudHJ5Q29uZmlybURpYWxvZ0RhdGEgfSBmcm9tICcuL2RpYWxvZ3MvY29uZmlybS9lbnRyeS1jb25maXJtLWRpYWxvZy1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFTlRSWV9ESUFMT0dfQ09ORklHLCBFbnRyeURpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZW50cnktZGlhbG9nLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBJRW50cnlFcnJvckRpYWxvZ0RhdGEgfSBmcm9tICcuL2RpYWxvZ3MvZXJyb3IvZW50cnktZXJyb3ItZGlhbG9nLWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVudHJ5RXJyb3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZXJyb3IvZW50cnktZXJyb3ItZGlhbG9nLmNvbXBvbmVudCc7XG5cbi8qKlxuICogVXNlZCB0byBvcGVuIGJ1aWx0LWluIGFuZCBjdXN0b20gZW50cnkgZGlhbG9ncy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVudHJ5RGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRU5UUllfRElBTE9HX0NPTkZJRykgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZzogRW50cnlEaWFsb2dDb25maWcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXREaWFsb2c6IE1hdERpYWxvZykgeyB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGFsZXJ0IGRpYWxvZy5cbiAgICpcbiAgICogQHBhcmFtIGRhdGEgLSBDb250YWlucyB0aXRsZSwgbWVzc2FnZSBhbmQgb3B0aW9uYWwgY29uZmlybSBidXR0b24gdGV4dFxuICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgY29uZmlybWVkLCBgdW5kZWZpbmVkYCBpZiBjbG9zZWQgYnkgY2xpY2tpbmcgb24gYmFja2Ryb3Agb3IgcHJlc3NpbmcgZXNjYXBlXG4gICAqL1xuICBvcGVuQWxlcnQgPSAoZGF0YTogUGFydGlhbDxJRW50cnlBbGVydERpYWxvZ0RhdGE+KTogT2JzZXJ2YWJsZTx0cnVlIHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgZGF0YS5kaXNhYmxlQ2xvc2UgPSBkYXRhLmRpc2FibGVDbG9zZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlIDogZGF0YS5kaXNhYmxlQ2xvc2U7XG4gICAgcmV0dXJuIHRoaXMub3BlbihFbnRyeUFsZXJ0RGlhbG9nQ29tcG9uZW50LCBkYXRhLCBkYXRhLmRpc2FibGVDbG9zZSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIE9wZW5zIGNvbmZpcm0gZGlhbG9nLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIENvbnRhaW5zIHRpdGxlLCBtZXNzYWdlIGFuZCBvcHRpb25hbCBjb25maXJtL2NhbmNlbCBidXR0b25zIHRleHRcbiAgICogQHJldHVybnMgYHRydWVgIGlmIGNvbmZpcm1lZCwgYGZhbHNlYCBpZiBjYW5jZWxlZCBvciBjbG9zZWQsIGB1bmRlZmluZWRgIGlmIGNsb3NlZCBieSBjbGlja2luZyBvbiBiYWNrZHJvcCBvciBwcmVzc2luZyBlc2NhcGVcbiAgICovXG4gIG9wZW5Db25maXJtID0gKGRhdGE6IFBhcnRpYWw8SUVudHJ5Q29uZmlybURpYWxvZ0RhdGE+KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgZGF0YS5kaXNhYmxlQ2xvc2UgPSBkYXRhLmRpc2FibGVDbG9zZSA9PT0gdW5kZWZpbmVkID8gdGhpcy5jb25maWcuZGlzYWJsZUNsb3NlIDogZGF0YS5kaXNhYmxlQ2xvc2U7XG4gICAgcmV0dXJuIHRoaXMub3BlbihFbnRyeUNvbmZpcm1EaWFsb2dDb21wb25lbnQsIGRhdGEsIGRhdGEuZGlzYWJsZUNsb3NlKTtcbiAgfTtcblxuICAvKipcbiAgICogT3BlbnMgZXJyb3IgZGlhbG9nLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIENvbnRhaW5zIHRpdGxlLCBlcnJvcnMgYW5kIG9wdGlvbmFsIGNvbmZpcm0gYnV0dG9uIHRleHRcbiAgICogQHJldHVybnMgYHRydWVgIGlmIGNvbmZpcm1lZCwgYHVuZGVmaW5lZGAgaWYgY2xvc2VkIGJ5IGNsaWNraW5nIG9uIGJhY2tkcm9wIG9yIHByZXNzaW5nIGVzY2FwZVxuICAgKi9cbiAgb3BlbkVycm9yID0gKGRhdGE6IFBhcnRpYWw8SUVudHJ5RXJyb3JEaWFsb2dEYXRhPik6IE9ic2VydmFibGU8dHJ1ZSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIGRhdGEuZGlzYWJsZUNsb3NlID0gZGF0YS5kaXNhYmxlQ2xvc2UgPT09IHVuZGVmaW5lZCA/IHRoaXMuY29uZmlnLmRpc2FibGVDbG9zZSA6IGRhdGEuZGlzYWJsZUNsb3NlO1xuICAgIHJldHVybiB0aGlzLm9wZW4oRW50cnlFcnJvckRpYWxvZ0NvbXBvbmVudCwgZGF0YSwgZGF0YS5kaXNhYmxlQ2xvc2UpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBPcGVucyBkaWFsb2cgd2l0aCBjdXN0b20gY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gRGlhbG9nIGN1c3RvbSBjb21wb25lbnQgaW1wbGVtZW50YXRpb25cbiAgICogQHBhcmFtIGRhdGEgLSBPcHRpb25hbCBwYXJhbWV0ZXIgdXNlZCB0byBzdXBwbHkgY29tcG9uZW50IHdpdGggaW5wdXQgcGFyYW1ldGVyc1xuICAgKiBAcGFyYW0gZGlzYWJsZUNsb3NlIC0gT3B0aW9uYWwgcGFyYW1ldGVyIHRoYXQgZGlzYWJsZSBjbG9zaW5nIGRpYWxvZyB3aGVuIHByZXNzaW5nIGVzY2FwZSBvciBjbGlja2luZyBvbiBiYWNrZHJvcFxuICAgKiBAcGFyYW0gY3NzQ2xhc3MgLSBPcHRpb25hbCBwYXJhbWV0ZXIgdXNlZCB0byBzZXQgY3VzdG9tIGNsYXNzIHRvIE1hdGVyaWFsIG92ZXJsYXkgcGFuZVxuICAgKiBAcmV0dXJucyBBbnkgcmVzdWx0IGN1c3RvbSBpbXBsZW1lbnRhdGlvbiBwcm92aWRlc1xuICAgKi9cbiAgb3BlbiA9IChcbiAgICBjb21wb25lbnQ6IFR5cGU8RW50cnlEaWFsb2dDb21wb25lbnQ+LFxuICAgIGRhdGE6IHVua25vd24gPSB1bmRlZmluZWQsXG4gICAgZGlzYWJsZUNsb3NlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICAgIGNzc0NsYXNzID0gJycpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBuZXcgTWF0RGlhbG9nQ29uZmlnPHVua25vd24+KCk7XG4gICAgY29uZmlndXJhdGlvbi5kYXRhID0gZGF0YTtcbiAgICBjb25maWd1cmF0aW9uLmRpc2FibGVDbG9zZSA9IGRpc2FibGVDbG9zZSA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHRoaXMuY29uZmlnLmRpc2FibGVDbG9zZVxuICAgICAgOiBkaXNhYmxlQ2xvc2U7XG4gICAgdGhpcy5zZXRQYW5lbENsYXNzRm9yKGNvbmZpZ3VyYXRpb24sIGNzc0NsYXNzKTtcblxuICAgIHJldHVybiB0aGlzLm1hdERpYWxvZ1xuICAgICAgLm9wZW4oY29tcG9uZW50LCBjb25maWd1cmF0aW9uKVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5waXBlKHRha2UoMSkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgYWxsIG9wZW5lZCBkaWFsb2dzLlxuICAgKi9cbiAgY2xvc2VBbGwgPSAoKTogdm9pZCA9PiB0aGlzLm1hdERpYWxvZy5jbG9zZUFsbCgpO1xuXG4gIHByaXZhdGUgc2V0UGFuZWxDbGFzc0ZvciA9IDxUPihjb25maWd1cmF0aW9uOiBNYXREaWFsb2dDb25maWc8VD4sIGNzc0NsYXNzOiBzdHJpbmcpID0+IHtcbiAgICBjb25maWd1cmF0aW9uLnBhbmVsQ2xhc3MgPSBbJ2RpYWxvZy1jb250YWluZXInLCBjc3NDbGFzc107XG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/member-ordering */
|
|
2
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';
|
|
4
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
+
import { Subject, fromEvent } from 'rxjs';
|
|
6
|
+
import { takeUntil } from 'rxjs/operators';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/material/icon";
|
|
10
|
+
import * as i3 from "@angular/material/button";
|
|
11
|
+
import * as i4 from "@enigmatry/entry-components/button";
|
|
12
|
+
const providers = [
|
|
13
|
+
{
|
|
14
|
+
provide: NG_VALUE_ACCESSOR,
|
|
15
|
+
useExisting: forwardRef(() => EntryFileInputComponent),
|
|
16
|
+
multi: true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
provide: NG_VALIDATORS,
|
|
20
|
+
useExisting: forwardRef(() => EntryFileInputComponent),
|
|
21
|
+
multi: true
|
|
22
|
+
}
|
|
23
|
+
];
|
|
24
|
+
export class EntryFileInputComponent {
|
|
25
|
+
/**
|
|
26
|
+
* Same as 'multiple' attribute in <input/> element.
|
|
27
|
+
*/
|
|
28
|
+
set multiple(multiple) {
|
|
29
|
+
this._multiple = coerceBooleanProperty(multiple);
|
|
30
|
+
}
|
|
31
|
+
get multiple() {
|
|
32
|
+
return this._multiple;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Same as 'disabled' attribute in <input/> element.
|
|
36
|
+
*/
|
|
37
|
+
set disabled(disabled) {
|
|
38
|
+
this._disabled = coerceBooleanProperty(disabled);
|
|
39
|
+
}
|
|
40
|
+
get disabled() {
|
|
41
|
+
return this._disabled;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Same as 'readonly' attribute in <input/> element.
|
|
45
|
+
*/
|
|
46
|
+
set readonly(readonly) {
|
|
47
|
+
this._readonly = coerceBooleanProperty(readonly);
|
|
48
|
+
}
|
|
49
|
+
get readonly() {
|
|
50
|
+
return this._readonly;
|
|
51
|
+
}
|
|
52
|
+
constructor(_ngZone, _renderer) {
|
|
53
|
+
this._ngZone = _ngZone;
|
|
54
|
+
this._renderer = _renderer;
|
|
55
|
+
/**
|
|
56
|
+
* Label for the select file button. Defaults to 'Choose file...'
|
|
57
|
+
*/
|
|
58
|
+
this.label = 'Choose file...';
|
|
59
|
+
/**
|
|
60
|
+
* MatIcon for the select file button. Defaults to 'insert_drive_file' (optional)
|
|
61
|
+
*/
|
|
62
|
+
this.matIcon = 'insert_drive_file';
|
|
63
|
+
this._multiple = false;
|
|
64
|
+
this._disabled = false;
|
|
65
|
+
this._readonly = false;
|
|
66
|
+
/**
|
|
67
|
+
* Size limit per file in KB (kilobytes)
|
|
68
|
+
*/
|
|
69
|
+
this.maxFileSizeInKb = undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Number of files allowed when multiple=true
|
|
72
|
+
*/
|
|
73
|
+
this.maxFileCount = undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Event emitted when a file is selected. Emits a [File | FileList] object.
|
|
76
|
+
*/
|
|
77
|
+
this.selectedFile = new EventEmitter();
|
|
78
|
+
this._destroy$ = new Subject();
|
|
79
|
+
// implements ControlValueAccessor interface
|
|
80
|
+
this.onChange = (_) => {
|
|
81
|
+
// set by registerOnChange
|
|
82
|
+
};
|
|
83
|
+
this.onTouched = () => {
|
|
84
|
+
// set by registerOnTouched
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
get fileNames() {
|
|
88
|
+
if (this.value instanceof File) {
|
|
89
|
+
return this.value.name;
|
|
90
|
+
}
|
|
91
|
+
if (this.value instanceof FileList) {
|
|
92
|
+
return `${this.value.length} files`;
|
|
93
|
+
}
|
|
94
|
+
return '';
|
|
95
|
+
}
|
|
96
|
+
ngOnInit() {
|
|
97
|
+
// Handle click event on custom file button and trigger click on native file input
|
|
98
|
+
this._ngZone.runOutsideAngular(() => {
|
|
99
|
+
fromEvent(this._fileButton.nativeElement, 'click')
|
|
100
|
+
.pipe(takeUntil(this._destroy$))
|
|
101
|
+
.subscribe(() => {
|
|
102
|
+
this._fileInput.nativeElement.click();
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
ngOnDestroy() {
|
|
107
|
+
this._destroy$.next();
|
|
108
|
+
}
|
|
109
|
+
onFileSelect(event) {
|
|
110
|
+
const fileInputEl = event.target;
|
|
111
|
+
const files = fileInputEl.files;
|
|
112
|
+
const value = this._multiple
|
|
113
|
+
? files?.length > 1 ? files : files[0]
|
|
114
|
+
: files[0];
|
|
115
|
+
this.value = value;
|
|
116
|
+
this.onChange(value);
|
|
117
|
+
this.onTouched();
|
|
118
|
+
if (value) {
|
|
119
|
+
this.selectedFile.emit(value);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
clear() {
|
|
123
|
+
this.value = undefined;
|
|
124
|
+
this.onChange(undefined);
|
|
125
|
+
this._renderer.setProperty(this._fileInput.nativeElement, 'value', '');
|
|
126
|
+
}
|
|
127
|
+
writeValue(value) {
|
|
128
|
+
this.value = value;
|
|
129
|
+
}
|
|
130
|
+
registerOnChange(fn) {
|
|
131
|
+
this.onChange = fn;
|
|
132
|
+
}
|
|
133
|
+
registerOnTouched(fn) {
|
|
134
|
+
this.onTouched = fn;
|
|
135
|
+
}
|
|
136
|
+
setDisabledState(isDisabled) {
|
|
137
|
+
this._disabled = isDisabled;
|
|
138
|
+
}
|
|
139
|
+
// implements Validator interface
|
|
140
|
+
validate(control) {
|
|
141
|
+
const isSizeLimitExceeded = this.isFileSizeLimitExceeded(control.value);
|
|
142
|
+
const isCountLimitExceeded = this.isFileCountLimitExceeded(control.value);
|
|
143
|
+
if (!isSizeLimitExceeded && !isCountLimitExceeded) {
|
|
144
|
+
return null;
|
|
145
|
+
}
|
|
146
|
+
return {
|
|
147
|
+
...(isSizeLimitExceeded ? { maxFileSize: true } : {}),
|
|
148
|
+
...(isCountLimitExceeded ? { maxFileCount: true } : {})
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
isFileCountLimitExceeded(files) {
|
|
152
|
+
const isMultiple = this.multiple && files instanceof FileList;
|
|
153
|
+
const maxFileCount = this.maxFileCount;
|
|
154
|
+
const actualFileCount = files?.length;
|
|
155
|
+
return isMultiple && maxFileCount && actualFileCount > maxFileCount;
|
|
156
|
+
}
|
|
157
|
+
isFileSizeLimitExceeded(files) {
|
|
158
|
+
if (!this.maxFileSizeInKb) {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
const maxFileSizeInBytes = this.maxFileSizeInKb * 1024;
|
|
162
|
+
if (files instanceof File) {
|
|
163
|
+
return files.size > maxFileSizeInBytes;
|
|
164
|
+
}
|
|
165
|
+
if (files instanceof FileList) {
|
|
166
|
+
return Array.from(files).some(file => file.size > maxFileSizeInBytes);
|
|
167
|
+
}
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryFileInputComponent, deps: [{ token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
171
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryFileInputComponent, selector: "entry-file-input", inputs: { label: "label", matIcon: "matIcon", accept: "accept", multiple: "multiple", disabled: "disabled", readonly: "readonly", maxFileSizeInKb: "maxFileSizeInKb", maxFileCount: "maxFileCount" }, outputs: { selectedFile: "selectedFile" }, providers: providers, viewQueries: [{ propertyName: "_fileButton", first: true, predicate: ["fileButton"], descendants: true, read: ElementRef, static: true }, { propertyName: "_fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], ngImport: i0, template: "<button \r\n #fileButton \r\n mat-button \r\n entry-submit-button \r\n type=\"button\" \r\n [disabled]=\"disabled || readonly\">\r\n <mat-icon *ngIf=\"matIcon\">{{matIcon}}</mat-icon>\r\n <span>{{label}}</span>\r\n</button>\r\n<ng-container *ngIf=\"value\">\r\n {{fileNames}}\r\n</ng-container>\r\n<input\r\n #fileInput\r\n type=\"file\"\r\n class=\"file-input-hidden\"\r\n [accept]=\"accept\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"onFileSelect($event)\"\r\n/>", styles: [".file-input-hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.EntryButtonDirective, selector: "[mat-button][entry-submit-button],[mat-button][entry-cancel-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
172
|
+
}
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryFileInputComponent, decorators: [{
|
|
174
|
+
type: Component,
|
|
175
|
+
args: [{ selector: 'entry-file-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers, template: "<button \r\n #fileButton \r\n mat-button \r\n entry-submit-button \r\n type=\"button\" \r\n [disabled]=\"disabled || readonly\">\r\n <mat-icon *ngIf=\"matIcon\">{{matIcon}}</mat-icon>\r\n <span>{{label}}</span>\r\n</button>\r\n<ng-container *ngIf=\"value\">\r\n {{fileNames}}\r\n</ng-container>\r\n<input\r\n #fileInput\r\n type=\"file\"\r\n class=\"file-input-hidden\"\r\n [accept]=\"accept\"\r\n [multiple]=\"multiple\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (change)=\"onFileSelect($event)\"\r\n/>", styles: [".file-input-hidden{display:none}\n"] }]
|
|
176
|
+
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.Renderer2 }]; }, propDecorators: { label: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], matIcon: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], accept: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], multiple: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], disabled: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], readonly: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], maxFileSizeInKb: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], maxFileCount: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], selectedFile: [{
|
|
193
|
+
type: Output
|
|
194
|
+
}], _fileButton: [{
|
|
195
|
+
type: ViewChild,
|
|
196
|
+
args: ['fileButton', { static: true, read: ElementRef }]
|
|
197
|
+
}], _fileInput: [{
|
|
198
|
+
type: ViewChild,
|
|
199
|
+
args: ['fileInput', { static: true }]
|
|
200
|
+
}] } });
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZmlsZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dC9lbnRyeS1maWxlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9maWxlLWlucHV0L2VudHJ5LWZpbGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFDdkIsTUFBTSxFQUFhLFNBQVMsRUFBRSxVQUFVLEVBQzVELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDa0MsYUFBYSxFQUNwRCxpQkFBaUIsRUFDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQUUzQyxNQUFNLFNBQVMsR0FBRztJQUNoQjtRQUNFLE9BQU8sRUFBRSxpQkFBaUI7UUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUN0RCxLQUFLLEVBQUUsSUFBSTtLQUNaO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsYUFBYTtRQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1FBQ3RELEtBQUssRUFBRSxJQUFJO0tBQ1o7Q0FDRixDQUFDO0FBU0YsTUFBTSxPQUFPLHVCQUF1QjtJQWlCbEM7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxRQUFzQjtR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LHVCQUF1Qiw0UkFGbEMsU0FBUyxnSEE0RXNDLFVBQVUsbUpDNUczRCw4Z0JBcUJFOzs0RkRhVyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sYUFDL0MsU0FBUztxSEFPQSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFNRixRQUFRO3NCQURYLEtBQUs7Z0JBYUYsUUFBUTtzQkFEWCxLQUFLO2dCQWFGLFFBQVE7c0JBRFgsS0FBSztnQkFZRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBVUksWUFBWTtzQkFBckIsTUFBTTtnQkFJUCxXQUFXO3NCQURWLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUkzRCxVQUFVO3NCQURULFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSxcbiAgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jb25zdCBwcm92aWRlcnMgPSBbXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBFbnRyeUZpbGVJbnB1dENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfSxcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRW50cnlGaWxlSW5wdXRDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudHJ5LWZpbGUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50cnktZmlsZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudHJ5LWZpbGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyc1xufSlcbmV4cG9ydCBjbGFzcyBFbnRyeUZpbGVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcblxuICAvKipcbiAgICogTGFiZWwgZm9yIHRoZSBzZWxlY3QgZmlsZSBidXR0b24uIERlZmF1bHRzIHRvICdDaG9vc2UgZmlsZS4uLidcbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsID0gJ0Nob29zZSBmaWxlLi4uJztcblxuICAvKipcbiAgICogTWF0SWNvbiBmb3IgdGhlIHNlbGVjdCBmaWxlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gJ2luc2VydF9kcml2ZV9maWxlJyAob3B0aW9uYWwpXG4gICAqL1xuICBASW5wdXQoKSBtYXRJY29uPz0gJ2luc2VydF9kcml2ZV9maWxlJztcblxuICAvKipcbiAgICogU2FtZSBhcyAnYWNjZXB0JyBhdHRyaWJ1dGUgaW4gPGlucHV0Lz4gZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpIGFjY2VwdD86IHN0cmluZztcblxuICAvKipcbiAgICogU2FtZSBhcyAnbXVsdGlwbGUnIGF0dHJpYnV0ZSBpbiA8aW5wdXQvPiBlbGVtZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IG11bHRpcGxlKG11bHRpcGxlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9tdWx0aXBsZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShtdWx0aXBsZSk7XG4gIH1cbiAgZ2V0IG11bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZTtcbiAgfVxuICBwcml2YXRlIF9tdWx0aXBsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTYW1lIGFzICdkaXNhYmxlZCcgYXR0cmlidXRlIGluIDxpbnB1dC8+IGVsZW1lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGlzYWJsZWQoZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGRpc2FibGVkKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNhbWUgYXMgJ3JlYWRvbmx5JyBhdHRyaWJ1dGUgaW4gPGlucHV0Lz4gZWxlbWVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCByZWFkb25seShyZWFkb25seTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVhZG9ubHkpO1xuICB9XG4gIGdldCByZWFkb25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gIH1cbiAgcHJpdmF0ZSBfcmVhZG9ubHkgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSBsaW1pdCBwZXIgZmlsZSBpbiBLQiAoa2lsb2J5dGVzKVxuICAgKi9cbiAgQElucHV0KCkgbWF4RmlsZVNpemVJbktiPzogbnVtYmVyID0gdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZmlsZXMgYWxsb3dlZCB3aGVuIG11bHRpcGxlPXRydWVcbiAgICovXG4gIEBJbnB1dCgpIG1heEZpbGVDb3VudD86IG51bWJlciA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQ3VycmVudCBzZWxlY3RlZCBbRmlsZSB8IEZpbGVMaXN0XSBvYmplY3QuXG4gICAqL1xuICB2YWx1ZTogRmlsZSB8IEZpbGVMaXN0IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gYSBmaWxlIGlzIHNlbGVjdGVkLiBFbWl0cyBhIFtGaWxlIHwgRmlsZUxpc3RdIG9iamVjdC5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcblxuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVCdXR0b24nLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KVxuICBfZmlsZUJ1dHRvbiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9maWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlcjogUmVuZGVyZXIyKSB7XG4gIH1cblxuICBnZXQgZmlsZU5hbWVzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMudmFsdWUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZS5uYW1lO1xuICAgIH1cbiAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEZpbGVMaXN0KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy52YWx1ZS5sZW5ndGh9IGZpbGVzYDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gSGFuZGxlIGNsaWNrIGV2ZW50IG9uIGN1c3RvbSBmaWxlIGJ1dHRvbiBhbmQgdHJpZ2dlciBjbGljayBvbiBuYXRpdmUgZmlsZSBpbnB1dFxuICAgIHRoaXMuX25nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBmcm9tRXZlbnQodGhpcy5fZmlsZUJ1dHRvbi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgfVxuXG4gIG9uRmlsZVNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlSW5wdXRFbCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IGZpbGVzOiBGaWxlTGlzdCA9IGZpbGVJbnB1dEVsLmZpbGVzO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9tdWx0aXBsZVxuICAgICAgPyBmaWxlcz8ubGVuZ3RoID4gMSA/IGZpbGVzIDogZmlsZXNbMF1cbiAgICAgIDogZmlsZXNbMF07XG5cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGUuZW1pdCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLm9uQ2hhbmdlKHVuZGVmaW5lZCk7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsICcnKTtcbiAgfVxuXG4gIC8vIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG5cbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IFxuICAgIC8vIHNldCBieSByZWdpc3Rlck9uQ2hhbmdlXG4gIH07XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge1xuICAgIC8vIHNldCBieSByZWdpc3Rlck9uVG91Y2hlZFxuICB9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8vIGltcGxlbWVudHMgVmFsaWRhdG9yIGludGVyZmFjZVxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxGaWxlIHwgRmlsZUxpc3QgfCB1bmRlZmluZWQ+KTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgaXNTaXplTGltaXRFeGNlZWRlZCA9IHRoaXMuaXNGaWxlU2l6ZUxpbWl0RXhjZWVkZWQoY29udHJvbC52YWx1ZSk7XG4gICAgY29uc3QgaXNDb3VudExpbWl0RXhjZWVkZWQgPSB0aGlzLmlzRmlsZUNvdW50TGltaXRFeGNlZWRlZChjb250cm9sLnZhbHVlKTtcblxuICAgIGlmICghaXNTaXplTGltaXRFeGNlZWRlZCAmJiAhaXNDb3VudExpbWl0RXhjZWVkZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uKGlzU2l6ZUxpbWl0RXhjZWVkZWQgPyB7IG1heEZpbGVTaXplOiB0cnVlIH0gOiB7fSksXG4gICAgICAuLi4oaXNDb3VudExpbWl0RXhjZWVkZWQgPyB7IG1heEZpbGVDb3VudDogdHJ1ZSB9IDoge30pXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgaXNGaWxlQ291bnRMaW1pdEV4Y2VlZGVkKGZpbGVzOiBGaWxlIHwgRmlsZUxpc3QpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc011bHRpcGxlID0gdGhpcy5tdWx0aXBsZSAmJiBmaWxlcyBpbnN0YW5jZW9mIEZpbGVMaXN0O1xuICAgIGNvbnN0IG1heEZpbGVDb3VudCA9IHRoaXMubWF4RmlsZUNvdW50O1xuICAgIGNvbnN0IGFjdHVhbEZpbGVDb3VudCA9IChmaWxlcyBhcyBGaWxlTGlzdCk/Lmxlbmd0aDtcblxuICAgIHJldHVybiBpc011bHRpcGxlICYmIG1heEZpbGVDb3VudCAmJiBhY3R1YWxGaWxlQ291bnQgPiBtYXhGaWxlQ291bnQ7XG4gIH1cblxuICBwcml2YXRlIGlzRmlsZVNpemVMaW1pdEV4Y2VlZGVkKGZpbGVzOiBGaWxlIHwgRmlsZUxpc3QpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMubWF4RmlsZVNpemVJbktiKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IG1heEZpbGVTaXplSW5CeXRlcyA9IHRoaXMubWF4RmlsZVNpemVJbktiICogMTAyNDtcblxuICAgIGlmIChmaWxlcyBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgIHJldHVybiBmaWxlcy5zaXplID4gbWF4RmlsZVNpemVJbkJ5dGVzO1xuICAgIH1cbiAgICBpZiAoZmlsZXMgaW5zdGFuY2VvZiBGaWxlTGlzdCkge1xuICAgICAgcmV0dXJuIEFycmF5LmZyb20oZmlsZXMpLnNvbWUoZmlsZSA9PiBmaWxlLnNpemUgPiBtYXhGaWxlU2l6ZUluQnl0ZXMpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxidXR0b24gXHJcbiAjZmlsZUJ1dHRvbiBcclxuIG1hdC1idXR0b24gXHJcbiBlbnRyeS1zdWJtaXQtYnV0dG9uIFxyXG4gdHlwZT1cImJ1dHRvblwiIFxyXG4gW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCI+XHJcbiAgPG1hdC1pY29uICpuZ0lmPVwibWF0SWNvblwiPnt7bWF0SWNvbn19PC9tYXQtaWNvbj5cclxuICA8c3Bhbj57e2xhYmVsfX08L3NwYW4+XHJcbjwvYnV0dG9uPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWVcIj5cclxuICB7e2ZpbGVOYW1lc319XHJcbjwvbmctY29udGFpbmVyPlxyXG48aW5wdXRcclxuICNmaWxlSW5wdXRcclxuIHR5cGU9XCJmaWxlXCJcclxuIGNsYXNzPVwiZmlsZS1pbnB1dC1oaWRkZW5cIlxyXG4gW2FjY2VwdF09XCJhY2NlcHRcIlxyXG4gW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3QoJGV2ZW50KVwiXHJcbi8+Il19
|
|
@@ -7,19 +7,19 @@ import { FormsModule } from '@angular/forms';
|
|
|
7
7
|
import { EntryButtonModule } from '@enigmatry/entry-components/button';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class EntryFileInputModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryFileInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryFileInputModule, declarations: [EntryFileInputComponent], imports: [CommonModule,
|
|
12
|
+
FormsModule,
|
|
13
|
+
MatIconModule,
|
|
14
|
+
MatButtonModule,
|
|
15
|
+
EntryButtonModule], exports: [EntryFileInputComponent] }); }
|
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryFileInputModule, imports: [CommonModule,
|
|
17
|
+
FormsModule,
|
|
18
|
+
MatIconModule,
|
|
19
|
+
MatButtonModule,
|
|
20
|
+
EntryButtonModule] }); }
|
|
10
21
|
}
|
|
11
|
-
|
|
12
|
-
EntryFileInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EntryFileInputModule, declarations: [EntryFileInputComponent], imports: [CommonModule,
|
|
13
|
-
FormsModule,
|
|
14
|
-
MatIconModule,
|
|
15
|
-
MatButtonModule,
|
|
16
|
-
EntryButtonModule], exports: [EntryFileInputComponent] });
|
|
17
|
-
EntryFileInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryFileInputModule, imports: [CommonModule,
|
|
18
|
-
FormsModule,
|
|
19
|
-
MatIconModule,
|
|
20
|
-
MatButtonModule,
|
|
21
|
-
EntryButtonModule] });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryFileInputModule, decorators: [{
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryFileInputModule, decorators: [{
|
|
23
23
|
type: NgModule,
|
|
24
24
|
args: [{
|
|
25
25
|
declarations: [
|
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
37
37
|
]
|
|
38
38
|
}]
|
|
39
39
|
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZmlsZS1pbnB1dC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dC9lbnRyeS1maWxlLWlucHV0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFpQnZFLE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQWI3Qix1QkFBdUIsYUFHdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGlCQUFpQixhQUdqQix1QkFBdUI7Z0hBR2Qsb0JBQW9CLFlBVjdCLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7OzRGQU1SLG9CQUFvQjtrQkFmaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbnRyeUZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZW50cnktZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRW50cnlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRW50cnlGaWxlSW5wdXRDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBFbnRyeUJ1dHRvbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRW50cnlGaWxlSW5wdXRDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRyeUZpbGVJbnB1dE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -27,27 +27,27 @@ export class EntryComponentsModule {
|
|
|
27
27
|
providers
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryComponentsModule, exports: [EntryButtonModule,
|
|
32
|
+
EntryCommonModule,
|
|
33
|
+
EntryDialogModule,
|
|
34
|
+
EntryFileInputModule,
|
|
35
|
+
EntryValidationModule,
|
|
36
|
+
EntryPermissionModule,
|
|
37
|
+
EntrySearchFilterModule,
|
|
38
|
+
EntrySpinnerModule,
|
|
39
|
+
EntryTableModule] }); }
|
|
40
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryComponentsModule, imports: [EntryButtonModule,
|
|
41
|
+
EntryCommonModule,
|
|
42
|
+
EntryDialogModule,
|
|
43
|
+
EntryFileInputModule,
|
|
44
|
+
EntryValidationModule,
|
|
45
|
+
EntryPermissionModule,
|
|
46
|
+
EntrySearchFilterModule,
|
|
47
|
+
EntrySpinnerModule,
|
|
48
|
+
EntryTableModule] }); }
|
|
30
49
|
}
|
|
31
|
-
|
|
32
|
-
EntryComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EntryComponentsModule, exports: [EntryButtonModule,
|
|
33
|
-
EntryCommonModule,
|
|
34
|
-
EntryDialogModule,
|
|
35
|
-
EntryFileInputModule,
|
|
36
|
-
EntryValidationModule,
|
|
37
|
-
EntryPermissionModule,
|
|
38
|
-
EntrySearchFilterModule,
|
|
39
|
-
EntrySpinnerModule,
|
|
40
|
-
EntryTableModule] });
|
|
41
|
-
EntryComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryComponentsModule, imports: [EntryButtonModule,
|
|
42
|
-
EntryCommonModule,
|
|
43
|
-
EntryDialogModule,
|
|
44
|
-
EntryFileInputModule,
|
|
45
|
-
EntryValidationModule,
|
|
46
|
-
EntryPermissionModule,
|
|
47
|
-
EntrySearchFilterModule,
|
|
48
|
-
EntrySpinnerModule,
|
|
49
|
-
EntryTableModule] });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryComponentsModule, decorators: [{
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryComponentsModule, decorators: [{
|
|
51
51
|
type: NgModule,
|
|
52
52
|
args: [{
|
|
53
53
|
declarations: [],
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
64
64
|
]
|
|
65
65
|
}]
|
|
66
66
|
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvbW9kdWxlcy9lbnRyeS1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTXpFOzs7Ozs7R0FNRztBQWVILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUF3QyxFQUFFO1FBRXZELE1BQU0seUJBQXlCLEdBQWUsT0FBTyxDQUFDLGlCQUFpQjtZQUNyRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLE1BQU0sU0FBUyxHQUFlLENBQUMsR0FBRyx5QkFBeUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDbEYsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUztTQUNWLENBQUM7SUFDSixDQUFDOytHQVpVLHFCQUFxQjtnSEFBckIscUJBQXFCLFlBWDlCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsZ0JBQWdCO2dIQUdQLHFCQUFxQixZQVg5QixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLGdCQUFnQjs7NEZBR1AscUJBQXFCO2tCQWRqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50cnlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcclxuaW1wb3J0IHsgRW50cnlEaWFsb2dNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nJztcclxuaW1wb3J0IHsgRW50cnlQZXJtaXNzaW9uTW9kdWxlLCBFbnRyeVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zJztcclxuaW1wb3J0IHsgRW50cnlTZWFyY2hGaWx0ZXJNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlcic7XHJcbmltcG9ydCB7IEVudHJ5VmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgRW50cnlGaWxlSW5wdXRNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dCc7XHJcbmltcG9ydCB7IEVudHJ5VGFibGVNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvdGFibGUnO1xyXG5pbXBvcnQgeyBFbnRyeUNvbW1vbk1vZHVsZSwgTkdfRVZFTlRfUExVR0lOUyB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBFbnRyeVNwaW5uZXJNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvc3Bpbm5lcic7XHJcblxyXG5pbnRlcmZhY2UgRW50cnlDb21wb25lbnRzTW9kdWxlT3B0aW9ucyB7XHJcbiAgcGVybWlzc2lvblNlcnZpY2U/OiBUeXBlPGFueT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFeHBvcnRzIGFsbCBlbnRyeSBjb21wb25lbnRzLlxyXG4gKlxyXG4gKiBVc2FnZVxyXG4gKiBpbXBvcnQgRW50cnlDb21wb25lbnRzTW9kdWxlIGluIHNoYXJlZC5tb2R1bGUudHMgdG8gaGF2ZSBhY2Nlc3MgdG8gYWxsIGNvbXBvbmVudHMsIGRpcmVjdGl2ZXMsIHBpcGVzLlxyXG4gKiBpbXBvcnQgRW50cnlDb21wb25lbnRzTW9kdWxlLmZvclJvb3QoKSBpbiBhcHAubW9kdWxlLnRzIHRvIHJlZ2lzdGVyIHJvb3QgbW9kdWxlIHByb3ZpZGVycy5cclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBFbnRyeUJ1dHRvbk1vZHVsZSxcclxuICAgIEVudHJ5Q29tbW9uTW9kdWxlLFxyXG4gICAgRW50cnlEaWFsb2dNb2R1bGUsXHJcbiAgICBFbnRyeUZpbGVJbnB1dE1vZHVsZSxcclxuICAgIEVudHJ5VmFsaWRhdGlvbk1vZHVsZSxcclxuICAgIEVudHJ5UGVybWlzc2lvbk1vZHVsZSxcclxuICAgIEVudHJ5U2VhcmNoRmlsdGVyTW9kdWxlLFxyXG4gICAgRW50cnlTcGlubmVyTW9kdWxlLFxyXG4gICAgRW50cnlUYWJsZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudHJ5Q29tcG9uZW50c01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogRW50cnlDb21wb25lbnRzTW9kdWxlT3B0aW9ucyA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxFbnRyeUNvbXBvbmVudHNNb2R1bGU+IHtcclxuXHJcbiAgICBjb25zdCBwZXJtaXNzaW9uU2VydmljZVByb3ZpZGVyOiBQcm92aWRlcltdID0gb3B0aW9ucy5wZXJtaXNzaW9uU2VydmljZVxyXG4gICAgICA/IFt7IHByb3ZpZGU6IEVudHJ5UGVybWlzc2lvblNlcnZpY2UsIHVzZUNsYXNzOiBvcHRpb25zLnBlcm1pc3Npb25TZXJ2aWNlIH1dXHJcbiAgICAgIDogW107XHJcblxyXG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gWy4uLnBlcm1pc3Npb25TZXJ2aWNlUHJvdmlkZXIsIC4uLk5HX0VWRU5UX1BMVUdJTlNdO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEVudHJ5Q29tcG9uZW50c01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -14,10 +14,10 @@ export class EntryPermissionDirective {
|
|
|
14
14
|
set except(permissions) {
|
|
15
15
|
this.ngIfDirective.ngIf = !this.permissionService.hasPermissions(permissions);
|
|
16
16
|
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EntryPermissionDirective, selector: "[entryPermissionsOnly],[entryPermissionsExcept]", inputs: { only: ["entryPermissionsOnly", "only"], except: ["entryPermissionsExcept", "except"] }, hostDirectives: [{ directive: i1.NgIf }], ngImport: i0 }); }
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
EntryPermissionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: EntryPermissionDirective, selector: "[entryPermissionsOnly],[entryPermissionsExcept]", inputs: { only: ["entryPermissionsOnly", "only"], except: ["entryPermissionsExcept", "except"] }, hostDirectives: [{ directive: i1.NgIf }], ngImport: i0 });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryPermissionDirective, decorators: [{
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionDirective, decorators: [{
|
|
21
21
|
type: Directive,
|
|
22
22
|
args: [{
|
|
23
23
|
selector: '[entryPermissionsOnly],[entryPermissionsExcept]',
|
|
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
32
32
|
type: Input,
|
|
33
33
|
args: ['entryPermissionsExcept']
|
|
34
34
|
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUTlELE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixzQkFBaUIsR0FBRyxNQUFNLENBQUMsQ0FBQSxzQkFBeUIsQ0FBQSxDQUFDLENBQUM7S0FTL0Q7SUFQQyxJQUFtQyxJQUFJLENBQUMsV0FBZ0I7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBcUMsTUFBTSxDQUFDLFdBQWdCO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRixDQUFDOytHQVZVLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpREFBaUQ7b0JBQzNELGNBQWMsRUFBRSxDQUFDOzRCQUNmLFNBQVMsRUFBRSxJQUFJO3lCQUNoQixDQUFDO2lCQUNIOzhCQUtvQyxJQUFJO3NCQUF0QyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFJUSxNQUFNO3NCQUExQyxLQUFLO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uVHlwZSB9IGZyb20gJy4vcGVybWlzc2lvbi10eXBlJztcbmltcG9ydCB7IEVudHJ5UGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb24uc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbnRyeVBlcm1pc3Npb25zT25seV0sW2VudHJ5UGVybWlzc2lvbnNFeGNlcHRdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7XG4gICAgZGlyZWN0aXZlOiBOZ0lmXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZTxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IHtcbiAgcHJpdmF0ZSBuZ0lmRGlyZWN0aXZlID0gaW5qZWN0KE5nSWYpO1xuICBwcml2YXRlIHBlcm1pc3Npb25TZXJ2aWNlID0gaW5qZWN0KEVudHJ5UGVybWlzc2lvblNlcnZpY2U8VD4pO1xuXG4gIEBJbnB1dCgnZW50cnlQZXJtaXNzaW9uc09ubHknKSBzZXQgb25seShwZXJtaXNzaW9uczogVFtdKSB7XG4gICAgdGhpcy5uZ0lmRGlyZWN0aXZlLm5nSWYgPSB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zKTtcbiAgfVxuXG4gIEBJbnB1dCgnZW50cnlQZXJtaXNzaW9uc0V4Y2VwdCcpIHNldCBleGNlcHQocGVybWlzc2lvbnM6IFRbXSkge1xuICAgIHRoaXMubmdJZkRpcmVjdGl2ZS5uZ0lmID0gIXRoaXMucGVybWlzc2lvblNlcnZpY2UuaGFzUGVybWlzc2lvbnMocGVybWlzc2lvbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -4,13 +4,13 @@ import { EntryPermissionDirective } from './permission.directive';
|
|
|
4
4
|
import { EntryPermissionPipe } from './permission.pipe';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class EntryPermissionModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionModule, declarations: [EntryPermissionDirective,
|
|
9
|
+
EntryPermissionPipe], imports: [CommonModule], exports: [EntryPermissionDirective,
|
|
10
|
+
EntryPermissionPipe] }); }
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionModule, imports: [CommonModule] }); }
|
|
7
12
|
}
|
|
8
|
-
|
|
9
|
-
EntryPermissionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EntryPermissionModule, declarations: [EntryPermissionDirective,
|
|
10
|
-
EntryPermissionPipe], imports: [CommonModule], exports: [EntryPermissionDirective,
|
|
11
|
-
EntryPermissionPipe] });
|
|
12
|
-
EntryPermissionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryPermissionModule, imports: [CommonModule] });
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryPermissionModule, decorators: [{
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
declarations: [
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
26
26
|
]
|
|
27
27
|
}]
|
|
28
28
|
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBZXhELE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQVg5Qix3QkFBd0I7WUFDeEIsbUJBQW1CLGFBR25CLFlBQVksYUFHWix3QkFBd0I7WUFDeEIsbUJBQW1CO2dIQUdWLHFCQUFxQixZQVA5QixZQUFZOzs0RkFPSCxxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbnRyeVBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEVudHJ5UGVybWlzc2lvblBpcGUgfSBmcm9tICcuL3Blcm1pc3Npb24ucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBFbnRyeVBlcm1pc3Npb25QaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBFbnRyeVBlcm1pc3Npb25QaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW50cnlQZXJtaXNzaW9uTW9kdWxlIHsgfVxuIl19
|
|
@@ -8,13 +8,13 @@ export class EntryPermissionPipe {
|
|
|
8
8
|
transform(permissions) {
|
|
9
9
|
return this.permissionsService.hasPermissions(permissions);
|
|
10
10
|
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionPipe, deps: [{ token: i1.EntryPermissionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionPipe, name: "entryHasPermissions" }); }
|
|
11
13
|
}
|
|
12
|
-
|
|
13
|
-
EntryPermissionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EntryPermissionPipe, name: "entryHasPermissions" });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryPermissionPipe, decorators: [{
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryPermissionPipe, decorators: [{
|
|
15
15
|
type: Pipe,
|
|
16
16
|
args: [{
|
|
17
17
|
name: 'entryHasPermissions'
|
|
18
18
|
}]
|
|
19
19
|
}], ctorParameters: function () { return [{ type: i1.EntryPermissionService }]; } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBT3BELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBb0Isa0JBQTZDO1FBQTdDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMkI7SUFBSSxDQUFDO0lBRXRFLFNBQVMsQ0FBQyxXQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0FMVSxtQkFBbUI7NkdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUscUJBQXFCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcm1pc3Npb25UeXBlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLXR5cGUnO1xuaW1wb3J0IHsgRW50cnlQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZW50cnlIYXNQZXJtaXNzaW9ucydcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlQZXJtaXNzaW9uUGlwZTxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBFbnRyeVBlcm1pc3Npb25TZXJ2aWNlPFQ+KSB7IH1cblxuICB0cmFuc2Zvcm0ocGVybWlzc2lvbnM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucyk7XG4gIH1cbn1cbiJdfQ==
|