comparison libervia/web/pages/lists/_browser/__init__.py @ 1597:c1c1d68d063e

pages (lists): uses std lib `json` and don't use anymore `DOMNODE`: those tricks are not needed anymore with recent versions of Brython.
author Goffi <goffi@goffi.org>
date Sun, 11 Feb 2024 21:32:53 +0100
parents eb00d593801d
children
comparison
equal deleted inserted replaced
1596:52098b5bab8d 1597:c1c1d68d063e
1 from browser import DOMNode, document, aio 1 import json
2 from javascript import JSON 2
3 from bridge import AsyncBridge as Bridge, BridgeException 3 from bridge import AsyncBridge as Bridge, BridgeException
4 from browser import document, aio
4 import dialog 5 import dialog
5 6
6 bridge = Bridge() 7 bridge = Bridge()
7 8
8 9
9 async def on_delete(evt): 10 async def on_delete(evt):
10 evt.stopPropagation() 11 evt.stopPropagation()
11 evt.preventDefault() 12 evt.preventDefault()
12 target = evt.currentTarget 13 target = evt.currentTarget
13 item_elt = DOMNode(target.closest('.item')) 14 item_elt = target.closest('.item')
14 item_elt.classList.add("selected_for_deletion") 15 item_elt.classList.add("selected_for_deletion")
15 item = JSON.parse(item_elt.dataset.item) 16 item = json.loads(item_elt.dataset.item)
17
16 confirmed = await dialog.Confirm( 18 confirmed = await dialog.Confirm(
17 f"List {item['name']!r} will be deleted, are you sure?", 19 f"List {item['name']!r} will be deleted, are you sure?",
18 ok_label="delete", 20 ok_label="delete",
19 ).ashow() 21 ).ashow()
20 22