Description
When IgxDialogComponent.isOpen is set programmatically from an asynchronous
callback in a zoneless Angular application, the dialog does not become visible.
The component state changes to isOpen = true, but the
igx-dialog--hidden class remains applied to the dialog host. The model and
rendered DOM therefore become inconsistent until another Angular render is
triggered.
Framework
Angular
Angular Version
22.0
Ignite UI for Angular Version
22.1.x
Component / Area
Dialog
Browser
Chrome
Operating System
No response
Command Not Working
Steps to Reproduce
- Open the provided reproduction sample. - zoneless-dialog-repro.zip
- The sample uses zoneless change detection and binds a template-read signal
to the Dialog's isOpen input:
<igx-dialog [isOpen]="open()"></igx-dialog>
- The scenario starts automatically. Alternatively, click Run scenario
to execute it again.
- An asynchronous callback updates the signal:
setTimeout(() => {
this.open.set(true);
});
- Observe the dialog and the displayed component and host states.
Actual Result
The signal update reaches the Dialog and the component reports
isOpen = true, but the dialog remains hidden:
isOpen=true
hostHidden=true
visible=false
Although the application uses a documented zoneless notification mechanism,
the igx-dialog--hidden host class is not synchronized with the component
state after the Dialog's deferred open operation.
Expected Result
The Dialog should become visible after the signal-bound isOpen input changes
to true.
Reproduction URL
No response
Attachments
zoneless-dialog-repro.zip
Description
When
IgxDialogComponent.isOpenis set programmatically from an asynchronouscallback in a zoneless Angular application, the dialog does not become visible.
The component state changes to
isOpen = true, but theigx-dialog--hiddenclass remains applied to the dialog host. The model andrendered DOM therefore become inconsistent until another Angular render is
triggered.
Framework
Angular
Angular Version
22.0
Ignite UI for Angular Version
22.1.x
Component / Area
Dialog
Browser
Chrome
Operating System
No response
Command Not Working
Steps to Reproduce
to the Dialog's
isOpeninput:to execute it again.
Actual Result
The signal update reaches the Dialog and the component reports
isOpen = true, but the dialog remains hidden:Although the application uses a documented zoneless notification mechanism,
the
igx-dialog--hiddenhost class is not synchronized with the componentstate after the Dialog's deferred open operation.
Expected Result
The Dialog should become visible after the signal-bound
isOpeninput changesto
true.Reproduction URL
No response
Attachments
zoneless-dialog-repro.zip