Mercurial > libervia-web
annotate libervia/pages/lists/view/_browser/__init__.py @ 1406:cffa3ae4d0aa
pages (blog/view): move URL friendly code to backend tools:
- the code to render an URL friendly is now in `sat.tools.common.regex`
- user friendly extra text is now only displayed when no `-` is found in ID. This is a
temporary transition behaviour because new blog items IDs are now user friendly by
default, and thus extra text is not wanted anymore.
For older IDs it is still needed though, and the presence of `-` is used to guess when
an ID is user friendly or not.
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 16 Apr 2021 18:44:49 +0200 |
parents | 4ccf42d8aab7 |
children | 6fdef01f6671 |
rev | line source |
---|---|
1395
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
1 from browser import window, document, aio, bind |
1387
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 from invitation import InvitationManager |
1395
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
3 from javascript import JSON |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
4 from aio_bridge import Bridge, BridgeException |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
5 import dialog |
1387
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 |
1395
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
8 bridge = Bridge() |
1387
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 lists_ns = window.lists_ns |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 pubsub_service = window.pubsub_service |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 pubsub_node = window.pubsub_node |
1395
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
12 list_type = window.list_type |
1387
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 try: |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 affiliations = window.affiliations.to_dict() |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 except AttributeError: |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 pass |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 @bind("#button_manage", "click") |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 def manage_click(evt): |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 evt.stopPropagation() |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 evt.preventDefault() |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 pubsub_data = { |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
23 "namespace": lists_ns, |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
24 "service": pubsub_service, |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 "node": pubsub_node |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 } |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 try: |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 name = pubsub_node.split('_', 1)[1] |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 except IndexError: |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 pass |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 else: |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 name = name.strip() |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 if name: |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 pubsub_data['name'] = name |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 manager = InvitationManager("pubsub", pubsub_data) |
a84383c659b4
lists: creation, invitation, item deletion:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 manager.attach(affiliations=affiliations) |
1395
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
37 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
38 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
39 async def on_delete(evt): |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
40 item_elt = evt.target.closest(".item") |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
41 if item_elt is None: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
42 dialog.notification.show( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
43 "Can't find parent item element", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
44 level="error" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
45 ) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
46 return |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
47 item_elt.classList.add("selected_for_deletion") |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
48 item = JSON.parse(item_elt.dataset.item) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
49 confirmed = await dialog.Confirm( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
50 f"{item['name']!r} will be deleted, are you sure?", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
51 ok_label="delete", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
52 ok_color="danger", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
53 ).ashow() |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
54 item_elt.classList.remove("selected_for_deletion") |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
55 if confirmed: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
56 try: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
57 await bridge.psItemRetract(pubsub_service, pubsub_node, item["id"], True) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
58 except Exception as e: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
59 dialog.notification.show( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
60 f"Can't delete list item: {e}", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
61 level="error" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
62 ) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
63 else: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
64 dialog.notification.show("list item deleted successfuly") |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
65 item_elt.remove() |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
66 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
67 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
68 async def on_next_state(evt): |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
69 """Update item with next state |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
70 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
71 Only used with grocery list at the moment |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
72 """ |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
73 evt.stopPropagation() |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
74 evt.preventDefault() |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
75 # FIXME: states are currently hardcoded, it would be better to use schema |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
76 item_elt = evt.target.closest(".item") |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
77 if item_elt is None: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
78 dialog.notification.show( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
79 "Can't find parent item element", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
80 level="error" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
81 ) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
82 return |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
83 item = JSON.parse(item_elt.dataset.item) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
84 try: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
85 status = item["status"] |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
86 except (KeyError, IndexError) as e: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
87 dialog.notification.show( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
88 f"Can't get item status: {e}", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
89 level="error" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
90 ) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
91 status = "to_buy" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
92 if status == "to_buy": |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
93 item["status"] = "bought" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
94 class_update_method = item_elt.classList.add |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
95 checked = True |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
96 elif status == "bought": |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
97 item["status"] = "to_buy" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
98 checked = False |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
99 class_update_method = item_elt.classList.remove |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
100 else: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
101 print(status) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
102 dialog.notification.show( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
103 f"unexpected item status: {status!r}", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
104 level="error" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
105 ) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
106 return |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
107 item_elt.dataset.item = JSON.stringify(item) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
108 try: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
109 await bridge.listSet( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
110 pubsub_service, |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
111 pubsub_node, |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
112 {k: [v] for k,v in item.items()}, |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
113 "", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
114 item["id"], |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
115 "" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
116 ) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
117 except BridgeException as e: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
118 dialog.notification.show( |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
119 f"Can't udate list item: {e.message}", |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
120 level="error" |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
121 ) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
122 else: |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
123 evt.target.checked = checked |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
124 class_update_method("list-item-closed") |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
125 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
126 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
127 if list_type == "grocery": |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
128 for elt in document.select('.click_to_delete'): |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
129 elt.bind("click", lambda evt: aio.run(on_delete(evt))) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
130 |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
131 for elt in document.select('.click_to_next_state'): |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
132 elt.bind("click", lambda evt: aio.run(on_next_state(evt))) |
4ccf42d8aab7
browser (lists/view): `grocery` list specialised behaviour:
Goffi <goffi@goffi.org>
parents:
1387
diff
changeset
|
133 |