@enigmatry/entry-components 19.0.1-preview.4 → 19.1.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/fesm2022/enigmatry-entry-components-button.mjs +8 -8
- package/fesm2022/enigmatry-entry-components-button.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-common.mjs +35 -35
- package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +11 -11
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-dialog.mjs +20 -20
- 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 +11 -11
- package/fesm2022/enigmatry-entry-components-permissions.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-search-filter.mjs +63 -64
- 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 +17 -17
- package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-validation.mjs +11 -11
- 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 +1 -1
- package/search-filter/entry-search-filter.component.d.ts +14 -14
- package/search-filter/search-filter-base.model.d.ts +4 -1
- package/styles/modules/_default-theme.scss +24 -3
- package/styles/modules/components/buttons/_generator.scss +3 -3
- package/styles/modules/components/buttons/_radio.scss +20 -2
- package/styles/modules/components/checkboxes/_generator.scss +19 -2
- package/styles/modules/components/inputs/_generator.scss +59 -5
- package/styles/modules/vendors/angular-material/_generator.scss +1 -1
- package/styles/partials/generator-test.scss +11 -9
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, inject,
|
|
2
|
+
import { Pipe, inject, Input, Directive, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { NgIf, CommonModule } from '@angular/common';
|
|
5
5
|
|
|
@@ -13,10 +13,10 @@ class EntryPermissionPipe {
|
|
|
13
13
|
transform(permissions) {
|
|
14
14
|
return this.permissionsService.hasPermissions(permissions);
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
17
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionPipe, deps: [{ token: EntryPermissionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionPipe, isStandalone: false, name: "entryHasPermissions" }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionPipe, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{
|
|
22
22
|
name: 'entryHasPermissions',
|
|
@@ -35,10 +35,10 @@ class EntryPermissionDirective {
|
|
|
35
35
|
set except(permissions) {
|
|
36
36
|
this.ngIfDirective.ngIf = !this.permissionService.hasPermissions(permissions);
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: EntryPermissionDirective, isStandalone: false, selector: "[entryPermissionsOnly],[entryPermissionsExcept]", inputs: { only: ["entryPermissionsOnly", "only"], except: ["entryPermissionsExcept", "except"] }, hostDirectives: [{ directive: i1.NgIf }], ngImport: i0 }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionDirective, decorators: [{
|
|
42
42
|
type: Directive,
|
|
43
43
|
args: [{
|
|
44
44
|
selector: '[entryPermissionsOnly],[entryPermissionsExcept]',
|
|
@@ -68,13 +68,13 @@ const entryPermissionGuard = (route, _state) => {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
class EntryPermissionModule {
|
|
71
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
72
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
71
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
72
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionModule, declarations: [EntryPermissionDirective,
|
|
73
73
|
EntryPermissionPipe], imports: [CommonModule], exports: [EntryPermissionDirective,
|
|
74
74
|
EntryPermissionPipe] }); }
|
|
75
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
75
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionModule, imports: [CommonModule] }); }
|
|
76
76
|
}
|
|
77
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntryPermissionModule, decorators: [{
|
|
78
78
|
type: NgModule,
|
|
79
79
|
args: [{
|
|
80
80
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enigmatry-entry-components-permissions.mjs","sources":["../../../../libs/entry-components/permissions/permission.service.ts","../../../../libs/entry-components/permissions/permission.pipe.ts","../../../../libs/entry-components/permissions/permission.directive.ts","../../../../libs/entry-components/permissions/permission.guard.ts","../../../../libs/entry-components/permissions/permission.module.ts","../../../../libs/entry-components/permissions/enigmatry-entry-components-permissions.ts"],"sourcesContent":["import { PermissionType } from './permission-type';\r\n\r\nexport abstract class EntryPermissionService<T extends PermissionType> {\r\n public abstract hasPermissions(permissions: T[]): boolean;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { PermissionType } from './permission-type';\nimport { EntryPermissionService } from './permission.service';\n\n@Pipe({\n name: 'entryHasPermissions',\n standalone: false\n})\nexport class EntryPermissionPipe<T extends PermissionType> implements PipeTransform {\n constructor(private permissionsService: EntryPermissionService<T>) { }\n\n transform(permissions: T[]): boolean {\n return this.permissionsService.hasPermissions(permissions);\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Directive, Input, inject } from '@angular/core';\nimport { PermissionType } from './permission-type';\nimport { EntryPermissionService } from './permission.service';\n\n@Directive({\n selector: '[entryPermissionsOnly],[entryPermissionsExcept]',\n hostDirectives: [{\n directive: NgIf\n }],\n standalone: false\n})\nexport class EntryPermissionDirective<T extends PermissionType> {\n private ngIfDirective = inject(NgIf);\n private permissionService = inject(EntryPermissionService<T>);\n\n @Input('entryPermissionsOnly') set only(permissions: T[]) {\n this.ngIfDirective.ngIf = this.permissionService.hasPermissions(permissions);\n }\n\n @Input('entryPermissionsExcept') set except(permissions: T[]) {\n this.ngIfDirective.ngIf = !this.permissionService.hasPermissions(permissions);\n }\n}\n","import { inject } from '@angular/core';\r\nimport { CanActivateFn, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { PermissionType } from './permission-type';\r\nimport { EntryPermissionService } from './permission.service';\r\n\r\ninterface RoutePermissionConfig<T extends PermissionType> {\r\n only?: T[];\r\n except?: T[];\r\n}\r\n\r\nexport const entryPermissionGuard: CanActivateFn =\r\n<T extends PermissionType> (route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\r\n const permissionService = inject(EntryPermissionService);\r\n const routePermissions = route.data.permissions as RoutePermissionConfig<T> ?? {};\r\n\r\n if (routePermissions.only) {\r\n return permissionService.hasPermissions(routePermissions.only);\r\n }\r\n if (routePermissions.except) {\r\n return !permissionService.hasPermissions(routePermissions.except);\r\n }\r\n\r\n return false;\r\n};\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EntryPermissionDirective } from './permission.directive';\nimport { EntryPermissionPipe } from './permission.pipe';\n\n@NgModule({\n declarations: [\n EntryPermissionDirective,\n EntryPermissionPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n EntryPermissionDirective,\n EntryPermissionPipe\n ]\n})\nexport class EntryPermissionModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.EntryPermissionService"],"mappings":";;;;;MAEsB,sBAAsB,CAAA;AAE3C;;MCIY,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAAoB,kBAA6C,EAAA;QAA7C,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB;;AAEtC,IAAA,SAAS,CAAC,WAAgB,EAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"enigmatry-entry-components-permissions.mjs","sources":["../../../../libs/entry-components/permissions/permission.service.ts","../../../../libs/entry-components/permissions/permission.pipe.ts","../../../../libs/entry-components/permissions/permission.directive.ts","../../../../libs/entry-components/permissions/permission.guard.ts","../../../../libs/entry-components/permissions/permission.module.ts","../../../../libs/entry-components/permissions/enigmatry-entry-components-permissions.ts"],"sourcesContent":["import { PermissionType } from './permission-type';\r\n\r\nexport abstract class EntryPermissionService<T extends PermissionType> {\r\n public abstract hasPermissions(permissions: T[]): boolean;\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { PermissionType } from './permission-type';\nimport { EntryPermissionService } from './permission.service';\n\n@Pipe({\n name: 'entryHasPermissions',\n standalone: false\n})\nexport class EntryPermissionPipe<T extends PermissionType> implements PipeTransform {\n constructor(private permissionsService: EntryPermissionService<T>) { }\n\n transform(permissions: T[]): boolean {\n return this.permissionsService.hasPermissions(permissions);\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Directive, Input, inject } from '@angular/core';\nimport { PermissionType } from './permission-type';\nimport { EntryPermissionService } from './permission.service';\n\n@Directive({\n selector: '[entryPermissionsOnly],[entryPermissionsExcept]',\n hostDirectives: [{\n directive: NgIf\n }],\n standalone: false\n})\nexport class EntryPermissionDirective<T extends PermissionType> {\n private ngIfDirective = inject(NgIf);\n private permissionService = inject(EntryPermissionService<T>);\n\n @Input('entryPermissionsOnly') set only(permissions: T[]) {\n this.ngIfDirective.ngIf = this.permissionService.hasPermissions(permissions);\n }\n\n @Input('entryPermissionsExcept') set except(permissions: T[]) {\n this.ngIfDirective.ngIf = !this.permissionService.hasPermissions(permissions);\n }\n}\n","import { inject } from '@angular/core';\r\nimport { CanActivateFn, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { PermissionType } from './permission-type';\r\nimport { EntryPermissionService } from './permission.service';\r\n\r\ninterface RoutePermissionConfig<T extends PermissionType> {\r\n only?: T[];\r\n except?: T[];\r\n}\r\n\r\nexport const entryPermissionGuard: CanActivateFn =\r\n<T extends PermissionType> (route: ActivatedRouteSnapshot, _state: RouterStateSnapshot) => {\r\n const permissionService = inject(EntryPermissionService);\r\n const routePermissions = route.data.permissions as RoutePermissionConfig<T> ?? {};\r\n\r\n if (routePermissions.only) {\r\n return permissionService.hasPermissions(routePermissions.only);\r\n }\r\n if (routePermissions.except) {\r\n return !permissionService.hasPermissions(routePermissions.except);\r\n }\r\n\r\n return false;\r\n};\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EntryPermissionDirective } from './permission.directive';\nimport { EntryPermissionPipe } from './permission.pipe';\n\n@NgModule({\n declarations: [\n EntryPermissionDirective,\n EntryPermissionPipe\n ],\n imports: [\n CommonModule\n ],\n exports: [\n EntryPermissionDirective,\n EntryPermissionPipe\n ]\n})\nexport class EntryPermissionModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.EntryPermissionService"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Input, ChangeDetectionStrategy, Component, Inject, inject, EventEmitter, DestroyRef, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/forms';
|
|
4
4
|
import { FormControl, UntypedFormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import { createInjectionToken, provideConfig,
|
|
5
|
+
import { createInjectionToken, provideConfig, EntryDateTimeAdapter, ENTRY_MAT_DATE_TIME_FORMATS } from '@enigmatry/entry-components/common';
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
7
|
import * as i1$1 from '@angular/common';
|
|
7
8
|
import { CommonModule } from '@angular/common';
|
|
8
9
|
import * as i3$1 from '@angular/material/button';
|
|
@@ -26,6 +27,15 @@ import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
|
26
27
|
import * as i4$1 from '@angular/material/datepicker';
|
|
27
28
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
28
29
|
|
|
30
|
+
var ControlType;
|
|
31
|
+
(function (ControlType) {
|
|
32
|
+
ControlType["text"] = "text-input";
|
|
33
|
+
ControlType["select"] = "select-input";
|
|
34
|
+
ControlType["autocomplete"] = "autocomplete-input";
|
|
35
|
+
ControlType["date"] = "date-input";
|
|
36
|
+
ControlType["dateTime"] = "date-time-input";
|
|
37
|
+
})(ControlType || (ControlType = {}));
|
|
38
|
+
|
|
29
39
|
/**
|
|
30
40
|
* Used to provide entry search filter configuration on module level.
|
|
31
41
|
*/
|
|
@@ -43,20 +53,11 @@ function provideEntrySearchFilterConfig(config) {
|
|
|
43
53
|
return provideConfig(ENTRY_SEARCH_FILTER_CONFIG, () => new EntrySearchFilterConfig(config));
|
|
44
54
|
}
|
|
45
55
|
|
|
46
|
-
var ControlType;
|
|
47
|
-
(function (ControlType) {
|
|
48
|
-
ControlType["text"] = "text-input";
|
|
49
|
-
ControlType["select"] = "select-input";
|
|
50
|
-
ControlType["autocomplete"] = "autocomplete-input";
|
|
51
|
-
ControlType["date"] = "date-input";
|
|
52
|
-
ControlType["dateTime"] = "date-time-input";
|
|
53
|
-
})(ControlType || (ControlType = {}));
|
|
54
|
-
|
|
55
56
|
class TextSearchFilterComponent {
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
57
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TextSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TextSearchFilterComponent, isStandalone: false, selector: "entry-text-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 [formControlName]=\"searchFilter.key\" [id]=\"searchFilter.key\" [type]=\"searchFilter.type\" matInput\n [placeholder]=\"searchFilter.placeholder\" [maxlength]=\"searchFilter.maxLength\">\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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { 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", "disabledInteractive"], 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: i5.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
58
59
|
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TextSearchFilterComponent, decorators: [{
|
|
60
61
|
type: Component,
|
|
61
62
|
args: [{ selector: 'entry-text-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <input [formControlName]=\"searchFilter.key\" [id]=\"searchFilter.key\" [type]=\"searchFilter.type\" matInput\n [placeholder]=\"searchFilter.placeholder\" [maxlength]=\"searchFilter.maxLength\">\n <mat-error entryDisplayControlValidation [control]=\"form.get(searchFilter.key)\"></mat-error>\n</mat-form-field>" }]
|
|
62
63
|
}], propDecorators: { searchFilter: [{
|
|
@@ -69,10 +70,10 @@ class SelectSearchFilterComponent {
|
|
|
69
70
|
constructor(config) {
|
|
70
71
|
this.config = config;
|
|
71
72
|
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SelectSearchFilterComponent, deps: [{ token: ENTRY_SEARCH_FILTER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
74
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: SelectSearchFilterComponent, isStandalone: false, selector: "entry-select-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 <mat-select [formControlName]=\"searchFilter.key\" [id]=\"searchFilter.key\" [multiple]=\"searchFilter.multiSelect\">\n <mat-option *ngIf=\"!searchFilter.multiSelect && searchFilter.showNoneOption\" [value]=\"undefined\">\n {{config.noneSelectedOptionText}}\n </mat-option>\n <ng-container *ngIf=\"searchFilter.options$ !== undefined; else fixedSelectValues\">\n <mat-option *ngFor=\"let option of searchFilter.options$ | async\"\n [value]=\"option.key\">{{option.label}}</mat-option>\n </ng-container>\n <ng-template #fixedSelectValues>\n <mat-option *ngFor=\"let option of searchFilter.options\" [value]=\"option.key\">{{option.label}}</mat-option>\n </ng-template>\n </mat-select>\n <mat-error entryDisplayControlValidation [control]=\"form.get(searchFilter.key)\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "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: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
74
75
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: SelectSearchFilterComponent, decorators: [{
|
|
76
77
|
type: Component,
|
|
77
78
|
args: [{ selector: 'entry-select-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <mat-select [formControlName]=\"searchFilter.key\" [id]=\"searchFilter.key\" [multiple]=\"searchFilter.multiSelect\">\n <mat-option *ngIf=\"!searchFilter.multiSelect && searchFilter.showNoneOption\" [value]=\"undefined\">\n {{config.noneSelectedOptionText}}\n </mat-option>\n <ng-container *ngIf=\"searchFilter.options$ !== undefined; else fixedSelectValues\">\n <mat-option *ngFor=\"let option of searchFilter.options$ | async\"\n [value]=\"option.key\">{{option.label}}</mat-option>\n </ng-container>\n <ng-template #fixedSelectValues>\n <mat-option *ngFor=\"let option of searchFilter.options\" [value]=\"option.key\">{{option.label}}</mat-option>\n </ng-template>\n </mat-select>\n <mat-error entryDisplayControlValidation [control]=\"form.get(searchFilter.key)\"></mat-error>\n</mat-form-field>" }]
|
|
78
79
|
}], ctorParameters: () => [{ type: EntrySearchFilterConfig, decorators: [{
|
|
@@ -118,10 +119,10 @@ class AutocompleteSearchFilterComponent {
|
|
|
118
119
|
this.searchField.patchValue(null, { emitEvent: false });
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
122
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AutocompleteSearchFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AutocompleteSearchFilterComponent, isStandalone: false, 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { 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", "disabledInteractive"], 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: "component", type: i5$1.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: i5.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
123
124
|
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AutocompleteSearchFilterComponent, decorators: [{
|
|
125
126
|
type: Component,
|
|
126
127
|
args: [{ selector: 'entry-autocomplete-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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>" }]
|
|
127
128
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { searchFilter: [{
|
|
@@ -129,13 +130,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
|
|
|
129
130
|
}] } });
|
|
130
131
|
|
|
131
132
|
class DateTimeSearchFilterComponent {
|
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
133
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DateTimeSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: DateTimeSearchFilterComponent, isStandalone: false, selector: "entry-date-time-search-filter", inputs: { searchFilter: "searchFilter", form: "form" }, providers: [
|
|
134
135
|
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
135
136
|
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
136
137
|
], 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", "disabledInteractive"], 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$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }] }); }
|
|
137
138
|
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DateTimeSearchFilterComponent, decorators: [{
|
|
139
140
|
type: Component,
|
|
140
141
|
args: [{ selector: 'entry-date-time-search-filter', providers: [
|
|
141
142
|
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
@@ -148,10 +149,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
|
|
|
148
149
|
}] } });
|
|
149
150
|
|
|
150
151
|
class DateSearchFilterComponent {
|
|
151
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
152
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DateSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: DateSearchFilterComponent, isStandalone: false, 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", "disabledInteractive"], 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$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i5.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }] }); }
|
|
153
154
|
}
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DateSearchFilterComponent, decorators: [{
|
|
155
156
|
type: Component,
|
|
156
157
|
args: [{ selector: 'entry-date-search-filter', standalone: false, 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>" }]
|
|
157
158
|
}], propDecorators: { searchFilter: [{
|
|
@@ -164,8 +165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
|
|
|
164
165
|
* Entry SearchFilter component.
|
|
165
166
|
*/
|
|
166
167
|
class EntrySearchFilterComponent {
|
|
167
|
-
constructor(
|
|
168
|
-
this.config = config;
|
|
168
|
+
constructor() {
|
|
169
169
|
/** Configuration of the search filters inputs that will be displayed in the search-filter component. */
|
|
170
170
|
this.searchFilters = [];
|
|
171
171
|
/**
|
|
@@ -173,6 +173,30 @@ class EntrySearchFilterComponent {
|
|
|
173
173
|
*/
|
|
174
174
|
this.searchFilterChange = new EventEmitter();
|
|
175
175
|
this.controlType = ControlType;
|
|
176
|
+
this.config = inject(ENTRY_SEARCH_FILTER_CONFIG);
|
|
177
|
+
this._destroyRef = inject(DestroyRef);
|
|
178
|
+
this.toFormGroup = (searchFilters) => {
|
|
179
|
+
const group = {};
|
|
180
|
+
searchFilters.forEach(searchFilter => {
|
|
181
|
+
const formControl = searchFilter.toFormControl();
|
|
182
|
+
group[searchFilter.key] = formControl;
|
|
183
|
+
searchFilter.formControl = formControl;
|
|
184
|
+
if (searchFilter.formatValue) {
|
|
185
|
+
formControl.valueChanges
|
|
186
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
187
|
+
.subscribe(value => {
|
|
188
|
+
const formatted = searchFilter.formatValue?.(value);
|
|
189
|
+
formControl.setValue(formatted, { emitEvent: false });
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
return new UntypedFormGroup(group);
|
|
194
|
+
};
|
|
195
|
+
this.asTextSearchFilter = (searchFilter) => searchFilter;
|
|
196
|
+
this.asSelectSearchFilter = (searchFilter) => searchFilter;
|
|
197
|
+
this.asAutocompleteSearchFilter = (searchFilter) => searchFilter;
|
|
198
|
+
this.asDateTimeSearchFilter = (searchFilter) => searchFilter;
|
|
199
|
+
this.asDateSearchFilter = (searchFilter) => searchFilter;
|
|
176
200
|
}
|
|
177
201
|
ngOnInit() {
|
|
178
202
|
this.searchFilterForm = this.toFormGroup(this.searchFilters);
|
|
@@ -181,40 +205,13 @@ class EntrySearchFilterComponent {
|
|
|
181
205
|
const formValue = this.searchFilterForm.value;
|
|
182
206
|
this.searchFilterChange.emit(formValue);
|
|
183
207
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
searchFilters.forEach(searchFilter => {
|
|
187
|
-
const formControl = searchFilter.toFormControl();
|
|
188
|
-
group[searchFilter.key] = formControl;
|
|
189
|
-
searchFilter.formControl = formControl;
|
|
190
|
-
});
|
|
191
|
-
return new UntypedFormGroup(group);
|
|
192
|
-
}
|
|
193
|
-
asTextSearchFilter(searchFilter) {
|
|
194
|
-
return searchFilter;
|
|
195
|
-
}
|
|
196
|
-
asSelectSearchFilter(searchFilter) {
|
|
197
|
-
return searchFilter;
|
|
198
|
-
}
|
|
199
|
-
asAutocompleteSearchFilter(searchFilter) {
|
|
200
|
-
return searchFilter;
|
|
201
|
-
}
|
|
202
|
-
asDateTimeSearchFilter(searchFilter) {
|
|
203
|
-
return searchFilter;
|
|
204
|
-
}
|
|
205
|
-
asDateSearchFilter(searchFilter) {
|
|
206
|
-
return searchFilter;
|
|
207
|
-
}
|
|
208
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: EntrySearchFilterComponent, deps: [{ token: ENTRY_SEARCH_FILTER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
209
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.3", type: EntrySearchFilterComponent, isStandalone: false, 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4$2.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: TextSearchFilterComponent, selector: "entry-text-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: SelectSearchFilterComponent, selector: "entry-select-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: AutocompleteSearchFilterComponent, selector: "entry-autocomplete-search-filter", inputs: ["searchFilter"] }, { kind: "component", type: DateTimeSearchFilterComponent, selector: "entry-date-time-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: DateSearchFilterComponent, selector: "entry-date-search-filter", inputs: ["searchFilter", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
208
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntrySearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
209
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EntrySearchFilterComponent, isStandalone: false, 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$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: "component", type: i3$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4$2.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: TextSearchFilterComponent, selector: "entry-text-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: SelectSearchFilterComponent, selector: "entry-select-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: AutocompleteSearchFilterComponent, selector: "entry-autocomplete-search-filter", inputs: ["searchFilter"] }, { kind: "component", type: DateTimeSearchFilterComponent, selector: "entry-date-time-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: DateSearchFilterComponent, selector: "entry-date-search-filter", inputs: ["searchFilter", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
210
210
|
}
|
|
211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntrySearchFilterComponent, decorators: [{
|
|
212
212
|
type: Component,
|
|
213
213
|
args: [{ selector: 'entry-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, 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>" }]
|
|
214
|
-
}],
|
|
215
|
-
type: Inject,
|
|
216
|
-
args: [ENTRY_SEARCH_FILTER_CONFIG]
|
|
217
|
-
}] }], propDecorators: { searchFilters: [{
|
|
214
|
+
}], propDecorators: { searchFilters: [{
|
|
218
215
|
type: Input
|
|
219
216
|
}], searchFilterChange: [{
|
|
220
217
|
type: Output
|
|
@@ -225,13 +222,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
|
|
|
225
222
|
*/
|
|
226
223
|
class SearchFilterBase {
|
|
227
224
|
constructor(options = {}) {
|
|
225
|
+
this.maxPossibleLength = 256;
|
|
228
226
|
this.value = options.value;
|
|
229
227
|
this.key = options.key || '';
|
|
230
228
|
this.label = options.label || '';
|
|
231
229
|
this.placeholder = options.placeholder || '';
|
|
232
230
|
this.controlType = options.controlType || ControlType.text;
|
|
233
231
|
this.type = options.type || ControlType.text;
|
|
234
|
-
this.maxLength = options.maxLength ||
|
|
232
|
+
this.maxLength = options.maxLength || this.maxPossibleLength;
|
|
233
|
+
this.formatValue = options.formatValue;
|
|
235
234
|
}
|
|
236
235
|
setValue(value) {
|
|
237
236
|
this.value = value;
|
|
@@ -327,8 +326,8 @@ class DateSearchFilter extends SearchFilterBase {
|
|
|
327
326
|
}
|
|
328
327
|
|
|
329
328
|
class EntrySearchFilterModule {
|
|
330
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
331
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
329
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntrySearchFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
330
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: EntrySearchFilterModule, declarations: [EntrySearchFilterComponent,
|
|
332
331
|
TextSearchFilterComponent,
|
|
333
332
|
SelectSearchFilterComponent,
|
|
334
333
|
AutocompleteSearchFilterComponent,
|
|
@@ -344,7 +343,7 @@ class EntrySearchFilterModule {
|
|
|
344
343
|
MatDatepickerModule,
|
|
345
344
|
MatFormFieldModule,
|
|
346
345
|
EntryValidationModule], exports: [EntrySearchFilterComponent] }); }
|
|
347
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
346
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntrySearchFilterModule, imports: [CommonModule,
|
|
348
347
|
FormsModule,
|
|
349
348
|
ReactiveFormsModule,
|
|
350
349
|
MatInputModule,
|
|
@@ -356,7 +355,7 @@ class EntrySearchFilterModule {
|
|
|
356
355
|
MatFormFieldModule,
|
|
357
356
|
EntryValidationModule] }); }
|
|
358
357
|
}
|
|
359
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EntrySearchFilterModule, decorators: [{
|
|
360
359
|
type: NgModule,
|
|
361
360
|
args: [{
|
|
362
361
|
declarations: [
|