@elderbyte/ngx-starter 16.3.0 → 16.3.1
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/esm2022/lib/common/data/filters/filter-context.mjs +4 -1
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +1 -2
- package/esm2022/lib/components/forms/search/elder-search-context-url-binding.directive.mjs +7 -5
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +28 -11
- package/esm2022/lib/components/forms/search/search-filter-context.mjs +50 -0
- package/fesm2022/elderbyte-ngx-starter.mjs +50 -36
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/common/data/filters/filter-context.d.ts +1 -0
- package/lib/components/forms/search/elder-search-context.directive.d.ts +4 -3
- package/lib/components/forms/search/{search-context-orchestrator.d.ts → search-filter-context.d.ts} +13 -8
- package/package.json +1 -1
- package/esm2022/lib/components/forms/search/search-context-orchestrator.mjs +0 -55
|
@@ -4,7 +4,7 @@ import { SearchInput } from './model/search-input';
|
|
|
4
4
|
import { Filter } from '../../../common/data/filters/filter';
|
|
5
5
|
import { FilterContext } from '../../../common/data/filters/filter-context';
|
|
6
6
|
import { SearchInputState } from './model/search-input-state';
|
|
7
|
-
import
|
|
7
|
+
import SearchFilterContext from './search-filter-context';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
/**
|
|
10
10
|
* The search container manages a group of search-inputs
|
|
@@ -21,13 +21,14 @@ export declare class ElderSearchContextDirective implements AfterViewInit, OnDes
|
|
|
21
21
|
private readonly destroy$;
|
|
22
22
|
private readonly _searchInputs$;
|
|
23
23
|
private readonly _searchStates$;
|
|
24
|
-
private
|
|
24
|
+
private readonly _searchFilterContext;
|
|
25
25
|
/***************************************************************************
|
|
26
26
|
* *
|
|
27
27
|
* Life Cycle *
|
|
28
28
|
* *
|
|
29
29
|
**************************************************************************/
|
|
30
30
|
ngAfterContentInit(): void;
|
|
31
|
+
private applyFilters;
|
|
31
32
|
ngAfterViewInit(): void;
|
|
32
33
|
ngOnDestroy(): void;
|
|
33
34
|
/***************************************************************************
|
|
@@ -49,7 +50,7 @@ export declare class ElderSearchContextDirective implements AfterViewInit, OnDes
|
|
|
49
50
|
get attributesSnapshot(): SearchInput[];
|
|
50
51
|
get states$(): Observable<SearchInputState[]>;
|
|
51
52
|
get statesSnapshot(): SearchInputState[];
|
|
52
|
-
get
|
|
53
|
+
get searchFilterContext(): SearchFilterContext;
|
|
53
54
|
/**
|
|
54
55
|
* Returns the current user touched attributes. (ignoring fallbacks)
|
|
55
56
|
*/
|
package/lib/components/forms/search/{search-context-orchestrator.d.ts → search-filter-context.d.ts}
RENAMED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { Observable } from
|
|
2
|
-
import { Filter } from
|
|
3
|
-
import { FilterContext } from
|
|
4
|
-
export default class
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Filter } from '../../../common/data/filters/filter';
|
|
3
|
+
import { FilterContext } from '../../../common/data/filters/filter-context';
|
|
4
|
+
export default class SearchFilterContext {
|
|
5
|
+
/***************************************************************************
|
|
6
|
+
* *
|
|
7
|
+
* Private methods *
|
|
8
|
+
* *
|
|
9
|
+
**************************************************************************/
|
|
10
|
+
private readonly _filterContext$;
|
|
7
11
|
private readonly initialFilterContext;
|
|
8
12
|
private readonly log;
|
|
9
13
|
/***************************************************************************
|
|
@@ -11,12 +15,13 @@ export default class SearchContextOrchestrator {
|
|
|
11
15
|
* Constructor *
|
|
12
16
|
* *
|
|
13
17
|
**************************************************************************/
|
|
14
|
-
constructor(
|
|
18
|
+
constructor();
|
|
15
19
|
/***************************************************************************
|
|
16
20
|
* *
|
|
17
21
|
* Properties *
|
|
18
22
|
* *
|
|
19
23
|
**************************************************************************/
|
|
24
|
+
get filterContext(): FilterContext;
|
|
20
25
|
get initialFilters$(): Observable<Filter[]>;
|
|
21
26
|
get filters(): Observable<Filter[]>;
|
|
22
27
|
/***************************************************************************
|
|
@@ -24,6 +29,6 @@ export default class SearchContextOrchestrator {
|
|
|
24
29
|
* Public Api *
|
|
25
30
|
* *
|
|
26
31
|
**************************************************************************/
|
|
32
|
+
init(ctx: FilterContext, forcedFilters: Filter[]): void;
|
|
27
33
|
addInitialFilters(filters: Filter[]): void;
|
|
28
|
-
applyFilters(userFilters: Filter[]): void;
|
|
29
34
|
}
|
package/package.json
CHANGED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { FilterContext } from "../../../common/data/filters/filter-context";
|
|
2
|
-
import { startWith } from "rxjs/operators";
|
|
3
|
-
import { LoggerFactory } from "@elderbyte/ts-logger";
|
|
4
|
-
export default class SearchContextOrchestrator {
|
|
5
|
-
/***************************************************************************
|
|
6
|
-
* *
|
|
7
|
-
* Constructor *
|
|
8
|
-
* *
|
|
9
|
-
**************************************************************************/
|
|
10
|
-
constructor(filterContext, forcedFilters) {
|
|
11
|
-
this.filterContext = filterContext;
|
|
12
|
-
this.forcedFilters = forcedFilters;
|
|
13
|
-
this.initialFilterContext = new FilterContext();
|
|
14
|
-
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
15
|
-
this.initialFilterContext.updateFilters(filterContext.filtersSnapshot);
|
|
16
|
-
if (forcedFilters) {
|
|
17
|
-
this.initialFilterContext.updateFilters(forcedFilters);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
/***************************************************************************
|
|
21
|
-
* *
|
|
22
|
-
* Properties *
|
|
23
|
-
* *
|
|
24
|
-
**************************************************************************/
|
|
25
|
-
get initialFilters$() {
|
|
26
|
-
return this.initialFilterContext.filters
|
|
27
|
-
.pipe(startWith(this.initialFilterContext.filtersSnapshot));
|
|
28
|
-
}
|
|
29
|
-
get filters() {
|
|
30
|
-
return this.filterContext.filters;
|
|
31
|
-
}
|
|
32
|
-
/***************************************************************************
|
|
33
|
-
* *
|
|
34
|
-
* Public Api *
|
|
35
|
-
* *
|
|
36
|
-
**************************************************************************/
|
|
37
|
-
addInitialFilters(filters) {
|
|
38
|
-
this.initialFilterContext.updateFilters(filters);
|
|
39
|
-
}
|
|
40
|
-
applyFilters(userFilters) {
|
|
41
|
-
const context = this.filterContext;
|
|
42
|
-
if (context) {
|
|
43
|
-
context.updateFilters(userFilters);
|
|
44
|
-
context.mergeFilters(this.forcedFilters);
|
|
45
|
-
this.log.trace("Search-Model filters updated:", Array.from(context.filtersSnapshot));
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
this.log.warn("Failed to apply filters since no FilterContext is available!", {
|
|
49
|
-
userFilters: userFilters,
|
|
50
|
-
forcedFilters: this.forcedFilters
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNvbnRleHQtb3JjaGVzdHJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWxkZXJieXRlL25neC1zdGFydGVyL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9zZWFyY2gvc2VhcmNoLWNvbnRleHQtb3JjaGVzdHJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxPQUFPLE9BQU8seUJBQXlCO0lBSzVDOzs7O2dGQUk0RTtJQUU1RSxZQUNrQixhQUE0QixFQUNwQyxhQUF3QjtRQURoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBVztRQVpqQix5QkFBb0IsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBRTNDLFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFZcEUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU87YUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O2dGQUk0RTtJQUVyRSxpQkFBaUIsQ0FBQyxPQUFpQjtRQUN4QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxZQUFZLENBQ2pCLFdBQXFCO1FBRXJCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7U0FDdEY7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDhEQUE4RCxFQUFFO2dCQUM1RSxXQUFXLEVBQUUsV0FBVztnQkFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO2FBQ2xDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztDQVFGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXJcIjtcbmltcG9ydCB7IEZpbHRlckNvbnRleHQgfSBmcm9tIFwiLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVycy9maWx0ZXItY29udGV4dFwiO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBMb2dnZXJGYWN0b3J5IH0gZnJvbSBcIkBlbGRlcmJ5dGUvdHMtbG9nZ2VyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlYXJjaENvbnRleHRPcmNoZXN0cmF0b3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxGaWx0ZXJDb250ZXh0ID0gbmV3IEZpbHRlckNvbnRleHQoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGZpbHRlckNvbnRleHQ6IEZpbHRlckNvbnRleHQsXG4gICAgcHJpdmF0ZSBmb3JjZWRGaWx0ZXJzPzogRmlsdGVyW11cbiAgKSB7XG4gICAgdGhpcy5pbml0aWFsRmlsdGVyQ29udGV4dC51cGRhdGVGaWx0ZXJzKGZpbHRlckNvbnRleHQuZmlsdGVyc1NuYXBzaG90KTtcbiAgICBpZiAoZm9yY2VkRmlsdGVycykge1xuICAgICAgdGhpcy5pbml0aWFsRmlsdGVyQ29udGV4dC51cGRhdGVGaWx0ZXJzKGZvcmNlZEZpbHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgaW5pdGlhbEZpbHRlcnMkKCk6IE9ic2VydmFibGU8RmlsdGVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsRmlsdGVyQ29udGV4dC5maWx0ZXJzXG4gICAgICAucGlwZShzdGFydFdpdGgodGhpcy5pbml0aWFsRmlsdGVyQ29udGV4dC5maWx0ZXJzU25hcHNob3QpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJDb250ZXh0LmZpbHRlcnM7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHVibGljIEFwaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwdWJsaWMgYWRkSW5pdGlhbEZpbHRlcnMoZmlsdGVyczogRmlsdGVyW10pIHtcbiAgICB0aGlzLmluaXRpYWxGaWx0ZXJDb250ZXh0LnVwZGF0ZUZpbHRlcnMoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXJzKFxuICAgIHVzZXJGaWx0ZXJzOiBGaWx0ZXJbXVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5maWx0ZXJDb250ZXh0O1xuICAgIGlmIChjb250ZXh0KSB7XG4gICAgICBjb250ZXh0LnVwZGF0ZUZpbHRlcnModXNlckZpbHRlcnMpO1xuICAgICAgY29udGV4dC5tZXJnZUZpbHRlcnModGhpcy5mb3JjZWRGaWx0ZXJzKTtcbiAgICAgIHRoaXMubG9nLnRyYWNlKFwiU2VhcmNoLU1vZGVsIGZpbHRlcnMgdXBkYXRlZDpcIiwgQXJyYXkuZnJvbShjb250ZXh0LmZpbHRlcnNTbmFwc2hvdCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxvZy53YXJuKFwiRmFpbGVkIHRvIGFwcGx5IGZpbHRlcnMgc2luY2Ugbm8gRmlsdGVyQ29udGV4dCBpcyBhdmFpbGFibGUhXCIsIHtcbiAgICAgICAgdXNlckZpbHRlcnM6IHVzZXJGaWx0ZXJzLFxuICAgICAgICBmb3JjZWRGaWx0ZXJzOiB0aGlzLmZvcmNlZEZpbHRlcnNcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG59XG4iXX0=
|