import solara
@solara.component
def DoubleClick(children, on_click):
def handle(*args):
on_click()
div = solara.Div(children=children)
solara.v.use_event(div, "dblclick", handle)
@solara.component
def Page():
edit_mode = solara.use_reactive(False)
title = solara.use_reactive('Double click to edit this title')
def on_edit(value: str):
edit_mode.set(False)
title.set(value)
def on_click():
edit_mode.set(True)
if edit_mode.value:
card_title = solara.InputText(label='', value=title.value, on_value=on_edit)
else:
card_title = DoubleClick(children=[title.value], on_click=on_click)
with solara.Card(card_title):
solara.Text("This is just text")