Rename ObservableRole variants

Also rename corresponding CSS classes and add methods to check roles.
This commit is contained in:
Aaron Fenyes 2025-01-26 17:48:32 -08:00
parent 677ef47544
commit af2724f934
4 changed files with 30 additions and 16 deletions

View file

@ -31,14 +31,14 @@ fn ObservableInput(observable: Observable) -> View {
let target: HtmlInputElement = event.target().unwrap().unchecked_into();
let value = target.value();
if value.is_empty() {
observable.role.set(Measure);
observable.role.set(Measurement);
} else {
match target.value().parse::<f64>() {
Ok(desired) => batch(|| {
observable.desired.set(desired);
observable.role.set(Constrain);
observable.role.set(Constraint(true));
}),
Err(_) => observable.role.set(Invalid)
Err(_) => observable.role.set(Constraint(false))
};
}
}
@ -60,9 +60,9 @@ fn ObservableOutlineItem(observable_key: ObservableKey, element_key: ElementKey)
let other_subject_label = assembly.elements.with(|elts| elts[other_subject].label.clone());
let class = observable.role.map(
|role| match role {
Measure => "observable",
Constrain => "observable constrained",
Invalid => "observable invalid"
Measurement => "observable",
Constraint(true) => "observable valid-constraint",
Constraint(false) => "observable invalid-constraint"
}
);
view! {