Previously functioning code seems to have been affected by an update to PrimeNG. The confirmation dialog that was once usable is now hidden behind a gray click-mask, rendering everything on the screen unclickable:
https://i.sstatic.net/YN7Iu.png
The HTML structure for these two dialogs appears as follows:
<p-dialog header="Save Location" [modal]="true" [(visible)]="showSaveDialog" width="350" height="190">
<div style="height: 60px;">
Save location as:
<ks-dropdown #saveNameDropdown [(ngModel)]="selectedName" [options]="saveDialogNames" [editable]="true" [style]="{width: '200px'}"></ks-dropdown>
<br><br><p-checkbox [(ngModel)]="makeDefault" binary="true" label="Make this the default location"></p-checkbox>
</div>
<p-footer>
<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
<button type="button" pButton icon="far fa-window-close" (click)="showSaveDialog=false" label="Cancel"></button>
<button type="button" pButton icon="fas fa-check" (click)="doSave()" label="OK" [disabled]="!selectedName.trim()"></button>
</div>
</p-footer>
<p-confirmDialog header="Same location name in use" icon="fas fa-question-circle" width="400"></p-confirmDialog>
</p-dialog>
The code responsible for triggering the confirmation dialog is shown below:
if (_.find(this.app.locations, {name: this.selectedName })) {
this.confirmationService.confirm({
message: `Are you sure you want to replace the existing "${this.selectedName}"?`,
accept: () => this.completeSave()
});
}
Attempts to adjust the z-index
of the dialog above the ui-dialog-mask
did not yield positive results.
An alternative solution may involve searching the DOM for the problematic ui-dialog-mask
, although it would be preferable to find the root cause or a better approach.