File size: 1,677 Bytes
3011029 59d7f29 3011029 59d7f29 3011029 59d7f29 3011029 59d7f29 3011029 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import gradio as gr
from config_utils import get_custom_config_dropdowns
from dropdowns_conditions import retrieve_config_options
#---------------------------------------------------------
def get_options_description(value):
dropdown_config = get_custom_config_dropdowns("/assets/config/config_checkbox_physical.json")
# get options
options = retrieve_config_options("Common", dropdown_config)
options_for_value = retrieve_config_options(value, dropdown_config)
options.extend(options_for_value)
# get descriptions
descriptions = []
for key, sub_dict in dropdown_config.items():
if key==value or key=="Common":
for _, option_dict in sub_dict.items():
for description_tag, description in option_dict.items():
if "Description"==description_tag:
descriptions.append(description)
return options, descriptions
#---------------------------------------------------------
def checkbox(body_part, section):
options, descriptions = get_options_description(body_part)
descriptions_info = "".join([f"\t{option}: {description}\n" for option, description in zip(options, descriptions)])
checkbox = gr.CheckboxGroup(options,
label=f"Physical changes observed on {body_part}:",
visible=True,
interactive=True,
elem_id=section)
text = gr.Textbox(descriptions_info,
label = "Info",
interactive=False,
visible=True,
elem_id=section)
return checkbox, text |