@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.
Files changed (32) hide show
  1. package/esm2022/lib/components/forms/search/domain/input/search-input-state.mjs +6 -6
  2. package/esm2022/lib/components/forms/search/domain/input/search-input.mjs +1 -1
  3. package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +10 -10
  4. package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +14 -29
  5. package/esm2022/lib/components/forms/search/search-box/elder-search-box.component.mjs +4 -4
  6. package/esm2022/lib/components/select/elder-select.module.mjs +8 -8
  7. package/esm2022/lib/components/select/filter/elder-chip-filter-style-resolver.mjs +15 -11
  8. package/esm2022/lib/components/select/filter/elder-chips-include-exclude.directive.mjs +144 -0
  9. package/esm2022/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.mjs +20 -6
  10. package/esm2022/lib/components/select/filter/include-exclude-model-filter-adapter.mjs +63 -0
  11. package/esm2022/lib/components/select/filter/include-exclude-selection-model.mjs +22 -12
  12. package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +7 -2
  13. package/esm2022/lib/components/select/multi/elder-search-include-exclude.directive.mjs +117 -43
  14. package/fesm2022/elderbyte-ngx-starter.mjs +674 -616
  15. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  16. package/lib/components/forms/search/domain/input/search-input-state.d.ts +3 -3
  17. package/lib/components/forms/search/domain/input/search-input.d.ts +2 -6
  18. package/lib/components/forms/search/elder-search-context.directive.d.ts +3 -3
  19. package/lib/components/forms/search/elder-search-input.directive.d.ts +7 -11
  20. package/lib/components/forms/search/search-box/elder-search-box.component.d.ts +2 -1
  21. package/lib/components/select/elder-select.module.d.ts +3 -3
  22. package/lib/components/select/filter/elder-chip-filter-style-resolver.d.ts +1 -1
  23. package/lib/components/select/filter/{elder-chips-filter.directive.d.ts → elder-chips-include-exclude.directive.d.ts} +12 -8
  24. package/lib/components/select/filter/elder-filter-chip-template/elder-filter-chip-template.component.d.ts +6 -0
  25. package/lib/components/select/filter/include-exclude-model-filter-adapter.d.ts +29 -0
  26. package/lib/components/select/filter/include-exclude-selection-model.d.ts +6 -1
  27. package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +2 -0
  28. package/lib/components/select/multi/elder-search-include-exclude.directive.d.ts +57 -17
  29. package/package.json +1 -1
  30. package/esm2022/lib/components/forms/search/filter/include-exclude-input-converter.mjs +0 -137
  31. package/esm2022/lib/components/select/filter/elder-chips-filter.directive.mjs +0 -102
  32. 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
- }