@enigmatry/entry-components 18.1.0 → 19.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/README.md +2 -1
- package/fesm2022/enigmatry-entry-components-button.mjs +9 -8
- package/fesm2022/enigmatry-entry-components-button.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-common.mjs +36 -36
- package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +13 -13
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-dialog.mjs +23 -23
- package/fesm2022/enigmatry-entry-components-dialog.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-file-input.mjs +8 -8
- package/fesm2022/enigmatry-entry-components-file-input.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-permissions.mjs +14 -12
- package/fesm2022/enigmatry-entry-components-permissions.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-search-filter.mjs +29 -29
- package/fesm2022/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-spinner.mjs +11 -11
- package/fesm2022/enigmatry-entry-components-spinner.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-table.mjs +20 -20
- package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-validation.mjs +14 -12
- package/fesm2022/enigmatry-entry-components-validation.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components.mjs +4 -4
- package/fesm2022/enigmatry-entry-components.mjs.map +1 -1
- package/package.json +8 -30
- package/esm2022/button/enigmatry-entry-components-button.mjs +0 -5
- package/esm2022/button/entry-button-config.mjs +0 -25
- package/esm2022/button/entry-button.directive.mjs +0 -56
- package/esm2022/button/entry-button.module.mjs +0 -28
- package/esm2022/button/public-api.mjs +0 -4
- package/esm2022/common/common.module.mjs +0 -58
- package/esm2022/common/constants.mjs +0 -3
- package/esm2022/common/date-time/entry-date-time-adapter.mjs +0 -119
- package/esm2022/common/date-time/entry-date-time-formats.mjs +0 -14
- package/esm2022/common/date-time/entry-time-adapter.mjs +0 -10
- package/esm2022/common/date-time/index.mjs +0 -5
- package/esm2022/common/date-time/native-time-adapter.mjs +0 -31
- package/esm2022/common/directives/auto-disable-button.directive.mjs +0 -75
- package/esm2022/common/directives/index.mjs +0 -5
- package/esm2022/common/directives/ng-control-accessor.directive.mjs +0 -46
- package/esm2022/common/directives/noop-control-value-accessor.mjs +0 -32
- package/esm2022/common/directives/scroll-to-invalid-control.directive.mjs +0 -51
- package/esm2022/common/enigmatry-entry-components-common.mjs +0 -5
- package/esm2022/common/event-plugins/abstract.plugin.mjs +0 -35
- package/esm2022/common/event-plugins/debounce.plugin.mjs +0 -34
- package/esm2022/common/event-plugins/index.mjs +0 -3
- package/esm2022/common/event-plugins/throttle.plugin.mjs +0 -34
- package/esm2022/common/interceptors/accept-language.interceptor.mjs +0 -32
- package/esm2022/common/interceptors/index.mjs +0 -2
- package/esm2022/common/public-api.mjs +0 -7
- package/esm2022/common/utils/index.mjs +0 -2
- package/esm2022/common/utils/provide-config.mjs +0 -14
- package/esm2022/date-time-picker/date-time-picker.component.mjs +0 -139
- package/esm2022/date-time-picker/date-time-picker.module.mjs +0 -62
- package/esm2022/date-time-picker/enigmatry-entry-components-date-time-picker.mjs +0 -5
- package/esm2022/date-time-picker/public-api.mjs +0 -3
- package/esm2022/date-time-picker/time-picker.component.mjs +0 -80
- package/esm2022/dialog/dialogs/alert/entry-alert-dialog-data.interface.mjs +0 -2
- package/esm2022/dialog/dialogs/alert/entry-alert-dialog.component.mjs +0 -29
- package/esm2022/dialog/dialogs/confirm/entry-confirm-dialog-data.interface.mjs +0 -2
- package/esm2022/dialog/dialogs/confirm/entry-confirm-dialog.component.mjs +0 -29
- package/esm2022/dialog/dialogs/entry-dialog.component.mjs +0 -74
- package/esm2022/dialog/dialogs/error/entry-error-dialog-data.interface.mjs +0 -2
- package/esm2022/dialog/dialogs/error/entry-error-dialog.component.mjs +0 -46
- package/esm2022/dialog/enigmatry-entry-components-dialog.mjs +0 -5
- package/esm2022/dialog/entry-dialog-buttons-alignment.type.mjs +0 -2
- package/esm2022/dialog/entry-dialog-config.model.mjs +0 -31
- package/esm2022/dialog/entry-dialog.module.mjs +0 -57
- package/esm2022/dialog/entry-dialog.service.mjs +0 -86
- package/esm2022/dialog/public-api.mjs +0 -8
- package/esm2022/enigmatry-entry-components.mjs +0 -5
- package/esm2022/file-input/enigmatry-entry-components-file-input.mjs +0 -5
- package/esm2022/file-input/entry-file-input.component.mjs +0 -201
- package/esm2022/file-input/entry-file-input.module.mjs +0 -40
- package/esm2022/file-input/public-api.mjs +0 -3
- package/esm2022/modules/entry-components.module.mjs +0 -67
- package/esm2022/permissions/enigmatry-entry-components-permissions.mjs +0 -5
- package/esm2022/permissions/permission-type.mjs +0 -2
- package/esm2022/permissions/permission.directive.mjs +0 -35
- package/esm2022/permissions/permission.guard.mjs +0 -14
- package/esm2022/permissions/permission.module.mjs +0 -29
- package/esm2022/permissions/permission.pipe.mjs +0 -20
- package/esm2022/permissions/permission.service.mjs +0 -3
- package/esm2022/permissions/public-api.mjs +0 -6
- package/esm2022/public-api.mjs +0 -14
- package/esm2022/search-filter/autocomplete/autocomplete-search-filter.component.mjs +0 -56
- package/esm2022/search-filter/autocomplete/autocomplete-search-filter.model.mjs +0 -19
- package/esm2022/search-filter/control-type.mjs +0 -9
- package/esm2022/search-filter/date/date-search-filter.component.mjs +0 -20
- package/esm2022/search-filter/date/date-search-filter.model.mjs +0 -12
- package/esm2022/search-filter/date-time/date-time-search-filter.component.mjs +0 -28
- package/esm2022/search-filter/date-time/date-time-search-filter.model.mjs +0 -12
- package/esm2022/search-filter/enigmatry-entry-components-search-filter.mjs +0 -5
- package/esm2022/search-filter/entry-search-filter.component.mjs +0 -76
- package/esm2022/search-filter/entry-search-filter.module.mjs +0 -78
- package/esm2022/search-filter/public-api.mjs +0 -11
- package/esm2022/search-filter/search-filter-base.model.mjs +0 -26
- package/esm2022/search-filter/search-filter-config.model.mjs +0 -18
- package/esm2022/search-filter/search-filter-params.type.mjs +0 -2
- package/esm2022/search-filter/select/select-search-filter.component.mjs +0 -29
- package/esm2022/search-filter/select/select-search-filter.model.mjs +0 -23
- package/esm2022/search-filter/select-option.model.mjs +0 -12
- package/esm2022/search-filter/text/text-search-filter.component.mjs +0 -19
- package/esm2022/search-filter/text/text-search-filter.model.mjs +0 -12
- package/esm2022/spinner/enigmatry-entry-components-spinner.mjs +0 -5
- package/esm2022/spinner/entry-spinner/spinner.component.mjs +0 -81
- package/esm2022/spinner/public-api.mjs +0 -3
- package/esm2022/spinner/spinner-overlay-container.mjs +0 -42
- package/esm2022/spinner/spinner.module.mjs +0 -32
- package/esm2022/table/components/entry-cell/entry-cell.component.mjs +0 -23
- package/esm2022/table/components/entry-cell-context-menu/entry-cell-context-menu.component.mjs +0 -42
- package/esm2022/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.mjs +0 -25
- package/esm2022/table/components/entry-table/entry-table.component.mjs +0 -251
- package/esm2022/table/components/index.mjs +0 -5
- package/esm2022/table/enigmatry-entry-components-table.mjs +0 -5
- package/esm2022/table/entry-table.module.mjs +0 -84
- package/esm2022/table/interfaces/cell-template.mjs +0 -2
- package/esm2022/table/interfaces/column-def.mjs +0 -2
- package/esm2022/table/interfaces/column-sort-prop.mjs +0 -2
- package/esm2022/table/interfaces/column-type-parameter.mjs +0 -2
- package/esm2022/table/interfaces/column-type.mjs +0 -2
- package/esm2022/table/interfaces/context-menu-item.mjs +0 -2
- package/esm2022/table/interfaces/entry-table-config.mjs +0 -45
- package/esm2022/table/interfaces/index.mjs +0 -13
- package/esm2022/table/interfaces/paged-query.mjs +0 -37
- package/esm2022/table/interfaces/pagination.mjs +0 -2
- package/esm2022/table/interfaces/row-class-formatter.mjs +0 -2
- package/esm2022/table/interfaces/row-context-menu-formatter.mjs +0 -2
- package/esm2022/table/interfaces/row-selection-formatter.mjs +0 -2
- package/esm2022/table/public-api.mjs +0 -4
- package/esm2022/validation/enigmatry-entry-components-validation.mjs +0 -5
- package/esm2022/validation/entry-display-control-validation.directive.mjs +0 -63
- package/esm2022/validation/entry-form-errors.component.mjs +0 -41
- package/esm2022/validation/entry-validation-config.model.mjs +0 -24
- package/esm2022/validation/entry-validation.mjs +0 -51
- package/esm2022/validation/entry-validation.module.mjs +0 -40
- package/esm2022/validation/public-api.mjs +0 -6
- package/esm2022/validation/validation-problem-details.interface.mjs +0 -2
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { EntryButtonModule } from '@enigmatry/entry-components/button';
|
|
3
|
-
import { EntryDialogModule } from '@enigmatry/entry-components/dialog';
|
|
4
|
-
import { EntryPermissionModule, EntryPermissionService } from '@enigmatry/entry-components/permissions';
|
|
5
|
-
import { EntrySearchFilterModule } from '@enigmatry/entry-components/search-filter';
|
|
6
|
-
import { EntryValidationModule } from '@enigmatry/entry-components/validation';
|
|
7
|
-
import { EntryFileInputModule } from '@enigmatry/entry-components/file-input';
|
|
8
|
-
import { EntryTableModule } from '@enigmatry/entry-components/table';
|
|
9
|
-
import { EntryCommonModule, NG_EVENT_PLUGINS } from '@enigmatry/entry-components/common';
|
|
10
|
-
import { EntrySpinnerModule } from '@enigmatry/entry-components/spinner';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* Exports all entry components.
|
|
14
|
-
*
|
|
15
|
-
* Usage
|
|
16
|
-
* import EntryComponentsModule in shared.module.ts to have access to all components, directives, pipes.
|
|
17
|
-
* import EntryComponentsModule.forRoot() in app.module.ts to register root module providers.
|
|
18
|
-
*/
|
|
19
|
-
export class EntryComponentsModule {
|
|
20
|
-
static forRoot(options = {}) {
|
|
21
|
-
const permissionServiceProvider = options.permissionService
|
|
22
|
-
? [{ provide: EntryPermissionService, useClass: options.permissionService }]
|
|
23
|
-
: [];
|
|
24
|
-
const providers = [...permissionServiceProvider, ...NG_EVENT_PLUGINS];
|
|
25
|
-
return {
|
|
26
|
-
ngModule: EntryComponentsModule,
|
|
27
|
-
providers
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", 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: "18.2.13", ngImport: i0, type: EntryComponentsModule, imports: [EntryButtonModule,
|
|
41
|
-
EntryCommonModule,
|
|
42
|
-
EntryDialogModule,
|
|
43
|
-
EntryFileInputModule,
|
|
44
|
-
EntryValidationModule,
|
|
45
|
-
EntryPermissionModule,
|
|
46
|
-
EntrySearchFilterModule,
|
|
47
|
-
EntrySpinnerModule,
|
|
48
|
-
EntryTableModule] }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryComponentsModule, decorators: [{
|
|
51
|
-
type: NgModule,
|
|
52
|
-
args: [{
|
|
53
|
-
declarations: [],
|
|
54
|
-
exports: [
|
|
55
|
-
EntryButtonModule,
|
|
56
|
-
EntryCommonModule,
|
|
57
|
-
EntryDialogModule,
|
|
58
|
-
EntryFileInputModule,
|
|
59
|
-
EntryValidationModule,
|
|
60
|
-
EntryPermissionModule,
|
|
61
|
-
EntrySearchFilterModule,
|
|
62
|
-
EntrySpinnerModule,
|
|
63
|
-
EntryTableModule
|
|
64
|
-
]
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvbW9kdWxlcy9lbnRyeS1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTXpFOzs7Ozs7R0FNRztBQWVILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUF3QyxFQUFFO1FBRXZELE1BQU0seUJBQXlCLEdBQWUsT0FBTyxDQUFDLGlCQUFpQjtZQUNyRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLE1BQU0sU0FBUyxHQUFlLENBQUMsR0FBRyx5QkFBeUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDbEYsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUztTQUNWLENBQUM7SUFDSixDQUFDOytHQVpVLHFCQUFxQjtnSEFBckIscUJBQXFCLFlBWDlCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsZ0JBQWdCO2dIQUdQLHFCQUFxQixZQVg5QixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLGdCQUFnQjs7NEZBR1AscUJBQXFCO2tCQWRqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50cnlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcclxuaW1wb3J0IHsgRW50cnlEaWFsb2dNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nJztcclxuaW1wb3J0IHsgRW50cnlQZXJtaXNzaW9uTW9kdWxlLCBFbnRyeVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zJztcclxuaW1wb3J0IHsgRW50cnlTZWFyY2hGaWx0ZXJNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlcic7XHJcbmltcG9ydCB7IEVudHJ5VmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgRW50cnlGaWxlSW5wdXRNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dCc7XHJcbmltcG9ydCB7IEVudHJ5VGFibGVNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvdGFibGUnO1xyXG5pbXBvcnQgeyBFbnRyeUNvbW1vbk1vZHVsZSwgTkdfRVZFTlRfUExVR0lOUyB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBFbnRyeVNwaW5uZXJNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvc3Bpbm5lcic7XHJcblxyXG5pbnRlcmZhY2UgRW50cnlDb21wb25lbnRzTW9kdWxlT3B0aW9ucyB7XHJcbiAgcGVybWlzc2lvblNlcnZpY2U/OiBUeXBlPGFueT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFeHBvcnRzIGFsbCBlbnRyeSBjb21wb25lbnRzLlxyXG4gKlxyXG4gKiBVc2FnZVxyXG4gKiBpbXBvcnQgRW50cnlDb21wb25lbnRzTW9kdWxlIGluIHNoYXJlZC5tb2R1bGUudHMgdG8gaGF2ZSBhY2Nlc3MgdG8gYWxsIGNvbXBvbmVudHMsIGRpcmVjdGl2ZXMsIHBpcGVzLlxyXG4gKiBpbXBvcnQgRW50cnlDb21wb25lbnRzTW9kdWxlLmZvclJvb3QoKSBpbiBhcHAubW9kdWxlLnRzIHRvIHJlZ2lzdGVyIHJvb3QgbW9kdWxlIHByb3ZpZGVycy5cclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBFbnRyeUJ1dHRvbk1vZHVsZSxcclxuICAgIEVudHJ5Q29tbW9uTW9kdWxlLFxyXG4gICAgRW50cnlEaWFsb2dNb2R1bGUsXHJcbiAgICBFbnRyeUZpbGVJbnB1dE1vZHVsZSxcclxuICAgIEVudHJ5VmFsaWRhdGlvbk1vZHVsZSxcclxuICAgIEVudHJ5UGVybWlzc2lvbk1vZHVsZSxcclxuICAgIEVudHJ5U2VhcmNoRmlsdGVyTW9kdWxlLFxyXG4gICAgRW50cnlTcGlubmVyTW9kdWxlLFxyXG4gICAgRW50cnlUYWJsZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudHJ5Q29tcG9uZW50c01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogRW50cnlDb21wb25lbnRzTW9kdWxlT3B0aW9ucyA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxFbnRyeUNvbXBvbmVudHNNb2R1bGU+IHtcclxuXHJcbiAgICBjb25zdCBwZXJtaXNzaW9uU2VydmljZVByb3ZpZGVyOiBQcm92aWRlcltdID0gb3B0aW9ucy5wZXJtaXNzaW9uU2VydmljZVxyXG4gICAgICA/IFt7IHByb3ZpZGU6IEVudHJ5UGVybWlzc2lvblNlcnZpY2UsIHVzZUNsYXNzOiBvcHRpb25zLnBlcm1pc3Npb25TZXJ2aWNlIH1dXHJcbiAgICAgIDogW107XHJcblxyXG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gWy4uLnBlcm1pc3Npb25TZXJ2aWNlUHJvdmlkZXIsIC4uLk5HX0VWRU5UX1BMVUdJTlNdO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEVudHJ5Q29tcG9uZW50c01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtcGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtcGVybWlzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGVybWlzc2lvblR5cGUgPSBudW1iZXIgfCBzdHJpbmcgfCB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfTtcbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Directive, Input, inject } from '@angular/core';
|
|
3
|
-
import { EntryPermissionService } from './permission.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
export class EntryPermissionDirective {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.ngIfDirective = inject(NgIf);
|
|
9
|
-
this.permissionService = inject((EntryPermissionService));
|
|
10
|
-
}
|
|
11
|
-
set only(permissions) {
|
|
12
|
-
this.ngIfDirective.ngIf = this.permissionService.hasPermissions(permissions);
|
|
13
|
-
}
|
|
14
|
-
set except(permissions) {
|
|
15
|
-
this.ngIfDirective.ngIf = !this.permissionService.hasPermissions(permissions);
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryPermissionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: EntryPermissionDirective, selector: "[entryPermissionsOnly],[entryPermissionsExcept]", inputs: { only: ["entryPermissionsOnly", "only"], except: ["entryPermissionsExcept", "except"] }, hostDirectives: [{ directive: i1.NgIf }], ngImport: i0 }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryPermissionDirective, decorators: [{
|
|
21
|
-
type: Directive,
|
|
22
|
-
args: [{
|
|
23
|
-
selector: '[entryPermissionsOnly],[entryPermissionsExcept]',
|
|
24
|
-
hostDirectives: [{
|
|
25
|
-
directive: NgIf
|
|
26
|
-
}]
|
|
27
|
-
}]
|
|
28
|
-
}], propDecorators: { only: [{
|
|
29
|
-
type: Input,
|
|
30
|
-
args: ['entryPermissionsOnly']
|
|
31
|
-
}], except: [{
|
|
32
|
-
type: Input,
|
|
33
|
-
args: ['entryPermissionsExcept']
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBUTlELE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPVSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixzQkFBaUIsR0FBRyxNQUFNLENBQUMsQ0FBQSxzQkFBeUIsQ0FBQSxDQUFDLENBQUM7S0FTL0Q7SUFQQyxJQUFtQyxJQUFJLENBQUMsV0FBZ0I7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBcUMsTUFBTSxDQUFDLFdBQWdCO1FBQzFELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRixDQUFDOytHQVZVLHdCQUF3QjttR0FBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpREFBaUQ7b0JBQzNELGNBQWMsRUFBRSxDQUFDOzRCQUNmLFNBQVMsRUFBRSxJQUFJO3lCQUNoQixDQUFDO2lCQUNIOzhCQUtvQyxJQUFJO3NCQUF0QyxLQUFLO3VCQUFDLHNCQUFzQjtnQkFJUSxNQUFNO3NCQUExQyxLQUFLO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uVHlwZSB9IGZyb20gJy4vcGVybWlzc2lvbi10eXBlJztcbmltcG9ydCB7IEVudHJ5UGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb24uc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbnRyeVBlcm1pc3Npb25zT25seV0sW2VudHJ5UGVybWlzc2lvbnNFeGNlcHRdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7XG4gICAgZGlyZWN0aXZlOiBOZ0lmXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZTxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IHtcbiAgcHJpdmF0ZSBuZ0lmRGlyZWN0aXZlID0gaW5qZWN0KE5nSWYpO1xuICBwcml2YXRlIHBlcm1pc3Npb25TZXJ2aWNlID0gaW5qZWN0KEVudHJ5UGVybWlzc2lvblNlcnZpY2U8VD4pO1xuXG4gIEBJbnB1dCgnZW50cnlQZXJtaXNzaW9uc09ubHknKSBzZXQgb25seShwZXJtaXNzaW9uczogVFtdKSB7XG4gICAgdGhpcy5uZ0lmRGlyZWN0aXZlLm5nSWYgPSB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zKTtcbiAgfVxuXG4gIEBJbnB1dCgnZW50cnlQZXJtaXNzaW9uc0V4Y2VwdCcpIHNldCBleGNlcHQocGVybWlzc2lvbnM6IFRbXSkge1xuICAgIHRoaXMubmdJZkRpcmVjdGl2ZS5uZ0lmID0gIXRoaXMucGVybWlzc2lvblNlcnZpY2UuaGFzUGVybWlzc2lvbnMocGVybWlzc2lvbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { inject } from '@angular/core';
|
|
2
|
-
import { EntryPermissionService } from './permission.service';
|
|
3
|
-
export const entryPermissionGuard = (route, _state) => {
|
|
4
|
-
const permissionService = inject(EntryPermissionService);
|
|
5
|
-
const routePermissions = route.data.permissions ?? {};
|
|
6
|
-
if (routePermissions.only) {
|
|
7
|
-
return permissionService.hasPermissions(routePermissions.only);
|
|
8
|
-
}
|
|
9
|
-
if (routePermissions.except) {
|
|
10
|
-
return !permissionService.hasPermissions(routePermissions.except);
|
|
11
|
-
}
|
|
12
|
-
return false;
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPOUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQ2pDLENBQTRCLEtBQTZCLEVBQUUsTUFBMkIsRUFBRSxFQUFFO0lBQ3hGLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXVDLElBQUksRUFBRSxDQUFDO0lBRWxGLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsT0FBTyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FuQWN0aXZhdGVGbiwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25UeXBlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLXR5cGUnO1xyXG5pbXBvcnQgeyBFbnRyeVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIFJvdXRlUGVybWlzc2lvbkNvbmZpZzxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IHtcclxuICBvbmx5PzogVFtdO1xyXG4gIGV4Y2VwdD86IFRbXTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGVudHJ5UGVybWlzc2lvbkd1YXJkOiBDYW5BY3RpdmF0ZUZuID1cclxuPFQgZXh0ZW5kcyBQZXJtaXNzaW9uVHlwZT4gKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBfc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IHtcclxuICBjb25zdCBwZXJtaXNzaW9uU2VydmljZSA9IGluamVjdChFbnRyeVBlcm1pc3Npb25TZXJ2aWNlKTtcclxuICBjb25zdCByb3V0ZVBlcm1pc3Npb25zID0gcm91dGUuZGF0YS5wZXJtaXNzaW9ucyBhcyBSb3V0ZVBlcm1pc3Npb25Db25maWc8VD4gPz8ge307XHJcblxyXG4gIGlmIChyb3V0ZVBlcm1pc3Npb25zLm9ubHkpIHtcclxuICAgIHJldHVybiBwZXJtaXNzaW9uU2VydmljZS5oYXNQZXJtaXNzaW9ucyhyb3V0ZVBlcm1pc3Npb25zLm9ubHkpO1xyXG4gIH1cclxuICBpZiAocm91dGVQZXJtaXNzaW9ucy5leGNlcHQpIHtcclxuICAgIHJldHVybiAhcGVybWlzc2lvblNlcnZpY2UuaGFzUGVybWlzc2lvbnMocm91dGVQZXJtaXNzaW9ucy5leGNlcHQpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGZhbHNlO1xyXG59O1xyXG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { EntryPermissionDirective } from './permission.directive';
|
|
4
|
-
import { EntryPermissionPipe } from './permission.pipe';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class EntryPermissionModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryPermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", 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: "18.2.13", ngImport: i0, type: EntryPermissionModule, imports: [CommonModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryPermissionModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
declarations: [
|
|
17
|
-
EntryPermissionDirective,
|
|
18
|
-
EntryPermissionPipe
|
|
19
|
-
],
|
|
20
|
-
imports: [
|
|
21
|
-
CommonModule
|
|
22
|
-
],
|
|
23
|
-
exports: [
|
|
24
|
-
EntryPermissionDirective,
|
|
25
|
-
EntryPermissionPipe
|
|
26
|
-
]
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMvcGVybWlzc2lvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBZXhELE1BQU0sT0FBTyxxQkFBcUI7K0dBQXJCLHFCQUFxQjtnSEFBckIscUJBQXFCLGlCQVg5Qix3QkFBd0I7WUFDeEIsbUJBQW1CLGFBR25CLFlBQVksYUFHWix3QkFBd0I7WUFDeEIsbUJBQW1CO2dIQUdWLHFCQUFxQixZQVA5QixZQUFZOzs0RkFPSCxxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3dCQUN4QixtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFbnRyeVBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL3Blcm1pc3Npb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEVudHJ5UGVybWlzc2lvblBpcGUgfSBmcm9tICcuL3Blcm1pc3Npb24ucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBFbnRyeVBlcm1pc3Npb25QaXBlXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSxcbiAgICBFbnRyeVBlcm1pc3Npb25QaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW50cnlQZXJtaXNzaW9uTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./permission.service";
|
|
4
|
-
export class EntryPermissionPipe {
|
|
5
|
-
constructor(permissionsService) {
|
|
6
|
-
this.permissionsService = permissionsService;
|
|
7
|
-
}
|
|
8
|
-
transform(permissions) {
|
|
9
|
-
return this.permissionsService.hasPermissions(permissions);
|
|
10
|
-
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryPermissionPipe, deps: [{ token: i1.EntryPermissionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EntryPermissionPipe, name: "entryHasPermissions" }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryPermissionPipe, decorators: [{
|
|
15
|
-
type: Pipe,
|
|
16
|
-
args: [{
|
|
17
|
-
name: 'entryHasPermissions'
|
|
18
|
-
}]
|
|
19
|
-
}], ctorParameters: () => [{ type: i1.EntryPermissionService }] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBT3BELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBb0Isa0JBQTZDO1FBQTdDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBMkI7SUFBSSxDQUFDO0lBRXRFLFNBQVMsQ0FBQyxXQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0FMVSxtQkFBbUI7NkdBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFIL0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUscUJBQXFCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcm1pc3Npb25UeXBlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLXR5cGUnO1xuaW1wb3J0IHsgRW50cnlQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZW50cnlIYXNQZXJtaXNzaW9ucydcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlQZXJtaXNzaW9uUGlwZTxUIGV4dGVuZHMgUGVybWlzc2lvblR5cGU+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBFbnRyeVBlcm1pc3Npb25TZXJ2aWNlPFQ+KSB7IH1cblxuICB0cmFuc2Zvcm0ocGVybWlzc2lvbnM6IFRbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNQZXJtaXNzaW9ucyhwZXJtaXNzaW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export class EntryPermissionService {
|
|
2
|
-
}
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQWdCLHNCQUFzQjtDQUUzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcm1pc3Npb25UeXBlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLXR5cGUnO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVudHJ5UGVybWlzc2lvblNlcnZpY2U8VCBleHRlbmRzIFBlcm1pc3Npb25UeXBlPiB7XHJcbiAgcHVibGljIGFic3RyYWN0IGhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zOiBUW10pOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { EntryPermissionPipe } from './permission.pipe';
|
|
2
|
-
export { EntryPermissionDirective } from './permission.directive';
|
|
3
|
-
export { entryPermissionGuard } from './permission.guard';
|
|
4
|
-
export { EntryPermissionService } from './permission.service';
|
|
5
|
-
export { EntryPermissionModule } from './permission.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRW50cnlQZXJtaXNzaW9uUGlwZSB9IGZyb20gJy4vcGVybWlzc2lvbi5waXBlJztcbmV4cG9ydCB7IEVudHJ5UGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgZW50cnlQZXJtaXNzaW9uR3VhcmQgfSBmcm9tICcuL3Blcm1pc3Npb24uZ3VhcmQnO1xuZXhwb3J0IHsgRW50cnlQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuZXhwb3J0IHsgRW50cnlQZXJtaXNzaW9uTW9kdWxlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLm1vZHVsZSc7XG4iXX0=
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of entry-components
|
|
3
|
-
*/
|
|
4
|
-
export * from '@enigmatry/entry-components/button';
|
|
5
|
-
export * from '@enigmatry/entry-components/common';
|
|
6
|
-
export * from '@enigmatry/entry-components/dialog';
|
|
7
|
-
export * from '@enigmatry/entry-components/file-input';
|
|
8
|
-
export * from '@enigmatry/entry-components/permissions';
|
|
9
|
-
export * from '@enigmatry/entry-components/search-filter';
|
|
10
|
-
export * from '@enigmatry/entry-components/spinner';
|
|
11
|
-
export * from '@enigmatry/entry-components/validation';
|
|
12
|
-
export * from '@enigmatry/entry-components/table';
|
|
13
|
-
export { EntryComponentsModule } from './modules/entry-components.module';
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZW50cnktY29tcG9uZW50c1xuICovXG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL2RpYWxvZyc7XG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMnO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3NwaW5uZXInO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3ZhbGlkYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3RhYmxlJztcblxuZXhwb3J0IHsgRW50cnlDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2VudHJ5LWNvbXBvbmVudHMubW9kdWxlJztcbiJdfQ==
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { FormControl } from '@angular/forms';
|
|
3
|
-
import { Subject, of } from 'rxjs';
|
|
4
|
-
import { filter, tap, takeUntil, debounceTime } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/forms";
|
|
8
|
-
import * as i3 from "@angular/material/input";
|
|
9
|
-
import * as i4 from "@angular/material/form-field";
|
|
10
|
-
import * as i5 from "@angular/material/core";
|
|
11
|
-
import * as i6 from "@angular/material/autocomplete";
|
|
12
|
-
import * as i7 from "@enigmatry/entry-components/validation";
|
|
13
|
-
export class AutocompleteSearchFilterComponent {
|
|
14
|
-
constructor(cdr) {
|
|
15
|
-
this.cdr = cdr;
|
|
16
|
-
this.searchField = new FormControl('');
|
|
17
|
-
this.options$ = of([]);
|
|
18
|
-
this.destroy$ = new Subject();
|
|
19
|
-
this.displayFn = (_selectedValue) => this.searchFilter.formControl.value?.label;
|
|
20
|
-
this.onSelected = (event) => {
|
|
21
|
-
this.searchFilter.formControl.patchValue(event.option.value);
|
|
22
|
-
this.searchField.patchValue(event.option.value.label, { emitEvent: false });
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
ngAfterViewInit() {
|
|
26
|
-
this.searchField
|
|
27
|
-
.valueChanges
|
|
28
|
-
.pipe(takeUntil(this.destroy$), tap(value => this.clearFilterIfLabelMismatch(value)), filter(value => value?.length >= this.searchFilter.minimumCharacters), debounceTime(this.searchFilter.debounceTime))
|
|
29
|
-
.subscribe(searchValue => {
|
|
30
|
-
// call search and retrieve options
|
|
31
|
-
this.options$ = this.searchFilter.search(searchValue);
|
|
32
|
-
// mark for check because of the debounce
|
|
33
|
-
this.cdr.markForCheck();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
ngOnDestroy() {
|
|
37
|
-
this.destroy$.next();
|
|
38
|
-
this.destroy$.complete();
|
|
39
|
-
}
|
|
40
|
-
clearFilterIfLabelMismatch(value) {
|
|
41
|
-
const label = this.searchFilter.formControl.value?.label;
|
|
42
|
-
if (label && label !== value) {
|
|
43
|
-
this.searchFilter.formControl.patchValue(undefined);
|
|
44
|
-
this.searchField.patchValue(null, { emitEvent: false });
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteSearchFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutocompleteSearchFilterComponent, selector: "entry-autocomplete-search-filter", inputs: { searchFilter: "searchFilter" }, ngImport: i0, template: "<mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{searchFilter.label}}</mat-label>\n <input type=\"text\" matInput [placeholder]=\"searchFilter.placeholder\"\n [formControl]=\"searchField\" [id]=\"searchFilter.key\" [matAutocomplete]=\"auto\">\n <mat-autocomplete [displayWith]=\"displayFn\" #auto=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\">\n <mat-option *ngFor=\"let option of options$ | async\" [value]=\"option\">\n {{option.label}}\n </mat-option>\n </mat-autocomplete>\n <mat-error entryDisplayControlValidation [control]=\"searchField\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i7.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteSearchFilterComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'entry-autocomplete-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field subscriptSizing=\"dynamic\">\n <mat-label>{{searchFilter.label}}</mat-label>\n <input type=\"text\" matInput [placeholder]=\"searchFilter.placeholder\"\n [formControl]=\"searchField\" [id]=\"searchFilter.key\" [matAutocomplete]=\"auto\">\n <mat-autocomplete [displayWith]=\"displayFn\" #auto=\"matAutocomplete\" (optionSelected)=\"onSelected($event)\">\n <mat-option *ngFor=\"let option of options$ | async\" [value]=\"option\">\n {{option.label}}\n </mat-option>\n </mat-autocomplete>\n <mat-error entryDisplayControlValidation [control]=\"searchField\"></mat-error>\n</mat-form-field>" }]
|
|
53
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { searchFilter: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQWMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVV0RSxNQUFNLE9BQU8saUNBQWlDO0lBUzVDLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBTjFDLGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbEMsYUFBUSxHQUFrQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUEwQi9CLGNBQVMsR0FBRyxDQUFDLGNBQStCLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7UUFFcEcsZUFBVSxHQUFHLENBQUMsS0FBbUMsRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQztJQTdCNEMsQ0FBQztJQUUvQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVc7YUFDYixZQUFZO2FBQ1osSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNwRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsRUFDckUsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQzdDO2FBQ0EsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3ZCLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3RELHlDQUF5QztZQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQVNPLDBCQUEwQixDQUFDLEtBQWE7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN6RCxJQUFJLEtBQUssSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDOytHQTlDVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyxrSENiOUMsMm9CQVVpQjs7NEZER0osaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLGtDQUFrQyxtQkFFM0IsdUJBQXVCLENBQUMsTUFBTTtzRkFHdEMsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCwgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZVNlYXJjaEZpbHRlciB9IGZyb20gJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudHJ5LWF1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlU2VhcmNoRmlsdGVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyOiBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXI8VD47XG5cbiAgc2VhcmNoRmllbGQgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbjxUPltdPiA9IG9mKFtdKTtcblxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGaWVsZFxuICAgICAgLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgdGFwKHZhbHVlID0+IHRoaXMuY2xlYXJGaWx0ZXJJZkxhYmVsTWlzbWF0Y2godmFsdWUpKSxcbiAgICAgICAgZmlsdGVyKHZhbHVlID0+IHZhbHVlPy5sZW5ndGggPj0gdGhpcy5zZWFyY2hGaWx0ZXIubWluaW11bUNoYXJhY3RlcnMpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5zZWFyY2hGaWx0ZXIuZGVib3VuY2VUaW1lKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShzZWFyY2hWYWx1ZSA9PiB7XG4gICAgICAgIC8vIGNhbGwgc2VhcmNoIGFuZCByZXRyaWV2ZSBvcHRpb25zXG4gICAgICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLnNlYXJjaEZpbHRlci5zZWFyY2goc2VhcmNoVmFsdWUpO1xuICAgICAgICAvLyBtYXJrIGZvciBjaGVjayBiZWNhdXNlIG9mIHRoZSBkZWJvdW5jZVxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZGlzcGxheUZuID0gKF9zZWxlY3RlZFZhbHVlOiBTZWxlY3RPcHRpb248VD4pOiBzdHJpbmcgPT4gdGhpcy5zZWFyY2hGaWx0ZXIuZm9ybUNvbnRyb2wudmFsdWU/LmxhYmVsO1xuXG4gIG9uU2VsZWN0ZWQgPSAoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpID0+IHtcbiAgICB0aGlzLnNlYXJjaEZpbHRlci5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKGV2ZW50Lm9wdGlvbi52YWx1ZSk7XG4gICAgdGhpcy5zZWFyY2hGaWVsZC5wYXRjaFZhbHVlKGV2ZW50Lm9wdGlvbi52YWx1ZS5sYWJlbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgY2xlYXJGaWx0ZXJJZkxhYmVsTWlzbWF0Y2godmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGxhYmVsID0gdGhpcy5zZWFyY2hGaWx0ZXIuZm9ybUNvbnRyb2wudmFsdWU/LmxhYmVsO1xuICAgIGlmIChsYWJlbCAmJiBsYWJlbCAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoRmlsdGVyLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodW5kZWZpbmVkKTtcbiAgICAgIHRoaXMuc2VhcmNoRmllbGQucGF0Y2hWYWx1ZShudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgIDxtYXQtbGFiZWw+e3tzZWFyY2hGaWx0ZXIubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJzZWFyY2hGaWx0ZXIucGxhY2Vob2xkZXJcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoRmllbGRcIiBbaWRdPVwic2VhcmNoRmlsdGVyLmtleVwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiPlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5Rm5cIiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvblNlbGVjdGVkKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAge3tvcHRpb24ubGFiZWx9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgIDxtYXQtZXJyb3IgZW50cnlEaXNwbGF5Q29udHJvbFZhbGlkYXRpb24gW2NvbnRyb2xdPVwic2VhcmNoRmllbGRcIj48L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ControlType } from '../control-type';
|
|
2
|
-
import { SearchFilterBase } from '../search-filter-base.model';
|
|
3
|
-
/**
|
|
4
|
-
* Search filter autocomplete field configuration. Options for the autocomplete are provided
|
|
5
|
-
* indirectly via the search function that takes a string and returns an observable array of
|
|
6
|
-
* SelectOption<T>
|
|
7
|
-
*/
|
|
8
|
-
export class AutocompleteSearchFilter extends SearchFilterBase {
|
|
9
|
-
constructor(options = {}) {
|
|
10
|
-
super(options);
|
|
11
|
-
this.controlType = ControlType.autocomplete;
|
|
12
|
-
this.search = options.search;
|
|
13
|
-
this.placeholder = options.placeholder;
|
|
14
|
-
this.label = options.label;
|
|
15
|
-
this.debounceTime = options.debounceTime ?? 300;
|
|
16
|
-
this.minimumCharacters = options.minimumCharacters ?? 3;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSS9EOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sd0JBQTRCLFNBQVEsZ0JBQWlDO0lBU2hGLFlBQVksVUFBZ0QsRUFBRTtRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFUakIsZ0JBQVcsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBVXJDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuLi9jb250cm9sLXR5cGUnO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyQmFzZSB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZWFyY2ggZmlsdGVyIGF1dG9jb21wbGV0ZSBmaWVsZCBjb25maWd1cmF0aW9uLiBPcHRpb25zIGZvciB0aGUgYXV0b2NvbXBsZXRlIGFyZSBwcm92aWRlZFxuICogaW5kaXJlY3RseSB2aWEgdGhlIHNlYXJjaCBmdW5jdGlvbiB0aGF0IHRha2VzIGEgc3RyaW5nIGFuZCByZXR1cm5zIGFuIG9ic2VydmFibGUgYXJyYXkgb2ZcbiAqIFNlbGVjdE9wdGlvbjxUPlxuICovXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlU2VhcmNoRmlsdGVyPFQ+IGV4dGVuZHMgU2VhcmNoRmlsdGVyQmFzZTxTZWxlY3RPcHRpb248VD4+e1xuICBjb250cm9sVHlwZSA9IENvbnRyb2xUeXBlLmF1dG9jb21wbGV0ZTtcbiAgLyoqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBhdXRvY29tcGxldGUgb3B0aW9ucyAqL1xuICBzZWFyY2g6IChpbnB1dDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbjxUPltdPjtcbiAgLyoqIE1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCBtdXN0IGVudGVyIHRvIHRyaWdnZXIgdGhlIHNlYXJjaCBmdW5jdGlvbihkZWZhdWx0IGlzIDMpICovXG4gIG1pbmltdW1DaGFyYWN0ZXJzOiBudW1iZXI7XG4gIC8qKiBEZWxheSBpbiB0eXBpbmcgYmVmb3JlIHRyaWdnZXJpbmcgdGhlIHNlYXJjaCBmdW5jdGlvbiBpbiBtaWxsaXNlY29uZHMoZGVmYXVsdCBpcyAzMDApICovXG4gIGRlYm91bmNlVGltZTogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFBhcnRpYWw8QXV0b2NvbXBsZXRlU2VhcmNoRmlsdGVyPFQ+PiA9IHt9KSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gICAgdGhpcy5zZWFyY2ggPSBvcHRpb25zLnNlYXJjaDtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gb3B0aW9ucy5wbGFjZWhvbGRlcjtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucy5sYWJlbDtcbiAgICB0aGlzLmRlYm91bmNlVGltZSA9IG9wdGlvbnMuZGVib3VuY2VUaW1lID8/IDMwMDtcbiAgICB0aGlzLm1pbmltdW1DaGFyYWN0ZXJzID0gb3B0aW9ucy5taW5pbXVtQ2hhcmFjdGVycyA/PyAzO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export var ControlType;
|
|
2
|
-
(function (ControlType) {
|
|
3
|
-
ControlType["text"] = "text-input";
|
|
4
|
-
ControlType["select"] = "select-input";
|
|
5
|
-
ControlType["autocomplete"] = "autocomplete-input";
|
|
6
|
-
ControlType["date"] = "date-input";
|
|
7
|
-
ControlType["dateTime"] = "date-time-input";
|
|
8
|
-
})(ControlType || (ControlType = {}));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvY29udHJvbC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBTVg7QUFORCxXQUFZLFdBQVc7SUFDbkIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7SUFDdkIsa0RBQW1DLENBQUE7SUFDbkMsa0NBQW1CLENBQUE7SUFDbkIsMkNBQTRCLENBQUE7QUFDaEMsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ29udHJvbFR5cGUge1xuICAgIHRleHQgPSAndGV4dC1pbnB1dCcsXG4gICAgc2VsZWN0ID0gJ3NlbGVjdC1pbnB1dCcsXG4gICAgYXV0b2NvbXBsZXRlID0gJ2F1dG9jb21wbGV0ZS1pbnB1dCcsXG4gICAgZGF0ZSA9ICdkYXRlLWlucHV0JyxcbiAgICBkYXRlVGltZSA9ICdkYXRlLXRpbWUtaW5wdXQnXG59XG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/forms";
|
|
4
|
-
import * as i2 from "@angular/material/input";
|
|
5
|
-
import * as i3 from "@angular/material/form-field";
|
|
6
|
-
import * as i4 from "@angular/material/datepicker";
|
|
7
|
-
import * as i5 from "@enigmatry/entry-components/validation";
|
|
8
|
-
export class DateSearchFilterComponent {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateSearchFilterComponent, selector: "entry-date-search-filter", inputs: { searchFilter: "searchFilter", form: "form" }, ngImport: i0, template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <input matInput [formControlName]=\"searchFilter.key\" [matDatepicker]=\"picker\" [id]=\"searchFilter.key\">\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"form.get(searchFilter.key)\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }] }); }
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateSearchFilterComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'entry-date-search-filter', template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <input matInput [formControlName]=\"searchFilter.key\" [matDatepicker]=\"picker\" [id]=\"searchFilter.key\">\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"form.get(searchFilter.key)\"></mat-error>\n</mat-form-field>" }]
|
|
15
|
-
}], propDecorators: { searchFilter: [{
|
|
16
|
-
type: Input
|
|
17
|
-
}], form: [{
|
|
18
|
-
type: Input
|
|
19
|
-
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2RhdGUvZGF0ZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2RhdGUvZGF0ZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUWpELE1BQU0sT0FBTyx5QkFBeUI7K0dBQXpCLHlCQUF5QjttR0FBekIseUJBQXlCLHdIQ1J0QyxrZ0JBTWlCOzs0RkRFSix5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0UsMEJBQTBCOzhCQUkzQixZQUFZO3NCQUFwQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlU2VhcmNoRmlsdGVyIH0gZnJvbSAnLi9kYXRlLXNlYXJjaC1maWx0ZXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS1kYXRlLXNlYXJjaC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRlU2VhcmNoRmlsdGVyQ29tcG9uZW50PEQ+IHtcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyOiBEYXRlU2VhcmNoRmlsdGVyPEQ+O1xuICAvKiogRm9ybSBncm91cCB0byB3aGljaCB0aGUgc2VhcmNoLWZpbHRlciBpbnB1dCBjb21wb25lbnQgd2lsbCBiZSBhZGRlZC4gKi9cbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImZvcm1cIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgPG1hdC1sYWJlbCBbYXR0ci5mb3JdPVwic2VhcmNoRmlsdGVyLmtleVwiPnt7c2VhcmNoRmlsdGVyLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJzZWFyY2hGaWx0ZXIua2V5XCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgW2lkXT1cInNlYXJjaEZpbHRlci5rZXlcIj5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlcj48L21hdC1kYXRlcGlja2VyPlxuICAgIDxtYXQtZXJyb3IgZW50cnlEaXNwbGF5Q29udHJvbFZhbGlkYXRpb24gW2NvbnRyb2xdPVwiZm9ybS5nZXQoc2VhcmNoRmlsdGVyLmtleSlcIj48L21hdC1lcnJvcj5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ControlType } from '../control-type';
|
|
2
|
-
import { SearchFilterBase } from '../search-filter-base.model';
|
|
3
|
-
/**
|
|
4
|
-
* Search filter date input filed configuration.
|
|
5
|
-
*/
|
|
6
|
-
export class DateSearchFilter extends SearchFilterBase {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.controlType = ControlType.date;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zZWFyY2gtZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvZGF0ZS9kYXRlLXNlYXJjaC1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFvQixTQUFRLGdCQUFtQjtJQUE1RDs7UUFDYSxnQkFBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDNUMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuLi9jb250cm9sLXR5cGUnO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyQmFzZSB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XG5cbi8qKlxuICogU2VhcmNoIGZpbHRlciBkYXRlIGlucHV0IGZpbGVkIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlU2VhcmNoRmlsdGVyPEQ+IGV4dGVuZHMgU2VhcmNoRmlsdGVyQmFzZTxEPntcbiAgICBvdmVycmlkZSBjb250cm9sVHlwZSA9IENvbnRyb2xUeXBlLmRhdGU7XG59XG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Component, Input, inject } from '@angular/core';
|
|
2
|
-
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
3
|
-
import { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter } from '@enigmatry/entry-components/common';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/forms";
|
|
6
|
-
import * as i2 from "@angular/material/input";
|
|
7
|
-
import * as i3 from "@angular/material/form-field";
|
|
8
|
-
import * as i4 from "@angular/material/datepicker";
|
|
9
|
-
import * as i5 from "@enigmatry/entry-components/validation";
|
|
10
|
-
export class DateTimeSearchFilterComponent {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimeSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateTimeSearchFilterComponent, selector: "entry-date-time-search-filter", inputs: { searchFilter: "searchFilter", form: "form" }, providers: [
|
|
13
|
-
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
14
|
-
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
15
|
-
], ngImport: i0, template: "<mat-form-field class=\"date-time-search-field\" [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <input matInput [formControlName]=\"searchFilter.key\" [matDatepicker]=\"picker\" [id]=\"searchFilter.key\">\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"form.get(searchFilter.key)\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }] }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimeSearchFilterComponent, decorators: [{
|
|
18
|
-
type: Component,
|
|
19
|
-
args: [{ selector: 'entry-date-time-search-filter', providers: [
|
|
20
|
-
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
21
|
-
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
22
|
-
], template: "<mat-form-field class=\"date-time-search-field\" [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <input matInput [formControlName]=\"searchFilter.key\" [matDatepicker]=\"picker\" [id]=\"searchFilter.key\">\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"form.get(searchFilter.key)\"></mat-error>\n</mat-form-field>" }]
|
|
23
|
-
}], propDecorators: { searchFilter: [{
|
|
24
|
-
type: Input
|
|
25
|
-
}], form: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXNlYXJjaC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvZGF0ZS10aW1lL2RhdGUtdGltZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2RhdGUtdGltZS9kYXRlLXRpbWUtc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0FBVXZHLE1BQU0sT0FBTyw2QkFBNkI7K0dBQTdCLDZCQUE2QjttR0FBN0IsNkJBQTZCLGdIQUw3QjtZQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsRUFBRTtZQUNwRixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO1NBQ3pELDBCQ1pILG1pQkFNaUI7OzRGRFFKLDZCQUE2QjtrQkFSekMsU0FBUzsrQkFDRSwrQkFBK0IsYUFFOUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO3dCQUNwRixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO3FCQUN6RDs4QkFHUSxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZVRpbWVTZWFyY2hGaWx0ZXIgfSBmcm9tICcuL2RhdGUtdGltZS1zZWFyY2gtZmlsdGVyLm1vZGVsJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRU5UUllfTUFUX0RBVEVfVElNRV9GT1JNQVRTLCBFbnRyeURhdGVUaW1lQWRhcHRlciB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS1kYXRlLXRpbWUtc2VhcmNoLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUtc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlRmFjdG9yeTogKCkgPT4gaW5qZWN0KEVOVFJZX01BVF9EQVRFX1RJTUVfRk9STUFUUykgfSxcbiAgICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogRW50cnlEYXRlVGltZUFkYXB0ZXIgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lU2VhcmNoRmlsdGVyQ29tcG9uZW50PEQ+IHtcbiAgQElucHV0KCkgc2VhcmNoRmlsdGVyOiBEYXRlVGltZVNlYXJjaEZpbHRlcjxEPjtcbiAgLyoqIEZvcm0gZ3JvdXAgdG8gd2hpY2ggdGhlIHNlYXJjaC1maWx0ZXIgaW5wdXQgY29tcG9uZW50IHdpbGwgYmUgYWRkZWQuICovXG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJkYXRlLXRpbWUtc2VhcmNoLWZpZWxkXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgIDxtYXQtbGFiZWwgW2F0dHIuZm9yXT1cInNlYXJjaEZpbHRlci5rZXlcIj57e3NlYXJjaEZpbHRlci5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbE5hbWVdPVwic2VhcmNoRmlsdGVyLmtleVwiIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIFtpZF09XCJzZWFyY2hGaWx0ZXIua2V5XCI+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRJY29uU3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8bWF0LWVycm9yIGVudHJ5RGlzcGxheUNvbnRyb2xWYWxpZGF0aW9uIFtjb250cm9sXT1cImZvcm0uZ2V0KHNlYXJjaEZpbHRlci5rZXkpXCI+PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ControlType } from '../control-type';
|
|
2
|
-
import { SearchFilterBase } from '../search-filter-base.model';
|
|
3
|
-
/**
|
|
4
|
-
* Search filter date time input filed configuration.
|
|
5
|
-
*/
|
|
6
|
-
export class DateTimeSearchFilter extends SearchFilterBase {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.controlType = ControlType.dateTime;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXNlYXJjaC1maWx0ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9kYXRlLXRpbWUvZGF0ZS10aW1lLXNlYXJjaC1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLGdCQUFtQjtJQUFoRTs7UUFDYSxnQkFBVyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUM7SUFDaEQsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuLi9jb250cm9sLXR5cGUnO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyQmFzZSB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XG5cbi8qKlxuICogU2VhcmNoIGZpbHRlciBkYXRlIHRpbWUgaW5wdXQgZmlsZWQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGVUaW1lU2VhcmNoRmlsdGVyPEQ+IGV4dGVuZHMgU2VhcmNoRmlsdGVyQmFzZTxEPntcbiAgICBvdmVycmlkZSBjb250cm9sVHlwZSA9IENvbnRyb2xUeXBlLmRhdGVUaW1lO1xufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtc2VhcmNoLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2VuaWdtYXRyeS1lbnRyeS1jb21wb25lbnRzLXNlYXJjaC1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output } from '@angular/core';
|
|
2
|
-
import { UntypedFormGroup } from '@angular/forms';
|
|
3
|
-
import { ENTRY_SEARCH_FILTER_CONFIG } from './search-filter-config.model';
|
|
4
|
-
import { ControlType } from './control-type';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "@angular/forms";
|
|
8
|
-
import * as i3 from "@angular/material/button";
|
|
9
|
-
import * as i4 from "@enigmatry/entry-components/button";
|
|
10
|
-
import * as i5 from "@enigmatry/entry-components/validation";
|
|
11
|
-
import * as i6 from "./text/text-search-filter.component";
|
|
12
|
-
import * as i7 from "./select/select-search-filter.component";
|
|
13
|
-
import * as i8 from "./autocomplete/autocomplete-search-filter.component";
|
|
14
|
-
import * as i9 from "./date-time/date-time-search-filter.component";
|
|
15
|
-
import * as i10 from "./date/date-search-filter.component";
|
|
16
|
-
import * as i11 from "./search-filter-config.model";
|
|
17
|
-
/**
|
|
18
|
-
* Entry SearchFilter component.
|
|
19
|
-
*/
|
|
20
|
-
export class EntrySearchFilterComponent {
|
|
21
|
-
constructor(config) {
|
|
22
|
-
this.config = config;
|
|
23
|
-
/** Configuration of the search filters inputs that will be displayed in the search-filter component. */
|
|
24
|
-
this.searchFilters = [];
|
|
25
|
-
/**
|
|
26
|
-
* Emits the change in SearchFilterParams so the containing component can apply them and retrieve the filtered results.
|
|
27
|
-
*/
|
|
28
|
-
this.searchFilterChange = new EventEmitter();
|
|
29
|
-
this.controlType = ControlType;
|
|
30
|
-
}
|
|
31
|
-
ngOnInit() {
|
|
32
|
-
this.searchFilterForm = this.toFormGroup(this.searchFilters);
|
|
33
|
-
}
|
|
34
|
-
onSubmit() {
|
|
35
|
-
const formValue = this.searchFilterForm.value;
|
|
36
|
-
this.searchFilterChange.emit(formValue);
|
|
37
|
-
}
|
|
38
|
-
toFormGroup(searchFilters) {
|
|
39
|
-
const group = {};
|
|
40
|
-
searchFilters.forEach(searchFilter => {
|
|
41
|
-
const formControl = searchFilter.toFormControl();
|
|
42
|
-
group[searchFilter.key] = formControl;
|
|
43
|
-
searchFilter.formControl = formControl;
|
|
44
|
-
});
|
|
45
|
-
return new UntypedFormGroup(group);
|
|
46
|
-
}
|
|
47
|
-
asTextSearchFilter(searchFilter) {
|
|
48
|
-
return searchFilter;
|
|
49
|
-
}
|
|
50
|
-
asSelectSearchFilter(searchFilter) {
|
|
51
|
-
return searchFilter;
|
|
52
|
-
}
|
|
53
|
-
asAutocompleteSearchFilter(searchFilter) {
|
|
54
|
-
return searchFilter;
|
|
55
|
-
}
|
|
56
|
-
asDateTimeSearchFilter(searchFilter) {
|
|
57
|
-
return searchFilter;
|
|
58
|
-
}
|
|
59
|
-
asDateSearchFilter(searchFilter) {
|
|
60
|
-
return searchFilter;
|
|
61
|
-
}
|
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntrySearchFilterComponent, deps: [{ token: ENTRY_SEARCH_FILTER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EntrySearchFilterComponent, selector: "entry-search-filter", inputs: { searchFilters: "searchFilters" }, outputs: { searchFilterChange: "searchFilterChange" }, ngImport: i0, template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\" class=\"search-form-container entry-form\">\r\n <entry-form-errors [form]=\"searchFilterForm\"></entry-form-errors>\r\n <div *ngFor=\"let searchFilter of searchFilters\" class=\"form-field\">\r\n <ng-container [ngSwitch]=\"searchFilter.controlType\">\r\n <entry-text-search-filter *ngSwitchCase=\"controlType.text\" [searchFilter]=\"asTextSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-text-search-filter>\r\n <entry-select-search-filter *ngSwitchCase=\"controlType.select\" [searchFilter]=\"asSelectSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-select-search-filter>\r\n <entry-autocomplete-search-filter *ngSwitchCase=\"controlType.autocomplete\" [searchFilter]=\"asAutocompleteSearchFilter(searchFilter)\"></entry-autocomplete-search-filter>\r\n <entry-date-time-search-filter *ngSwitchCase=\"controlType.dateTime\" [searchFilter]=\"asDateTimeSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-date-time-search-filter>\r\n <entry-date-search-filter *ngSwitchCase=\"controlType.date\" [searchFilter]=\"asDateSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-date-search-filter>\r\n </ng-container>\r\n </div>\r\n <div class=\"entry-search-filter-actions\">\r\n <button mat-button entry-submit-button>\r\n <span>{{config.applyButtonText}}</span>\r\n </button>\r\n </div>\r\n</form>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.EntryButtonDirective, selector: "[mat-button][entry-submit-button],[mat-button][entry-cancel-button]" }, { kind: "component", type: i5.EntryFormErrorsComponent, selector: "entry-form-errors", inputs: ["form"] }, { kind: "component", type: i6.TextSearchFilterComponent, selector: "entry-text-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: i7.SelectSearchFilterComponent, selector: "entry-select-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: i8.AutocompleteSearchFilterComponent, selector: "entry-autocomplete-search-filter", inputs: ["searchFilter"] }, { kind: "component", type: i9.DateTimeSearchFilterComponent, selector: "entry-date-time-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: i10.DateSearchFilterComponent, selector: "entry-date-search-filter", inputs: ["searchFilter", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
64
|
-
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntrySearchFilterComponent, decorators: [{
|
|
66
|
-
type: Component,
|
|
67
|
-
args: [{ selector: 'entry-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\" class=\"search-form-container entry-form\">\r\n <entry-form-errors [form]=\"searchFilterForm\"></entry-form-errors>\r\n <div *ngFor=\"let searchFilter of searchFilters\" class=\"form-field\">\r\n <ng-container [ngSwitch]=\"searchFilter.controlType\">\r\n <entry-text-search-filter *ngSwitchCase=\"controlType.text\" [searchFilter]=\"asTextSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-text-search-filter>\r\n <entry-select-search-filter *ngSwitchCase=\"controlType.select\" [searchFilter]=\"asSelectSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-select-search-filter>\r\n <entry-autocomplete-search-filter *ngSwitchCase=\"controlType.autocomplete\" [searchFilter]=\"asAutocompleteSearchFilter(searchFilter)\"></entry-autocomplete-search-filter>\r\n <entry-date-time-search-filter *ngSwitchCase=\"controlType.dateTime\" [searchFilter]=\"asDateTimeSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-date-time-search-filter>\r\n <entry-date-search-filter *ngSwitchCase=\"controlType.date\" [searchFilter]=\"asDateSearchFilter(searchFilter)\" [form]=\"searchFilterForm\"></entry-date-search-filter>\r\n </ng-container>\r\n </div>\r\n <div class=\"entry-search-filter-actions\">\r\n <button mat-button entry-submit-button>\r\n <span>{{config.applyButtonText}}</span>\r\n </button>\r\n </div>\r\n</form>" }]
|
|
68
|
-
}], ctorParameters: () => [{ type: i11.EntrySearchFilterConfig, decorators: [{
|
|
69
|
-
type: Inject,
|
|
70
|
-
args: [ENTRY_SEARCH_FILTER_CONFIG]
|
|
71
|
-
}] }], propDecorators: { searchFilters: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], searchFilterChange: [{
|
|
74
|
-
type: Output
|
|
75
|
-
}] } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9lbnRyeS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLDhCQUE4QixDQUFDO0FBS25HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUs3Qzs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUFZckMsWUFBdUQsTUFBK0I7UUFBL0IsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFWdEYsd0dBQXdHO1FBQy9GLGtCQUFhLEdBQTRCLEVBQUUsQ0FBQztRQUNyRDs7V0FFRztRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBR3RFLGdCQUFXLEdBQUcsV0FBVyxDQUFDO0lBRWdFLENBQUM7SUFFM0YsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQXNDO1FBQ2hELE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUN0QixhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ25DLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUN0QyxZQUFZLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBbUM7UUFDcEQsT0FBTyxZQUFnQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxvQkFBb0IsQ0FBSSxZQUFpQztRQUN2RCxPQUFPLFlBQXFDLENBQUM7SUFDL0MsQ0FBQztJQUVELDBCQUEwQixDQUFJLFlBQStDO1FBQzNFLE9BQU8sWUFBMkMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsc0JBQXNCLENBQUksWUFBaUM7UUFDekQsT0FBTyxZQUF1QyxDQUFDO0lBQ2pELENBQUM7SUFFRCxrQkFBa0IsQ0FBSSxZQUFpQztRQUNyRCxPQUFPLFlBQW1DLENBQUM7SUFDN0MsQ0FBQzsrR0FuRFUsMEJBQTBCLGtCQVlqQiwwQkFBMEI7bUdBWm5DLDBCQUEwQiw4SkNyQnZDLG8vQ0FnQk87OzRGREtNLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs7MEJBY2xDLE1BQU07MkJBQUMsMEJBQTBCO3lDQVRyQyxhQUFhO3NCQUFyQixLQUFLO2dCQUlJLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2VhcmNoRmlsdGVyUGFyYW1zIH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLXBhcmFtcy50eXBlJztcclxuaW1wb3J0IHsgRU5UUllfU0VBUkNIX0ZJTFRFUl9DT05GSUcsIEVudHJ5U2VhcmNoRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlYXJjaEZpbHRlckJhc2UgfSBmcm9tICcuL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRleHRTZWFyY2hGaWx0ZXIgfSBmcm9tICcuL3RleHQvdGV4dC1zZWFyY2gtZmlsdGVyLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0U2VhcmNoRmlsdGVyIH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LXNlYXJjaC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXIgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLWZpbHRlci5tb2RlbCc7XHJcbmltcG9ydCB7IENvbnRyb2xUeXBlIH0gZnJvbSAnLi9jb250cm9sLXR5cGUnO1xyXG5pbXBvcnQgeyBEYXRlVGltZVNlYXJjaEZpbHRlciB9IGZyb20gJy4vZGF0ZS10aW1lL2RhdGUtdGltZS1zZWFyY2gtZmlsdGVyLm1vZGVsJztcclxuaW1wb3J0IHsgRGF0ZVNlYXJjaEZpbHRlciB9IGZyb20gJy4vZGF0ZS9kYXRlLXNlYXJjaC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xyXG5cclxuLyoqXHJcbiAqIEVudHJ5IFNlYXJjaEZpbHRlciBjb21wb25lbnQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VudHJ5LXNlYXJjaC1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRyeS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50cnlTZWFyY2hGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogQ29uZmlndXJhdGlvbiBvZiB0aGUgc2VhcmNoIGZpbHRlcnMgaW5wdXRzIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlYXJjaC1maWx0ZXIgY29tcG9uZW50LiAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaEZpbHRlcnM6IFNlYXJjaEZpbHRlckJhc2U8YW55PltdID0gW107XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIGNoYW5nZSBpbiBTZWFyY2hGaWx0ZXJQYXJhbXMgc28gdGhlIGNvbnRhaW5pbmcgY29tcG9uZW50IGNhbiBhcHBseSB0aGVtIGFuZCByZXRyaWV2ZSB0aGUgZmlsdGVyZWQgcmVzdWx0cy5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoRmlsdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hGaWx0ZXJQYXJhbXM+KCk7XHJcblxyXG4gIHNlYXJjaEZpbHRlckZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIGNvbnRyb2xUeXBlID0gQ29udHJvbFR5cGU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRU5UUllfU0VBUkNIX0ZJTFRFUl9DT05GSUcpIHB1YmxpYyBjb25maWc6IEVudHJ5U2VhcmNoRmlsdGVyQ29uZmlnKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZpbHRlckZvcm0gPSB0aGlzLnRvRm9ybUdyb3VwKHRoaXMuc2VhcmNoRmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuc2VhcmNoRmlsdGVyRm9ybS52YWx1ZTtcclxuICAgIHRoaXMuc2VhcmNoRmlsdGVyQ2hhbmdlLmVtaXQoZm9ybVZhbHVlKTtcclxuICB9XHJcblxyXG4gIHRvRm9ybUdyb3VwKHNlYXJjaEZpbHRlcnM6IFNlYXJjaEZpbHRlckJhc2U8YW55PltdKSB7XHJcbiAgICBjb25zdCBncm91cDogYW55ID0ge307XHJcbiAgICBzZWFyY2hGaWx0ZXJzLmZvckVhY2goc2VhcmNoRmlsdGVyID0+IHtcclxuICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSBzZWFyY2hGaWx0ZXIudG9Gb3JtQ29udHJvbCgpO1xyXG4gICAgICBncm91cFtzZWFyY2hGaWx0ZXIua2V5XSA9IGZvcm1Db250cm9sO1xyXG4gICAgICBzZWFyY2hGaWx0ZXIuZm9ybUNvbnRyb2wgPSBmb3JtQ29udHJvbDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBVbnR5cGVkRm9ybUdyb3VwKGdyb3VwKTtcclxuICB9XHJcblxyXG4gIGFzVGV4dFNlYXJjaEZpbHRlcihzZWFyY2hGaWx0ZXI6IFNlYXJjaEZpbHRlckJhc2U8YW55Pik6IFRleHRTZWFyY2hGaWx0ZXIge1xyXG4gICAgcmV0dXJuIHNlYXJjaEZpbHRlciBhcyBUZXh0U2VhcmNoRmlsdGVyO1xyXG4gIH1cclxuXHJcbiAgYXNTZWxlY3RTZWFyY2hGaWx0ZXI8VD4oc2VhcmNoRmlsdGVyOiBTZWFyY2hGaWx0ZXJCYXNlPFQ+KTogU2VsZWN0U2VhcmNoRmlsdGVyPFQ+IHtcclxuICAgIHJldHVybiBzZWFyY2hGaWx0ZXIgYXMgU2VsZWN0U2VhcmNoRmlsdGVyPFQ+O1xyXG4gIH1cclxuXHJcbiAgYXNBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXI8VD4oc2VhcmNoRmlsdGVyOiBTZWFyY2hGaWx0ZXJCYXNlPFNlbGVjdE9wdGlvbjxUPj4pOiBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXI8VD4ge1xyXG4gICAgcmV0dXJuIHNlYXJjaEZpbHRlciBhcyBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXI8VD47XHJcbiAgfVxyXG5cclxuICBhc0RhdGVUaW1lU2VhcmNoRmlsdGVyPFQ+KHNlYXJjaEZpbHRlcjogU2VhcmNoRmlsdGVyQmFzZTxUPik6IERhdGVUaW1lU2VhcmNoRmlsdGVyPFQ+IHtcclxuICAgIHJldHVybiBzZWFyY2hGaWx0ZXIgYXMgRGF0ZVRpbWVTZWFyY2hGaWx0ZXI8VD47XHJcbiAgfVxyXG5cclxuICBhc0RhdGVTZWFyY2hGaWx0ZXI8VD4oc2VhcmNoRmlsdGVyOiBTZWFyY2hGaWx0ZXJCYXNlPFQ+KTogRGF0ZVNlYXJjaEZpbHRlcjxUPiB7XHJcbiAgICByZXR1cm4gc2VhcmNoRmlsdGVyIGFzIERhdGVTZWFyY2hGaWx0ZXI8VD47XHJcbiAgfVxyXG59IiwiPGZvcm0gKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIiBbZm9ybUdyb3VwXT1cInNlYXJjaEZpbHRlckZvcm1cIiBjbGFzcz1cInNlYXJjaC1mb3JtLWNvbnRhaW5lciBlbnRyeS1mb3JtXCI+XHJcbiAgICA8ZW50cnktZm9ybS1lcnJvcnMgW2Zvcm1dPVwic2VhcmNoRmlsdGVyRm9ybVwiPjwvZW50cnktZm9ybS1lcnJvcnM+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzZWFyY2hGaWx0ZXIgb2Ygc2VhcmNoRmlsdGVyc1wiIGNsYXNzPVwiZm9ybS1maWVsZFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInNlYXJjaEZpbHRlci5jb250cm9sVHlwZVwiPlxyXG4gICAgICAgICAgICA8ZW50cnktdGV4dC1zZWFyY2gtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCJjb250cm9sVHlwZS50ZXh0XCIgW3NlYXJjaEZpbHRlcl09XCJhc1RleHRTZWFyY2hGaWx0ZXIoc2VhcmNoRmlsdGVyKVwiIFtmb3JtXT1cInNlYXJjaEZpbHRlckZvcm1cIj48L2VudHJ5LXRleHQtc2VhcmNoLWZpbHRlcj5cclxuICAgICAgICAgICAgPGVudHJ5LXNlbGVjdC1zZWFyY2gtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCJjb250cm9sVHlwZS5zZWxlY3RcIiBbc2VhcmNoRmlsdGVyXT1cImFzU2VsZWN0U2VhcmNoRmlsdGVyKHNlYXJjaEZpbHRlcilcIiBbZm9ybV09XCJzZWFyY2hGaWx0ZXJGb3JtXCI+PC9lbnRyeS1zZWxlY3Qtc2VhcmNoLWZpbHRlcj5cclxuICAgICAgICAgICAgPGVudHJ5LWF1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCJjb250cm9sVHlwZS5hdXRvY29tcGxldGVcIiBbc2VhcmNoRmlsdGVyXT1cImFzQXV0b2NvbXBsZXRlU2VhcmNoRmlsdGVyKHNlYXJjaEZpbHRlcilcIj48L2VudHJ5LWF1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyPlxyXG4gICAgICAgICAgICA8ZW50cnktZGF0ZS10aW1lLXNlYXJjaC1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cImNvbnRyb2xUeXBlLmRhdGVUaW1lXCIgW3NlYXJjaEZpbHRlcl09XCJhc0RhdGVUaW1lU2VhcmNoRmlsdGVyKHNlYXJjaEZpbHRlcilcIiBbZm9ybV09XCJzZWFyY2hGaWx0ZXJGb3JtXCI+PC9lbnRyeS1kYXRlLXRpbWUtc2VhcmNoLWZpbHRlcj5cclxuICAgICAgICAgICAgPGVudHJ5LWRhdGUtc2VhcmNoLWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiY29udHJvbFR5cGUuZGF0ZVwiIFtzZWFyY2hGaWx0ZXJdPVwiYXNEYXRlU2VhcmNoRmlsdGVyKHNlYXJjaEZpbHRlcilcIiBbZm9ybV09XCJzZWFyY2hGaWx0ZXJGb3JtXCI+PC9lbnRyeS1kYXRlLXNlYXJjaC1maWx0ZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlbnRyeS1zZWFyY2gtZmlsdGVyLWFjdGlvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gZW50cnktc3VibWl0LWJ1dHRvbj5cclxuICAgICAgICAgICAgPHNwYW4+e3tjb25maWcuYXBwbHlCdXR0b25UZXh0fX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuPC9mb3JtPiJdfQ==
|