@elderbyte/ngx-starter 16.2.11 → 16.3.0
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/_index.scss +4 -2
- package/esm2022/lib/components/forms/directives/elder-initial-value.directive.mjs +56 -29
- package/esm2022/lib/components/forms/search/elder-search-context-url-binding.directive.mjs +3 -3
- package/esm2022/lib/components/forms/search/elder-search-context.directive.mjs +26 -60
- package/esm2022/lib/components/forms/search/elder-search-input.directive.mjs +2 -2
- package/esm2022/lib/components/forms/search/search-context-orchestrator.mjs +55 -0
- package/esm2022/lib/components/select/elder-select-base.mjs +4 -1
- package/esm2022/lib/components/select/elder-select.module.mjs +11 -5
- package/esm2022/lib/components/select/multi/elder-multi-select-base.mjs +38 -4
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.mjs +281 -0
- package/esm2022/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.mjs +15 -0
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.mjs +5 -50
- package/esm2022/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.mjs +15 -2
- package/esm2022/lib/components/select/multi/elder-multi-select-form-field.mjs +8 -13
- package/esm2022/lib/components/select/multi/public_api.mjs +2 -1
- package/fesm2022/elderbyte-ngx-starter.mjs +475 -156
- package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
- package/lib/components/forms/directives/elder-initial-value.directive.d.ts +11 -6
- package/lib/components/forms/search/elder-search-context.directive.d.ts +7 -17
- package/lib/components/forms/search/search-context-orchestrator.d.ts +29 -0
- package/lib/components/select/elder-select-base.d.ts +1 -0
- package/lib/components/select/elder-select.module.d.ts +26 -24
- package/lib/components/select/multi/elder-multi-select-base.d.ts +10 -0
- package/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.d.ts +102 -0
- package/lib/components/select/multi/elder-multi-select-chip-options/select-option-chip-spec.d.ts +10 -0
- package/lib/components/select/multi/elder-multi-select-chips/elder-multi-select-chips.component.d.ts +0 -10
- package/lib/components/select/multi/elder-multi-select-chips/select-chip-spec.d.ts +3 -0
- package/lib/components/select/multi/public_api.d.ts +1 -0
- package/package.json +1 -1
- package/src/lib/components/chips/_elder-chip-theme.scss +5 -2
- package/src/lib/components/select/multi/elder-multi-select-chip-options/elder-multi-select-chip-options.component.scss +79 -0
|
@@ -5,7 +5,7 @@ import { Pipe, Injectable, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Dire
|
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
6
6
|
import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, DateTimeFormatter, convert, ZonedDateTime, Temporal } from '@js-joda/core';
|
|
7
7
|
import { LoggerFactory } from '@elderbyte/ts-logger';
|
|
8
|
-
import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, lastValueFrom, Subject, EMPTY, combineLatest, merge, of, forkJoin, throwError, mergeWith, switchMap as switchMap$1, Observable, zip, mergeMap as mergeMap$1, fromEvent,
|
|
8
|
+
import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, lastValueFrom, Subject, EMPTY, combineLatest, merge, of, forkJoin, throwError, mergeWith, switchMap as switchMap$1, Observable, zip, mergeMap as mergeMap$1, fromEvent, combineLatestWith as combineLatestWith$1, NEVER } from 'rxjs';
|
|
9
9
|
import { tap, takeUntil, takeWhile, map, filter, distinctUntilChanged, debounceTime, catchError, first, take, switchMap, mergeMap, expand, reduce, startWith, skip, delay, share, combineLatestWith, timeout, skipWhile } from 'rxjs/operators';
|
|
10
10
|
import * as i1$2 from '@angular/common/http';
|
|
11
11
|
import { HttpParams, HttpEventType, HttpRequest, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
@@ -38,7 +38,7 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
38
38
|
import * as i4$3 from '@angular/material/input';
|
|
39
39
|
import { MatInputModule } from '@angular/material/input';
|
|
40
40
|
import * as i8 from '@angular/material/chips';
|
|
41
|
-
import { MatChipsModule } from '@angular/material/chips';
|
|
41
|
+
import { MatChipsModule, MatChipListbox } from '@angular/material/chips';
|
|
42
42
|
import * as i1$5 from '@angular/material/autocomplete';
|
|
43
43
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
44
44
|
import * as i2$2 from '@angular/material/list';
|
|
@@ -19033,6 +19033,9 @@ class ElderSelectBase extends ElderFormFieldControlBase {
|
|
|
19033
19033
|
.pageSize(this.pageSize)
|
|
19034
19034
|
.build(source);
|
|
19035
19035
|
}
|
|
19036
|
+
get dataSource() {
|
|
19037
|
+
return this.dataContext?.dataSource;
|
|
19038
|
+
}
|
|
19036
19039
|
set data(data) {
|
|
19037
19040
|
this.autoCleanUp();
|
|
19038
19041
|
if (data instanceof Array) {
|
|
@@ -21249,6 +21252,26 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
21249
21252
|
awaitEntitiesWithId(entityIds, timeoutMs) {
|
|
21250
21253
|
return this._entities$.pipe(tap(entities => this.logger.debug('Got entities for ids' + entityIds, entities)), filter(entities => this.equalIds(this.getEntityIds(entities), entityIds)), take(1), timeout(timeoutMs));
|
|
21251
21254
|
}
|
|
21255
|
+
/***************************************************************************
|
|
21256
|
+
* *
|
|
21257
|
+
* Host Bindings *
|
|
21258
|
+
* *
|
|
21259
|
+
**************************************************************************/
|
|
21260
|
+
get hostClass() {
|
|
21261
|
+
return 'elder-select-base elder-multi-select';
|
|
21262
|
+
}
|
|
21263
|
+
get disabledClass() {
|
|
21264
|
+
return this.disabled;
|
|
21265
|
+
}
|
|
21266
|
+
get errorStateClass() {
|
|
21267
|
+
return this.errorState;
|
|
21268
|
+
}
|
|
21269
|
+
get requiredClass() {
|
|
21270
|
+
return this.required;
|
|
21271
|
+
}
|
|
21272
|
+
get emptyClass() {
|
|
21273
|
+
return this.empty;
|
|
21274
|
+
}
|
|
21252
21275
|
/***************************************************************************
|
|
21253
21276
|
* *
|
|
21254
21277
|
* Properties *
|
|
@@ -21331,7 +21354,6 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
21331
21354
|
}, () => this.removeEntities(toRemove));
|
|
21332
21355
|
}
|
|
21333
21356
|
removeEntities(toRemove) {
|
|
21334
|
-
console.warn("REMOVE");
|
|
21335
21357
|
toRemove.forEach(e => this.removeEntity(e));
|
|
21336
21358
|
}
|
|
21337
21359
|
removeEntity(toRemove) {
|
|
@@ -21515,7 +21537,7 @@ class ElderMultiSelectBase extends ElderSelectBase {
|
|
|
21515
21537
|
return entities;
|
|
21516
21538
|
}
|
|
21517
21539
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderMultiSelectBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21518
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.11", type: ElderMultiSelectBase, inputs: { entitiesSorts: "entitiesSorts", confirmRemoval: "confirmRemoval", entities: "entities", entityIds: "entityIds" }, outputs: { entityIdsChange: "entityIdsChange", entitiesChange: "entitiesChange", entityIdsUpdated: "entityIdsUpdated", entitiesUpdated: "entitiesUpdated" }, usesInheritance: true, ngImport: i0 }); }
|
|
21540
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.11", type: ElderMultiSelectBase, inputs: { entitiesSorts: "entitiesSorts", confirmRemoval: "confirmRemoval", entities: "entities", entityIds: "entityIds" }, outputs: { entityIdsChange: "entityIdsChange", entitiesChange: "entitiesChange", entityIdsUpdated: "entityIdsUpdated", entitiesUpdated: "entitiesUpdated" }, host: { properties: { "class": "this.hostClass", "class.mat-select-disabled": "this.disabledClass", "class.mat-select-invalid": "this.errorStateClass", "class.mat-select-required": "this.requiredClass", "class.mat-select-empty": "this.emptyClass" } }, usesInheritance: true, ngImport: i0 }); }
|
|
21519
21541
|
}
|
|
21520
21542
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderMultiSelectBase, decorators: [{
|
|
21521
21543
|
type: Directive
|
|
@@ -21531,6 +21553,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
21531
21553
|
type: Output
|
|
21532
21554
|
}], entitiesUpdated: [{
|
|
21533
21555
|
type: Output
|
|
21556
|
+
}], hostClass: [{
|
|
21557
|
+
type: HostBinding,
|
|
21558
|
+
args: ['class']
|
|
21559
|
+
}], disabledClass: [{
|
|
21560
|
+
type: HostBinding,
|
|
21561
|
+
args: ['class.mat-select-disabled']
|
|
21562
|
+
}], errorStateClass: [{
|
|
21563
|
+
type: HostBinding,
|
|
21564
|
+
args: ['class.mat-select-invalid']
|
|
21565
|
+
}], requiredClass: [{
|
|
21566
|
+
type: HostBinding,
|
|
21567
|
+
args: ['class.mat-select-required']
|
|
21568
|
+
}], emptyClass: [{
|
|
21569
|
+
type: HostBinding,
|
|
21570
|
+
args: ['class.mat-select-empty']
|
|
21534
21571
|
}], entities: [{
|
|
21535
21572
|
type: Input
|
|
21536
21573
|
}], entityIds: [{
|
|
@@ -21580,6 +21617,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
21580
21617
|
}]
|
|
21581
21618
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
21582
21619
|
|
|
21620
|
+
class SelectChipSpecUtil {
|
|
21621
|
+
static { this.DefaultChipSpec = {
|
|
21622
|
+
colorSpec: {
|
|
21623
|
+
themeColor: undefined,
|
|
21624
|
+
stateColor: undefined,
|
|
21625
|
+
levelColor: undefined
|
|
21626
|
+
},
|
|
21627
|
+
removable: undefined,
|
|
21628
|
+
avatarSpec: {
|
|
21629
|
+
hide: false,
|
|
21630
|
+
large: false
|
|
21631
|
+
}
|
|
21632
|
+
}; }
|
|
21633
|
+
}
|
|
21634
|
+
|
|
21583
21635
|
class ElderClearSelectDirective {
|
|
21584
21636
|
/***************************************************************************
|
|
21585
21637
|
* *
|
|
@@ -21649,18 +21701,7 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
21649
21701
|
**************************************************************************/
|
|
21650
21702
|
constructor(hostRef, zone, focusMonitor, translateService, dialogService, ngControl) {
|
|
21651
21703
|
super(zone, hostRef, 'multi-select-chips', focusMonitor, translateService, dialogService, ngControl);
|
|
21652
|
-
this.defaultChipSpec =
|
|
21653
|
-
colorSpec: {
|
|
21654
|
-
themeColor: undefined,
|
|
21655
|
-
stateColor: undefined,
|
|
21656
|
-
levelColor: undefined
|
|
21657
|
-
},
|
|
21658
|
-
removable: undefined,
|
|
21659
|
-
avatarSpec: {
|
|
21660
|
-
hide: false,
|
|
21661
|
-
large: false
|
|
21662
|
-
}
|
|
21663
|
-
};
|
|
21704
|
+
this.defaultChipSpec = SelectChipSpecUtil.DefaultChipSpec;
|
|
21664
21705
|
/**
|
|
21665
21706
|
* Allows to customize each chip individually (Color, Removable, Avatar).
|
|
21666
21707
|
*
|
|
@@ -21695,26 +21736,6 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
21695
21736
|
};
|
|
21696
21737
|
}));
|
|
21697
21738
|
}
|
|
21698
|
-
/***************************************************************************
|
|
21699
|
-
* *
|
|
21700
|
-
* Host Bindings *
|
|
21701
|
-
* *
|
|
21702
|
-
**************************************************************************/
|
|
21703
|
-
get hostClass() {
|
|
21704
|
-
return 'elder-select-base elder-multi-select';
|
|
21705
|
-
}
|
|
21706
|
-
get disabledClass() {
|
|
21707
|
-
return this.disabled;
|
|
21708
|
-
}
|
|
21709
|
-
get errorStateClass() {
|
|
21710
|
-
return this.errorState;
|
|
21711
|
-
}
|
|
21712
|
-
get requiredClass() {
|
|
21713
|
-
return this.required;
|
|
21714
|
-
}
|
|
21715
|
-
get emptyClass() {
|
|
21716
|
-
return this.empty;
|
|
21717
|
-
}
|
|
21718
21739
|
/***************************************************************************
|
|
21719
21740
|
* *
|
|
21720
21741
|
* Properties *
|
|
@@ -21825,7 +21846,7 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
|
|
|
21825
21846
|
return new ChipModel(e, dPR(e), chipSpec?.colorSpec, removable, chipSpec.avatarSpec, chipSpec.trailingSpec);
|
|
21826
21847
|
}
|
|
21827
21848
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderMultiSelectChipsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.FocusMonitor }, { token: i2.TranslateService }, { token: ElderDialogService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21828
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ElderMultiSelectChipsComponent, selector: "elder-multi-select-chips", inputs: { defaultChipSpec: "defaultChipSpec", chipSpecFn: "chipSpecFn", allowRemove: "allowRemove", allowSorting: "allowSorting", stacked: "stacked", chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate", customInputTemplate: "customInputTemplate" },
|
|
21849
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ElderMultiSelectChipsComponent, selector: "elder-multi-select-chips", inputs: { defaultChipSpec: "defaultChipSpec", chipSpecFn: "chipSpecFn", allowRemove: "allowRemove", allowSorting: "allowSorting", stacked: "stacked", chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate", customInputTemplate: "customInputTemplate" }, providers: [
|
|
21829
21850
|
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipsComponent },
|
|
21830
21851
|
{
|
|
21831
21852
|
provide: ELDER_SELECT_BASE,
|
|
@@ -21862,21 +21883,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
21862
21883
|
}], _chipInput: [{
|
|
21863
21884
|
type: ViewChild,
|
|
21864
21885
|
args: [ElderSelectComponent]
|
|
21865
|
-
}], hostClass: [{
|
|
21866
|
-
type: HostBinding,
|
|
21867
|
-
args: ['class']
|
|
21868
|
-
}], disabledClass: [{
|
|
21869
|
-
type: HostBinding,
|
|
21870
|
-
args: ['class.mat-select-disabled']
|
|
21871
|
-
}], errorStateClass: [{
|
|
21872
|
-
type: HostBinding,
|
|
21873
|
-
args: ['class.mat-select-invalid']
|
|
21874
|
-
}], requiredClass: [{
|
|
21875
|
-
type: HostBinding,
|
|
21876
|
-
args: ['class.mat-select-required']
|
|
21877
|
-
}], emptyClass: [{
|
|
21878
|
-
type: HostBinding,
|
|
21879
|
-
args: ['class.mat-select-empty']
|
|
21880
21886
|
}], chipTemplateQuery: [{
|
|
21881
21887
|
type: ContentChild,
|
|
21882
21888
|
args: [ElderSelectChipDirective, { read: TemplateRef, static: false }]
|
|
@@ -22047,6 +22053,278 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
22047
22053
|
args: [SelectionModelPopupDirective]
|
|
22048
22054
|
}] } });
|
|
22049
22055
|
|
|
22056
|
+
class SelectOptionChipSpecUtil {
|
|
22057
|
+
static { this.DefaultChipSpec = {
|
|
22058
|
+
colorSpec: {
|
|
22059
|
+
themeColor: undefined,
|
|
22060
|
+
stateColor: undefined,
|
|
22061
|
+
levelColor: undefined
|
|
22062
|
+
},
|
|
22063
|
+
locked: false,
|
|
22064
|
+
avatarSpec: {
|
|
22065
|
+
hide: false,
|
|
22066
|
+
large: false
|
|
22067
|
+
}
|
|
22068
|
+
}; }
|
|
22069
|
+
}
|
|
22070
|
+
|
|
22071
|
+
class ChipOptionModel {
|
|
22072
|
+
constructor(value, displayText, colorSpec, locked, avatarSpec, trailingSpec, selected) {
|
|
22073
|
+
this.value = value;
|
|
22074
|
+
this.displayText = displayText;
|
|
22075
|
+
this.colorSpec = colorSpec;
|
|
22076
|
+
this.locked = locked;
|
|
22077
|
+
this.avatarSpec = avatarSpec;
|
|
22078
|
+
this.trailingSpec = trailingSpec;
|
|
22079
|
+
this.selected = selected;
|
|
22080
|
+
}
|
|
22081
|
+
}
|
|
22082
|
+
class ElderMultiSelectChipOptionsComponent extends ElderMultiSelectBase {
|
|
22083
|
+
/***************************************************************************
|
|
22084
|
+
* *
|
|
22085
|
+
* Constructor *
|
|
22086
|
+
* *
|
|
22087
|
+
**************************************************************************/
|
|
22088
|
+
constructor(hostRef, zone, focusMonitor, translateService, dialogService, ngControl) {
|
|
22089
|
+
super(zone, hostRef, 'multi-select-chip-options', focusMonitor, translateService, dialogService, ngControl);
|
|
22090
|
+
/***************************************************************************
|
|
22091
|
+
* *
|
|
22092
|
+
* Fields *
|
|
22093
|
+
* *
|
|
22094
|
+
**************************************************************************/
|
|
22095
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
22096
|
+
this.chipTemplate$ = new BehaviorSubject(null);
|
|
22097
|
+
this.chipAvatarTemplate$ = new BehaviorSubject(null);
|
|
22098
|
+
this.defaultChipSpec = SelectOptionChipSpecUtil.DefaultChipSpec;
|
|
22099
|
+
/**
|
|
22100
|
+
* Allows to customize each chip individually (Color, Removable, Avatar).
|
|
22101
|
+
*
|
|
22102
|
+
*/
|
|
22103
|
+
this.chipSpecFn = e => this.defaultChipSpec;
|
|
22104
|
+
this.stacked = false;
|
|
22105
|
+
this._multiple = false;
|
|
22106
|
+
const context$ = combineLatest([
|
|
22107
|
+
this.state$,
|
|
22108
|
+
this.displayPropertyResolver$,
|
|
22109
|
+
this.readonly$,
|
|
22110
|
+
this.disabled$
|
|
22111
|
+
]).pipe(map(([state, dPR, readonly, disabled]) => {
|
|
22112
|
+
return {
|
|
22113
|
+
state: state,
|
|
22114
|
+
displayPropertyResolver: dPR,
|
|
22115
|
+
readonly: readonly,
|
|
22116
|
+
disabled: disabled
|
|
22117
|
+
};
|
|
22118
|
+
}));
|
|
22119
|
+
const available$ = this.dataContext$.pipe(filter(dc => !!dc), switchMap$1(dc => dc.data));
|
|
22120
|
+
this.selectChips$ = combineLatest([
|
|
22121
|
+
this.entities$,
|
|
22122
|
+
this.entityIds$,
|
|
22123
|
+
available$,
|
|
22124
|
+
context$
|
|
22125
|
+
]).pipe(map(([entities, entityIds, available, context]) => this.buildChipModelsOrFallback(entities, entityIds, available, context)));
|
|
22126
|
+
this.templates$ = combineLatest([
|
|
22127
|
+
this.chipTemplate$,
|
|
22128
|
+
this.chipAvatarTemplate$
|
|
22129
|
+
]).pipe(map(([chip, avatar]) => {
|
|
22130
|
+
return {
|
|
22131
|
+
chip,
|
|
22132
|
+
avatar
|
|
22133
|
+
};
|
|
22134
|
+
}));
|
|
22135
|
+
}
|
|
22136
|
+
/***************************************************************************
|
|
22137
|
+
* *
|
|
22138
|
+
* Properties *
|
|
22139
|
+
* *
|
|
22140
|
+
**************************************************************************/
|
|
22141
|
+
set multiple(val) {
|
|
22142
|
+
this._multiple = coerceBooleanProperty(val);
|
|
22143
|
+
if (!this._multiple && this.entities.length > 1) {
|
|
22144
|
+
this.selectEntity(this.entities[this.entities.length - 1]);
|
|
22145
|
+
}
|
|
22146
|
+
}
|
|
22147
|
+
get multiple() {
|
|
22148
|
+
return this._multiple;
|
|
22149
|
+
}
|
|
22150
|
+
set chipTemplateQuery(template) {
|
|
22151
|
+
this.chipTemplate = template;
|
|
22152
|
+
}
|
|
22153
|
+
set chipTemplate(template) {
|
|
22154
|
+
this.chipTemplate$.next(template);
|
|
22155
|
+
}
|
|
22156
|
+
get chipTemplate() {
|
|
22157
|
+
return this.chipTemplate$.getValue();
|
|
22158
|
+
}
|
|
22159
|
+
set chipAvatarTemplateQuery(template) {
|
|
22160
|
+
this.chipAvatarTemplate = template;
|
|
22161
|
+
}
|
|
22162
|
+
set chipAvatarTemplate(template) {
|
|
22163
|
+
this.chipAvatarTemplate$.next(template);
|
|
22164
|
+
}
|
|
22165
|
+
get chipAvatarTemplate() {
|
|
22166
|
+
return this.chipAvatarTemplate$.getValue();
|
|
22167
|
+
}
|
|
22168
|
+
get shouldLabelFloat() {
|
|
22169
|
+
return true;
|
|
22170
|
+
}
|
|
22171
|
+
/***************************************************************************
|
|
22172
|
+
* *
|
|
22173
|
+
* Public API *
|
|
22174
|
+
* *
|
|
22175
|
+
**************************************************************************/
|
|
22176
|
+
selectionChanged(changeEvent, entity) {
|
|
22177
|
+
/**/
|
|
22178
|
+
this.log.debug('selectionChanged', {
|
|
22179
|
+
changeEvent: changeEvent,
|
|
22180
|
+
entity: entity
|
|
22181
|
+
});
|
|
22182
|
+
if (changeEvent.isUserInput) {
|
|
22183
|
+
if (changeEvent.selected) {
|
|
22184
|
+
this.selectEntity(entity);
|
|
22185
|
+
}
|
|
22186
|
+
else {
|
|
22187
|
+
this.removeEntity(entity);
|
|
22188
|
+
}
|
|
22189
|
+
}
|
|
22190
|
+
}
|
|
22191
|
+
resolveChipValue(e1) {
|
|
22192
|
+
return this.getEntityId(e1);
|
|
22193
|
+
}
|
|
22194
|
+
focus(options) {
|
|
22195
|
+
if (this._listBox) {
|
|
22196
|
+
this._listBox.focus();
|
|
22197
|
+
}
|
|
22198
|
+
}
|
|
22199
|
+
blur() {
|
|
22200
|
+
this.log.warn('blur() not yet supported!');
|
|
22201
|
+
}
|
|
22202
|
+
/***************************************************************************
|
|
22203
|
+
* *
|
|
22204
|
+
* Protected API *
|
|
22205
|
+
* *
|
|
22206
|
+
**************************************************************************/
|
|
22207
|
+
/**
|
|
22208
|
+
* Automatically start DC if not yet started
|
|
22209
|
+
* @param data
|
|
22210
|
+
* @protected
|
|
22211
|
+
*/
|
|
22212
|
+
onDataContextChanged(data) {
|
|
22213
|
+
if (data) {
|
|
22214
|
+
if (!data.isStarted) {
|
|
22215
|
+
data.start(this.sorts, this.filters).subscribe({
|
|
22216
|
+
next: () => {
|
|
22217
|
+
super.onDataContextChanged(data);
|
|
22218
|
+
}
|
|
22219
|
+
});
|
|
22220
|
+
}
|
|
22221
|
+
else {
|
|
22222
|
+
super.onDataContextChanged(data);
|
|
22223
|
+
}
|
|
22224
|
+
}
|
|
22225
|
+
}
|
|
22226
|
+
/***************************************************************************
|
|
22227
|
+
* *
|
|
22228
|
+
* Private methods *
|
|
22229
|
+
* *
|
|
22230
|
+
**************************************************************************/
|
|
22231
|
+
selectEntity(entity) {
|
|
22232
|
+
const idToSelect = this.getEntityId(entity);
|
|
22233
|
+
if (!this.multiple) {
|
|
22234
|
+
this.removeEntities(this.entities.filter(e => this.getEntityId(e) !== idToSelect));
|
|
22235
|
+
}
|
|
22236
|
+
if (!this.isEntityIdSelected(idToSelect)) {
|
|
22237
|
+
this.appendEntity(entity);
|
|
22238
|
+
}
|
|
22239
|
+
}
|
|
22240
|
+
isEntityIdSelected(entityId) {
|
|
22241
|
+
return this.entities.some(e => this.getEntityId(e) == entityId);
|
|
22242
|
+
}
|
|
22243
|
+
buildChipModelsOrFallback(entities, entityIds, available, context) {
|
|
22244
|
+
if (context.state.error) {
|
|
22245
|
+
return this.buildChipFallbackModels(entityIds, context);
|
|
22246
|
+
}
|
|
22247
|
+
return this.buildChipModels(available, entities, context);
|
|
22248
|
+
}
|
|
22249
|
+
buildChipFallbackModels(entityIds, context) {
|
|
22250
|
+
context.displayPropertyResolver = x => x.id;
|
|
22251
|
+
return entityIds.map(id => this.buildChipBySpec({ id: id }, context, {
|
|
22252
|
+
colorSpec: {
|
|
22253
|
+
themeColor: 'warn'
|
|
22254
|
+
},
|
|
22255
|
+
avatarSpec: {
|
|
22256
|
+
hide: false,
|
|
22257
|
+
large: false
|
|
22258
|
+
}
|
|
22259
|
+
}, false // TODO
|
|
22260
|
+
));
|
|
22261
|
+
}
|
|
22262
|
+
buildChipModels(availables, entities, context) {
|
|
22263
|
+
if (availables) {
|
|
22264
|
+
const selectedIds = new Set(entities.map(e => this.getEntityId(e)));
|
|
22265
|
+
return availables.map(available => this.buildChipBySpec(available, context, this.chipSpecFn(available) ?? this.defaultChipSpec, selectedIds.has(this.getEntityId(available))));
|
|
22266
|
+
}
|
|
22267
|
+
else {
|
|
22268
|
+
return [];
|
|
22269
|
+
}
|
|
22270
|
+
}
|
|
22271
|
+
buildChipBySpec(e, context, chipSpec, selected) {
|
|
22272
|
+
let locked = false;
|
|
22273
|
+
if (this.isLocked) {
|
|
22274
|
+
locked = true;
|
|
22275
|
+
}
|
|
22276
|
+
else {
|
|
22277
|
+
locked = chipSpec.locked;
|
|
22278
|
+
}
|
|
22279
|
+
return new ChipOptionModel(e, context.displayPropertyResolver(e), {
|
|
22280
|
+
themeColor: selected ? 'accent' : undefined
|
|
22281
|
+
}, locked, chipSpec.avatarSpec, chipSpec.trailingSpec, selected);
|
|
22282
|
+
}
|
|
22283
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderMultiSelectChipOptionsComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.FocusMonitor }, { token: i2.TranslateService }, { token: ElderDialogService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22284
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: ElderMultiSelectChipOptionsComponent, selector: "elder-multi-select-chip-options", inputs: { defaultChipSpec: "defaultChipSpec", chipSpecFn: "chipSpecFn", stacked: "stacked", multiple: "multiple", chipTemplate: "chipTemplate", chipAvatarTemplate: "chipAvatarTemplate" }, providers: [
|
|
22285
|
+
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipOptionsComponent },
|
|
22286
|
+
{
|
|
22287
|
+
provide: ELDER_SELECT_BASE,
|
|
22288
|
+
useExisting: forwardRef(() => ElderMultiSelectChipOptionsComponent)
|
|
22289
|
+
}
|
|
22290
|
+
], queries: [{ propertyName: "chipTemplateQuery", first: true, predicate: ElderSelectChipDirective, descendants: true, read: TemplateRef }, { propertyName: "chipAvatarTemplateQuery", first: true, predicate: ElderSelectChipAvatarDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "_listBox", first: true, predicate: MatChipListbox, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n <mat-chip-listbox #chips\n [class.mat-mdc-chip-set-stacked]=\"stacked\"\n [multiple]=\"multiple\"\n >\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-mdc-control-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"templates$ | async as templates\">\n\n <mat-chip-option *ngFor=\"let chipModel of chipValues\"\n class=\"noselect\"\n [value]=\"resolveChipValue(chipModel.value)\"\n elderChipLabel\n [levelColor]=\"chipModel.colorSpec?.levelColor\"\n [stateColor]=\"chipModel.colorSpec?.stateColor\"\n [color]=\"chipModel.colorSpec?.themeColor\"\n [selectable]=\"!chipModel.locked\"\n [disabled]=\"chipModel.locked\"\n [selected]=\"chipModel.selected\"\n (selectionChange)=\"selectionChanged($event, chipModel.value)\"\n >\n\n <mat-chip-avatar\n *ngIf=\"templates.avatar && !chipModel.avatarSpec?.hide\"\n [class.chip-avatar-xl]=\"chipModel.avatarSpec?.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n\n <mat-icon matChipTrailingIcon class=\"elder-trailing-icon\"\n *ngIf=\"chipModel.trailingSpec?.icon\"\n [fontSet]=\"chipModel.trailingSpec?.iconFontSet\"\n >{{chipModel.trailingSpec?.icon}}</mat-icon>\n\n\n </mat-chip-option>\n\n <div class=\"layout-row place-start-center elder-chip-input\">\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n </div>\n </ng-container>\n </mat-chip-listbox>\n</div>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}\n"], dependencies: [{ kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5$1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i8.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i8.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i8.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: i8.MatChipTrailingIcon, selector: "mat-chip-trailing-icon, [matChipTrailingIcon]" }, { kind: "directive", type: i9$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: ["appearance", "color", "stateColor", "levelColor"] }, { kind: "pipe", type: i1$4.AsyncPipe, name: "async" }, { kind: "pipe", type: ElderTruncatePipe, name: "elderTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22291
|
+
}
|
|
22292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderMultiSelectChipOptionsComponent, decorators: [{
|
|
22293
|
+
type: Component,
|
|
22294
|
+
args: [{ selector: 'elder-multi-select-chip-options', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
22295
|
+
{ provide: MatFormFieldControl, useExisting: ElderMultiSelectChipOptionsComponent },
|
|
22296
|
+
{
|
|
22297
|
+
provide: ELDER_SELECT_BASE,
|
|
22298
|
+
useExisting: forwardRef(() => ElderMultiSelectChipOptionsComponent)
|
|
22299
|
+
}
|
|
22300
|
+
], template: "<div *ngIf=\"(selectChips$ | async) as chipValues\"\n class=\"elder-flex-control\"\n [matTooltip]=\"(state$ | async)?.error\"\n>\n <mat-chip-listbox #chips\n [class.mat-mdc-chip-set-stacked]=\"stacked\"\n [multiple]=\"multiple\"\n >\n\n <ng-container *ngIf=\"(mergedState$ | async) as state\">\n <div *ngIf=\"icon\"\n class=\"elder-input-prefix-icon-container flex-none\"\n >\n <mat-icon *ngIf=\"icon\" disabled\n class=\"elder-prefix-icon elder-mdc-control-icon elder-icon-small noselect\"\n [class.loading]=\"state.loading\"\n >\n {{icon}}\n </mat-icon>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"templates$ | async as templates\">\n\n <mat-chip-option *ngFor=\"let chipModel of chipValues\"\n class=\"noselect\"\n [value]=\"resolveChipValue(chipModel.value)\"\n elderChipLabel\n [levelColor]=\"chipModel.colorSpec?.levelColor\"\n [stateColor]=\"chipModel.colorSpec?.stateColor\"\n [color]=\"chipModel.colorSpec?.themeColor\"\n [selectable]=\"!chipModel.locked\"\n [disabled]=\"chipModel.locked\"\n [selected]=\"chipModel.selected\"\n (selectionChange)=\"selectionChanged($event, chipModel.value)\"\n >\n\n <mat-chip-avatar\n *ngIf=\"templates.avatar && !chipModel.avatarSpec?.hide\"\n [class.chip-avatar-xl]=\"chipModel.avatarSpec?.large\"\n >\n <ng-container\n *ngTemplateOutlet=\"templates.avatar; context: {$implicit: chipModel}\">\n </ng-container>\n </mat-chip-avatar>\n\n <ng-container\n *ngTemplateOutlet=\"templates.chip || simpleChipTemplate; context: {$implicit: chipModel}\">\n </ng-container>\n\n <mat-icon matChipTrailingIcon class=\"elder-trailing-icon\"\n *ngIf=\"chipModel.trailingSpec?.icon\"\n [fontSet]=\"chipModel.trailingSpec?.iconFontSet\"\n >{{chipModel.trailingSpec?.icon}}</mat-icon>\n\n\n </mat-chip-option>\n\n <div class=\"layout-row place-start-center elder-chip-input\">\n\n <button mat-icon-button type=\"button\" class=\"elder-control-icon-button elder-browse-icon\"\n *ngIf=\"selectionPopup\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\" aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n </div>\n </ng-container>\n </mat-chip-listbox>\n</div>\n\n<ng-template #simpleChipTemplate let-chipModel>\n <span class=\"elder-chip-text\">{{chipModel.displayText | elderTruncate:20}}</span>\n</ng-template>\n\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}\n"] }]
|
|
22301
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1$1.FocusMonitor }, { type: i2.TranslateService }, { type: ElderDialogService }, { type: i3.NgControl, decorators: [{
|
|
22302
|
+
type: Optional
|
|
22303
|
+
}, {
|
|
22304
|
+
type: Self
|
|
22305
|
+
}] }]; }, propDecorators: { defaultChipSpec: [{
|
|
22306
|
+
type: Input
|
|
22307
|
+
}], chipSpecFn: [{
|
|
22308
|
+
type: Input
|
|
22309
|
+
}], stacked: [{
|
|
22310
|
+
type: Input
|
|
22311
|
+
}], _listBox: [{
|
|
22312
|
+
type: ViewChild,
|
|
22313
|
+
args: [MatChipListbox]
|
|
22314
|
+
}], multiple: [{
|
|
22315
|
+
type: Input
|
|
22316
|
+
}], chipTemplateQuery: [{
|
|
22317
|
+
type: ContentChild,
|
|
22318
|
+
args: [ElderSelectChipDirective, { read: TemplateRef, static: false }]
|
|
22319
|
+
}], chipTemplate: [{
|
|
22320
|
+
type: Input
|
|
22321
|
+
}], chipAvatarTemplateQuery: [{
|
|
22322
|
+
type: ContentChild,
|
|
22323
|
+
args: [ElderSelectChipAvatarDirective, { read: TemplateRef, static: false }]
|
|
22324
|
+
}], chipAvatarTemplate: [{
|
|
22325
|
+
type: Input
|
|
22326
|
+
}] } });
|
|
22327
|
+
|
|
22050
22328
|
class ElderSelectModule {
|
|
22051
22329
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
22052
22330
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.11", ngImport: i0, type: ElderSelectModule, declarations: [ElderSelectComponent,
|
|
@@ -22060,7 +22338,8 @@ class ElderSelectModule {
|
|
|
22060
22338
|
ElderSelectChipAvatarDirective,
|
|
22061
22339
|
ElderAutoSelectFirstDirective,
|
|
22062
22340
|
ElderClearSelectDirective,
|
|
22063
|
-
ElderSelectCustomInputDirective
|
|
22341
|
+
ElderSelectCustomInputDirective,
|
|
22342
|
+
ElderMultiSelectChipOptionsComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule,
|
|
22064
22343
|
MatFormFieldModule,
|
|
22065
22344
|
MatIconModule,
|
|
22066
22345
|
MatSelectModule,
|
|
@@ -22083,7 +22362,8 @@ class ElderSelectModule {
|
|
|
22083
22362
|
ElderSelectChipAvatarDirective,
|
|
22084
22363
|
ElderAutoSelectFirstDirective,
|
|
22085
22364
|
ElderClearSelectDirective,
|
|
22086
|
-
ElderSelectCustomInputDirective
|
|
22365
|
+
ElderSelectCustomInputDirective,
|
|
22366
|
+
ElderMultiSelectChipOptionsComponent] }); }
|
|
22087
22367
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderSelectModule, imports: [CommonModule, FormsModule, ReactiveFormsModule,
|
|
22088
22368
|
MatFormFieldModule,
|
|
22089
22369
|
MatIconModule,
|
|
@@ -22129,7 +22409,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
22129
22409
|
ElderSelectChipAvatarDirective,
|
|
22130
22410
|
ElderAutoSelectFirstDirective,
|
|
22131
22411
|
ElderClearSelectDirective,
|
|
22132
|
-
ElderSelectCustomInputDirective
|
|
22412
|
+
ElderSelectCustomInputDirective,
|
|
22413
|
+
ElderMultiSelectChipOptionsComponent
|
|
22133
22414
|
],
|
|
22134
22415
|
exports: [
|
|
22135
22416
|
ElderSelectComponent,
|
|
@@ -22142,7 +22423,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
22142
22423
|
ElderSelectChipAvatarDirective,
|
|
22143
22424
|
ElderAutoSelectFirstDirective,
|
|
22144
22425
|
ElderClearSelectDirective,
|
|
22145
|
-
ElderSelectCustomInputDirective
|
|
22426
|
+
ElderSelectCustomInputDirective,
|
|
22427
|
+
ElderMultiSelectChipOptionsComponent
|
|
22146
22428
|
]
|
|
22147
22429
|
}]
|
|
22148
22430
|
}] });
|
|
@@ -25540,6 +25822,58 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
25540
25822
|
type: Input
|
|
25541
25823
|
}] } });
|
|
25542
25824
|
|
|
25825
|
+
class SearchContextOrchestrator {
|
|
25826
|
+
/***************************************************************************
|
|
25827
|
+
* *
|
|
25828
|
+
* Constructor *
|
|
25829
|
+
* *
|
|
25830
|
+
**************************************************************************/
|
|
25831
|
+
constructor(filterContext, forcedFilters) {
|
|
25832
|
+
this.filterContext = filterContext;
|
|
25833
|
+
this.forcedFilters = forcedFilters;
|
|
25834
|
+
this.initialFilterContext = new FilterContext();
|
|
25835
|
+
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
25836
|
+
this.initialFilterContext.updateFilters(filterContext.filtersSnapshot);
|
|
25837
|
+
if (forcedFilters) {
|
|
25838
|
+
this.initialFilterContext.updateFilters(forcedFilters);
|
|
25839
|
+
}
|
|
25840
|
+
}
|
|
25841
|
+
/***************************************************************************
|
|
25842
|
+
* *
|
|
25843
|
+
* Properties *
|
|
25844
|
+
* *
|
|
25845
|
+
**************************************************************************/
|
|
25846
|
+
get initialFilters$() {
|
|
25847
|
+
return this.initialFilterContext.filters
|
|
25848
|
+
.pipe(startWith(this.initialFilterContext.filtersSnapshot));
|
|
25849
|
+
}
|
|
25850
|
+
get filters() {
|
|
25851
|
+
return this.filterContext.filters;
|
|
25852
|
+
}
|
|
25853
|
+
/***************************************************************************
|
|
25854
|
+
* *
|
|
25855
|
+
* Public Api *
|
|
25856
|
+
* *
|
|
25857
|
+
**************************************************************************/
|
|
25858
|
+
addInitialFilters(filters) {
|
|
25859
|
+
this.initialFilterContext.updateFilters(filters);
|
|
25860
|
+
}
|
|
25861
|
+
applyFilters(userFilters) {
|
|
25862
|
+
const context = this.filterContext;
|
|
25863
|
+
if (context) {
|
|
25864
|
+
context.updateFilters(userFilters);
|
|
25865
|
+
context.mergeFilters(this.forcedFilters);
|
|
25866
|
+
this.log.trace("Search-Model filters updated:", Array.from(context.filtersSnapshot));
|
|
25867
|
+
}
|
|
25868
|
+
else {
|
|
25869
|
+
this.log.warn("Failed to apply filters since no FilterContext is available!", {
|
|
25870
|
+
userFilters: userFilters,
|
|
25871
|
+
forcedFilters: this.forcedFilters
|
|
25872
|
+
});
|
|
25873
|
+
}
|
|
25874
|
+
}
|
|
25875
|
+
}
|
|
25876
|
+
|
|
25543
25877
|
/**
|
|
25544
25878
|
* The search container manages a group of search-inputs
|
|
25545
25879
|
* and holds their values in a central search model.
|
|
@@ -25551,14 +25885,11 @@ class ElderSearchContextDirective {
|
|
|
25551
25885
|
* Fields *
|
|
25552
25886
|
* *
|
|
25553
25887
|
**************************************************************************/
|
|
25554
|
-
this.
|
|
25555
|
-
this.startFilters$ = new BehaviorSubject$1([]);
|
|
25888
|
+
this._forcedFilters$ = new BehaviorSubject$1([]);
|
|
25556
25889
|
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
25557
25890
|
this.destroy$ = new Subject$1();
|
|
25558
|
-
this._searchInputs = new BehaviorSubject$1([]);
|
|
25559
|
-
this._searchStates = new BehaviorSubject$1([]);
|
|
25560
|
-
this._filters$ = new BehaviorSubject$1([]);
|
|
25561
|
-
this._initialFilters$ = new BehaviorSubject$1([]);
|
|
25891
|
+
this._searchInputs$ = new BehaviorSubject$1([]);
|
|
25892
|
+
this._searchStates$ = new BehaviorSubject$1([]);
|
|
25562
25893
|
}
|
|
25563
25894
|
/***************************************************************************
|
|
25564
25895
|
* *
|
|
@@ -25566,11 +25897,10 @@ class ElderSearchContextDirective {
|
|
|
25566
25897
|
* *
|
|
25567
25898
|
**************************************************************************/
|
|
25568
25899
|
ngAfterContentInit() {
|
|
25569
|
-
this._searchInputs
|
|
25570
|
-
this._searchStates
|
|
25900
|
+
this._searchInputs$.pipe(takeUntil(this.destroy$), switchMap(inputs => combineLatest(inputs.map(i => i.state$))), debounceTime(5)).subscribe((states) => {
|
|
25901
|
+
this._searchStates$.next(states);
|
|
25571
25902
|
const userFilters = this.convertToFilters(states);
|
|
25572
|
-
this.
|
|
25573
|
-
this.applyFilters(userFilters, forcedFilters);
|
|
25903
|
+
this.searchContextOrchestrator.applyFilters(userFilters);
|
|
25574
25904
|
});
|
|
25575
25905
|
}
|
|
25576
25906
|
ngAfterViewInit() {
|
|
@@ -25579,6 +25909,7 @@ class ElderSearchContextDirective {
|
|
|
25579
25909
|
ngOnDestroy() {
|
|
25580
25910
|
this.destroy$.next();
|
|
25581
25911
|
this.destroy$.complete();
|
|
25912
|
+
this._searchContextOrchestrator = null;
|
|
25582
25913
|
}
|
|
25583
25914
|
/***************************************************************************
|
|
25584
25915
|
* *
|
|
@@ -25588,7 +25919,7 @@ class ElderSearchContextDirective {
|
|
|
25588
25919
|
set filterContext(value) {
|
|
25589
25920
|
if (value) {
|
|
25590
25921
|
if (typeof value !== 'string') {
|
|
25591
|
-
this.
|
|
25922
|
+
this._searchContextOrchestrator = new SearchContextOrchestrator(value, this.forcedFilters);
|
|
25592
25923
|
}
|
|
25593
25924
|
else {
|
|
25594
25925
|
this.log.warn('Illegal value provided for property filterContext: ', JSON.stringify(value));
|
|
@@ -25596,11 +25927,11 @@ class ElderSearchContextDirective {
|
|
|
25596
25927
|
}
|
|
25597
25928
|
}
|
|
25598
25929
|
else {
|
|
25599
|
-
this.
|
|
25930
|
+
this._searchContextOrchestrator = new SearchContextOrchestrator(null);
|
|
25600
25931
|
}
|
|
25601
25932
|
}
|
|
25602
25933
|
get filterContext() {
|
|
25603
|
-
return this.
|
|
25934
|
+
return this.searchContextOrchestrator.filterContext;
|
|
25604
25935
|
}
|
|
25605
25936
|
/**
|
|
25606
25937
|
* Forced filters are always merged into the final FilterContext.
|
|
@@ -25609,25 +25940,25 @@ class ElderSearchContextDirective {
|
|
|
25609
25940
|
* to also keep the users intent (by merging) them.
|
|
25610
25941
|
*/
|
|
25611
25942
|
set forcedFilters(filters) {
|
|
25612
|
-
this.
|
|
25943
|
+
this._forcedFilters$.next(filters);
|
|
25613
25944
|
}
|
|
25614
25945
|
get forcedFilters() {
|
|
25615
|
-
return this.
|
|
25616
|
-
}
|
|
25617
|
-
set startFilters(filters) {
|
|
25618
|
-
this.startFilters$.next(filters);
|
|
25946
|
+
return this._forcedFilters$.getValue();
|
|
25619
25947
|
}
|
|
25620
25948
|
get attributes() {
|
|
25621
|
-
return this._searchInputs
|
|
25949
|
+
return this._searchInputs$.asObservable();
|
|
25622
25950
|
}
|
|
25623
25951
|
get attributesSnapshot() {
|
|
25624
|
-
return this._searchInputs
|
|
25952
|
+
return this._searchInputs$.getValue();
|
|
25625
25953
|
}
|
|
25626
25954
|
get states$() {
|
|
25627
|
-
return this._searchStates
|
|
25955
|
+
return this._searchStates$.asObservable();
|
|
25628
25956
|
}
|
|
25629
25957
|
get statesSnapshot() {
|
|
25630
|
-
return this._searchStates
|
|
25958
|
+
return this._searchStates$.getValue();
|
|
25959
|
+
}
|
|
25960
|
+
get searchContextOrchestrator() {
|
|
25961
|
+
return this._searchContextOrchestrator;
|
|
25631
25962
|
}
|
|
25632
25963
|
/**
|
|
25633
25964
|
* Returns the current user touched attributes. (ignoring fallbacks)
|
|
@@ -25635,18 +25966,6 @@ class ElderSearchContextDirective {
|
|
|
25635
25966
|
get userDefinedAttributes$() {
|
|
25636
25967
|
return this.states$.pipe(map(states => states.filter(s => !s.pristine)));
|
|
25637
25968
|
}
|
|
25638
|
-
/**
|
|
25639
|
-
* Returns the current active filters
|
|
25640
|
-
*/
|
|
25641
|
-
get filters$() {
|
|
25642
|
-
return this._filters$.asObservable();
|
|
25643
|
-
}
|
|
25644
|
-
get initialFilters$() {
|
|
25645
|
-
return this._initialFilters$.asObservable();
|
|
25646
|
-
}
|
|
25647
|
-
get filtersSnapshot() {
|
|
25648
|
-
return this._filters$.getValue();
|
|
25649
|
-
}
|
|
25650
25969
|
/***************************************************************************
|
|
25651
25970
|
* *
|
|
25652
25971
|
* Public API *
|
|
@@ -25657,8 +25976,8 @@ class ElderSearchContextDirective {
|
|
|
25657
25976
|
*/
|
|
25658
25977
|
register(searchInput) {
|
|
25659
25978
|
this.log.debug('Registering search input [' + searchInput.name + ']');
|
|
25660
|
-
const current = this._searchInputs
|
|
25661
|
-
this._searchInputs
|
|
25979
|
+
const current = this._searchInputs$.getValue();
|
|
25980
|
+
this._searchInputs$.next([...current, searchInput]);
|
|
25662
25981
|
}
|
|
25663
25982
|
reset() {
|
|
25664
25983
|
this.attributesSnapshot
|
|
@@ -25667,19 +25986,15 @@ class ElderSearchContextDirective {
|
|
|
25667
25986
|
a.reset();
|
|
25668
25987
|
});
|
|
25669
25988
|
}
|
|
25670
|
-
registerInitialFilters(filters) {
|
|
25671
|
-
this._initialFilters$.next(filters);
|
|
25672
|
-
}
|
|
25673
25989
|
/***************************************************************************
|
|
25674
25990
|
* *
|
|
25675
25991
|
* Private *
|
|
25676
25992
|
* *
|
|
25677
25993
|
**************************************************************************/
|
|
25678
25994
|
subscribeInitialFilters() {
|
|
25679
|
-
this.initialFilters$.pipe(takeUntil(this.destroy$), combineLatestWith(this._searchInputs
|
|
25680
|
-
var filters = [...initialFilters, ...startFilters];
|
|
25995
|
+
this.searchContextOrchestrator.initialFilters$.pipe(takeUntil(this.destroy$), combineLatestWith(this._searchInputs$)).subscribe(([initialFilters, searchInputs]) => {
|
|
25681
25996
|
searchInputs.forEach(input => {
|
|
25682
|
-
const filter = this.findFilterForInput(input,
|
|
25997
|
+
const filter = this.findFilterForInput(input, initialFilters);
|
|
25683
25998
|
if (filter) {
|
|
25684
25999
|
input.applyInitialValue(filter.value);
|
|
25685
26000
|
}
|
|
@@ -25699,22 +26014,8 @@ class ElderSearchContextDirective {
|
|
|
25699
26014
|
.filter(s => !!s.queryKey)
|
|
25700
26015
|
.map(s => new Filter(s.queryKey, s.queryValue));
|
|
25701
26016
|
}
|
|
25702
|
-
applyFilters(userFilters, forcedFilters) {
|
|
25703
|
-
const context = this.filterContext;
|
|
25704
|
-
if (context) {
|
|
25705
|
-
context.updateFilters(userFilters);
|
|
25706
|
-
context.mergeFilters(forcedFilters);
|
|
25707
|
-
this.log.trace('Search-Model filters updated:', Array.from(context.filtersSnapshot));
|
|
25708
|
-
}
|
|
25709
|
-
else {
|
|
25710
|
-
this.log.warn('Failed to apply filters since no FilterContext is available!', {
|
|
25711
|
-
userFilters: userFilters,
|
|
25712
|
-
forcedFilters: forcedFilters
|
|
25713
|
-
});
|
|
25714
|
-
}
|
|
25715
|
-
}
|
|
25716
26017
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderSearchContextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25717
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.11", type: ElderSearchContextDirective, selector: "[elderSearchContext]", inputs: { filterContext: ["elderSearchContext", "filterContext"], forcedFilters: "forcedFilters"
|
|
26018
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.11", type: ElderSearchContextDirective, selector: "[elderSearchContext]", inputs: { filterContext: ["elderSearchContext", "filterContext"], forcedFilters: "forcedFilters" }, exportAs: ["elderSearchContext"], ngImport: i0 }); }
|
|
25718
26019
|
}
|
|
25719
26020
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderSearchContextDirective, decorators: [{
|
|
25720
26021
|
type: Directive,
|
|
@@ -25727,8 +26028,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
25727
26028
|
args: ['elderSearchContext']
|
|
25728
26029
|
}], forcedFilters: [{
|
|
25729
26030
|
type: Input
|
|
25730
|
-
}], startFilters: [{
|
|
25731
|
-
type: Input
|
|
25732
26031
|
}] } });
|
|
25733
26032
|
|
|
25734
26033
|
/**
|
|
@@ -25821,6 +26120,8 @@ class ElderInitialValueDirective {
|
|
|
25821
26120
|
* *
|
|
25822
26121
|
**************************************************************************/
|
|
25823
26122
|
constructor(ngModel) {
|
|
26123
|
+
//TODO: The debounce time is a hacky workaround, find a proper way to set initial value.
|
|
26124
|
+
// Currently two way binding ngModel deosnt work.
|
|
25824
26125
|
this.ngModel = ngModel;
|
|
25825
26126
|
/***************************************************************************
|
|
25826
26127
|
* *
|
|
@@ -25828,29 +26129,51 @@ class ElderInitialValueDirective {
|
|
|
25828
26129
|
* *
|
|
25829
26130
|
**************************************************************************/
|
|
25830
26131
|
this.log = LoggerFactory.getLogger(this.constructor.name);
|
|
25831
|
-
this.
|
|
25832
|
-
this.
|
|
26132
|
+
this.initialValue$ = new BehaviorSubject(null);
|
|
26133
|
+
this.destroy$ = new Subject();
|
|
25833
26134
|
this.initialDone$ = new Subject();
|
|
25834
26135
|
this.isInitial = true;
|
|
25835
|
-
|
|
25836
|
-
|
|
25837
|
-
|
|
25838
|
-
|
|
25839
|
-
|
|
25840
|
-
|
|
25841
|
-
|
|
25842
|
-
ngModel.control.setValue(
|
|
25843
|
-
}
|
|
25844
|
-
else {
|
|
25845
|
-
this.log.warn('Initialisation not yet done!', {
|
|
25846
|
-
initialValue: this.initialValue,
|
|
25847
|
-
ngModelValue: ngModelValue,
|
|
25848
|
-
newValue: newValue
|
|
25849
|
-
});
|
|
26136
|
+
const ngModelValue$ = of("dummy")
|
|
26137
|
+
.pipe(delay(10), map(() => this.ngModel.model));
|
|
26138
|
+
ngModelValue$
|
|
26139
|
+
.pipe(combineLatestWith$1(this.initialValue$), takeUntil(this.initialDone$), takeUntil(this.destroy$)).subscribe({
|
|
26140
|
+
next: ([ngModelValue, initialValue]) => {
|
|
26141
|
+
this.log.warn("initialValue: " + initialValue);
|
|
26142
|
+
if (initialValue) {
|
|
26143
|
+
ngModel.control.setValue(initialValue);
|
|
25850
26144
|
}
|
|
26145
|
+
this.initialDone$.next();
|
|
26146
|
+
this.initialDone$.complete();
|
|
25851
26147
|
}
|
|
25852
26148
|
});
|
|
26149
|
+
// this.ngModelValue = this.ngModel.model;
|
|
26150
|
+
// ngModel.control.valueChanges
|
|
26151
|
+
// .pipe(
|
|
26152
|
+
// takeUntil(this.initialDone$),
|
|
26153
|
+
// takeUntil(this.unsubscribe$),
|
|
26154
|
+
// combineLatestWith(this.newValue$),
|
|
26155
|
+
// debounceTime(500)
|
|
26156
|
+
// ).subscribe({
|
|
26157
|
+
// next: ([ngModelValue, newValue]) => {
|
|
26158
|
+
// if (this.initialValue === ngModelValue) {
|
|
26159
|
+
// this.initialDone$.next();
|
|
26160
|
+
// this.initialDone$.complete();
|
|
26161
|
+
// ngModel.control.setValue(newValue ? newValue : ngModelValue); // Why set ngModelValue again??
|
|
26162
|
+
// } else {
|
|
26163
|
+
// this.log.warn('Initialisation not yet done!', {
|
|
26164
|
+
// initialValue: this.initialValue,
|
|
26165
|
+
// ngModelValue: ngModelValue,
|
|
26166
|
+
// newValue: newValue
|
|
26167
|
+
// });
|
|
26168
|
+
// }
|
|
26169
|
+
// }
|
|
26170
|
+
// });
|
|
25853
26171
|
}
|
|
26172
|
+
/***************************************************************************
|
|
26173
|
+
* *
|
|
26174
|
+
* Life Cycle *
|
|
26175
|
+
* *
|
|
26176
|
+
**************************************************************************/
|
|
25854
26177
|
/***************************************************************************
|
|
25855
26178
|
* *
|
|
25856
26179
|
* Properties *
|
|
@@ -25858,14 +26181,16 @@ class ElderInitialValueDirective {
|
|
|
25858
26181
|
**************************************************************************/
|
|
25859
26182
|
get valueChanges$() {
|
|
25860
26183
|
return this.ngModel.control.valueChanges
|
|
25861
|
-
.pipe(
|
|
26184
|
+
.pipe(takeUntil(this.destroy$)
|
|
26185
|
+
//filter(value => this.filterInitialValue(value))
|
|
26186
|
+
);
|
|
25862
26187
|
}
|
|
25863
|
-
|
|
25864
|
-
this.
|
|
26188
|
+
applyInitialValue(value) {
|
|
26189
|
+
this.initialValue$.next(value);
|
|
25865
26190
|
}
|
|
25866
26191
|
ngOnDestroy() {
|
|
25867
|
-
this.
|
|
25868
|
-
this.
|
|
26192
|
+
this.destroy$.next();
|
|
26193
|
+
this.destroy$.complete();
|
|
25869
26194
|
}
|
|
25870
26195
|
/***************************************************************************
|
|
25871
26196
|
* *
|
|
@@ -25873,7 +26198,7 @@ class ElderInitialValueDirective {
|
|
|
25873
26198
|
* *
|
|
25874
26199
|
**************************************************************************/
|
|
25875
26200
|
filterInitialValue(value) {
|
|
25876
|
-
if (this.isInitial && this.
|
|
26201
|
+
if (this.isInitial && this.ngModelValue$ === value) {
|
|
25877
26202
|
this.isInitial = false;
|
|
25878
26203
|
return false;
|
|
25879
26204
|
}
|
|
@@ -25885,8 +26210,8 @@ class ElderInitialValueDirective {
|
|
|
25885
26210
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: ElderInitialValueDirective, decorators: [{
|
|
25886
26211
|
type: Directive,
|
|
25887
26212
|
args: [{
|
|
25888
|
-
selector:
|
|
25889
|
-
exportAs:
|
|
26213
|
+
selector: "[elderInitialValue]",
|
|
26214
|
+
exportAs: "elderInitialValue"
|
|
25890
26215
|
}]
|
|
25891
26216
|
}], ctorParameters: function () { return [{ type: i3.NgModel, decorators: [{
|
|
25892
26217
|
type: Host
|
|
@@ -25964,7 +26289,7 @@ class ElderSearchInputDirective {
|
|
|
25964
26289
|
**************************************************************************/
|
|
25965
26290
|
applyInitialValue(queryString) {
|
|
25966
26291
|
const value = this.convertQueryStringToRawModelValue(queryString);
|
|
25967
|
-
this.initialValueDirective.
|
|
26292
|
+
this.initialValueDirective.applyInitialValue(value);
|
|
25968
26293
|
}
|
|
25969
26294
|
reset() {
|
|
25970
26295
|
this.ngModel.reset();
|
|
@@ -26729,9 +27054,9 @@ class ElderSearchContextUrlBindingDirective {
|
|
|
26729
27054
|
**************************************************************************/
|
|
26730
27055
|
ngAfterViewInit() {
|
|
26731
27056
|
this.urlBindingService.initialSearchMap$.pipe(first(), takeUntil(this._unsubscribe$), filter(searchMap => searchMap.has(this._urlBinding)), map(searchMap => searchMap.get(this._urlBinding)), map(filterMap => Array.from(filterMap.filters.values()))).subscribe(filters => {
|
|
26732
|
-
this.searchContext.
|
|
27057
|
+
this.searchContext.searchContextOrchestrator.addInitialFilters(filters);
|
|
26733
27058
|
});
|
|
26734
|
-
this.searchContext.filters
|
|
27059
|
+
this.searchContext.searchContextOrchestrator.filters.pipe(takeUntil(this._unsubscribe$)).subscribe(filters => this.urlBindingService.updateFiltersForContext(this._urlBinding, filters));
|
|
26735
27060
|
}
|
|
26736
27061
|
ngOnDestroy() {
|
|
26737
27062
|
this._unsubscribe$.next();
|
|
@@ -28084,18 +28409,6 @@ class ElderMultiSelectFormField extends ElderFromFieldMultiEntityBase {
|
|
|
28084
28409
|
control.selectionPopup = this.selectionModelPopupDirective;
|
|
28085
28410
|
}
|
|
28086
28411
|
}
|
|
28087
|
-
/*
|
|
28088
|
-
if (control instanceof ElderMultiSelectChipsComponent) {
|
|
28089
|
-
if (this.selectChipDirective) {
|
|
28090
|
-
control.chipTemplate = this.selectChipDirective.templateRef;
|
|
28091
|
-
}
|
|
28092
|
-
if (this.selectChipAvatarDirective) {
|
|
28093
|
-
control.chipAvatarTemplate = this.selectChipAvatarDirective.templateRef;
|
|
28094
|
-
}
|
|
28095
|
-
if (this.selectCustomInputDirective) {
|
|
28096
|
-
control.customInputTemplate = this.selectCustomInputDirective.templateRef;
|
|
28097
|
-
}
|
|
28098
|
-
}*/
|
|
28099
28412
|
}
|
|
28100
28413
|
/***************************************************************************
|
|
28101
28414
|
* *
|
|
@@ -28107,12 +28420,18 @@ class ElderMultiSelectFormField extends ElderFromFieldMultiEntityBase {
|
|
|
28107
28420
|
if (control instanceof ElderMultiSelectChipsComponent) {
|
|
28108
28421
|
control.chipTemplate = dir?.templateRef;
|
|
28109
28422
|
}
|
|
28423
|
+
if (control instanceof ElderMultiSelectChipOptionsComponent) {
|
|
28424
|
+
control.chipTemplate = dir?.templateRef;
|
|
28425
|
+
}
|
|
28110
28426
|
}
|
|
28111
28427
|
set selectChipAvatarDirective(dir) {
|
|
28112
28428
|
const control = this.formFieldControl$.getValue();
|
|
28113
28429
|
if (control instanceof ElderMultiSelectChipsComponent) {
|
|
28114
28430
|
control.chipAvatarTemplate = dir?.templateRef;
|
|
28115
28431
|
}
|
|
28432
|
+
if (control instanceof ElderMultiSelectChipOptionsComponent) {
|
|
28433
|
+
control.chipAvatarTemplate = dir?.templateRef;
|
|
28434
|
+
}
|
|
28116
28435
|
}
|
|
28117
28436
|
set selectCustomInputDirective(dir) {
|
|
28118
28437
|
const control = this.formFieldControl$.getValue();
|
|
@@ -30779,5 +31098,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
30779
31098
|
* Generated bundle index. Do not edit.
|
|
30780
31099
|
*/
|
|
30781
31100
|
|
|
30782
|
-
export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectBase, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchContextUrlBindingDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
31101
|
+
export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchContextUrlBindingDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
|
|
30783
31102
|
//# sourceMappingURL=elderbyte-ngx-starter.mjs.map
|