@elderbyte/ngx-starter 14.2.3 → 14.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.
@@ -7,6 +7,7 @@ import { SelectionModel } from '../../../common/selection/selection-model';
7
7
  import { ElderTableProviders } from '../../data-view/table/model/elder-table-model-provider';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/material/dialog";
10
+ import * as i2 from "../../../common/selection/selection-model";
10
11
  /**
11
12
  * Configures the selection mode on supporting components.
12
13
  */
@@ -29,11 +30,12 @@ export class SelectionModelPopupDirective {
29
30
  * Constructor *
30
31
  * *
31
32
  **************************************************************************/
32
- constructor(templateRef, viewContainer, dialog, dataViewSelectionMode) {
33
+ constructor(templateRef, viewContainer, dialog, dataViewSelectionMode, selectionModel) {
33
34
  this.templateRef = templateRef;
34
35
  this.viewContainer = viewContainer;
35
36
  this.dialog = dialog;
36
37
  this.dataViewSelectionMode = dataViewSelectionMode;
38
+ this.selectionModel = selectionModel;
37
39
  /***************************************************************************
38
40
  * *
39
41
  * Fields *
@@ -64,10 +66,14 @@ export class SelectionModelPopupDirective {
64
66
  /**
65
67
  * Let the user choose some entities and return the selection.
66
68
  */
67
- choose(filters, sorts, multi = false) {
69
+ choose(keyGetter, currentSelection, filters, sorts, multi = false) {
68
70
  this.dataViewSelectionMode.filters = filters || [];
69
71
  this.dataViewSelectionMode.sorts = sorts || [];
70
72
  this.dataViewSelectionMode.multi = multi;
73
+ this.selectionModel.isMultipleSelection = multi;
74
+ this.selectionModel.keyGetterFn = keyGetter;
75
+ this.selectionModel.replaceSelection(currentSelection);
76
+ this.log.info('Replaced selection popup with current ' + currentSelection.length + ' entities:', currentSelection);
71
77
  const dialogRef = this.openSelectDialog();
72
78
  return dialogRef.afterClosed().pipe(switchMap((chosenEntities) => {
73
79
  if (chosenEntities) {
@@ -97,7 +103,7 @@ export class SelectionModelPopupDirective {
97
103
  });
98
104
  }
99
105
  }
100
- SelectionModelPopupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.MatDialog }, { token: ElderDataViewSelectionMode }], target: i0.ɵɵFactoryTarget.Directive });
106
+ SelectionModelPopupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.MatDialog }, { token: ElderDataViewSelectionMode }, { token: i2.SelectionModel }], target: i0.ɵɵFactoryTarget.Directive });
101
107
  SelectionModelPopupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: SelectionModelPopupDirective, selector: "[elderSelectionModelPopup]", inputs: { elderSelectionModelPopupTransform: "elderSelectionModelPopupTransform" }, providers: [
102
108
  {
103
109
  provide: SelectionModel,
@@ -125,8 +131,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
125
131
  ElderTableProviders.ClearTableModel // Since this popup is frequently used inside an elder-table search box
126
132
  ]
127
133
  }]
128
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.MatDialog }, { type: ElderDataViewSelectionMode }]; }, propDecorators: { elderSelectionModelPopupTransform: [{
134
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.MatDialog }, { type: ElderDataViewSelectionMode }, { type: i2.SelectionModel }]; }, propDecorators: { elderSelectionModelPopupTransform: [{
129
135
  type: Input,
130
136
  args: ['elderSelectionModelPopupTransform']
131
137
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1ELE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBRUwsaUNBQWlDLEVBQ2xDLE1BQU0sbUVBQW1FLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxLQUFLLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUd6RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3REFBd0QsQ0FBQzs7O0FBRzNGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDBCQUEwQjtJQU1yQztRQUpPLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixVQUFLLEdBQVksS0FBSyxDQUFDO0lBRWQsQ0FBQztDQUNsQjtBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxJQUFJLGNBQWMsRUFBTyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCO0lBQ3JDLE9BQU8sSUFBSSwwQkFBMEIsRUFBRSxDQUFDO0FBQzFDLENBQUM7QUFnQkQsTUFBTSxPQUFPLDRCQUE0QjtJQWlCdkM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ21CLFdBQTZCLEVBQzdCLGFBQStCLEVBQy9CLE1BQWlC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Y3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge01hdERpYWxvZywgTWF0RGlhbG9nUmVmfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgSVNlbGVjdGlvbk1vZGVsRGlhbG9nT3B0aW9ucyxcbiAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50XG59IGZyb20gJy4vdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cvdGVtcGxhdGVkLXNlbGVjdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0VNUFRZLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICcuLi8uLi8uLi9jb21tb24vc2VsZWN0aW9uL3NlbGVjdGlvbi1tb2RlbCc7XG5pbXBvcnQge1NvcnR9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL3NvcnQnO1xuaW1wb3J0IHtGaWx0ZXJ9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9kYXRhL2ZpbHRlcic7XG5pbXBvcnQge0VsZGVyVGFibGVQcm92aWRlcnN9IGZyb20gJy4uLy4uL2RhdGEtdmlldy90YWJsZS9tb2RlbC9lbGRlci10YWJsZS1tb2RlbC1wcm92aWRlcic7XG5cblxuLyoqXG4gKiBDb25maWd1cmVzIHRoZSBzZWxlY3Rpb24gbW9kZSBvbiBzdXBwb3J0aW5nIGNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZSB7XG5cbiAgcHVibGljIHNvcnRzOiBTb3J0W10gPSBbXTtcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlcltdID0gW107XG4gIHB1YmxpYyBtdWx0aTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3Rpb25Nb2RlbCgpOiBTZWxlY3Rpb25Nb2RlbDxhbnk+IHtcbiAgcmV0dXJuIG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEYXRhVmlld1NlbGVjdGlvbigpOiBFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZSB7XG4gIHJldHVybiBuZXcgRWxkZXJEYXRhVmlld1NlbGVjdGlvbk1vZGUoKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VsZGVyU2VsZWN0aW9uTW9kZWxQb3B1cF0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTZWxlY3Rpb25Nb2RlbCxcbiAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVNlbGVjdGlvbk1vZGVsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZSxcbiAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZURhdGFWaWV3U2VsZWN0aW9uXG4gICAgfSxcbiAgICBFbGRlclRhYmxlUHJvdmlkZXJzLkNsZWFyVGFibGVNb2RlbCAvLyBTaW5jZSB0aGlzIHBvcHVwIGlzIGZyZXF1ZW50bHkgdXNlZCBpbnNpZGUgYW4gZWxkZXItdGFibGUgc2VhcmNoIGJveFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGlvbk1vZGVsUG9wdXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2cgPSBMb2dnZXJGYWN0b3J5LmdldExvZ2dlcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUpO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybWVyRm46IChvOiBhbnkpID0+IGFueTtcblxuICBASW5wdXQoJ2VsZGVyU2VsZWN0aW9uTW9kZWxQb3B1cFRyYW5zZm9ybScpXG4gIHB1YmxpYyBzZXQgZWxkZXJTZWxlY3Rpb25Nb2RlbFBvcHVwVHJhbnNmb3JtKGZuOiAobzogYW55KSA9PiBhbnkpIHtcbiAgICB0aGlzLl90cmFuc2Zvcm1lckZuID0gZm47XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0YVZpZXdTZWxlY3Rpb25Nb2RlOiBFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZVxuICApIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBIb3N0IExpc3RlbmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIExpZmUgQ3ljbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQgeyB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIExldCB0aGUgdXNlciBjaG9vc2Ugc29tZSBlbnRpdGllcyBhbmQgcmV0dXJuIHRoZSBzZWxlY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgY2hvb3NlKFxuICAgIGZpbHRlcnM/OiBGaWx0ZXJbXSxcbiAgICBzb3J0cz86IFNvcnRbXSxcbiAgICBtdWx0aSA9IGZhbHNlXG4gICk6IE9ic2VydmFibGU8YW55W10+IHtcblxuICAgIHRoaXMuZGF0YVZpZXdTZWxlY3Rpb25Nb2RlLmZpbHRlcnMgPSBmaWx0ZXJzIHx8IFtdO1xuICAgIHRoaXMuZGF0YVZpZXdTZWxlY3Rpb25Nb2RlLnNvcnRzID0gc29ydHMgfHwgW107XG4gICAgdGhpcy5kYXRhVmlld1NlbGVjdGlvbk1vZGUubXVsdGkgPSBtdWx0aTtcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMub3BlblNlbGVjdERpYWxvZygpO1xuXG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNob3NlbkVudGl0aWVzOiBhbnlbXSkgPT4ge1xuICAgICAgICBpZiAoY2hvc2VuRW50aXRpZXMpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtZXJGblxuICAgICAgICAgICAgPyBvZihjaG9zZW5FbnRpdGllcy5tYXAodmFsdWUgPT4gdGhpcy5fdHJhbnNmb3JtZXJGbih2YWx1ZSkpKVxuICAgICAgICAgICAgOiBvZihjaG9zZW5FbnRpdGllcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIG9wZW5TZWxlY3REaWFsb2coKTogTWF0RGlhbG9nUmVmPFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKFxuICAgICAgVGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgICAge1xuICAgICAgICB3aWR0aDogJzkwdncnLFxuICAgICAgICBoZWlnaHQ6ICc5MHZoJyxcbiAgICAgICAgcGFuZWxDbGFzczogJ2N1c3RvbS1kaWFsb2ctY29udGFpbmVyJyxcbiAgICAgICAgZGF0YTogPElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnM+IHtcbiAgICAgICAgICBzZWxlY3Rpb25Db21wb25lbnRUZW1wbGF0ZTogdGhpcy50ZW1wbGF0ZVJlZlxuICAgICAgICB9LFxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbn1cbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLW1vZGVsLXBvcHVwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L3BvcHVwL3NlbGVjdGlvbi1tb2RlbC1wb3B1cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQW1ELE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBRUwsaUNBQWlDLEVBQ2xDLE1BQU0sbUVBQW1FLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxLQUFLLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxjQUFjLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUd0RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3REFBd0QsQ0FBQzs7OztBQUczRjs7R0FFRztBQUNILE1BQU0sT0FBTywwQkFBMEI7SUFNckM7UUFKTyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsVUFBSyxHQUFZLEtBQUssQ0FBQztJQUVkLENBQUM7Q0FDbEI7QUFFRCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU8sSUFBSSxjQUFjLEVBQU8sQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPLElBQUksMEJBQTBCLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBZ0JELE1BQU0sT0FBTyw0QkFBNEI7SUFpQnZDOzs7O2dGQUk0RTtJQUU1RSxZQUNtQixXQUE2QixFQUM3QixhQUErQixFQUMvQixNQUFp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NEI7a0JBZHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxjQUFjOzRCQUN2QixVQUFVLEVBQUUsb0JBQW9CO3lCQUNqQzt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsMEJBQTBCOzRCQUNuQyxVQUFVLEVBQUUsdUJBQXVCO3lCQUNwQzt3QkFDRCxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsdUVBQXVFO3FCQUM1RztpQkFDRjsySUE0QjJDLDBCQUEwQix1REFkekQsaUNBQWlDO3NCQUQzQyxLQUFLO3VCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9nZ2VyRmFjdG9yeX0gZnJvbSAnQGVsZGVyYnl0ZS90cy1sb2dnZXInO1xuaW1wb3J0IHtNYXREaWFsb2csIE1hdERpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7XG4gIElTZWxlY3Rpb25Nb2RlbERpYWxvZ09wdGlvbnMsXG4gIFRlbXBsYXRlZFNlbGVjdGlvbkRpYWxvZ0NvbXBvbmVudFxufSBmcm9tICcuL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nL3RlbXBsYXRlZC1zZWxlY3Rpb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge3N3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtFTVBUWSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtLZXlHZXR0ZXJGbiwgU2VsZWN0aW9uTW9kZWx9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9zZWxlY3Rpb24vc2VsZWN0aW9uLW1vZGVsJztcbmltcG9ydCB7U29ydH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvc29ydCc7XG5pbXBvcnQge0ZpbHRlcn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2RhdGEvZmlsdGVyJztcbmltcG9ydCB7RWxkZXJUYWJsZVByb3ZpZGVyc30gZnJvbSAnLi4vLi4vZGF0YS12aWV3L3RhYmxlL21vZGVsL2VsZGVyLXRhYmxlLW1vZGVsLXByb3ZpZGVyJztcblxuXG4vKipcbiAqIENvbmZpZ3VyZXMgdGhlIHNlbGVjdGlvbiBtb2RlIG9uIHN1cHBvcnRpbmcgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlIHtcblxuICBwdWJsaWMgc29ydHM6IFNvcnRbXSA9IFtdO1xuICBwdWJsaWMgZmlsdGVyczogRmlsdGVyW10gPSBbXTtcbiAgcHVibGljIG11bHRpOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdGlvbk1vZGVsKCk6IFNlbGVjdGlvbk1vZGVsPGFueT4ge1xuICByZXR1cm4gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURhdGFWaWV3U2VsZWN0aW9uKCk6IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlIHtcbiAgcmV0dXJuIG5ldyBFbGRlckRhdGFWaWV3U2VsZWN0aW9uTW9kZSgpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJTZWxlY3Rpb25Nb2RlbFBvcHVwXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdGlvbk1vZGVsLFxuICAgICAgdXNlRmFjdG9yeTogY3JlYXRlU2VsZWN0aW9uTW9kZWxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlLFxuICAgICAgdXNlRmFjdG9yeTogY3JlYXRlRGF0YVZpZXdTZWxlY3Rpb25cbiAgICB9LFxuICAgIEVsZGVyVGFibGVQcm92aWRlcnMuQ2xlYXJUYWJsZU1vZGVsIC8vIFNpbmNlIHRoaXMgcG9wdXAgaXMgZnJlcXVlbnRseSB1c2VkIGluc2lkZSBhbiBlbGRlci10YWJsZSBzZWFyY2ggYm94XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0aW9uTW9kZWxQb3B1cERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtZXJGbjogKG86IGFueSkgPT4gYW55O1xuXG4gIEBJbnB1dCgnZWxkZXJTZWxlY3Rpb25Nb2RlbFBvcHVwVHJhbnNmb3JtJylcbiAgcHVibGljIHNldCBlbGRlclNlbGVjdGlvbk1vZGVsUG9wdXBUcmFuc2Zvcm0oZm46IChvOiBhbnkpID0+IGFueSkge1xuICAgIHRoaXMuX3RyYW5zZm9ybWVyRm4gPSBmbjtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBDb25zdHJ1Y3RvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSByZWFkb25seSBkYXRhVmlld1NlbGVjdGlvbk1vZGU6IEVsZGVyRGF0YVZpZXdTZWxlY3Rpb25Nb2RlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT5cbiAgKSB7IH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogSG9zdCBMaXN0ZW5lcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBMaWZlIEN5Y2xlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHsgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHsgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIC8qKlxuICAgKiBMZXQgdGhlIHVzZXIgY2hvb3NlIHNvbWUgZW50aXRpZXMgYW5kIHJldHVybiB0aGUgc2VsZWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGNob29zZShcbiAgICBrZXlHZXR0ZXI6IEtleUdldHRlckZuPGFueT4sXG4gICAgY3VycmVudFNlbGVjdGlvbjogYW55W10sXG4gICAgZmlsdGVycz86IEZpbHRlcltdLFxuICAgIHNvcnRzPzogU29ydFtdLFxuICAgIG11bHRpID0gZmFsc2VcbiAgKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuXG4gICAgdGhpcy5kYXRhVmlld1NlbGVjdGlvbk1vZGUuZmlsdGVycyA9IGZpbHRlcnMgfHwgW107XG4gICAgdGhpcy5kYXRhVmlld1NlbGVjdGlvbk1vZGUuc29ydHMgPSBzb3J0cyB8fCBbXTtcbiAgICB0aGlzLmRhdGFWaWV3U2VsZWN0aW9uTW9kZS5tdWx0aSA9IG11bHRpO1xuXG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc011bHRpcGxlU2VsZWN0aW9uID0gbXVsdGk7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5rZXlHZXR0ZXJGbiA9IGtleUdldHRlcjtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnJlcGxhY2VTZWxlY3Rpb24oY3VycmVudFNlbGVjdGlvbik7XG5cbiAgICB0aGlzLmxvZy5pbmZvKCdSZXBsYWNlZCBzZWxlY3Rpb24gcG9wdXAgd2l0aCBjdXJyZW50ICcrY3VycmVudFNlbGVjdGlvbi5sZW5ndGgrJyBlbnRpdGllczonLCBjdXJyZW50U2VsZWN0aW9uKVxuXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5vcGVuU2VsZWN0RGlhbG9nKCk7XG5cbiAgICByZXR1cm4gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoY2hvc2VuRW50aXRpZXM6IGFueVtdKSA9PiB7XG4gICAgICAgIGlmIChjaG9zZW5FbnRpdGllcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1lckZuXG4gICAgICAgICAgICA/IG9mKGNob3NlbkVudGl0aWVzLm1hcCh2YWx1ZSA9PiB0aGlzLl90cmFuc2Zvcm1lckZuKHZhbHVlKSkpXG4gICAgICAgICAgICA6IG9mKGNob3NlbkVudGl0aWVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgb3BlblNlbGVjdERpYWxvZygpOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVkU2VsZWN0aW9uRGlhbG9nQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oXG4gICAgICBUZW1wbGF0ZWRTZWxlY3Rpb25EaWFsb2dDb21wb25lbnQsXG4gICAgICB7XG4gICAgICAgIHdpZHRoOiAnOTB2dycsXG4gICAgICAgIGhlaWdodDogJzkwdmgnLFxuICAgICAgICBwYW5lbENsYXNzOiAnY3VzdG9tLWRpYWxvZy1jb250YWluZXInLFxuICAgICAgICBkYXRhOiA8SVNlbGVjdGlvbk1vZGVsRGlhbG9nT3B0aW9ucz4ge1xuICAgICAgICAgIHNlbGVjdGlvbkNvbXBvbmVudFRlbXBsYXRlOiB0aGlzLnRlbXBsYXRlUmVmXG4gICAgICAgIH0sXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclxuICAgICAgfVxuICAgICk7XG4gIH1cblxufVxuIl19
@@ -6433,7 +6433,7 @@ class SelectionModel {
6433
6433
  * @param keyGetter value identity - default to value object equality
6434
6434
  * @param selectableEvaluatorFn function to evaluate if the element in question is selectable
6435
6435
  */
6436
- constructor(multiple = false, initial, keyGetter = a => a, selectableEvaluatorFn = () => true) {
6436
+ constructor(multiple = false, initial, keyGetter = SelectionModel.FallbackKeyGetterFn, selectableEvaluatorFn = () => true) {
6437
6437
  /***************************************************************************
6438
6438
  * *
6439
6439
  * Fields *
@@ -6468,6 +6468,10 @@ class SelectionModel {
6468
6468
  this._selectableEvaluatorFn = fn;
6469
6469
  this.replaceSelection(this.selectionSnapshot);
6470
6470
  }
6471
+ set keyGetterFn(fn) {
6472
+ this._keyGetterFn = fn;
6473
+ this.replaceSelection(this.selectionSnapshot);
6474
+ }
6471
6475
  /***************************************************************************
6472
6476
  * *
6473
6477
  * Public API *
@@ -6615,6 +6619,7 @@ class SelectionModel {
6615
6619
  return false;
6616
6620
  }
6617
6621
  }
6622
+ SelectionModel.FallbackKeyGetterFn = ((a) => a);
6618
6623
 
6619
6624
  var DataTransferStatus;
6620
6625
  (function (DataTransferStatus) {
@@ -11803,11 +11808,12 @@ class SelectionModelPopupDirective {
11803
11808
  * Constructor *
11804
11809
  * *
11805
11810
  **************************************************************************/
11806
- constructor(templateRef, viewContainer, dialog, dataViewSelectionMode) {
11811
+ constructor(templateRef, viewContainer, dialog, dataViewSelectionMode, selectionModel) {
11807
11812
  this.templateRef = templateRef;
11808
11813
  this.viewContainer = viewContainer;
11809
11814
  this.dialog = dialog;
11810
11815
  this.dataViewSelectionMode = dataViewSelectionMode;
11816
+ this.selectionModel = selectionModel;
11811
11817
  /***************************************************************************
11812
11818
  * *
11813
11819
  * Fields *
@@ -11838,10 +11844,14 @@ class SelectionModelPopupDirective {
11838
11844
  /**
11839
11845
  * Let the user choose some entities and return the selection.
11840
11846
  */
11841
- choose(filters, sorts, multi = false) {
11847
+ choose(keyGetter, currentSelection, filters, sorts, multi = false) {
11842
11848
  this.dataViewSelectionMode.filters = filters || [];
11843
11849
  this.dataViewSelectionMode.sorts = sorts || [];
11844
11850
  this.dataViewSelectionMode.multi = multi;
11851
+ this.selectionModel.isMultipleSelection = multi;
11852
+ this.selectionModel.keyGetterFn = keyGetter;
11853
+ this.selectionModel.replaceSelection(currentSelection);
11854
+ this.log.info('Replaced selection popup with current ' + currentSelection.length + ' entities:', currentSelection);
11845
11855
  const dialogRef = this.openSelectDialog();
11846
11856
  return dialogRef.afterClosed().pipe(switchMap((chosenEntities) => {
11847
11857
  if (chosenEntities) {
@@ -11871,7 +11881,7 @@ class SelectionModelPopupDirective {
11871
11881
  });
11872
11882
  }
11873
11883
  }
11874
- SelectionModelPopupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1$7.MatDialog }, { token: ElderDataViewSelectionMode }], target: i0.ɵɵFactoryTarget.Directive });
11884
+ SelectionModelPopupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1$7.MatDialog }, { token: ElderDataViewSelectionMode }, { token: SelectionModel }], target: i0.ɵɵFactoryTarget.Directive });
11875
11885
  SelectionModelPopupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: SelectionModelPopupDirective, selector: "[elderSelectionModelPopup]", inputs: { elderSelectionModelPopupTransform: "elderSelectionModelPopupTransform" }, providers: [
11876
11886
  {
11877
11887
  provide: SelectionModel,
@@ -11899,7 +11909,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImpor
11899
11909
  ElderTableProviders.ClearTableModel // Since this popup is frequently used inside an elder-table search box
11900
11910
  ]
11901
11911
  }]
11902
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1$7.MatDialog }, { type: ElderDataViewSelectionMode }]; }, propDecorators: { elderSelectionModelPopupTransform: [{
11912
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1$7.MatDialog }, { type: ElderDataViewSelectionMode }, { type: SelectionModel }]; }, propDecorators: { elderSelectionModelPopupTransform: [{
11903
11913
  type: Input,
11904
11914
  args: ['elderSelectionModelPopupTransform']
11905
11915
  }] } });
@@ -11938,8 +11948,9 @@ class ElderDataViewBaseComponent {
11938
11948
  */
11939
11949
  this._embedded = false;
11940
11950
  this._itemClickSubject = new Subject();
11951
+ this.EntityIdKeyFn = (entity) => entity ? this.getId(entity) : 0;
11941
11952
  if (!selectionModel) {
11942
- this.selectionModel = new SelectionModel(false, [], (entity) => entity ? this.getId(entity) : 0);
11953
+ this.selectionModel = new SelectionModel(false, [], this.EntityIdKeyFn);
11943
11954
  }
11944
11955
  else {
11945
11956
  this.selectionModel = selectionModel;
@@ -21850,7 +21861,8 @@ class ElderSelectComponent extends ElderSelectBase {
21850
21861
  }
21851
21862
  openSelectionPopup(event) {
21852
21863
  if (this.selectionPopup) {
21853
- this.selectionPopup.choose(this.filters, this.sorts, false).subscribe((selection) => {
21864
+ this.selectionPopup.choose((e) => this.getEntityId(e), [], // TODO Or use current entity?
21865
+ this.filters, this.sorts, false).subscribe((selection) => {
21854
21866
  this.updateValueByEntity(selection[0]);
21855
21867
  });
21856
21868
  }
@@ -22156,7 +22168,7 @@ class ElderMultiSelectBase extends ElderSelectBase {
22156
22168
  }
22157
22169
  openSelectionPopup(event) {
22158
22170
  if (this.selectionPopup) {
22159
- this.selectionPopup.choose(this.filters, this.sorts, true).subscribe((selection) => this.appendEntities(selection));
22171
+ this.selectionPopup.choose((e) => this.getEntityId(e), this.entities, this.filters, this.sorts, true).subscribe((selection) => this.updateValueByEntities(selection));
22160
22172
  }
22161
22173
  else {
22162
22174
  this.logger.warn('Cant open selection browser popup, since [SelectionModelPopupDirective] was not found!');