Kategorien
Allgemein

DA nach Schließen des Modaldialogs per X-Icon oder Escape

Nach dem Schließen eines Modalen Dialogs ist es oft notwendig, in der aufrufenden Seite eine Dynamic Action (DA) auszulösen. In APEX gibt es dafür einen DA Event “Dialog Closed”. Damit kann zum Beispiel eine Region aktualisiert werden.

Wenn der Benutzer im Modalen Dialog allerdings die Taste Escape drückt oder das Schließen-Symbol (X) oben rechts benutzt, wird der Dialog zwar geschlossen, aber das Ereignis “Close Dialog” wird nicht ausgelöst. Hier die einfachste Lösung, die mir bekannt ist.

Auf der Seite des Modalen Dialogs muss unter Page › Dialog › Attributes folgender JavaScript-Code eingebunden werden:

close: function(event, ui) {
  apex.navigation.dialog.close(
    true, {dialogPageId:2}
  );
}

Die “2” am Parameter dialogPageId ist hierbei die Page-ID des Modal-Dialogs.