File size: 3,802 Bytes
b5f70d4
 
ec819d9
3ae828c
 
86d2f2e
3ae828c
ec819d9
 
 
 
b5f70d4
 
 
ec819d9
baec762
b5f70d4
86d2f2e
3ae828c
baec762
161d75f
baec762
b5f70d4
161d75f
 
 
b5f70d4
 
161d75f
b5f70d4
 
 
 
ec819d9
b5f70d4
 
 
 
ec819d9
b5f70d4
 
 
 
 
ec819d9
b5f70d4
 
 
 
 
ec819d9
b5f70d4
 
 
 
161d75f
b5f70d4
 
 
 
 
 
 
 
 
 
 
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import gradio as gr
import os
from dotenv import load_dotenv

from utils.utils_visible import set_visible
from validation_submission.utils_individual import add_data_to_individual

load_dotenv()
PATH = os.getcwd() + "/"
PATH_ASSETS = os.getenv('PATH_ASSETS')
LOGO_PATH = PATH + PATH_ASSETS + "logos"

CAUSE_COL_WIDTH = "50px"


def show_circumstances(choice, individual): 
    visible = set_visible(choice)
    individual = add_data_to_individual("wounded_dead", 
                    "circumstance_radio", 
                    choice, individual)
    button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause, dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2 = create_circumstances(visible)
    return button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause, dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2, individual

def create_circumstances(visible):
    button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause = create_circumstances_buttons(visible)      
    dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2 = create_circumstances_dropdown(visible)
    return button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause, dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2

def create_circumstances_buttons(visible): 
    with gr.Row() as image_row:
            with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
                button_collision = gr.Button("Collision with a means of transport", 
                                             visible=visible,
                                             icon=LOGO_PATH +  '/van.png',
                                             elem_id="buttons-conditions")
                
            with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
                button_deliberate_destruction = gr.Button("Destruction / Deliberatly removed", 
                                                          icon=LOGO_PATH +  '/destruction.png',
                                                          visible=visible,
                                                          elem_id="buttons-conditions")
 
            with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
                button_indirect_destruction = gr.Button("Indirect destruction", 
                                                        icon=LOGO_PATH +  '/indirect.png',
                                                        visible=visible,
                                                        elem_id="buttons-conditions")

            with gr.Column(scale=1, min_width=CAUSE_COL_WIDTH):
                button_natural_cause = gr.Button("Natural cause", 
                                                 icon=LOGO_PATH +  '/natural.png', 
                                                 visible=visible,
                                                 elem_id="buttons-conditions")
    return button_collision, button_deliberate_destruction, button_indirect_destruction, button_natural_cause

def create_circumstances_dropdown(visible):
    with gr.Row() as dropdown_row:
        dropdown = gr.Dropdown(choices=[], 
                               label="Choices will appear here...",
                               visible=visible, interactive=False, elem_id="dropdown-conditions")
    openfield_level2 = gr.Textbox(visible=False, elem_id="dropdown-conditions")
    dropdown_level2 = gr.Dropdown(choices=[], visible=False, elem_id="dropdown-conditions")
    dropdown_extra_level2 = gr.Dropdown(choices=[], visible=False, elem_id="dropdown-conditions")
    return dropdown, dropdown_level2, openfield_level2, dropdown_extra_level2