added dynamic ids
This commit is contained in:
+40
-23
@@ -2,7 +2,9 @@ from dash import html, dcc
|
|||||||
import dash_mantine_components as dmc
|
import dash_mantine_components as dmc
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from src.model_experiential import ExperientialModelOutput
|
from src.model_experiential import (
|
||||||
|
VisualSyntaxModelOutput
|
||||||
|
)
|
||||||
from src.model_interpersonal import (
|
from src.model_interpersonal import (
|
||||||
ContactModelOutput,
|
ContactModelOutput,
|
||||||
AngleModelOutput,
|
AngleModelOutput,
|
||||||
@@ -26,46 +28,53 @@ def generate_option_labels(model) -> List[str]:
|
|||||||
]
|
]
|
||||||
return labels
|
return labels
|
||||||
|
|
||||||
def generate_experiential_options_map():
|
def generate_visual_syntax_options_map():
|
||||||
"""Generate map of titles and options for experiential labels."""
|
"""Generate map of titles and options for visual syntax labels."""
|
||||||
options_map = {}
|
options_map = {}
|
||||||
# add experiential labels
|
# add experiential labels
|
||||||
options_map["experiential".title()] = generate_option_labels(ExperientialModelOutput)
|
options_map["visual syntax"] = VisualSyntaxModelOutput.list_fields()
|
||||||
return options_map
|
return options_map
|
||||||
|
|
||||||
def generate_interpersonal_options_map():
|
def generate_interpersonal_options_map():
|
||||||
"""Generate map of titles and options for interpersonal labels."""
|
"""Generate map of titles and options for interpersonal labels."""
|
||||||
options_map = {}
|
options_map = {}
|
||||||
# add interpersonal labels
|
# add interpersonal labels
|
||||||
options_map["contact".title()] = generate_option_labels(ContactModelOutput)
|
options_map["contact"] = generate_option_labels(ContactModelOutput)
|
||||||
options_map["angle".title()] = generate_option_labels(AngleModelOutput)
|
options_map["angle"] = generate_option_labels(AngleModelOutput)
|
||||||
options_map["point of view".title()] = generate_option_labels(PointOfViewModelOutput)
|
options_map["point of view"] = generate_option_labels(PointOfViewModelOutput)
|
||||||
options_map["distance".title()] = generate_option_labels(DistanceModelOutput)
|
options_map["distance"] = generate_option_labels(DistanceModelOutput)
|
||||||
options_map["modality lighting".title()] = generate_option_labels(ModalityLightingModelOutput)
|
options_map["modality lighting"] = generate_option_labels(ModalityLightingModelOutput)
|
||||||
options_map["modality color".title()] = generate_option_labels(ModalityColorModelOutput)
|
options_map["modality color"] = generate_option_labels(ModalityColorModelOutput)
|
||||||
options_map["modality depth".title()] = generate_option_labels(ModalityDepthModelOutput)
|
options_map["modality depth"] = generate_option_labels(ModalityDepthModelOutput)
|
||||||
return options_map
|
return options_map
|
||||||
|
|
||||||
def generate_textual_options_map():
|
def generate_textual_options_map():
|
||||||
"""Generate map of titles and options for textual labels."""
|
"""Generate map of titles and options for textual labels."""
|
||||||
options_map = {}
|
options_map = {}
|
||||||
# add textual labels
|
# add textual labels
|
||||||
options_map["information value".title()] = generate_option_labels(InformationValueModelOutput)
|
options_map["information value"] = generate_option_labels(InformationValueModelOutput)
|
||||||
options_map["framing".title()] = generate_option_labels(FramingModelOutput)
|
options_map["framing"] = generate_option_labels(FramingModelOutput)
|
||||||
options_map["salience".title()] = generate_option_labels(SalienceModelOutput)
|
options_map["salience"] = generate_option_labels(SalienceModelOutput)
|
||||||
return options_map
|
return options_map
|
||||||
|
|
||||||
# prepare experiential container
|
# prepare experiential container
|
||||||
experiential_map = generate_experiential_options_map()
|
experiential_map = generate_visual_syntax_options_map()
|
||||||
experiential_container = dmc.Col(
|
experiential_container = dmc.Col(
|
||||||
children=[
|
children=[
|
||||||
dmc.Container([
|
html.H4("experiential".title()),
|
||||||
html.H4(list(experiential_map.keys())[0]),
|
|
||||||
html.B("visual syntax".title()),
|
|
||||||
dcc.RadioItems(options=list(experiential_map.values())[0]),
|
|
||||||
])
|
|
||||||
], span=5
|
], span=5
|
||||||
)
|
)
|
||||||
|
for title, options in experiential_map.items():
|
||||||
|
id_dict = {"type": "annotation", "index": title.replace('_', '-')}
|
||||||
|
experiential_container.children.append(
|
||||||
|
dmc.Container([
|
||||||
|
html.B(title.title()),
|
||||||
|
dcc.RadioItems(
|
||||||
|
options=options,
|
||||||
|
id=id_dict,
|
||||||
|
),
|
||||||
|
])
|
||||||
|
)
|
||||||
# prepare interpersonal container
|
# prepare interpersonal container
|
||||||
interpersonal_map = generate_interpersonal_options_map()
|
interpersonal_map = generate_interpersonal_options_map()
|
||||||
interpersonal_container = dmc.Col(
|
interpersonal_container = dmc.Col(
|
||||||
@@ -74,10 +83,14 @@ interpersonal_container = dmc.Col(
|
|||||||
], span=3
|
], span=3
|
||||||
)
|
)
|
||||||
for title, options in interpersonal_map.items():
|
for title, options in interpersonal_map.items():
|
||||||
|
id_dict = {"type": "annotation", "index": title.replace('_', '-')}
|
||||||
interpersonal_container.children.append(
|
interpersonal_container.children.append(
|
||||||
dmc.Container([
|
dmc.Container([
|
||||||
html.B(title),
|
html.B(title.title()),
|
||||||
dcc.RadioItems(options)
|
dcc.RadioItems(
|
||||||
|
options=options,
|
||||||
|
id=id_dict,
|
||||||
|
),
|
||||||
])
|
])
|
||||||
)
|
)
|
||||||
# prepare textual container
|
# prepare textual container
|
||||||
@@ -88,10 +101,14 @@ textual_container = dmc.Col(
|
|||||||
], span=4
|
], span=4
|
||||||
)
|
)
|
||||||
for title, options in textual_map.items():
|
for title, options in textual_map.items():
|
||||||
|
id_dict = {"type": "annotation", "index": title.replace('_', '-')}
|
||||||
textual_container.children.append(
|
textual_container.children.append(
|
||||||
dmc.Container([
|
dmc.Container([
|
||||||
html.B(title),
|
html.B(title),
|
||||||
dcc.RadioItems(options)
|
dcc.RadioItems(
|
||||||
|
options=options,
|
||||||
|
id=id_dict,
|
||||||
|
),
|
||||||
])
|
])
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user