mesop-prompt-tuner / dialogs /update_title.py
Richard
Add custom button wrapper
6ff3d12
raw
history blame
972 Bytes
import mesop as me
import components as mex
import handlers
from constants import DIALOG_INPUT_WIDTH
from state import State
@me.component
def update_title():
state = me.state(State)
with mex.dialog(state.dialog_show_title):
me.text("Update Prompt Title", type="headline-6")
me.input(
label="Title",
value=state.temp_title,
on_blur=handlers.on_update_input,
key="temp_title",
style=me.Style(width=DIALOG_INPUT_WIDTH),
)
with mex.dialog_actions():
mex.button(
"Cancel",
on_click=handlers.on_close_dialog,
key="dialog_show_title",
)
mex.button(
"Save",
type="flat",
disabled=not state.temp_title.strip(),
on_click=on_save_title,
)
def on_save_title(e: me.InputBlurEvent):
"""Saves the title and closes the dialog."""
state = me.state(State)
if state.temp_title:
state.title = state.temp_title
state.dialog_show_title = False