mirror of
https://github.com/oobabooga/text-generation-webui.git
synced 2024-12-26 06:10:39 +01:00
31 lines
873 B
Python
31 lines
873 B
Python
|
import gradio as gr
|
||
|
|
||
|
refresh_symbol = '\U0001f504' # 🔄
|
||
|
|
||
|
class ToolButton(gr.Button, gr.components.FormComponent):
|
||
|
"""Small button with single emoji as text, fits inside gradio forms"""
|
||
|
|
||
|
def __init__(self, **kwargs):
|
||
|
super().__init__(variant="tool", **kwargs)
|
||
|
|
||
|
def get_block_name(self):
|
||
|
return "button"
|
||
|
|
||
|
def create_refresh_button(refresh_component, refresh_method, refreshed_args, elem_id):
|
||
|
def refresh():
|
||
|
refresh_method()
|
||
|
args = refreshed_args() if callable(refreshed_args) else refreshed_args
|
||
|
|
||
|
for k, v in args.items():
|
||
|
setattr(refresh_component, k, v)
|
||
|
|
||
|
return gr.update(**(args or {}))
|
||
|
|
||
|
refresh_button = ToolButton(value=refresh_symbol, elem_id=elem_id)
|
||
|
refresh_button.click(
|
||
|
fn=refresh,
|
||
|
inputs=[],
|
||
|
outputs=[refresh_component]
|
||
|
)
|
||
|
return refresh_button
|