import gradio as gr from climateqa.sample_questions import QUESTIONS def create_examples_tab(): examples_hidden = gr.Textbox(visible=False, elem_id=f"examples-hidden") first_key = list(QUESTIONS.keys())[0] dropdown_samples = gr.Dropdown( choices=QUESTIONS.keys(), value=first_key, interactive=True, label="Select a category of sample questions", elem_id="dropdown-samples" ) samples = [] for i, key in enumerate(QUESTIONS.keys()): examples_visible = (i == 0) with gr.Row(visible=examples_visible) as group_examples: examples_questions = gr.Examples( examples=QUESTIONS[key], inputs=[examples_hidden], examples_per_page=8, run_on_click=False, elem_id=f"examples{i}", api_name=f"examples{i}" ) samples.append(group_examples) def change_sample_questions(key): index = list(QUESTIONS.keys()).index(key) visible_bools = [False] * len(samples) visible_bools[index] = True return [gr.update(visible=visible_bools[i]) for i in range(len(samples))] # event listener dropdown_samples.change(change_sample_questions, dropdown_samples, samples) return examples_hidden