| def create_refresh_button(gr, refresh_component, refresh_method, refreshed_args, elem_class, interactive=True): | |
| """ | |
| Copied from https://github.com/AUTOMATIC1111/stable-diffusion-webui | |
| """ | |
| refresh_symbol = 'π' | |
| 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 = gr.Button(refresh_symbol, elem_classes=elem_class, interactive=interactive) | |
| refresh_button.click( | |
| fn=refresh, | |
| inputs=[], | |
| outputs=[refresh_component] | |
| ) | |
| return refresh_button | |