@elderbyte/ngx-starter 16.2.12 → 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/esm2022/lib/components/select/elder-select-base.mjs +4 -1
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +8 -13
- package/fesm2022/elderbyte-ngx-starter.mjs +59 -48
- 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/lib/components/select/elder-select-base.d.ts +1 -0
- 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
|
}
|
|
@@ -104,6 +104,7 @@ export declare abstract class ElderSelectBase<TId, TEntity, TValue> extends Elde
|
|
|
104
104
|
set filters(filters: Filter[]);
|
|
105
105
|
get filters(): Filter[];
|
|
106
106
|
set dataSource(source: IDataSource<TEntity>);
|
|
107
|
+
get dataSource(): IDataSource<TEntity>;
|
|
107
108
|
set data(data: Array<TEntity> | IDataContext<TEntity>);
|
|
108
109
|
set dataContext(data: IDataContext<TEntity>);
|
|
109
110
|
get dataContext(): IDataContext<TEntity>;
|
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=
|