evaluateConditions method
Implementation
void evaluateConditions({
required Map<String, InputValue> values,
InputChanged? onChanged,
}) {
final result = conditions?.evaluate(values);
if (result != conditionEvalResult) {
conditionEvalResult = result;
if (onChanged != null) {
Future.microtask(() {
final inputValue = values[id];
// reset if input is disabled
final value = result?.isEnabled ?? true
? inputValue?.value
: defaultValue ?? '';
final notifier = inputValue?.controller;
if (notifier is TextEditingController) {
notifier.value = TextEditingValue(
text: value,
);
} else {
notifier?.value = null;
}
onChanged(
id,
isValid(value),
value,
);
});
}
}
}