@enigmatry/entry-components 15.0.1-preview.6 → 15.1.0-preview.2
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 +5 -0
- package/esm2020/modules/entry-components.module.mjs +5 -1
- package/esm2020/public-api.mjs +2 -1
- package/esm2020/search-filter/autocomplete/autocomplete-search-filter.component.mjs +50 -0
- package/esm2020/search-filter/autocomplete/autocomplete-search-filter.model.mjs +19 -0
- package/esm2020/search-filter/control-type.mjs +7 -0
- package/esm2020/search-filter/entry-search-filter.component.mjs +19 -6
- package/esm2020/search-filter/entry-search-filter.module.mjs +14 -8
- package/esm2020/search-filter/public-api.mjs +6 -5
- package/esm2020/search-filter/search-filter-base.model.mjs +26 -0
- package/esm2020/search-filter/select/select-search-filter.component.mjs +28 -0
- package/esm2020/search-filter/select/select-search-filter.model.mjs +23 -0
- package/esm2020/search-filter/select-option.model.mjs +12 -0
- package/esm2020/search-filter/text/text-search-filter.component.mjs +18 -0
- package/esm2020/search-filter/text/text-search-filter.model.mjs +12 -0
- package/esm2020/spinner/enigmatry-entry-components-spinner.mjs +5 -0
- package/esm2020/spinner/entry-spinner/spinner.component.mjs +81 -0
- package/esm2020/spinner/public-api.mjs +3 -0
- package/esm2020/spinner/spinner-overlay-container.mjs +42 -0
- package/esm2020/spinner/spinner.module.mjs +32 -0
- package/fesm2015/enigmatry-entry-components-search-filter.mjs +116 -33
- package/fesm2015/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/fesm2015/enigmatry-entry-components-spinner.mjs +156 -0
- package/fesm2015/enigmatry-entry-components-spinner.mjs.map +1 -0
- package/fesm2015/enigmatry-entry-components.mjs +5 -0
- package/fesm2015/enigmatry-entry-components.mjs.map +1 -1
- package/fesm2020/enigmatry-entry-components-search-filter.mjs +115 -33
- package/fesm2020/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/fesm2020/enigmatry-entry-components-spinner.mjs +153 -0
- package/fesm2020/enigmatry-entry-components-spinner.mjs.map +1 -0
- package/fesm2020/enigmatry-entry-components.mjs +5 -0
- package/fesm2020/enigmatry-entry-components.mjs.map +1 -1
- package/modules/entry-components.module.d.ts +3 -2
- package/package.json +9 -1
- package/public-api.d.ts +1 -0
- package/search-filter/README.md +45 -17
- package/search-filter/autocomplete/autocomplete-search-filter.component.d.ts +21 -0
- package/search-filter/autocomplete/autocomplete-search-filter.model.d.ts +19 -0
- package/search-filter/control-type.d.ts +5 -0
- package/search-filter/entry-search-filter.component.d.ts +9 -1
- package/search-filter/entry-search-filter.module.d.ts +11 -9
- package/search-filter/public-api.d.ts +5 -4
- package/search-filter/{search-filter-input/search-filter-base.model.d.ts → search-filter-base.model.d.ts} +3 -2
- package/search-filter/select/select-search-filter.component.d.ts +14 -0
- package/search-filter/{search-filter-input/inputs → select}/select-search-filter.model.d.ts +5 -4
- package/search-filter/{search-filter-input/inputs/select-filter-option.model.d.ts → select-option.model.d.ts} +2 -2
- package/search-filter/text/text-search-filter.component.d.ts +10 -0
- package/search-filter/{search-filter-input/inputs → text}/text-search-filter.model.d.ts +2 -1
- package/spinner/README.md +37 -0
- package/spinner/entry-spinner/spinner.component.d.ts +24 -0
- package/spinner/index.d.ts +5 -0
- package/spinner/public-api.d.ts +2 -0
- package/spinner/spinner-overlay-container.d.ts +17 -0
- package/spinner/spinner.module.d.ts +10 -0
- package/styles/modules/_default-theme.scss +12 -4
- package/styles/modules/vendors/angular-material/_typography-generator.scss +14 -7
- package/esm2020/search-filter/search-filter-input/control-type.model.mjs +0 -5
- package/esm2020/search-filter/search-filter-input/inputs/select-filter-option.model.mjs +0 -12
- package/esm2020/search-filter/search-filter-input/inputs/select-search-filter.model.mjs +0 -23
- package/esm2020/search-filter/search-filter-input/inputs/text-search-filter.model.mjs +0 -12
- package/esm2020/search-filter/search-filter-input/search-filter-base.model.mjs +0 -25
- package/esm2020/search-filter/search-filter-input/search-filter-input.component.mjs +0 -36
- package/search-filter/search-filter-input/control-type.model.d.ts +0 -4
- package/search-filter/search-filter-input/search-filter-input.component.d.ts +0 -18
package/README.md
CHANGED
|
@@ -10,6 +10,11 @@ npm install @enigmatry/entry-components
|
|
|
10
10
|
|
|
11
11
|
## Basic Usage
|
|
12
12
|
|
|
13
|
+
### Theming configuration guide
|
|
14
|
+
|
|
15
|
+
For detailed instructions on configuring the theming of entry components, refer to the
|
|
16
|
+
[Theming Configuration Guide](configure-theming.md)
|
|
17
|
+
|
|
13
18
|
## Compatibility with Angular Versions
|
|
14
19
|
|
|
15
20
|
| @enigmatry/entry-components | Angular version
|
|
@@ -7,6 +7,7 @@ import { EntryValidationModule } from '@enigmatry/entry-components/validation';
|
|
|
7
7
|
import { EntryFileInputModule } from '@enigmatry/entry-components/file-input';
|
|
8
8
|
import { EntryTableModule } from '@enigmatry/entry-components/table';
|
|
9
9
|
import { EntryCommonModule, NG_EVENT_PLUGINS } from '@enigmatry/entry-components/common';
|
|
10
|
+
import { EntrySpinnerModule } from '@enigmatry/entry-components/spinner';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
/**
|
|
12
13
|
* Exports all entry components.
|
|
@@ -35,6 +36,7 @@ EntryComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
|
|
|
35
36
|
EntryValidationModule,
|
|
36
37
|
EntryPermissionModule,
|
|
37
38
|
EntrySearchFilterModule,
|
|
39
|
+
EntrySpinnerModule,
|
|
38
40
|
EntryTableModule] });
|
|
39
41
|
EntryComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryComponentsModule, imports: [EntryButtonModule,
|
|
40
42
|
EntryCommonModule,
|
|
@@ -43,6 +45,7 @@ EntryComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", v
|
|
|
43
45
|
EntryValidationModule,
|
|
44
46
|
EntryPermissionModule,
|
|
45
47
|
EntrySearchFilterModule,
|
|
48
|
+
EntrySpinnerModule,
|
|
46
49
|
EntryTableModule] });
|
|
47
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryComponentsModule, decorators: [{
|
|
48
51
|
type: NgModule,
|
|
@@ -56,8 +59,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
56
59
|
EntryValidationModule,
|
|
57
60
|
EntryPermissionModule,
|
|
58
61
|
EntrySearchFilterModule,
|
|
62
|
+
EntrySpinnerModule,
|
|
59
63
|
EntryTableModule
|
|
60
64
|
]
|
|
61
65
|
}]
|
|
62
66
|
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvbW9kdWxlcy9lbnRyeS1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBTXpFOzs7Ozs7R0FNRztBQWVILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUF3QyxFQUFFO1FBRXZELE1BQU0seUJBQXlCLEdBQWUsT0FBTyxDQUFDLGlCQUFpQjtZQUNyRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLE1BQU0sU0FBUyxHQUFlLENBQUMsR0FBRyx5QkFBeUIsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDbEYsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUztTQUNWLENBQUM7SUFDSixDQUFDOzttSEFaVSxxQkFBcUI7b0hBQXJCLHFCQUFxQixZQVg5QixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtvSEFHUCxxQkFBcUIsWUFYOUIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLGtCQUFrQjtRQUNsQixnQkFBZ0I7NEZBR1AscUJBQXFCO2tCQWRqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW50cnlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcclxuaW1wb3J0IHsgRW50cnlEaWFsb2dNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZGlhbG9nJztcclxuaW1wb3J0IHsgRW50cnlQZXJtaXNzaW9uTW9kdWxlLCBFbnRyeVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3Blcm1pc3Npb25zJztcclxuaW1wb3J0IHsgRW50cnlTZWFyY2hGaWx0ZXJNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlcic7XHJcbmltcG9ydCB7IEVudHJ5VmFsaWRhdGlvbk1vZHVsZSB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgRW50cnlGaWxlSW5wdXRNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dCc7XHJcbmltcG9ydCB7IEVudHJ5VGFibGVNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvdGFibGUnO1xyXG5pbXBvcnQgeyBFbnRyeUNvbW1vbk1vZHVsZSwgTkdfRVZFTlRfUExVR0lOUyB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBFbnRyeVNwaW5uZXJNb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvc3Bpbm5lcic7XHJcblxyXG5pbnRlcmZhY2UgRW50cnlDb21wb25lbnRzTW9kdWxlT3B0aW9ucyB7XHJcbiAgcGVybWlzc2lvblNlcnZpY2U/OiBUeXBlPGFueT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFeHBvcnRzIGFsbCBlbnRyeSBjb21wb25lbnRzLlxyXG4gKlxyXG4gKiBVc2FnZVxyXG4gKiBpbXBvcnQgRW50cnlDb21wb25lbnRzTW9kdWxlIGluIHNoYXJlZC5tb2R1bGUudHMgdG8gaGF2ZSBhY2Nlc3MgdG8gYWxsIGNvbXBvbmVudHMsIGRpcmVjdGl2ZXMsIHBpcGVzLlxyXG4gKiBpbXBvcnQgRW50cnlDb21wb25lbnRzTW9kdWxlLmZvclJvb3QoKSBpbiBhcHAubW9kdWxlLnRzIHRvIHJlZ2lzdGVyIHJvb3QgbW9kdWxlIHByb3ZpZGVycy5cclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBFbnRyeUJ1dHRvbk1vZHVsZSxcclxuICAgIEVudHJ5Q29tbW9uTW9kdWxlLFxyXG4gICAgRW50cnlEaWFsb2dNb2R1bGUsXHJcbiAgICBFbnRyeUZpbGVJbnB1dE1vZHVsZSxcclxuICAgIEVudHJ5VmFsaWRhdGlvbk1vZHVsZSxcclxuICAgIEVudHJ5UGVybWlzc2lvbk1vZHVsZSxcclxuICAgIEVudHJ5U2VhcmNoRmlsdGVyTW9kdWxlLFxyXG4gICAgRW50cnlTcGlubmVyTW9kdWxlLFxyXG4gICAgRW50cnlUYWJsZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEVudHJ5Q29tcG9uZW50c01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogRW50cnlDb21wb25lbnRzTW9kdWxlT3B0aW9ucyA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxFbnRyeUNvbXBvbmVudHNNb2R1bGU+IHtcclxuXHJcbiAgICBjb25zdCBwZXJtaXNzaW9uU2VydmljZVByb3ZpZGVyOiBQcm92aWRlcltdID0gb3B0aW9ucy5wZXJtaXNzaW9uU2VydmljZVxyXG4gICAgICA/IFt7IHByb3ZpZGU6IEVudHJ5UGVybWlzc2lvblNlcnZpY2UsIHVzZUNsYXNzOiBvcHRpb25zLnBlcm1pc3Npb25TZXJ2aWNlIH1dXHJcbiAgICAgIDogW107XHJcblxyXG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gWy4uLnBlcm1pc3Npb25TZXJ2aWNlUHJvdmlkZXIsIC4uLk5HX0VWRU5UX1BMVUdJTlNdO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEVudHJ5Q29tcG9uZW50c01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -7,7 +7,8 @@ export * from '@enigmatry/entry-components/dialog';
|
|
|
7
7
|
export * from '@enigmatry/entry-components/file-input';
|
|
8
8
|
export * from '@enigmatry/entry-components/permissions';
|
|
9
9
|
export * from '@enigmatry/entry-components/search-filter';
|
|
10
|
+
export * from '@enigmatry/entry-components/spinner';
|
|
10
11
|
export * from '@enigmatry/entry-components/validation';
|
|
11
12
|
export * from '@enigmatry/entry-components/table';
|
|
12
13
|
export { EntryComponentsModule } from './modules/entry-components.module';
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZW50cnktY29tcG9uZW50c1xuICovXG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL2RpYWxvZyc7XG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvZmlsZS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvcGVybWlzc2lvbnMnO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3NwaW5uZXInO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3ZhbGlkYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQGVuaWdtYXRyeS9lbnRyeS1jb21wb25lbnRzL3RhYmxlJztcblxuZXhwb3J0IHsgRW50cnlDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2VudHJ5LWNvbXBvbmVudHMubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { FormControlName } 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
|
+
export class AutocompleteSearchFilterComponent {
|
|
13
|
+
constructor(cdr) {
|
|
14
|
+
this.cdr = cdr;
|
|
15
|
+
this.options$ = of([]);
|
|
16
|
+
this.options = [];
|
|
17
|
+
this.destroy$ = new Subject();
|
|
18
|
+
this.displayFn = (selectedKey) => this.options.find(x => x.key === selectedKey)?.label;
|
|
19
|
+
}
|
|
20
|
+
ngAfterViewInit() {
|
|
21
|
+
this.searchField
|
|
22
|
+
.valueChanges
|
|
23
|
+
.pipe(takeUntil(this.destroy$), filter(value => value?.length >= this.searchFilter.minimumCharacters), debounceTime(this.searchFilter.debounceTime))
|
|
24
|
+
.subscribe(searchValue => {
|
|
25
|
+
// call search and retrieve options
|
|
26
|
+
this.options$ = this.searchFilter.search(searchValue)
|
|
27
|
+
.pipe(tap(options => this.options = options));
|
|
28
|
+
// mark for check because of the debounce
|
|
29
|
+
this.cdr.markForCheck();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
ngOnDestroy() {
|
|
33
|
+
this.destroy$.next();
|
|
34
|
+
this.destroy$.complete();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
AutocompleteSearchFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutocompleteSearchFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
AutocompleteSearchFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AutocompleteSearchFilterComponent, selector: "entry-autocomplete-search-filter", inputs: { searchFilter: "searchFilter", form: "form" }, viewQueries: [{ propertyName: "searchField", first: true, predicate: FormControlName, descendants: true }], ngImport: i0, template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label>{{searchFilter.label}}</mat-label>\n <input type=\"text\" matInput [placeholder]=\"searchFilter.placeholder\"\n [formControlName]=\"searchFilter.key\" [id]=\"searchFilter.key\" [matAutocomplete]=\"auto\">\n <mat-autocomplete [displayWith]=\"displayFn\" #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let option of options$ | async\" [value]=\"option.key\">\n {{option.label}}\n </mat-option>\n </mat-autocomplete>\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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AutocompleteSearchFilterComponent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{ selector: 'entry-autocomplete-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label>{{searchFilter.label}}</mat-label>\n <input type=\"text\" matInput [placeholder]=\"searchFilter.placeholder\"\n [formControlName]=\"searchFilter.key\" [id]=\"searchFilter.key\" [matAutocomplete]=\"auto\">\n <mat-autocomplete [displayWith]=\"displayFn\" #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let option of options$ | async\" [value]=\"option.key\">\n {{option.label}}\n </mat-option>\n </mat-autocomplete>\n</mat-form-field>" }]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { searchFilter: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}], form: [{
|
|
45
|
+
type: Input
|
|
46
|
+
}], searchField: [{
|
|
47
|
+
type: ViewChild,
|
|
48
|
+
args: [FormControlName]
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBYyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFTdEUsTUFBTSxPQUFPLGlDQUFpQztJQVc1QyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUwxQyxhQUFRLEdBQWtDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxZQUFPLEdBQXNCLEVBQUUsQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQTZCL0IsY0FBUyxHQUFHLENBQUMsV0FBYyxFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBM0IvQyxDQUFDO0lBRS9DLGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVzthQUNiLFlBQVk7YUFDWixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEVBQ3JFLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUM3QzthQUNBLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QixtQ0FBbUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7aUJBQ2xELElBQUksQ0FDSCxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUN2QyxDQUFDO1lBRUoseUNBQXlDO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzsrSEFwQ1UsaUNBQWlDO21IQUFqQyxpQ0FBaUMsNktBSWpDLGVBQWUsZ0RDaEI1QixnakJBU2lCOzRGREdKLGlDQUFpQztrQkFMN0MsU0FBUzsrQkFDRSxrQ0FBa0MsbUJBRTNCLHVCQUF1QixDQUFDLE1BQU07d0dBR3RDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVzQixXQUFXO3NCQUF0QyxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbE5hbWUsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YXAsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vc2VsZWN0LW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXIgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50cnktYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXJDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBzZWFyY2hGaWx0ZXI6IEF1dG9jb21wbGV0ZVNlYXJjaEZpbHRlcjxUPjtcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICBAVmlld0NoaWxkKEZvcm1Db250cm9sTmFtZSkgc2VhcmNoRmllbGQ6IEZvcm1Db250cm9sTmFtZTtcblxuICBvcHRpb25zJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb248VD5bXT4gPSBvZihbXSk7XG4gIG9wdGlvbnM6IFNlbGVjdE9wdGlvbjxUPltdID0gW107XG5cbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoRmllbGRcbiAgICAgIC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgIGZpbHRlcih2YWx1ZSA9PiB2YWx1ZT8ubGVuZ3RoID49IHRoaXMuc2VhcmNoRmlsdGVyLm1pbmltdW1DaGFyYWN0ZXJzKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuc2VhcmNoRmlsdGVyLmRlYm91bmNlVGltZSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoc2VhcmNoVmFsdWUgPT4ge1xuICAgICAgICAvLyBjYWxsIHNlYXJjaCBhbmQgcmV0cmlldmUgb3B0aW9uc1xuICAgICAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5zZWFyY2hGaWx0ZXIuc2VhcmNoKHNlYXJjaFZhbHVlKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFwKG9wdGlvbnMgPT4gdGhpcy5vcHRpb25zID0gb3B0aW9ucylcbiAgICAgICAgICApO1xuXG4gICAgICAgIC8vIG1hcmsgZm9yIGNoZWNrIGJlY2F1c2Ugb2YgdGhlIGRlYm91bmNlXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBkaXNwbGF5Rm4gPSAoc2VsZWN0ZWRLZXk6IFQpOiBzdHJpbmcgPT4gdGhpcy5vcHRpb25zLmZpbmQoeCA9PiB4LmtleSA9PT0gc2VsZWN0ZWRLZXkpPy5sYWJlbDtcbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbZm9ybUdyb3VwXT1cImZvcm1cIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgPG1hdC1sYWJlbD57e3NlYXJjaEZpbHRlci5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cInNlYXJjaEZpbHRlci5wbGFjZWhvbGRlclwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwic2VhcmNoRmlsdGVyLmtleVwiIFtpZF09XCJzZWFyY2hGaWx0ZXIua2V5XCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCI+XG4gICAgPG1hdC1hdXRvY29tcGxldGUgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlGblwiICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9ucyQgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb24ua2V5XCI+XG4gICAgICAgICAgICB7e29wdGlvbi5sYWJlbH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8L21hdC1hdXRvY29tcGxldGU+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSS9EOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sd0JBQTRCLFNBQVEsZ0JBQW1CO0lBU2xFLFlBQVksVUFBZ0QsRUFBRTtRQUM1RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFUakIsZ0JBQVcsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBVXJDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuLi9jb250cm9sLXR5cGUnO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyQmFzZSB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZWFyY2ggZmlsdGVyIGF1dG9jb21wbGV0ZSBmaWVsZCBjb25maWd1cmF0aW9uLiBPcHRpb25zIGZvciB0aGUgYXV0b2NvbXBsZXRlIGFyZSBwcm92aWRlZFxuICogaW5kaXJlY3RseSB2aWEgdGhlIHNlYXJjaCBmdW5jdGlvbiB0aGF0IHRha2VzIGEgc3RyaW5nIGFuZCByZXR1cm5zIGFuIG9ic2VydmFibGUgYXJyYXkgb2ZcbiAqIFNlbGVjdE9wdGlvbjxUPlxuICovXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlU2VhcmNoRmlsdGVyPFQ+IGV4dGVuZHMgU2VhcmNoRmlsdGVyQmFzZTxUPntcbiAgY29udHJvbFR5cGUgPSBDb250cm9sVHlwZS5hdXRvY29tcGxldGU7XG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgYXV0b2NvbXBsZXRlIG9wdGlvbnMgKi9cbiAgc2VhcmNoOiAoaW5wdXQ6IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb248VD5bXT47XG4gIC8qKiBNaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgbXVzdCBlbnRlciB0byB0cmlnZ2VyIHRoZSBzZWFyY2ggZnVuY3Rpb24oZGVmYXVsdCBpcyAzKSAqL1xuICBtaW5pbXVtQ2hhcmFjdGVyczogbnVtYmVyO1xuICAvKiogRGVsYXkgaW4gdHlwaW5nIGJlZm9yZSB0cmlnZ2VyaW5nIHRoZSBzZWFyY2ggZnVuY3Rpb24gaW4gbWlsbGlzZWNvbmRzKGRlZmF1bHQgaXMgMzAwKSAqL1xuICBkZWJvdW5jZVRpbWU6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQYXJ0aWFsPEF1dG9jb21wbGV0ZVNlYXJjaEZpbHRlcjxUPj4gPSB7fSkge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIHRoaXMuc2VhcmNoID0gb3B0aW9ucy5zZWFyY2g7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IG9wdGlvbnMucGxhY2Vob2xkZXI7XG4gICAgdGhpcy5sYWJlbCA9IG9wdGlvbnMubGFiZWw7XG4gICAgdGhpcy5kZWJvdW5jZVRpbWUgPSBvcHRpb25zLmRlYm91bmNlVGltZSA/PyAzMDA7XG4gICAgdGhpcy5taW5pbXVtQ2hhcmFjdGVycyA9IG9wdGlvbnMubWluaW11bUNoYXJhY3RlcnMgPz8gMztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var ControlType;
|
|
2
|
+
(function (ControlType) {
|
|
3
|
+
ControlType["text"] = "text-input";
|
|
4
|
+
ControlType["select"] = "select-input";
|
|
5
|
+
ControlType["autocomplete"] = "autocomplete-input";
|
|
6
|
+
})(ControlType || (ControlType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvY29udHJvbC10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDbkIsa0NBQW1CLENBQUE7SUFDbkIsc0NBQXVCLENBQUE7SUFDdkIsa0RBQW1DLENBQUE7QUFDdkMsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ29udHJvbFR5cGUge1xuICAgIHRleHQgPSAndGV4dC1pbnB1dCcsXG4gICAgc2VsZWN0ID0gJ3NlbGVjdC1pbnB1dCcsXG4gICAgYXV0b2NvbXBsZXRlID0gJ2F1dG9jb21wbGV0ZS1pbnB1dCdcbn1cbiJdfQ==
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Inject, Input, Output } from '@angular/core';
|
|
2
2
|
import { UntypedFormGroup } from '@angular/forms';
|
|
3
3
|
import { ENTRY_SEARCH_FILTER_CONFIG } from './search-filter-config.model';
|
|
4
|
+
import { ControlType } from './control-type';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
import * as i1 from "@angular/common";
|
|
6
7
|
import * as i2 from "@angular/forms";
|
|
7
8
|
import * as i3 from "@angular/material/button";
|
|
8
9
|
import * as i4 from "@enigmatry/entry-components/button";
|
|
9
|
-
import * as i5 from "./
|
|
10
|
-
import * as i6 from "./search-filter
|
|
10
|
+
import * as i5 from "./text/text-search-filter.component";
|
|
11
|
+
import * as i6 from "./select/select-search-filter.component";
|
|
12
|
+
import * as i7 from "./autocomplete/autocomplete-search-filter.component";
|
|
13
|
+
import * as i8 from "./search-filter-config.model";
|
|
11
14
|
/**
|
|
12
15
|
* Entry SearchFilter component.
|
|
13
16
|
*/
|
|
@@ -20,6 +23,7 @@ export class EntrySearchFilterComponent {
|
|
|
20
23
|
* Emits the change in SearchFilterParams so the containing component can apply them and retrieve the filtered results.
|
|
21
24
|
*/
|
|
22
25
|
this.searchFilterChange = new EventEmitter();
|
|
26
|
+
this.controlType = ControlType;
|
|
23
27
|
}
|
|
24
28
|
ngOnInit() {
|
|
25
29
|
this.searchFilterForm = this.toFormGroup(this.searchFilters);
|
|
@@ -37,13 +41,22 @@ export class EntrySearchFilterComponent {
|
|
|
37
41
|
});
|
|
38
42
|
return new UntypedFormGroup(group);
|
|
39
43
|
}
|
|
44
|
+
asTextSearchFilter(searchFilter) {
|
|
45
|
+
return searchFilter;
|
|
46
|
+
}
|
|
47
|
+
asSelectSearchFilter(searchFilter) {
|
|
48
|
+
return searchFilter;
|
|
49
|
+
}
|
|
50
|
+
asAutocompleteSearchFilter(searchFilter) {
|
|
51
|
+
return searchFilter;
|
|
52
|
+
}
|
|
40
53
|
}
|
|
41
54
|
EntrySearchFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntrySearchFilterComponent, deps: [{ token: ENTRY_SEARCH_FILTER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
EntrySearchFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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 <div *ngFor=\"let searchFilter of searchFilters\" class=\"form-field\">\r\n <entry-search-filter-
|
|
55
|
+
EntrySearchFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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 <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)\" [form]=\"searchFilterForm\"></entry-autocomplete-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] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.EntryButtonDirective, selector: "[mat-button][entry-submit-button],[mat-button][entry-cancel-button]" }, { kind: "component", type: i5.TextSearchFilterComponent, selector: "entry-text-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: i6.SelectSearchFilterComponent, selector: "entry-select-search-filter", inputs: ["searchFilter", "form"] }, { kind: "component", type: i7.AutocompleteSearchFilterComponent, selector: "entry-autocomplete-search-filter", inputs: ["searchFilter", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
43
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntrySearchFilterComponent, decorators: [{
|
|
44
57
|
type: Component,
|
|
45
|
-
args: [{ selector: 'entry-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\" class=\"search-form-container entry-form\">\r\n <div *ngFor=\"let searchFilter of searchFilters\" class=\"form-field\">\r\n <entry-search-filter-
|
|
46
|
-
}], ctorParameters: function () { return [{ type:
|
|
58
|
+
args: [{ selector: 'entry-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form (ngSubmit)=\"onSubmit()\" [formGroup]=\"searchFilterForm\" class=\"search-form-container entry-form\">\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)\" [form]=\"searchFilterForm\"></entry-autocomplete-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>" }]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i8.EntrySearchFilterConfig, decorators: [{
|
|
47
60
|
type: Inject,
|
|
48
61
|
args: [ENTRY_SEARCH_FILTER_CONFIG]
|
|
49
62
|
}] }]; }, propDecorators: { searchFilters: [{
|
|
@@ -51,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
51
64
|
}], searchFilterChange: [{
|
|
52
65
|
type: Output
|
|
53
66
|
}] } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9lbnRyeS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLDhCQUE4QixDQUFDO0FBS25HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQUU3Qzs7R0FFRztBQU1ILE1BQU0sT0FBTywwQkFBMEI7SUFZckMsWUFBdUQsTUFBK0I7UUFBL0IsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFWdEYsd0dBQXdHO1FBQy9GLGtCQUFhLEdBQTRCLEVBQUUsQ0FBQztRQUNyRDs7V0FFRztRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBR3RFLGdCQUFXLEdBQUcsV0FBVyxDQUFDO0lBRWdFLENBQUM7SUFFM0YsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQXNDO1FBQ2hELE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUN0QixhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ25DLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUN0QyxZQUFZLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBbUM7UUFDcEQsT0FBTyxZQUFnQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxvQkFBb0IsQ0FBSSxZQUFpQztRQUN2RCxPQUFPLFlBQXFDLENBQUM7SUFDL0MsQ0FBQztJQUNELDBCQUEwQixDQUFJLFlBQWlDO1FBQzdELE9BQU8sWUFBMkMsQ0FBQztJQUNyRCxDQUFDOzt3SEF6Q1UsMEJBQTBCLGtCQVlqQiwwQkFBMEI7NEdBWm5DLDBCQUEwQiw4SkNsQnZDLG1rQ0FhTzs0RkRLTSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE1BQU07OzBCQWNsQyxNQUFNOzJCQUFDLDBCQUEwQjs0Q0FUckMsYUFBYTtzQkFBckIsS0FBSztnQkFJSSxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNlYXJjaEZpbHRlclBhcmFtcyB9IGZyb20gJy4vc2VhcmNoLWZpbHRlci1wYXJhbXMudHlwZSc7XHJcbmltcG9ydCB7IEVOVFJZX1NFQVJDSF9GSUxURVJfQ09ORklHLCBFbnRyeVNlYXJjaEZpbHRlckNvbmZpZyB9IGZyb20gJy4vc2VhcmNoLWZpbHRlci1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWFyY2hGaWx0ZXJCYXNlIH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLWJhc2UubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0U2VhcmNoRmlsdGVyIH0gZnJvbSAnLi90ZXh0L3RleHQtc2VhcmNoLWZpbHRlci5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdFNlYXJjaEZpbHRlciB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC1zZWFyY2gtZmlsdGVyLm1vZGVsJztcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU2VhcmNoRmlsdGVyIH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBDb250cm9sVHlwZSB9IGZyb20gJy4vY29udHJvbC10eXBlJztcclxuXHJcbi8qKlxyXG4gKiBFbnRyeSBTZWFyY2hGaWx0ZXIgY29tcG9uZW50LlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlbnRyeS1zZWFyY2gtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZW50cnktc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVudHJ5U2VhcmNoRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoqIENvbmZpZ3VyYXRpb24gb2YgdGhlIHNlYXJjaCBmaWx0ZXJzIGlucHV0cyB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGluIHRoZSBzZWFyY2gtZmlsdGVyIGNvbXBvbmVudC4gKi9cclxuICBASW5wdXQoKSBzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJCYXNlPGFueT5bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBjaGFuZ2UgaW4gU2VhcmNoRmlsdGVyUGFyYW1zIHNvIHRoZSBjb250YWluaW5nIGNvbXBvbmVudCBjYW4gYXBwbHkgdGhlbSBhbmQgcmV0cmlldmUgdGhlIGZpbHRlcmVkIHJlc3VsdHMuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlYXJjaEZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoRmlsdGVyUGFyYW1zPigpO1xyXG5cclxuICBzZWFyY2hGaWx0ZXJGb3JtITogVW50eXBlZEZvcm1Hcm91cDtcclxuICBjb250cm9sVHlwZSA9IENvbnRyb2xUeXBlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEVOVFJZX1NFQVJDSF9GSUxURVJfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBFbnRyeVNlYXJjaEZpbHRlckNvbmZpZykgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZWFyY2hGaWx0ZXJGb3JtID0gdGhpcy50b0Zvcm1Hcm91cCh0aGlzLnNlYXJjaEZpbHRlcnMpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnNlYXJjaEZpbHRlckZvcm0udmFsdWU7XHJcbiAgICB0aGlzLnNlYXJjaEZpbHRlckNoYW5nZS5lbWl0KGZvcm1WYWx1ZSk7XHJcbiAgfVxyXG5cclxuICB0b0Zvcm1Hcm91cChzZWFyY2hGaWx0ZXJzOiBTZWFyY2hGaWx0ZXJCYXNlPGFueT5bXSkge1xyXG4gICAgY29uc3QgZ3JvdXA6IGFueSA9IHt9O1xyXG4gICAgc2VhcmNoRmlsdGVycy5mb3JFYWNoKHNlYXJjaEZpbHRlciA9PiB7XHJcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gc2VhcmNoRmlsdGVyLnRvRm9ybUNvbnRyb2woKTtcclxuICAgICAgZ3JvdXBbc2VhcmNoRmlsdGVyLmtleV0gPSBmb3JtQ29udHJvbDtcclxuICAgICAgc2VhcmNoRmlsdGVyLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXcgVW50eXBlZEZvcm1Hcm91cChncm91cCk7XHJcbiAgfVxyXG5cclxuICBhc1RleHRTZWFyY2hGaWx0ZXIoc2VhcmNoRmlsdGVyOiBTZWFyY2hGaWx0ZXJCYXNlPGFueT4pOiBUZXh0U2VhcmNoRmlsdGVyIHtcclxuICAgIHJldHVybiBzZWFyY2hGaWx0ZXIgYXMgVGV4dFNlYXJjaEZpbHRlcjtcclxuICB9XHJcbiAgYXNTZWxlY3RTZWFyY2hGaWx0ZXI8VD4oc2VhcmNoRmlsdGVyOiBTZWFyY2hGaWx0ZXJCYXNlPFQ+KTogU2VsZWN0U2VhcmNoRmlsdGVyPFQ+IHtcclxuICAgIHJldHVybiBzZWFyY2hGaWx0ZXIgYXMgU2VsZWN0U2VhcmNoRmlsdGVyPFQ+O1xyXG4gIH1cclxuICBhc0F1dG9jb21wbGV0ZVNlYXJjaEZpbHRlcjxUPihzZWFyY2hGaWx0ZXI6IFNlYXJjaEZpbHRlckJhc2U8VD4pOiBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXI8VD4ge1xyXG4gICAgcmV0dXJuIHNlYXJjaEZpbHRlciBhcyBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXI8VD47XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8Zm9ybSAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiIFtmb3JtR3JvdXBdPVwic2VhcmNoRmlsdGVyRm9ybVwiIGNsYXNzPVwic2VhcmNoLWZvcm0tY29udGFpbmVyIGVudHJ5LWZvcm1cIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlYXJjaEZpbHRlciBvZiBzZWFyY2hGaWx0ZXJzXCIgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VhcmNoRmlsdGVyLmNvbnRyb2xUeXBlXCI+XHJcbiAgICAgICAgICAgIDxlbnRyeS10ZXh0LXNlYXJjaC1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cImNvbnRyb2xUeXBlLnRleHRcIiBbc2VhcmNoRmlsdGVyXT1cImFzVGV4dFNlYXJjaEZpbHRlcihzZWFyY2hGaWx0ZXIpXCIgW2Zvcm1dPVwic2VhcmNoRmlsdGVyRm9ybVwiPjwvZW50cnktdGV4dC1zZWFyY2gtZmlsdGVyPlxyXG4gICAgICAgICAgICA8ZW50cnktc2VsZWN0LXNlYXJjaC1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cImNvbnRyb2xUeXBlLnNlbGVjdFwiIFtzZWFyY2hGaWx0ZXJdPVwiYXNTZWxlY3RTZWFyY2hGaWx0ZXIoc2VhcmNoRmlsdGVyKVwiIFtmb3JtXT1cInNlYXJjaEZpbHRlckZvcm1cIj48L2VudHJ5LXNlbGVjdC1zZWFyY2gtZmlsdGVyPlxyXG4gICAgICAgICAgICA8ZW50cnktYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIgKm5nU3dpdGNoQ2FzZT1cImNvbnRyb2xUeXBlLmF1dG9jb21wbGV0ZVwiIFtzZWFyY2hGaWx0ZXJdPVwiYXNBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXIoc2VhcmNoRmlsdGVyKVwiIFtmb3JtXT1cInNlYXJjaEZpbHRlckZvcm1cIj48L2VudHJ5LWF1dG9jb21wbGV0ZS1zZWFyY2gtZmlsdGVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZW50cnktc2VhcmNoLWZpbHRlci1hY3Rpb25zXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGVudHJ5LXN1Ym1pdC1idXR0b24+XHJcbiAgICAgICAgICAgIDxzcGFuPnt7Y29uZmlnLmFwcGx5QnV0dG9uVGV4dH19PC9zcGFuPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZm9ybT4iXX0=
|
|
@@ -5,22 +5,26 @@ import { MatInputModule } from '@angular/material/input';
|
|
|
5
5
|
import { MatButtonModule } from '@angular/material/button';
|
|
6
6
|
import { MatSelectModule } from '@angular/material/select';
|
|
7
7
|
import { EntryButtonModule } from '@enigmatry/entry-components/button';
|
|
8
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
9
8
|
import { EntrySearchFilterComponent } from './entry-search-filter.component';
|
|
10
|
-
import {
|
|
9
|
+
import { TextSearchFilterComponent } from './text/text-search-filter.component';
|
|
10
|
+
import { SelectSearchFilterComponent } from './select/select-search-filter.component';
|
|
11
|
+
import { AutocompleteSearchFilterComponent } from './autocomplete/autocomplete-search-filter.component';
|
|
12
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
11
13
|
import * as i0 from "@angular/core";
|
|
12
14
|
export class EntrySearchFilterModule {
|
|
13
15
|
}
|
|
14
16
|
EntrySearchFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntrySearchFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
17
|
EntrySearchFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EntrySearchFilterModule, declarations: [EntrySearchFilterComponent,
|
|
16
|
-
|
|
18
|
+
TextSearchFilterComponent,
|
|
19
|
+
SelectSearchFilterComponent,
|
|
20
|
+
AutocompleteSearchFilterComponent], imports: [CommonModule,
|
|
17
21
|
FormsModule,
|
|
18
22
|
ReactiveFormsModule,
|
|
19
23
|
MatInputModule,
|
|
20
24
|
MatButtonModule,
|
|
21
25
|
EntryButtonModule,
|
|
22
26
|
MatSelectModule,
|
|
23
|
-
|
|
27
|
+
MatAutocompleteModule], exports: [EntrySearchFilterComponent] });
|
|
24
28
|
EntrySearchFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntrySearchFilterModule, imports: [CommonModule,
|
|
25
29
|
FormsModule,
|
|
26
30
|
ReactiveFormsModule,
|
|
@@ -28,13 +32,15 @@ EntrySearchFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
|
|
|
28
32
|
MatButtonModule,
|
|
29
33
|
EntryButtonModule,
|
|
30
34
|
MatSelectModule,
|
|
31
|
-
|
|
35
|
+
MatAutocompleteModule] });
|
|
32
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntrySearchFilterModule, decorators: [{
|
|
33
37
|
type: NgModule,
|
|
34
38
|
args: [{
|
|
35
39
|
declarations: [
|
|
36
40
|
EntrySearchFilterComponent,
|
|
37
|
-
|
|
41
|
+
TextSearchFilterComponent,
|
|
42
|
+
SelectSearchFilterComponent,
|
|
43
|
+
AutocompleteSearchFilterComponent
|
|
38
44
|
],
|
|
39
45
|
imports: [
|
|
40
46
|
CommonModule,
|
|
@@ -44,11 +50,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
44
50
|
MatButtonModule,
|
|
45
51
|
EntryButtonModule,
|
|
46
52
|
MatSelectModule,
|
|
47
|
-
|
|
53
|
+
MatAutocompleteModule
|
|
48
54
|
],
|
|
49
55
|
exports: [
|
|
50
56
|
EntrySearchFilterComponent
|
|
51
57
|
]
|
|
52
58
|
}]
|
|
53
59
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktc2VhcmNoLWZpbHRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9lbnRyeS1zZWFyY2gtZmlsdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDeEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBdUJ2RSxNQUFNLE9BQU8sdUJBQXVCOztxSEFBdkIsdUJBQXVCO3NIQUF2Qix1QkFBdUIsaUJBbkJoQywwQkFBMEI7UUFDMUIseUJBQXlCO1FBQ3pCLDJCQUEyQjtRQUMzQixpQ0FBaUMsYUFHakMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLHFCQUFxQixhQUdyQiwwQkFBMEI7c0hBR2pCLHVCQUF1QixZQWJoQyxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixlQUFlO1FBQ2YscUJBQXFCOzRGQU1aLHVCQUF1QjtrQkFyQm5DLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLGlDQUFpQztxQkFDbEM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3FCQUMzQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgRW50cnlCdXR0b25Nb2R1bGUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvYnV0dG9uJztcclxuaW1wb3J0IHsgRW50cnlTZWFyY2hGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dFNlYXJjaEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vdGV4dC90ZXh0LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0U2VhcmNoRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU2VhcmNoRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLXNlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBFbnRyeVNlYXJjaEZpbHRlckNvbXBvbmVudCxcclxuICAgIFRleHRTZWFyY2hGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBTZWxlY3RTZWFyY2hGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXJDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRW50cnlCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEVudHJ5U2VhcmNoRmlsdGVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRW50cnlTZWFyY2hGaWx0ZXJNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { EntrySearchFilterComponent } from './entry-search-filter.component';
|
|
2
|
-
export { SearchFilterBase } from './search-filter-
|
|
3
|
-
export { TextSearchFilter } from './
|
|
4
|
-
export { SelectSearchFilter } from './
|
|
5
|
-
export {
|
|
2
|
+
export { SearchFilterBase } from './search-filter-base.model';
|
|
3
|
+
export { TextSearchFilter } from './text/text-search-filter.model';
|
|
4
|
+
export { SelectSearchFilter } from './select/select-search-filter.model';
|
|
5
|
+
export { AutocompleteSearchFilter } from './autocomplete/autocomplete-search-filter.model';
|
|
6
|
+
export { SelectOption } from './select-option.model';
|
|
6
7
|
export { EntrySearchFilterModule } from './entry-search-filter.module';
|
|
7
8
|
export { ENTRY_SEARCH_FILTER_CONFIG, EntrySearchFilterConfig, provideEntrySearchFilterConfig } from './search-filter-config.model';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRW50cnlTZWFyY2hGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2VudHJ5LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50JztcblxuZXhwb3J0IHsgU2VhcmNoRmlsdGVyUGFyYW1zIH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLXBhcmFtcy50eXBlJztcbmV4cG9ydCB7IFNlYXJjaEZpbHRlckJhc2UgfSBmcm9tICcuL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XG5leHBvcnQgeyBUZXh0U2VhcmNoRmlsdGVyIH0gZnJvbSAnLi90ZXh0L3RleHQtc2VhcmNoLWZpbHRlci5tb2RlbCc7XG5leHBvcnQgeyBTZWxlY3RTZWFyY2hGaWx0ZXIgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3Qtc2VhcmNoLWZpbHRlci5tb2RlbCc7XG5leHBvcnQgeyBBdXRvY29tcGxldGVTZWFyY2hGaWx0ZXIgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtc2VhcmNoLWZpbHRlci5tb2RlbCc7XG5leHBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xuXG5leHBvcnQgeyBFbnRyeVNlYXJjaEZpbHRlck1vZHVsZSB9IGZyb20gJy4vZW50cnktc2VhcmNoLWZpbHRlci5tb2R1bGUnO1xuXG5leHBvcnQgeyBFTlRSWV9TRUFSQ0hfRklMVEVSX0NPTkZJRywgRW50cnlTZWFyY2hGaWx0ZXJDb25maWcsIHByb3ZpZGVFbnRyeVNlYXJjaEZpbHRlckNvbmZpZyB9IGZyb20gJy4vc2VhcmNoLWZpbHRlci1jb25maWcubW9kZWwnO1xuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { FormControl } from '@angular/forms';
|
|
2
|
+
import { ControlType } from './control-type';
|
|
3
|
+
/**
|
|
4
|
+
* Base Entry search filter input component.
|
|
5
|
+
*/
|
|
6
|
+
export class SearchFilterBase {
|
|
7
|
+
constructor(options = {}) {
|
|
8
|
+
this.value = options.value;
|
|
9
|
+
this.key = options.key || '';
|
|
10
|
+
this.label = options.label || '';
|
|
11
|
+
this.placeholder = options.placeholder || '';
|
|
12
|
+
this.controlType = options.controlType || ControlType.text;
|
|
13
|
+
this.type = options.type || ControlType.text;
|
|
14
|
+
this.maxLength = options.maxLength || 256;
|
|
15
|
+
}
|
|
16
|
+
setValue(value) {
|
|
17
|
+
this.value = value;
|
|
18
|
+
if (this.formControl) {
|
|
19
|
+
this.formControl.patchValue(value);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
toFormControl() {
|
|
23
|
+
return new FormControl(this.value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci1iYXNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvc2VhcmNoLWZpbHRlci1iYXNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBa0IzQixZQUFZLFVBQXdDLEVBQUU7UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzNELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxHQUFHLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxXQUFXLENBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udHJvbFR5cGUgfSBmcm9tICcuL2NvbnRyb2wtdHlwZSc7XG5cbi8qKlxuICogQmFzZSBFbnRyeSBzZWFyY2ggZmlsdGVyIGlucHV0IGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaEZpbHRlckJhc2U8VD4ge1xuICAvKiogVW5pcXVlIHNlYXJjaC1maWx0ZXIgaW5wdXQga2V5ICovXG4gIGtleTogc3RyaW5nO1xuICAvKiogRGVmYXVsdCB2YWx1ZSB0byBiZSBkaXNwbGF5ZWQvc2VsZWN0ZWQgaW4gdGhlIGlucHV0IGNvbnRyb2wgKi9cbiAgdmFsdWU6IFQgfCB1bmRlZmluZWQ7XG4gIC8qKiBMYWJlbCB0ZXh0IHRvIGJlIGRpc3BsYXllZCBmb3IgdGhlIHNlYXJjaC1maWx0ZXIgaW5wdXQgY29udHJvbCAqL1xuICBsYWJlbDogc3RyaW5nO1xuICAvKiogUGxhY2Vob2xkZXIgdGV4dCBmb3Igc2VhcmNoLWZpbHRlciBpbnB1dCBjb250cm9sICAqL1xuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAvKiogVHlwZSBvZiBpbnB1dCBjb250cm9sIGUuZy4gJ3RleHQnIG9yICdlbWFpbCcgKi9cbiAgdHlwZTogc3RyaW5nO1xuICAvKiogQ29udHJvbCB0eXBlIHRvIGJlIG92ZXJyaWRkZW4gaW4gaW1wbGVtZW50aW5nIGNsYXNzLCB1c2VkIHRvIHJlbmRlciB0aGUgcHJvcGVyIGlucHV0IHR5cGUgZS5nLiAndGV4dC1pbnB1dCcgKi9cbiAgY29udHJvbFR5cGU6IENvbnRyb2xUeXBlO1xuICAvKiogTWF4IHRleHQgbGVuZ3RoIHRvIGJlIGVudGVyZWQgaW4gdGhlIGlucHV0IGNvbXBvbmVudCAoZGVmYXVsdCBpcyAyNTYpICovXG4gIG1heExlbmd0aDogbnVtYmVyO1xuICAvKiogQSByZWZlcmVuY2UgdG8gdGhlIGZvcm0gY29udHJvbCBpdCByZXByZXNlbnRzICovXG4gIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDxUPjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQYXJ0aWFsPFNlYXJjaEZpbHRlckJhc2U8VD4+ID0ge30pIHtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZTtcbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5IHx8ICcnO1xuICAgIHRoaXMubGFiZWwgPSBvcHRpb25zLmxhYmVsIHx8ICcnO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyIHx8ICcnO1xuICAgIHRoaXMuY29udHJvbFR5cGUgPSBvcHRpb25zLmNvbnRyb2xUeXBlIHx8IENvbnRyb2xUeXBlLnRleHQ7XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8IENvbnRyb2xUeXBlLnRleHQ7XG4gICAgdGhpcy5tYXhMZW5ndGggPSBvcHRpb25zLm1heExlbmd0aCB8fCAyNTY7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogVCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB0b0Zvcm1Db250cm9sKCk6IEZvcm1Db250cm9sPFQ+IHtcbiAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sPFQ+KHRoaXMudmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject, Input } from '@angular/core';
|
|
2
|
+
import { ENTRY_SEARCH_FILTER_CONFIG } from '../search-filter-config.model';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/material/select";
|
|
8
|
+
import * as i5 from "@angular/material/core";
|
|
9
|
+
import * as i6 from "../search-filter-config.model";
|
|
10
|
+
export class SelectSearchFilterComponent {
|
|
11
|
+
constructor(config) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
SelectSearchFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectSearchFilterComponent, deps: [{ token: ENTRY_SEARCH_FILTER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
SelectSearchFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SelectSearchFilterComponent, 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\" [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-form-field>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { 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: "directive", type: i2.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: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectSearchFilterComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'entry-select-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, 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\" [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-form-field>" }]
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i6.EntrySearchFilterConfig, decorators: [{
|
|
21
|
+
type: Inject,
|
|
22
|
+
args: [ENTRY_SEARCH_FILTER_CONFIG]
|
|
23
|
+
}] }]; }, propDecorators: { searchFilter: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}], form: [{
|
|
26
|
+
type: Input
|
|
27
|
+
}] } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvc2VsZWN0L3NlbGVjdC1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL3NlbGVjdC9zZWxlY3Qtc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEYsT0FBTyxFQUFFLDBCQUEwQixFQUEyQixNQUFNLCtCQUErQixDQUFDOzs7Ozs7OztBQU9wRyxNQUFNLE9BQU8sMkJBQTJCO0lBTXRDLFlBQXVELE1BQStCO1FBQS9CLFdBQU0sR0FBTixNQUFNLENBQXlCO0lBQUksQ0FBQzs7eUhBTmhGLDJCQUEyQixrQkFNbEIsMEJBQTBCOzZHQU5uQywyQkFBMkIsMEhDVnhDLHc1QkFjaUI7NEZESkosMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDRCQUE0QixtQkFFckIsdUJBQXVCLENBQUMsTUFBTTs7MEJBUWxDLE1BQU07MkJBQUMsMEJBQTBCOzRDQUpyQyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdFNlYXJjaEZpbHRlciB9IGZyb20gJy4vc2VsZWN0LXNlYXJjaC1maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVOVFJZX1NFQVJDSF9GSUxURVJfQ09ORklHLCBFbnRyeVNlYXJjaEZpbHRlckNvbmZpZyB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItY29uZmlnLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50cnktc2VsZWN0LXNlYXJjaC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RTZWFyY2hGaWx0ZXJDb21wb25lbnQ8VD4ge1xuICAvKiogQ29uZmlndXJhdGlvbiBvZiB0aGUgc2VhcmNoIGZpbHRlcnMgaW5wdXRzIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlYXJjaC1maWx0ZXIgY29tcG9uZW50LiAqL1xuICBASW5wdXQoKSBzZWFyY2hGaWx0ZXI6IFNlbGVjdFNlYXJjaEZpbHRlcjxUPjtcbiAgLyoqIEZvcm0gZ3JvdXAgdG8gd2hpY2ggdGhlIHNlYXJjaC1maWx0ZXIgaW5wdXQgY29tcG9uZW50IHdpbGwgYmUgYWRkZWQuICovXG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChFTlRSWV9TRUFSQ0hfRklMVEVSX0NPTkZJRykgcHVibGljIGNvbmZpZzogRW50cnlTZWFyY2hGaWx0ZXJDb25maWcpIHsgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZm9ybVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICA8bWF0LWxhYmVsIFthdHRyLmZvcl09XCJzZWFyY2hGaWx0ZXIua2V5XCI+e3tzZWFyY2hGaWx0ZXIubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwic2VhcmNoRmlsdGVyLmtleVwiIFtpZF09XCJzZWFyY2hGaWx0ZXIua2V5XCIgW211bHRpcGxlXT1cInNlYXJjaEZpbHRlci5tdWx0aVNlbGVjdFwiPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cIiFzZWFyY2hGaWx0ZXIubXVsdGlTZWxlY3RcIiBbdmFsdWVdPVwidW5kZWZpbmVkXCI+XG4gICAgICAgICAgICB7e2NvbmZpZy5ub25lU2VsZWN0ZWRPcHRpb25UZXh0fX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoRmlsdGVyLm9wdGlvbnMkICE9PSB1bmRlZmluZWQ7IGVsc2UgZml4ZWRTZWxlY3RWYWx1ZXNcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VhcmNoRmlsdGVyLm9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24ua2V5XCI+e3tvcHRpb24ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZml4ZWRTZWxlY3RWYWx1ZXM+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlYXJjaEZpbHRlci5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvbi5rZXlcIj57e29wdGlvbi5sYWJlbH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SearchFilterBase } from '../search-filter-base.model';
|
|
2
|
+
import { ControlType } from '../control-type';
|
|
3
|
+
/**
|
|
4
|
+
* Search filter select input field configuration. Select options can be provided as fixed list (`options`)
|
|
5
|
+
* or observable (dynamic) list (`options$`).
|
|
6
|
+
*/
|
|
7
|
+
export class SelectSearchFilter extends SearchFilterBase {
|
|
8
|
+
constructor(options = {}) {
|
|
9
|
+
super(options);
|
|
10
|
+
this.controlType = ControlType.select;
|
|
11
|
+
/** Fixed list of select filter options (default is empty list) */
|
|
12
|
+
this.options = [];
|
|
13
|
+
/**
|
|
14
|
+
* Enables selection of multiple options (default is true).
|
|
15
|
+
* If it is set to false, 'none selected' option becomes available as a first option.
|
|
16
|
+
* */
|
|
17
|
+
this.multiSelect = true;
|
|
18
|
+
this.options = options.options;
|
|
19
|
+
this.options$ = options.options$;
|
|
20
|
+
this.multiSelect = options.multiSelect;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlYXJjaC1maWx0ZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvc2VhcmNoLWZpbHRlci9zZWxlY3Qvc2VsZWN0LXNlYXJjaC1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBc0IsU0FBUSxnQkFBbUI7SUFZNUQsWUFBWSxVQUEwQyxFQUFFO1FBQ3RELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQVpSLGdCQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUMxQyxrRUFBa0U7UUFDbEUsWUFBTyxHQUFzQixFQUFFLENBQUM7UUFHaEM7OzthQUdLO1FBQ0wsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFJakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VhcmNoRmlsdGVyQmFzZSB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XG5pbXBvcnQgeyBDb250cm9sVHlwZSB9IGZyb20gJy4uL2NvbnRyb2wtdHlwZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcblxuLyoqXG4gKiBTZWFyY2ggZmlsdGVyIHNlbGVjdCBpbnB1dCBmaWVsZCBjb25maWd1cmF0aW9uLiBTZWxlY3Qgb3B0aW9ucyBjYW4gYmUgcHJvdmlkZWQgYXMgZml4ZWQgbGlzdCAoYG9wdGlvbnNgKVxuICogb3Igb2JzZXJ2YWJsZSAoZHluYW1pYykgbGlzdCAoYG9wdGlvbnMkYCkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWxlY3RTZWFyY2hGaWx0ZXI8VD4gZXh0ZW5kcyBTZWFyY2hGaWx0ZXJCYXNlPFQ+IHtcbiAgb3ZlcnJpZGUgY29udHJvbFR5cGUgPSBDb250cm9sVHlwZS5zZWxlY3Q7XG4gIC8qKiBGaXhlZCBsaXN0IG9mIHNlbGVjdCBmaWx0ZXIgb3B0aW9ucyAoZGVmYXVsdCBpcyBlbXB0eSBsaXN0KSAqL1xuICBvcHRpb25zOiBTZWxlY3RPcHRpb248VD5bXSA9IFtdO1xuICAvKiogT2JzZXJ2YWJsZSAoZHluYW1pYykgbGlzdCBvZiBzZWxlY3QgZmlsdGVyIG9wdGlvbnMgKi9cbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8U2VsZWN0T3B0aW9uPFQ+W10+IHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogRW5hYmxlcyBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgb3B0aW9ucyAoZGVmYXVsdCBpcyB0cnVlKS5cbiAgICogSWYgaXQgaXMgc2V0IHRvIGZhbHNlLCAnbm9uZSBzZWxlY3RlZCcgb3B0aW9uIGJlY29tZXMgYXZhaWxhYmxlIGFzIGEgZmlyc3Qgb3B0aW9uLlxuICAgKiAqL1xuICBtdWx0aVNlbGVjdCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUGFydGlhbDxTZWxlY3RTZWFyY2hGaWx0ZXI8VD4+ID0ge30pIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnM7XG4gICAgdGhpcy5vcHRpb25zJCA9IG9wdGlvbnMub3B0aW9ucyQ7XG4gICAgdGhpcy5tdWx0aVNlbGVjdCA9IG9wdGlvbnMubXVsdGlTZWxlY3Q7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Model used to populate select or autocomplete options. */
|
|
2
|
+
export class SelectOption {
|
|
3
|
+
constructor(
|
|
4
|
+
/** Key used as a value for selected option */
|
|
5
|
+
key,
|
|
6
|
+
/** String value used as display label of select option */
|
|
7
|
+
label) {
|
|
8
|
+
this.key = key;
|
|
9
|
+
this.label = label;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL3NlbGVjdC1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkRBQTZEO0FBQzdELE1BQU0sT0FBTyxZQUFZO0lBQ3JCO0lBQ0ksOENBQThDO0lBQ3ZDLEdBQU07SUFDYiwwREFBMEQ7SUFDbkQsS0FBYTtRQUZiLFFBQUcsR0FBSCxHQUFHLENBQUc7UUFFTixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQUksQ0FBQztDQUNoQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBNb2RlbCB1c2VkIHRvIHBvcHVsYXRlIHNlbGVjdCBvciBhdXRvY29tcGxldGUgb3B0aW9ucy4gKi9cbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb248VD4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAvKiogS2V5IHVzZWQgYXMgYSB2YWx1ZSBmb3Igc2VsZWN0ZWQgb3B0aW9uICovXG4gICAgICAgIHB1YmxpYyBrZXk6IFQsXG4gICAgICAgIC8qKiBTdHJpbmcgdmFsdWUgdXNlZCBhcyBkaXNwbGF5IGxhYmVsIG9mIHNlbGVjdCBvcHRpb24gKi9cbiAgICAgICAgcHVibGljIGxhYmVsOiBzdHJpbmcpIHsgfVxufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, 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
|
+
export class TextSearchFilterComponent {
|
|
7
|
+
}
|
|
8
|
+
TextSearchFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
TextSearchFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextSearchFilterComponent, 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-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"], 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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextSearchFilterComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{ selector: 'entry-text-search-filter', changeDetection: ChangeDetectionStrategy.OnPush, 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-form-field>" }]
|
|
13
|
+
}], propDecorators: { searchFilter: [{
|
|
14
|
+
type: Input
|
|
15
|
+
}], form: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL3RleHQvdGV4dC1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL3RleHQvdGV4dC1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVMxRSxNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCOzJHQUF6Qix5QkFBeUIsd0hDVHRDLHdYQUlpQjs0RkRLSix5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVGV4dFNlYXJjaEZpbHRlciB9IGZyb20gJy4vdGV4dC1zZWFyY2gtZmlsdGVyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50cnktdGV4dC1zZWFyY2gtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRleHRTZWFyY2hGaWx0ZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBzZWFyY2hGaWx0ZXI6IFRleHRTZWFyY2hGaWx0ZXI7XG4gIC8qKiBGb3JtIGdyb3VwIHRvIHdoaWNoIHRoZSBzZWFyY2gtZmlsdGVyIGlucHV0IGNvbXBvbmVudCB3aWxsIGJlIGFkZGVkLiAqL1xuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZm9ybVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICA8bWF0LWxhYmVsIFthdHRyLmZvcl09XCJzZWFyY2hGaWx0ZXIua2V5XCI+e3tzZWFyY2hGaWx0ZXIubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cInNlYXJjaEZpbHRlci5rZXlcIiBbaWRdPVwic2VhcmNoRmlsdGVyLmtleVwiIFt0eXBlXT1cInNlYXJjaEZpbHRlci50eXBlXCIgbWF0SW5wdXRcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaEZpbHRlci5wbGFjZWhvbGRlclwiIFttYXhsZW5ndGhdPVwic2VhcmNoRmlsdGVyLm1heExlbmd0aFwiPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SearchFilterBase } from '../search-filter-base.model';
|
|
2
|
+
import { ControlType } from '../control-type';
|
|
3
|
+
/**
|
|
4
|
+
* Search filter text input filed configuration.
|
|
5
|
+
*/
|
|
6
|
+
export class TextSearchFilter extends SearchFilterBase {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.controlType = ControlType.text;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1zZWFyY2gtZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvdGV4dC90ZXh0LXNlYXJjaC1maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGdCQUF3QjtJQUE5RDs7UUFDVyxnQkFBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDMUMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoRmlsdGVyQmFzZSB9IGZyb20gJy4uL3NlYXJjaC1maWx0ZXItYmFzZS5tb2RlbCc7XG5pbXBvcnQgeyBDb250cm9sVHlwZSB9IGZyb20gJy4uL2NvbnRyb2wtdHlwZSc7XG5cbi8qKlxuICogU2VhcmNoIGZpbHRlciB0ZXh0IGlucHV0IGZpbGVkIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBUZXh0U2VhcmNoRmlsdGVyIGV4dGVuZHMgU2VhcmNoRmlsdGVyQmFzZTxzdHJpbmc+IHtcbiAgb3ZlcnJpZGUgY29udHJvbFR5cGUgPSBDb250cm9sVHlwZS50ZXh0O1xufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtc3Bpbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zcGlubmVyL2VuaWdtYXRyeS1lbnRyeS1jb21wb25lbnRzLXNwaW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|