renderProperty method
Iterable<Widget>
renderProperty(
- BuildContext context,
- IMetaFormContext metaForm,
- HandledPaths paths,
- SunnyFormFieldState<
T?> state, { - Key? key,
override
Renders a widget (or null) for a provided HandledPaths (see acceptProperties)
Implementation
Iterable<Widget> renderProperty(
BuildContext context, IMetaFormContext metaForm, HandledPaths paths, SunnyFormFieldState<T?> state,
{Key? key}) {
final prop = paths.property as IEmbeddedProperty;
final theRef = prop.embedRef;
final _mfProp = metaForm.prop(paths.property!);
final handler = context.optionsService.getKeyedHandler<MKey, T>(theRef, metaContext: _mfProp);
final viewHandler = context.typeaheadService.getTypeaheadRenderer<MKey, T>(theRef);
final fullPath = paths.fullPath<T>();
return [
OptionSelectorControl<MKey, T>(
key: Key("field-$fullPath"),
handler: handler,
focusNode: state.focusNode,
isRequired: prop.isRequired == true,
// noOptionsLabel: widget.noOptionsLabel,
// autofocus: widget.autofocus ?? false,
onChange: (option, source) {
state.updateValue(option?.value, source);
},
expected: (option) => option?.value,
onError: (error) => state.error = error,
initialValue: state.value,
viewHandler: viewHandler,
),
];
}