fix(UX-001): reconcile preview validation behavior
This commit is contained in:
@@ -204,11 +204,12 @@ def _render_event_comparison_page(workspace_id: str | None = None) -> None:
|
||||
|
||||
template_slugs = selected_template_slugs()
|
||||
if not template_slugs:
|
||||
message = "Select at least one strategy template."
|
||||
metadata_label.set_text(f"Preset: {option['label']} — {option['description']}")
|
||||
scenario_label.set_text(message)
|
||||
render_selected_summary(entry_spot=None, entry_spot_error=message)
|
||||
return message
|
||||
template_slugs = tuple(service.default_template_selection(str(option["slug"])))
|
||||
syncing_controls["value"] = True
|
||||
try:
|
||||
template_select.value = list(template_slugs)
|
||||
finally:
|
||||
syncing_controls["value"] = False
|
||||
|
||||
try:
|
||||
preview_units = float(units_input.value or 0.0)
|
||||
@@ -260,12 +261,15 @@ def _render_event_comparison_page(workspace_id: str | None = None) -> None:
|
||||
def render_report() -> None:
|
||||
validation_label.set_text("")
|
||||
result_panel.clear()
|
||||
option = preset_lookup.get(str(preset_select.value or ""))
|
||||
template_slugs = selected_template_slugs()
|
||||
if not template_slugs:
|
||||
message = "Select at least one strategy template."
|
||||
validation_label.set_text(message)
|
||||
render_result_state("Scenario validation failed", message, tone="warning")
|
||||
return
|
||||
if option is not None and not template_slugs:
|
||||
template_slugs = tuple(service.default_template_selection(str(option["slug"])))
|
||||
syncing_controls["value"] = True
|
||||
try:
|
||||
template_select.value = list(template_slugs)
|
||||
finally:
|
||||
syncing_controls["value"] = False
|
||||
try:
|
||||
report = service.run_read_only_comparison(
|
||||
preset_slug=str(preset_select.value or ""),
|
||||
@@ -406,6 +410,7 @@ def _render_event_comparison_page(workspace_id: str | None = None) -> None:
|
||||
validation_label.set_text("")
|
||||
preview_error = refresh_preview(reset_templates=True, reseed_units=True)
|
||||
if preview_error:
|
||||
validation_label.set_text(preview_error)
|
||||
render_result_state("Scenario validation failed", preview_error, tone="warning")
|
||||
else:
|
||||
mark_results_stale()
|
||||
@@ -416,6 +421,7 @@ def _render_event_comparison_page(workspace_id: str | None = None) -> None:
|
||||
validation_label.set_text("")
|
||||
preview_error = refresh_preview()
|
||||
if preview_error:
|
||||
validation_label.set_text(preview_error)
|
||||
render_result_state("Scenario validation failed", preview_error, tone="warning")
|
||||
else:
|
||||
mark_results_stale()
|
||||
|
||||
Reference in New Issue
Block a user