@cuby-ui/core 0.0.114 → 0.0.115

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 * as i0 from "@angular/core";
7
7
  export declare class CuiDialogsComponent implements OnInit {
8
8
  private readonly destroy$;
9
9
  protected readonly dialogs$: Observable<ReadonlyArray<CuiPopover<CuiDialogOptions>>>;
10
+ protected dialogInjectorCache: Map<string, Injector>;
10
11
  protected dialogInjectors: ReadonlyArray<Injector>;
11
12
  ngOnInit(): void;
12
13
  protected trackByFn(_: number, dialog: CuiPopover<CuiDialogOptions>): string;
@@ -9,6 +9,7 @@ export class CuiDialogsComponent {
9
9
  constructor() {
10
10
  this.destroy$ = inject(CuiDestroyService, { self: true });
11
11
  this.dialogs$ = inject(CUI_DIALOGS);
12
+ this.dialogInjectorCache = new Map();
12
13
  }
13
14
  ngOnInit() {
14
15
  this.initDialogInjectorsSubscription();
@@ -19,9 +20,22 @@ export class CuiDialogsComponent {
19
20
  initDialogInjectorsSubscription() {
20
21
  this.dialogs$
21
22
  .pipe(takeUntil(this.destroy$))
22
- .subscribe(dialogs => this.dialogInjectors = dialogs.map(useValue => Injector.create({
23
- providers: [{ provide: CUI_DIALOG_CONTEXT, useValue }]
24
- })));
23
+ .subscribe(dialogs => {
24
+ this.dialogInjectors = dialogs.map(dialog => {
25
+ if (!this.dialogInjectorCache.has(dialog.id)) {
26
+ this.dialogInjectorCache.set(dialog.id, Injector.create({
27
+ providers: [{ provide: CUI_DIALOG_CONTEXT, useValue: dialog }]
28
+ }));
29
+ }
30
+ return this.dialogInjectorCache.get(dialog.id);
31
+ });
32
+ this.dialogInjectorCache.forEach((_, dialogId) => {
33
+ if (dialogs.find(dialog => dialog.id === dialogId)) {
34
+ return;
35
+ }
36
+ this.dialogInjectorCache.delete(dialogId);
37
+ });
38
+ });
25
39
  }
26
40
  }
27
41
  CuiDialogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -30,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
30
44
  type: Component,
31
45
  args: [{ selector: 'cui-dialogs', changeDetection: ChangeDetectionStrategy.OnPush, providers: [CuiDestroyService], template: "<ng-container *cuiLet=\"dialogs$ | async as dialogs\">\n <ng-container *ngFor=\"let dialog of dialogs; let i = index; trackBy: trackByFn\">\n <ng-container *ngComponentOutlet=\"dialog.component; injector: dialogInjectors[i]\"></ng-container>\n </ng-container>\n <div\n *ngIf=\"dialogs!.length\"\n class=\"c-overlay\"\n ></div>\n</ng-container>\n", styles: [".c-overlay{position:fixed;inset:0;background:var(--cui-base-900);opacity:.3}\n"] }]
32
46
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVVsRSxNQUFNLE9BQU8sbUJBQW1CO0lBUGhDO1FBUW1CLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVuRCxhQUFRLEdBQTRELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQWtCNUc7SUFmUSxRQUFRO1FBQ2IsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVTLFNBQVMsQ0FBQyxDQUFTLEVBQUUsTUFBb0M7UUFDakUsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFUywrQkFBK0I7UUFDdkMsSUFBSSxDQUFDLFFBQVE7YUFDVixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ25GLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxDQUFDO1NBQ3ZELENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDVCxDQUFDOztpSEFwQlUsbUJBQW1CO3FHQUFuQixtQkFBbUIsc0NBRm5CLENBQUMsaUJBQWlCLENBQUMsMEJDZmhDLHdXQVNBOzRGRFFhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEN1aVBvcG92ZXIgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpRGVzdHJveVNlcnZpY2UgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ1VJX0RJQUxPR19DT05URVhULCBDVUlfRElBTE9HUyB9IGZyb20gJy4vZGlhbG9nLnRva2Vucyc7XG5pbXBvcnQgdHlwZSB7IEN1aURpYWxvZ09wdGlvbnMgfSBmcm9tICcuL2RpYWxvZy5pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLWRpYWxvZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9ncy50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9ncy5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtDdWlEZXN0cm95U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpRGlhbG9nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBpbmplY3QoQ3VpRGVzdHJveVNlcnZpY2UsIHsgc2VsZjogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlhbG9ncyQ6IE9ic2VydmFibGU8UmVhZG9ubHlBcnJheTxDdWlQb3BvdmVyPEN1aURpYWxvZ09wdGlvbnM+Pj4gPSBpbmplY3QoQ1VJX0RJQUxPR1MpO1xuICBwcm90ZWN0ZWQgZGlhbG9nSW5qZWN0b3JzITogUmVhZG9ubHlBcnJheTxJbmplY3Rvcj47XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdERpYWxvZ0luamVjdG9yc1N1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRyYWNrQnlGbihfOiBudW1iZXIsIGRpYWxvZzogQ3VpUG9wb3ZlcjxDdWlEaWFsb2dPcHRpb25zPik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRpYWxvZy5pZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0RGlhbG9nSW5qZWN0b3JzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZGlhbG9ncyRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoZGlhbG9ncyA9PiB0aGlzLmRpYWxvZ0luamVjdG9ycyA9IGRpYWxvZ3MubWFwKHVzZVZhbHVlID0+IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ1VJX0RJQUxPR19DT05URVhULCB1c2VWYWx1ZSB9XVxuICAgICAgfSkpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqY3VpTGV0PVwiZGlhbG9ncyQgfCBhc3luYyBhcyBkaWFsb2dzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRpYWxvZyBvZiBkaWFsb2dzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImRpYWxvZy5jb21wb25lbnQ7IGluamVjdG9yOiBkaWFsb2dJbmplY3RvcnNbaV1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXZcbiAgICAqbmdJZj1cImRpYWxvZ3MhLmxlbmd0aFwiXG4gICAgY2xhc3M9XCJjLW92ZXJsYXlcIlxuICA+PC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVVsRSxNQUFNLE9BQU8sbUJBQW1CO0lBUGhDO1FBUW1CLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUVuRCxhQUFRLEdBQTRELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRyx3QkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQztLQWtDN0Q7SUEvQlEsUUFBUTtRQUNiLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFUyxTQUFTLENBQUMsQ0FBUyxFQUFFLE1BQW9DO1FBQ2pFLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRVMsK0JBQStCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRO2FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUM1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQzt3QkFDdEQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FCQUMvRCxDQUFDLENBQUMsQ0FBQztpQkFDTDtnQkFFRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBRSxDQUFDO1lBQ2xELENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRTtnQkFDL0MsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRTtvQkFDbEQsT0FBTztpQkFDUjtnQkFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztpSEFyQ1UsbUJBQW1CO3FHQUFuQixtQkFBbUIsc0NBRm5CLENBQUMsaUJBQWlCLENBQUMsMEJDZmhDLHdXQVNBOzRGRFFhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEN1aVBvcG92ZXIgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpRGVzdHJveVNlcnZpY2UgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ1VJX0RJQUxPR19DT05URVhULCBDVUlfRElBTE9HUyB9IGZyb20gJy4vZGlhbG9nLnRva2Vucyc7XG5pbXBvcnQgdHlwZSB7IEN1aURpYWxvZ09wdGlvbnMgfSBmcm9tICcuL2RpYWxvZy5pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VpLWRpYWxvZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9ncy50ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGlhbG9ncy5zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtDdWlEZXN0cm95U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQ3VpRGlhbG9nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBpbmplY3QoQ3VpRGVzdHJveVNlcnZpY2UsIHsgc2VsZjogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlhbG9ncyQ6IE9ic2VydmFibGU8UmVhZG9ubHlBcnJheTxDdWlQb3BvdmVyPEN1aURpYWxvZ09wdGlvbnM+Pj4gPSBpbmplY3QoQ1VJX0RJQUxPR1MpO1xuICBwcm90ZWN0ZWQgZGlhbG9nSW5qZWN0b3JDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBJbmplY3Rvcj4oKTtcbiAgcHJvdGVjdGVkIGRpYWxvZ0luamVjdG9ycyE6IFJlYWRvbmx5QXJyYXk8SW5qZWN0b3I+O1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXREaWFsb2dJbmplY3RvcnNTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0cmFja0J5Rm4oXzogbnVtYmVyLCBkaWFsb2c6IEN1aVBvcG92ZXI8Q3VpRGlhbG9nT3B0aW9ucz4pOiBzdHJpbmcge1xuICAgIHJldHVybiBkaWFsb2cuaWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdERpYWxvZ0luamVjdG9yc1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ3MkXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgIC5zdWJzY3JpYmUoZGlhbG9ncyA9PiB7XG4gICAgICB0aGlzLmRpYWxvZ0luamVjdG9ycyA9IGRpYWxvZ3MubWFwKGRpYWxvZyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dJbmplY3RvckNhY2hlLmhhcyhkaWFsb2cuaWQpKSB7XG4gICAgICAgICAgdGhpcy5kaWFsb2dJbmplY3RvckNhY2hlLnNldChkaWFsb2cuaWQsIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IENVSV9ESUFMT0dfQ09OVEVYVCwgdXNlVmFsdWU6IGRpYWxvZyB9XVxuICAgICAgICAgIH0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZ0luamVjdG9yQ2FjaGUuZ2V0KGRpYWxvZy5pZCkhO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZGlhbG9nSW5qZWN0b3JDYWNoZS5mb3JFYWNoKChfLCBkaWFsb2dJZCkgPT4ge1xuICAgICAgICBpZiAoZGlhbG9ncy5maW5kKGRpYWxvZyA9PiBkaWFsb2cuaWQgPT09IGRpYWxvZ0lkKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nSW5qZWN0b3JDYWNoZS5kZWxldGUoZGlhbG9nSWQpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKmN1aUxldD1cImRpYWxvZ3MkIHwgYXN5bmMgYXMgZGlhbG9nc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBkaWFsb2cgb2YgZGlhbG9nczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJkaWFsb2cuY29tcG9uZW50OyBpbmplY3RvcjogZGlhbG9nSW5qZWN0b3JzW2ldXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJkaWFsb2dzIS5sZW5ndGhcIlxuICAgIGNsYXNzPVwiYy1vdmVybGF5XCJcbiAgPjwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -725,6 +725,7 @@ class CuiDialogsComponent {
725
725
  constructor() {
726
726
  this.destroy$ = inject(CuiDestroyService, { self: true });
727
727
  this.dialogs$ = inject(CUI_DIALOGS);
728
+ this.dialogInjectorCache = new Map();
728
729
  }
729
730
  ngOnInit() {
730
731
  this.initDialogInjectorsSubscription();
@@ -735,9 +736,22 @@ class CuiDialogsComponent {
735
736
  initDialogInjectorsSubscription() {
736
737
  this.dialogs$
737
738
  .pipe(takeUntil(this.destroy$))
738
- .subscribe(dialogs => this.dialogInjectors = dialogs.map(useValue => Injector.create({
739
- providers: [{ provide: CUI_DIALOG_CONTEXT, useValue }]
740
- })));
739
+ .subscribe(dialogs => {
740
+ this.dialogInjectors = dialogs.map(dialog => {
741
+ if (!this.dialogInjectorCache.has(dialog.id)) {
742
+ this.dialogInjectorCache.set(dialog.id, Injector.create({
743
+ providers: [{ provide: CUI_DIALOG_CONTEXT, useValue: dialog }]
744
+ }));
745
+ }
746
+ return this.dialogInjectorCache.get(dialog.id);
747
+ });
748
+ this.dialogInjectorCache.forEach((_, dialogId) => {
749
+ if (dialogs.find(dialog => dialog.id === dialogId)) {
750
+ return;
751
+ }
752
+ this.dialogInjectorCache.delete(dialogId);
753
+ });
754
+ });
741
755
  }
742
756
  }
743
757
  CuiDialogsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CuiDialogsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });