diff --git a/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.spec.ts b/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.spec.ts index 88e19e99fd..af8b467a41 100644 --- a/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.spec.ts +++ b/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.spec.ts @@ -195,7 +195,7 @@ describe('ContentNodeDialogService', () => { beforeEach(() => { spyOnDialogOpen.and.callFake((_: any, config: any) => { testContentNodeSelectorComponentData = config.data; - return { componentInstance: {} }; + return { componentInstance: {}, afterClosed: () => of(null) }; }); service.openCopyMoveDialog(NodeAction.CHOOSE, fakeNode, '!update'); }); diff --git a/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.ts b/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.ts index 841df27b70..0ed1e2e86d 100644 --- a/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.ts +++ b/lib/content-services/src/lib/content-node-selector/content-node-dialog.service.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { MatDialog } from '@angular/material/dialog'; +import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { EventEmitter, Injectable, Output } from '@angular/core'; import { ContentService, ThumbnailService, SitesService, TranslationService, AllowableOperationsEnum } from '@alfresco/adf-core'; import { Subject, Observable, throwError } from 'rxjs'; @@ -156,7 +156,8 @@ export class ContentNodeDialogService { select: select }; - this.openContentNodeDialog(data, 'adf-content-node-selector-dialog', '630px'); + const dialogRef = this.openContentNodeDialog(data, 'adf-content-node-selector-dialog', '630px'); + dialogRef.afterClosed().subscribe({ next: () => select.complete() }); return select; } else { @@ -195,7 +196,9 @@ export class ContentNodeDialogService { select: select }; - this.openContentNodeDialog(data, 'adf-content-node-selector-dialog', '630px'); + const dialogRef = this.openContentNodeDialog(data, 'adf-content-node-selector-dialog', '630px'); + dialogRef.afterClosed().subscribe({ next: () => select.complete() }); + return select; } @@ -220,12 +223,14 @@ export class ContentNodeDialogService { showFilesInResult }; - this.openContentNodeDialog(data, 'adf-content-node-selector-dialog', '630px'); + const dialogRef = this.openContentNodeDialog(data, 'adf-content-node-selector-dialog', '630px'); + dialogRef.afterClosed().subscribe({ next: () => select.complete() }); + return select; } - private openContentNodeDialog(data: ContentNodeSelectorComponentData, panelClass: string, width: string) { - this.dialog.open(ContentNodeSelectorComponent, { + private openContentNodeDialog(data: ContentNodeSelectorComponentData, panelClass: string, width: string): MatDialogRef { + return this.dialog.open(ContentNodeSelectorComponent, { data, panelClass, width, diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts index 25ff92d81e..8374e6c619 100644 --- a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts +++ b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.spec.ts @@ -65,7 +65,8 @@ describe('ContentNodeSelectorComponent', () => { useValue: { keydownEvents: () => of(null), backdropClick: () => of(null), - close: jasmine.createSpy('close') + close: jasmine.createSpy('close'), + afterClosed: () => of(null) } } ], diff --git a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts index 6203b80b9a..657b411ecf 100644 --- a/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts +++ b/lib/content-services/src/lib/content-node-selector/content-node-selector.component.ts @@ -76,7 +76,6 @@ export class ContentNodeSelectorComponent implements OnInit { } close() { - this.data.select.complete(); this.dialog.close(); }