Mercurial > libervia-web
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) |