StructureBindingController<T> constructor
StructureBindingController<T> (
- DogStructure structure,
- DogEngine engine, {
- Map<
String, dynamic> initialValues = const {},
Creates a new StructureBindingController with the given structure and engine.
The controller will be initialized with the provided structure and engine, and
optionally populated with initialValues.
Implementation
StructureBindingController(this.structure, this.engine, {this.initialValues = const {}}) {
for (var e in structure.fields) {
final (binder, context) = FlutterWidgetBinder.resolveBinder(engine, structure, e);
final controller = binder.createBindingController(this, context);
factories.add(binder);
fields.add(controller);
_fieldNames.add(e.name);
}
_classValidator = structure.getClassValidator(
engine: engine,
fieldValidators: fields.map((e) => e.bindingContext.fieldValidator).toList(),
);
_errorBuffer = BindingsErrorBuffer(structure, _classValidator, () {
classErrorListenable.value = _errorBuffer.classErrors;
});
setInitialValues(initialValues);
reset();
}