UiDialog.destroy - wie nutzen?

  • Wie komme ich an das callbackObject um UiDialog.destroy zu nutzen, wenn ich den Dialog über

    Code
                    UiDialog.openStatic('__foobar' + fooID, null, {
                        backdropCloseOnClick: false
                    });

    erstelle?

    UiDialog.close reicht mir leider nicht, da ich den Dialog komplett zerstören will, um ihn ggf. wieder mit derselben ID neu zu erstellen.

  • Der Dialog ist ein Lead-Formular einer bestimmten Firma. Das HTML des Dialogs wird nach Button-Klick in den DOM geladen und dann per UiDialog.openStatic geöffnet.

    Nach erfolgreichem Absenden des Lead-Formulars, soll der Dialog komplett zerstört werden, da der Nutzer ggf. nochmal auf den Button klickt, um dasselbe Lead-Formular zu öffnen. Würde ich hier dasselbe Lead-Formular öffnen, müsste ich vorher erst das HTML im DOM zurücksetzen, damit das Lead-Formular nicht bereits vorausgefüllte Werte hat.

    "Zurücksetzen" ist hier vllt. etwas verwirrend: Das HTML des Dialogs soll beim zweiten Klick auf denselben Button tatsächlich neu geladen werden, aber nur wenn das Lead-Formular vorher komplett versendet wurde.

    Ich könnte nach Absenden des Lead-Formulars natürlich auch dem Dialog eine CSS-Klasse "finished" hinzufügen und diese dann beim Erstellen abfragen. Wenn vorhanden, dann ersetzte das HTML mit dem vom AJAX-Call zurückgegebenen HTML, ansonsten (wenn das Lead-Formular noch nicht fertig ausgefüllt ist) nutze das vorhandene.

    Ich hoffe das ist einigermaßen verständlich ^^

    • Offizieller Beitrag

    Dein Problem entsteht also nur dadurch, dass du kein separates Modul nutzen möchtest, das den Dialog verwaltet. Und damit hast du auch direkt deine Lösung ;)

    Im Ernst, die "fire and forget"-Aufrufe für Dialog ist für einfache stateless Dialoge gedacht, etwa ein Link der ein Dialog mit einem statischen Erklärungstext anzeigt. Ein Beispiel dafür sind die Erklärungstexte für die WoltLab Cloud auf unserer Website, die von keinem Modul verwaltet werden, sondern nur einen glorifizierten Tooltip darstellen.

  • Ja, langfristig ist es geplant den Dialog nicht mehr zu nutzen ein ein eigenes Overlay zu erstellen - der Dialog ist erstmal eine kurzfristige Lösung, bei dem man nicht mehr selber viel dran machen muss :D

    Aber danke, dann bastel ich mir was kleines zusammen, ist ja kein Weltuntergang.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!