File size: 675 Bytes
2b4d75c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# Mode / Broadcast / Global
# Launch the server in #broadcast #mode to synchronize browser state across users.
# Global variables can be used to manage state.
# Open `/demo` in multiple browsers and watch them synchronize in realtime.
# ---
from h2o_wave import main, app, Q, ui, pack
count = 0
@app('/demo', mode='broadcast')
async def serve(q: Q):
global count
if 'increment' in q.args:
count += 1
items = pack([ui.button(name='increment', label=f'Count={count}')])
if count > 0:
form = q.page['example']
form.items = items
else:
q.page['example'] = ui.form_card(box='1 1 2 1', items=items)
await q.page.save()
|