|
7 | 7 | ------------- |
8 | 8 | 1. Test Case Management: |
9 | 9 | - Test case loading and validation |
10 | | - - Configuration persistence |
| 10 | + - Configuration persistence |
11 | 11 | - Path management |
12 | 12 | - File selection |
13 | 13 |
|
|
60 | 60 | ) |
61 | 61 | from app_config import DROPDOWN_OPTIONS_CAT, DROPDOWN_VALUES_CAT |
62 | 62 | from app_config import DROPDOWN_OPTIONS_CAT_COLOR, DROPDOWN_VALUES_CAT_COLOR |
| 63 | +from app_config import DROPDOWN_OPTIONS_3D_XYZ, DROPDOWN_OPTIONS_3D_XYZ_REF |
| 64 | +from app_config import DROPDOWN_VALUES_3D_XYZ, DROPDOWN_VALUES_3D_XYZ_REF |
63 | 65 | from app_config import background_callback_manager |
64 | 66 | from app_config import CACHE_KEYS, KEY_TYPES, THEME |
65 | 67 |
|
@@ -96,6 +98,10 @@ def get_test_case_view_callbacks(app: dash.Dash) -> None: |
96 | 98 | "dp_vals_cat_color": DROPDOWN_VALUES_CAT_COLOR, |
97 | 99 | "dp_opts_cat": DROPDOWN_OPTIONS_CAT, |
98 | 100 | "dp_vals_cat": DROPDOWN_VALUES_CAT, |
| 101 | + "dp_opts_num": DROPDOWN_OPTIONS_3D_XYZ, |
| 102 | + "dp_vals_num": DROPDOWN_VALUES_3D_XYZ, |
| 103 | + "dp_opts_num_with_none": DROPDOWN_OPTIONS_3D_XYZ_REF, |
| 104 | + "dp_vals_num_with_none": DROPDOWN_VALUES_3D_XYZ_REF, |
99 | 105 | }, |
100 | 106 | inputs={ |
101 | 107 | "file": Input("current-file", "data"), |
@@ -233,6 +239,46 @@ def file_select_changed( |
233 | 239 | ] |
234 | 240 | ] * len(DROPDOWN_OPTIONS_CAT) |
235 | 241 |
|
| 242 | + options_num = [ |
| 243 | + [ |
| 244 | + {"label": config["keys"][item].get("description", item), "value": item} |
| 245 | + for _, item in enumerate(num_keys) |
| 246 | + ] |
| 247 | + ] * len(DROPDOWN_OPTIONS_3D_XYZ) |
| 248 | + |
| 249 | + options_num_with_none = [ |
| 250 | + [{"label": "None", "value": "None"}] |
| 251 | + + [ |
| 252 | + {"label": config["keys"][item].get("description", item), "value": item} |
| 253 | + for _, item in enumerate(num_keys) |
| 254 | + ] |
| 255 | + ] * len(DROPDOWN_OPTIONS_3D_XYZ_REF) |
| 256 | + |
| 257 | + if len(num_keys) == 0: |
| 258 | + xyz_all = [None] * len(DROPDOWN_VALUES_3D_XYZ) |
| 259 | + else: |
| 260 | + xyz_all = [ |
| 261 | + num_keys[x % len(num_keys)] |
| 262 | + for x in range(0, len(DROPDOWN_VALUES_3D_XYZ)) |
| 263 | + ] |
| 264 | + |
| 265 | + xyz_all[0] = config.get("slider", xyz_all[0]) |
| 266 | + xyz_all[1] = config.get("x_3d", xyz_all[1]) |
| 267 | + xyz_all[2] = config.get("y_3d", xyz_all[2]) |
| 268 | + xyz_all[3] = config.get("z_3d", xyz_all[3]) |
| 269 | + |
| 270 | + if len(num_keys) == 0: |
| 271 | + xyz_ref_all = [None] * len(DROPDOWN_VALUES_3D_XYZ_REF) |
| 272 | + else: |
| 273 | + xyz_ref_all = [ |
| 274 | + num_keys[x % len(num_keys)] |
| 275 | + for x in range(0, len(DROPDOWN_VALUES_3D_XYZ_REF)) |
| 276 | + ] |
| 277 | + |
| 278 | + xyz_ref_all[0] = config.get("x_ref", "None") |
| 279 | + xyz_ref_all[1] = config.get("y_ref", "None") |
| 280 | + xyz_ref_all[2] = config.get("z_ref", "None") |
| 281 | + |
236 | 282 | # values for `DROPDOWN_VALUES_CAT` |
237 | 283 | if len(cat_keys) == 0: |
238 | 284 | values_cat = [None] * len(DROPDOWN_VALUES_CAT) |
@@ -356,6 +402,10 @@ def file_select_changed( |
356 | 402 | "dp_vals_cat_color": values_cat_color, |
357 | 403 | "dp_opts_cat": options_cat, |
358 | 404 | "dp_vals_cat": values_cat, |
| 405 | + "dp_opts_num": options_num, |
| 406 | + "dp_vals_num": xyz_all, |
| 407 | + "dp_opts_num_with_none": options_num_with_none, |
| 408 | + "dp_vals_num_with_none": xyz_ref_all, |
359 | 409 | } |
360 | 410 |
|
361 | 411 | @app.callback( |
|
0 commit comments