Tengo un cuadro de diálogo que acepta la entrada del usuario y ejecuta una función al cerrar el cuadro de diálogo. Usando el componente de diálogo dinámico primeng. Esta función se llama durante el evento onClose. Esto funciona bien con un botón de cierre.
Tengo una máscara desechable para permitir que el usuario cierre el cuadro haciendo clic fuera de él. Aquí el evento onClose no se activa. ¿Hay alguna forma de capturar el evento en el que el usuario hace clic fuera del cuadro o hacer que se dispare?
https://www.primefaces.org/primeng/dynamicdialog
componente 1
addQuoteDialog() { let selectedData = this.gridApi.getSelectedRows(); const ref = (this.addQuoteDialogRef = this.dialogService.open( AddQuoteDialogComponent, { width: '95%', styleClass: 'user-details', showHeader: false, //contentStyle: { 'max-height': '500px', overflow: 'auto' }, height: '70', data: { selectedData: selectedData, }, dismissableMask: true, } )); ref.onClose.subscribe((response) => { ref.destroy(); }); return ref; }componente 2
onClose() { console.log('onclose'); this.quoteDisplayFalse(); this.ref.close(); }Agregue una consola después de "ref.onClose.subscribe((response) => { ". Obtendrá la consola que se registra cuando hace clic fuera del cuadro. Aquí, también puede escribir otra función que se invoque al cerrar.
No es necesario hacer ref.destroy, ya que cerrará automáticamente el cuadro de diálogo.