@elderbyte/ngx-starter 17.11.0-beta5 → 17.11.0-beta6
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/components/forms/search/domain/input/search-input-state.mjs +6 -6
- package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +10 -10
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -29
- package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
- package/esm2022/lib/components/select/elder-select.module.mjs +8 -8
- package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +15 -11
- package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +144 -0
- package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +20 -6
- package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +63 -0
- package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +22 -12
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +7 -2
- package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +117 -43
- package/fesm2022/elderbyte-ngx-starter.mjs +674 -616
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/forms/search/domain/input/search-input-state.d.ts +3 -3
- package/lib/components/forms/search/domain/input/search-input.d.ts +2 -6
- package/lib/components/forms/search/elder-search-context.directive.d.ts +3 -3
- package/lib/components/forms/search/elder-search-input.directive.d.ts +7 -11
- package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +2 -1
- package/lib/components/select/elder-select.module.d.ts +3 -3
- package/lib/components/select/filter/elder-chip-filter-style-resolver.d.ts +1 -1
- package/lib/components/select/filter/{elder-chips-filter.directive.d.ts → elder-chips-include-exclude.directive.d.ts} +12 -8
- package/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.d.ts +6 -0
- package/lib/components/select/filter/include-exclude-model-filter-adapter.d.ts +29 -0
- package/lib/components/select/filter/include-exclude-selection-model.d.ts +6 -1
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +2 -0
- package/lib/components/select/multi/elder-search-include-exclude.directive.d.ts +57 -17
- package/package.json +1 -1
- package/esm2022/lib/components/forms/search/filter/include-exclude-input-converter.mjs +0 -137
- package/esm2022/lib/components/select/filter/elder-chips-filter.directive.mjs +0 -102
- package/lib/components/forms/search/filter/include-exclude-input-converter.d.ts +0 -62
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { skipUntil } from 'rxjs';
|
|
3
|
-
import { ElderFilterChipTemplateComponent } from './elder-filter-chip-template/elder-filter-chip-template.component';
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
-
import { filter, first, startWith } from 'rxjs/operators';
|
|
6
|
-
import ElderChipFilterStyleResolver from './elder-chip-filter-style-resolver';
|
|
7
|
-
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
8
|
-
import { IncludeExcludeSelectionModel } from './include-exclude-selection-model';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../multi/elder-multi-select-chips/elder-multi-select-chips.component";
|
|
11
|
-
import * as i2 from "../../forms/search/elder-search-input.directive";
|
|
12
|
-
export class ElderChipsFilterDirective {
|
|
13
|
-
/***************************************************************************
|
|
14
|
-
* *
|
|
15
|
-
* Constructor *
|
|
16
|
-
* *
|
|
17
|
-
**************************************************************************/
|
|
18
|
-
constructor(elderMultiSelectChips, elderSearchInput, vcr, destroyRef) {
|
|
19
|
-
this.elderMultiSelectChips = elderMultiSelectChips;
|
|
20
|
-
this.elderSearchInput = elderSearchInput;
|
|
21
|
-
this.vcr = vcr;
|
|
22
|
-
this.destroyRef = destroyRef;
|
|
23
|
-
/***************************************************************************
|
|
24
|
-
* *
|
|
25
|
-
* Fields *
|
|
26
|
-
* *
|
|
27
|
-
**************************************************************************/
|
|
28
|
-
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
29
|
-
this.selectionModel = new IncludeExcludeSelectionModel('FULL_CYCLE');
|
|
30
|
-
this.chipStyleResolver = new ElderChipFilterStyleResolver();
|
|
31
|
-
this.setupFilterChips();
|
|
32
|
-
this.setupElderMultiSelectChipsListeners();
|
|
33
|
-
}
|
|
34
|
-
/***************************************************************************
|
|
35
|
-
* *
|
|
36
|
-
* Properties *
|
|
37
|
-
* *
|
|
38
|
-
**************************************************************************/
|
|
39
|
-
set cycleStrategy(strategy) {
|
|
40
|
-
this.selectionModel.strategy = strategy;
|
|
41
|
-
}
|
|
42
|
-
/***************************************************************************
|
|
43
|
-
* *
|
|
44
|
-
* Private methods *
|
|
45
|
-
* *
|
|
46
|
-
**************************************************************************/
|
|
47
|
-
setupFilterChips() {
|
|
48
|
-
const chipTemplate = this.createFilterChipTemplate();
|
|
49
|
-
this.elderMultiSelectChips.chipSpecFn = (entity) => this.resolveChipSpec(entity);
|
|
50
|
-
chipTemplate.avatarRef$.pipe(takeUntilDestroyed(this.destroyRef), filter((avatarRef) => !!avatarRef), first()).subscribe((avatarRef) => {
|
|
51
|
-
this.elderMultiSelectChips.chipAvatarTemplate = avatarRef;
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
createFilterChipTemplate() {
|
|
55
|
-
const ref = this.vcr.createComponent(ElderFilterChipTemplateComponent);
|
|
56
|
-
ref.setInput('avatarResolverFn', (id) => this.resolveAvatar(id));
|
|
57
|
-
return ref.instance;
|
|
58
|
-
}
|
|
59
|
-
setupElderMultiSelectChipsListeners() {
|
|
60
|
-
this.elderMultiSelectChips.currentClicked
|
|
61
|
-
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
62
|
-
.subscribe((entity) => this.handleChipClick(entity));
|
|
63
|
-
this.elderMultiSelectChips.entityIds$.pipe(takeUntilDestroyed(this.destroyRef), skipUntil(this.elderSearchInput.initialDone$), startWith(this.elderMultiSelectChips.entityIds), filter(entityIds => !!entityIds)).subscribe(entityIds => {
|
|
64
|
-
this.selectionModel.initTo(entityIds);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
resolveChipSpec(entity) {
|
|
68
|
-
return this.chipStyleResolver.resolveChipSpec(this.findFilterEntityByEntity(entity));
|
|
69
|
-
}
|
|
70
|
-
resolveAvatar(id) {
|
|
71
|
-
return this.chipStyleResolver.resolveAvatar(this.findFilterEntityById(id));
|
|
72
|
-
}
|
|
73
|
-
handleChipClick(entity) {
|
|
74
|
-
const entityId = this.elderMultiSelectChips.getEntityId(entity);
|
|
75
|
-
const newState = this.selectionModel.cycleExisting(entityId);
|
|
76
|
-
if (newState) {
|
|
77
|
-
this.elderMultiSelectChips.appendEntities([]); // TODO Why??
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
this.log.warn('The entity id "' + entityId + '" is not in the selection');
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
findFilterEntityByEntity(entity) {
|
|
84
|
-
const searchedId = this.elderMultiSelectChips.getEntityId(entity);
|
|
85
|
-
return this.findFilterEntityById(searchedId);
|
|
86
|
-
}
|
|
87
|
-
findFilterEntityById(id) {
|
|
88
|
-
return this.selectionModel.findStateById(id);
|
|
89
|
-
}
|
|
90
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderChipsFilterDirective, deps: [{ token: i1.ElderMultiSelectChipsComponent }, { token: i2.ElderSearchInputDirective }, { token: i0.ViewContainerRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
91
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ElderChipsFilterDirective, isStandalone: true, selector: "[elderChipsFilter]", inputs: { cycleStrategy: "cycleStrategy" }, ngImport: i0 }); }
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderChipsFilterDirective, decorators: [{
|
|
94
|
-
type: Directive,
|
|
95
|
-
args: [{
|
|
96
|
-
selector: '[elderChipsFilter]',
|
|
97
|
-
standalone: true
|
|
98
|
-
}]
|
|
99
|
-
}], ctorParameters: () => [{ type: i1.ElderMultiSelectChipsComponent }, { type: i2.ElderSearchInputDirective }, { type: i0.ViewContainerRef }, { type: i0.DestroyRef }], propDecorators: { cycleStrategy: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2hpcHMtZmlsdGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2ZpbHRlci9lbGRlci1jaGlwcy1maWx0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxTQUFTLEVBQUUsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ25ILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sNEJBQTRCLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBOEIsNEJBQTRCLEVBQXNCLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFNakksTUFBTSxPQUFPLHlCQUF5QjtJQWNwQzs7OztnRkFJNEU7SUFFNUUsWUFDa0IscUJBQXFELEVBQ3JELGdCQUEyQyxFQUMzQyxHQUFxQixFQUNwQixVQUFzQjtRQUh2QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQWdDO1FBQ3JELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBMkI7UUFDM0MsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXRCekM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7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QUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELElBQUksUUFBUSxFQUFFO1lBQ1osSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWE7U0FDN0Q7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsR0FBRywyQkFBMkIsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QixDQUFDLE1BQVM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsRUFBVTtRQUNyQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7K0dBakhVLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQUpyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjttTUFzQ1ksYUFBYTtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVzdHJveVJlZiwgRGlyZWN0aXZlLCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VsZGVyTXVsdGlTZWxlY3RDaGlwc0NvbXBvbmVudH0gZnJvbSAnLi4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL2VsZGVyLW11bHRpLXNlbGVjdC1jaGlwcy5jb21wb25lbnQnO1xuaW1wb3J0IHtza2lwVW50aWx9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTZWxlY3RDaGlwU3BlY30gZnJvbSAnLi4vbXVsdGkvZWxkZXItbXVsdGktc2VsZWN0LWNoaXBzL3NlbGVjdC1jaGlwLXNwZWMnO1xuaW1wb3J0IHtFbGRlckZpbHRlckNoaXBUZW1wbGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS9lbGRlci1maWx0ZXItY2hpcC10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7ZmlsdGVyLCBmaXJzdCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmV9IGZyb20gJy4uLy4uL2Zvcm1zL3NlYXJjaC9lbGRlci1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCBFbGRlckNoaXBGaWx0ZXJTdHlsZVJlc29sdmVyIGZyb20gJy4vZWxkZXItY2hpcC1maWx0ZXItc3R5bGUtcmVzb2x2ZXInO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge0luY2x1ZGVFeGNsdWRlQ3ljbGVTdHJhdGVneSwgSW5jbHVkZUV4Y2x1ZGVTZWxlY3Rpb25Nb2RlbCwgSW5jbHVkZUV4Y2x1ZGVTdGF0ZX0gZnJvbSAnLi9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyQ2hpcHNGaWx0ZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFbGRlckNoaXBzRmlsdGVyRGlyZWN0aXZlPFQgPSBhbnk+IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbk1vZGVsID0gbmV3IEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwoJ0ZVTExfQ1lDTEUnKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNoaXBTdHlsZVJlc29sdmVyID0gbmV3IEVsZGVyQ2hpcEZpbHRlclN0eWxlUmVzb2x2ZXIoKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxkZXJNdWx0aVNlbGVjdENoaXBzOiBFbGRlck11bHRpU2VsZWN0Q2hpcHNDb21wb25lbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZGVyU2VhcmNoSW5wdXQ6IEVsZGVyU2VhcmNoSW5wdXREaXJlY3RpdmUsXG4gICAgcHVibGljIHJlYWRvbmx5IHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEZpbHRlckNoaXBzKCk7XG4gICAgdGhpcy5zZXR1cEVsZGVyTXVsdGlTZWxlY3RDaGlwc0xpc3RlbmVycygpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjeWNsZVN0cmF0ZWd5KHN0cmF0ZWd5OiBJbmNsdWRlRXhjbHVkZUN5Y2xlU3RyYXRlZ3kpe1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgc2V0dXBGaWx0ZXJDaGlwcygpIHtcblxuICAgIGNvbnN0IGNoaXBUZW1wbGF0ZSA9IHRoaXMuY3JlYXRlRmlsdGVyQ2hpcFRlbXBsYXRlKCk7XG4gICAgdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuY2hpcFNwZWNGbiA9IChlbnRpdHk6IFQpID0+IHRoaXMucmVzb2x2ZUNoaXBTcGVjKGVudGl0eSk7XG5cbiAgICBjaGlwVGVtcGxhdGUuYXZhdGFyUmVmJC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgZmlsdGVyKChhdmF0YXJSZWYpID0+ICEhYXZhdGFyUmVmKSxcbiAgICAgICAgZmlyc3QoKVxuICAgICAgKS5zdWJzY3JpYmUoKGF2YXRhclJlZikgPT4ge1xuICAgICAgICB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5jaGlwQXZhdGFyVGVtcGxhdGUgPSBhdmF0YXJSZWY7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRmlsdGVyQ2hpcFRlbXBsYXRlKCk6IEVsZGVyRmlsdGVyQ2hpcFRlbXBsYXRlQ29tcG9uZW50IHtcbiAgICBjb25zdCByZWYgPSB0aGlzLnZjci5jcmVhdGVDb21wb25lbnQoRWxkZXJGaWx0ZXJDaGlwVGVtcGxhdGVDb21wb25lbnQpO1xuICAgIHJlZi5zZXRJbnB1dCgnYXZhdGFyUmVzb2x2ZXJGbicsIChpZDogc3RyaW5nKSA9PiB0aGlzLnJlc29sdmVBdmF0YXIoaWQpKTtcbiAgICByZXR1cm4gcmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEVsZGVyTXVsdGlTZWxlY3RDaGlwc0xpc3RlbmVycygpIHtcbiAgICB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5jdXJyZW50Q2xpY2tlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChlbnRpdHkpID0+IHRoaXMuaGFuZGxlQ2hpcENsaWNrKGVudGl0eSkpO1xuXG4gICAgdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZW50aXR5SWRzJC5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBza2lwVW50aWwodGhpcy5lbGRlclNlYXJjaElucHV0LmluaXRpYWxEb25lJCksXG4gICAgICBzdGFydFdpdGgodGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZW50aXR5SWRzKSxcbiAgICAgIGZpbHRlcihlbnRpdHlJZHMgPT4gISFlbnRpdHlJZHMpXG4gICAgKS5zdWJzY3JpYmUoZW50aXR5SWRzID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuaW5pdFRvKGVudGl0eUlkcyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVDaGlwU3BlYyhlbnRpdHk6IFQpOiBTZWxlY3RDaGlwU3BlYyB7XG4gICAgcmV0dXJuIHRoaXMuY2hpcFN0eWxlUmVzb2x2ZXIucmVzb2x2ZUNoaXBTcGVjKFxuICAgICAgdGhpcy5maW5kRmlsdGVyRW50aXR5QnlFbnRpdHkoZW50aXR5KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVBdmF0YXIoaWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2hpcFN0eWxlUmVzb2x2ZXIucmVzb2x2ZUF2YXRhcihcbiAgICAgIHRoaXMuZmluZEZpbHRlckVudGl0eUJ5SWQoaWQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQ2hpcENsaWNrKGVudGl0eTogVCkge1xuICAgIGNvbnN0IGVudGl0eUlkID0gdGhpcy5lbGRlck11bHRpU2VsZWN0Q2hpcHMuZ2V0RW50aXR5SWQoZW50aXR5KTtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IHRoaXMuc2VsZWN0aW9uTW9kZWwuY3ljbGVFeGlzdGluZyhlbnRpdHlJZCk7XG4gICAgaWYgKG5ld1N0YXRlKSB7XG4gICAgICB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5hcHBlbmRFbnRpdGllcyhbXSk7IC8vIFRPRE8gV2h5Pz9cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2cud2FybignVGhlIGVudGl0eSBpZCBcIicgKyBlbnRpdHlJZCArICdcIiBpcyBub3QgaW4gdGhlIHNlbGVjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmluZEZpbHRlckVudGl0eUJ5RW50aXR5KGVudGl0eTogVCk6IEluY2x1ZGVFeGNsdWRlU3RhdGUge1xuICAgIGNvbnN0IHNlYXJjaGVkSWQgPSB0aGlzLmVsZGVyTXVsdGlTZWxlY3RDaGlwcy5nZXRFbnRpdHlJZChlbnRpdHkpO1xuICAgIHJldHVybiB0aGlzLmZpbmRGaWx0ZXJFbnRpdHlCeUlkKHNlYXJjaGVkSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kRmlsdGVyRW50aXR5QnlJZChpZDogc3RyaW5nKTogSW5jbHVkZUV4Y2x1ZGVTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuZmluZFN0YXRlQnlJZChpZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { InputFilterConverter } from './input-filter-converter';
|
|
2
|
-
import { Filter } from '../../../../common/data/filters/filter';
|
|
3
|
-
import { InputValue } from '../domain/input/input-value';
|
|
4
|
-
import { IncludeExcludeSelectionModel } from '../../../select/filter/include-exclude-selection-model';
|
|
5
|
-
export default class IncludeExcludeInputConverter implements InputFilterConverter {
|
|
6
|
-
private readonly selectionModel;
|
|
7
|
-
private readonly queryKey;
|
|
8
|
-
private readonly includeSuffix;
|
|
9
|
-
private readonly excludeSuffix;
|
|
10
|
-
/***************************************************************************
|
|
11
|
-
* *
|
|
12
|
-
* Constructors *
|
|
13
|
-
* *
|
|
14
|
-
**************************************************************************/
|
|
15
|
-
constructor(selectionModel: IncludeExcludeSelectionModel, queryKey: string, includeSuffix: string, excludeSuffix: string);
|
|
16
|
-
/***************************************************************************
|
|
17
|
-
* *
|
|
18
|
-
* Public API *
|
|
19
|
-
* *
|
|
20
|
-
**************************************************************************/
|
|
21
|
-
convertToValue(filters: Filter[]): InputValue;
|
|
22
|
-
convertToFilters(inputValue: InputValue): Filter[];
|
|
23
|
-
/***************************************************************************
|
|
24
|
-
* *
|
|
25
|
-
* Private Properties *
|
|
26
|
-
* *
|
|
27
|
-
**************************************************************************/
|
|
28
|
-
private get includeQueryKey();
|
|
29
|
-
private get excludeQueryKey();
|
|
30
|
-
/***************************************************************************
|
|
31
|
-
* *
|
|
32
|
-
* Private Methods *
|
|
33
|
-
* *
|
|
34
|
-
**************************************************************************/
|
|
35
|
-
private findValueOrDefault;
|
|
36
|
-
private convertFiltersToMap;
|
|
37
|
-
private flattenFilterValues;
|
|
38
|
-
private replaceEmptyArrayWithNull;
|
|
39
|
-
private validateArrayAndReturn;
|
|
40
|
-
/***************************************************************************
|
|
41
|
-
* *
|
|
42
|
-
* Split *
|
|
43
|
-
* *
|
|
44
|
-
**************************************************************************/
|
|
45
|
-
/**
|
|
46
|
-
* If the filter before split is an empty array, include will be set to empty and exclude to null
|
|
47
|
-
* Else, an empty array will always be set to null
|
|
48
|
-
*/
|
|
49
|
-
private buildFilters;
|
|
50
|
-
private buildSplitIncludeValues;
|
|
51
|
-
private buildSplitExcludeValues;
|
|
52
|
-
/***************************************************************************
|
|
53
|
-
* *
|
|
54
|
-
* Merge *
|
|
55
|
-
* *
|
|
56
|
-
**************************************************************************/
|
|
57
|
-
private mergeValues;
|
|
58
|
-
private updateSelectionModel;
|
|
59
|
-
private buildNewSelectionStates;
|
|
60
|
-
private buildMergeIncludeValues;
|
|
61
|
-
private buildMergeExcludeValues;
|
|
62
|
-
}
|