Spaces:
Running
Running
import gradio as gr | |
from gradio.components import Component | |
from src.webui.webui_manager import WebuiManager | |
from src.utils import config | |
def create_load_save_config_tab(webui_manager: WebuiManager): | |
""" | |
Creates a load and save config tab. | |
""" | |
input_components = set(webui_manager.get_components()) | |
tab_components = {} | |
config_file = gr.File( | |
label="Load UI Settings from json", | |
file_types=[".json"], | |
interactive=True | |
) | |
with gr.Row(): | |
load_config_button = gr.Button("Load Config", variant="primary") | |
save_config_button = gr.Button("Save UI Settings", variant="primary") | |
config_status = gr.Textbox( | |
label="Status", | |
lines=2, | |
interactive=False | |
) | |
tab_components.update(dict( | |
load_config_button=load_config_button, | |
save_config_button=save_config_button, | |
config_status=config_status, | |
config_file=config_file, | |
)) | |
webui_manager.add_components("load_save_config", tab_components) | |
save_config_button.click( | |
fn=webui_manager.save_config, | |
inputs=set(webui_manager.get_components()), | |
outputs=[config_status] | |
) | |
load_config_button.click( | |
fn=webui_manager.load_config, | |
inputs=[config_file], | |
outputs=webui_manager.get_components(), | |
) | |