File size: 1,457 Bytes
52bc1cc
c4f900c
52bc1cc
 
c4f900c
52bc1cc
c4f900c
52bc1cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
37
38
39
40
41
import gradio as gr
from climateqa.sample_questions import QUESTIONS_GLOBAL, QUESTIONS_POC


def create_examples_tab(tab_name):
    examples_hidden = gr.Textbox(visible=False, elem_id=f"examples-hidden")
    QUESTIONS = QUESTIONS_POC if tab_name == "Beta - POC Adapt'Action" else QUESTIONS_GLOBAL
    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