У меня следующий эффект после нажатия на кнопку. В веб-инспекторе я вижу, что он запускает this.dialogService.open, а также что он открывает ObjectAComponent, но модальное окно не отображается. dialogService.openDialogs возвращает массив с экземпляром MatDialogRef.
Я обнаружил, что при установке точки останова внутри mergeMap с инициализацией MatDialog, он показывает диалог без проблем
Есть идеи, что мешает появлению модального окна? Спасибо
objectA$ = createEffect(() =>
this.actions$.pipe(
ofType(ResponsesActions.objectA),
switchMap(action => {
try {
return this.store.pipe(
select(getAllResponses),
take(1),
mergeMap(responsePage => {
const response = responsePage[0]
const config = new MatDialogConfig();
config.width = MODAL_WIDTH_ACTION_BUTTON;
config.disableClose = true;
config.autoFocus = true;
config.data = {
response,
};
return this.dialogService
.open(ObjectAComponent, config)
.afterClosed();
}),
take(1),
mergeMap((response: responsesEntity | false) => {
if (response !== false) {
return this.responsesService
.link(action.link, response)
.pipe(
take(1),
map(updateResponse => {
return AssignmentResponsesActions.objectASuccess({
response: updateResponse
});
})
);
} else {
return of(responsesActions.objectAFailure());
}
}),
catchError(error =>
of(
responsesActions.objectAFailure()
)
)
);
} catch (error) {
return of(
responsesActions.objectAFailure()
);
}
})
)
);