updated to use new data classes and bugfixes
This commit is contained in:
+25
-46
@@ -4,35 +4,24 @@ import dash_mantine_components as dmc
|
|||||||
from dash import dcc
|
from dash import dcc
|
||||||
from dash import html
|
from dash import html
|
||||||
|
|
||||||
from src.model_experiential import VisualSyntaxModelOutput
|
from core.dto import AngleData
|
||||||
from src.model_interpersonal import AngleModelOutput
|
from core.dto import ContactData
|
||||||
from src.model_interpersonal import ContactModelOutput
|
from core.dto import DistanceData
|
||||||
from src.model_interpersonal import DistanceModelOutput
|
from core.dto import FramingData
|
||||||
from src.model_interpersonal import ModalityColorModelOutput
|
from core.dto import InformationValueData
|
||||||
from src.model_interpersonal import ModalityDepthModelOutput
|
from core.dto import ModalityColorData
|
||||||
from src.model_interpersonal import ModalityLightingModelOutput
|
from core.dto import ModalityDepthData
|
||||||
from src.model_interpersonal import PointOfViewModelOutput
|
from core.dto import ModalityLightingData
|
||||||
from src.model_textual import FramingModelOutput
|
from core.dto import PointOfViewData
|
||||||
from src.model_textual import InformationValueModelOutput
|
from core.dto import SalienceData
|
||||||
from src.model_textual import SalienceModelOutput
|
from core.dto import VisualSyntaxData
|
||||||
|
|
||||||
|
|
||||||
def generate_option_labels(model) -> list[str]:
|
|
||||||
"""Generate presentable list of attributes from an OutputModel."""
|
|
||||||
labels = [
|
|
||||||
label.replace('_', ' ').title()
|
|
||||||
for label in model.list_fields()
|
|
||||||
]
|
|
||||||
return labels
|
|
||||||
|
|
||||||
|
|
||||||
def generate_visual_syntax_options_map():
|
def generate_visual_syntax_options_map():
|
||||||
"""Generate map of titles and options for visual syntax labels."""
|
"""Generate map of titles and options for visual syntax labels."""
|
||||||
options_map = {}
|
options_map = {}
|
||||||
# add experiential labels
|
# add experiential labels
|
||||||
options_map['visual syntax'] = generate_option_labels(
|
options_map['visual syntax'] = VisualSyntaxData.list_fields()
|
||||||
VisualSyntaxModelOutput,
|
|
||||||
)
|
|
||||||
return options_map
|
return options_map
|
||||||
|
|
||||||
|
|
||||||
@@ -40,21 +29,13 @@ 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'] = generate_option_labels(ContactModelOutput)
|
options_map['contact'] = ContactData.list_fields()
|
||||||
options_map['angle'] = generate_option_labels(AngleModelOutput)
|
options_map['angle'] = AngleData.list_fields()
|
||||||
options_map['point of view'] = generate_option_labels(
|
options_map['point of view'] = PointOfViewData.list_fields()
|
||||||
PointOfViewModelOutput,
|
options_map['distance'] = DistanceData.list_fields()
|
||||||
)
|
options_map['modality lighting'] = ModalityLightingData.list_fields()
|
||||||
options_map['distance'] = generate_option_labels(DistanceModelOutput)
|
options_map['modality color'] = ModalityColorData.list_fields()
|
||||||
options_map['modality lighting'] = generate_option_labels(
|
options_map['modality depth'] = ModalityDepthData.list_fields()
|
||||||
ModalityLightingModelOutput,
|
|
||||||
)
|
|
||||||
options_map['modality color'] = generate_option_labels(
|
|
||||||
ModalityColorModelOutput,
|
|
||||||
)
|
|
||||||
options_map['modality depth'] = generate_option_labels(
|
|
||||||
ModalityDepthModelOutput,
|
|
||||||
)
|
|
||||||
return options_map
|
return options_map
|
||||||
|
|
||||||
|
|
||||||
@@ -62,11 +43,9 @@ 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'] = generate_option_labels(
|
options_map['information value'] = InformationValueData.list_fields()
|
||||||
InformationValueModelOutput,
|
options_map['framing'] = FramingData.list_fields()
|
||||||
)
|
options_map['salience'] = SalienceData.list_fields()
|
||||||
options_map['framing'] = generate_option_labels(FramingModelOutput)
|
|
||||||
options_map['salience'] = generate_option_labels(SalienceModelOutput)
|
|
||||||
return options_map
|
return options_map
|
||||||
|
|
||||||
|
|
||||||
@@ -83,7 +62,7 @@ for title, options in experiential_map.items():
|
|||||||
dmc.Container([
|
dmc.Container([
|
||||||
html.B(title.title()),
|
html.B(title.title()),
|
||||||
dcc.RadioItems(
|
dcc.RadioItems(
|
||||||
options=options,
|
options=[text.replace('_', ' ') for text in options],
|
||||||
id=id_dict,
|
id=id_dict,
|
||||||
),
|
),
|
||||||
]),
|
]),
|
||||||
@@ -101,7 +80,7 @@ for title, options in interpersonal_map.items():
|
|||||||
dmc.Container([
|
dmc.Container([
|
||||||
html.B(title.title()),
|
html.B(title.title()),
|
||||||
dcc.RadioItems(
|
dcc.RadioItems(
|
||||||
options=options,
|
options=[text.replace('_', ' ') for text in options],
|
||||||
id=id_dict,
|
id=id_dict,
|
||||||
),
|
),
|
||||||
]),
|
]),
|
||||||
@@ -119,7 +98,7 @@ for title, options in textual_map.items():
|
|||||||
dmc.Container([
|
dmc.Container([
|
||||||
html.B(title.title()),
|
html.B(title.title()),
|
||||||
dcc.RadioItems(
|
dcc.RadioItems(
|
||||||
options=options,
|
options=[text.replace('_', ' ') for text in options],
|
||||||
id=id_dict,
|
id=id_dict,
|
||||||
),
|
),
|
||||||
]),
|
]),
|
||||||
|
|||||||
Reference in New Issue
Block a user