diff libervia/web/pages/_browser/dialog.py @ 1620:3a60bf3762ef

browser: threads and replies implementation: rel 457
author Goffi <goffi@goffi.org>
date Tue, 06 May 2025 00:40:07 +0200
parents a2cd4222c702
children
line wrap: on
line diff
--- a/libervia/web/pages/_browser/dialog.py	Sat Apr 12 00:21:45 2025 +0200
+++ b/libervia/web/pages/_browser/dialog.py	Tue May 06 00:40:07 2025 +0200
@@ -183,7 +183,7 @@
 
 class Modal:
 
-    def __init__(self, content_elt, is_card=False, closable=False):
+    def __init__(self, content_elt, is_card=False, closable=False, close_cb=None):
         """Init a Modal instance.
 
         @param content_elt: Content of the modal.
@@ -198,6 +198,7 @@
                     'Element must have a "modal-card" class when `is_card` is used'
                 )
         self.closable = closable
+        self._close_cb = close_cb
         self._tpl = Template("dialogs/modal.html")
         self.content_elt = content_elt
         self._modal_elt = None
@@ -221,6 +222,8 @@
     def on_close_click(self, evt) -> None:
         evt.preventDefault()
         evt.stopPropagation()
+        if self._close_cb is not None:
+            self._close_cb()
         self.close()
 
     def show(self) -> None: