comparison libervia/pages/_browser/dialog.py @ 1343:8729d2708f65

browser (dialog): color of `OK` button can be specified: `ok_color` argument can be for the moment either `confirm` or `danger`
author Goffi <goffi@goffi.org>
date Mon, 24 Aug 2020 22:53:15 +0200
parents 683e50799d6d
children 4b6f711b09cb
comparison
equal deleted inserted replaced
1342:1df0d1b28b83 1343:8729d2708f65
4 from template import Template 4 from template import Template
5 5
6 6
7 class Confirm: 7 class Confirm:
8 8
9 def __init__(self, message, ok_label="", cancel_label=""): 9 def __init__(self, message, ok_label="", cancel_label="", ok_color="success"):
10 self._tpl = Template("dialogs/confirm.html") 10 self._tpl = Template("dialogs/confirm.html")
11 self.message = message 11 self.message = message
12 self.ok_label = ok_label 12 self.ok_label = ok_label
13 assert ok_color in ("success", "danger")
14 self.ok_color = ok_color
13 self.cancel_label = cancel_label 15 self.cancel_label = cancel_label
14 16
15 def cancel_cb(self, evt, notif_elt): 17 def cancel_cb(self, evt, notif_elt):
16 notif_elt.remove() 18 notif_elt.remove()
17 19
19 if cancel_cb is None: 21 if cancel_cb is None:
20 cancel_cb = self.cancel_cb 22 cancel_cb = self.cancel_cb
21 notif_elt = self._tpl.get_elt({ 23 notif_elt = self._tpl.get_elt({
22 "message": self.message, 24 "message": self.message,
23 "ok_label": self.ok_label, 25 "ok_label": self.ok_label,
26 "ok_color": self.ok_color,
24 "cancel_label": self.cancel_label, 27 "cancel_label": self.cancel_label,
25 }) 28 })
26 29
27 document['notifs_area'] <= notif_elt 30 document['notifs_area'] <= notif_elt
28 timer.set_timeout(lambda: notif_elt.classList.add('state_appended'), 0) 31 timer.set_timeout(lambda: notif_elt.classList.add('state_appended'), 0)