create method
create the widget given a WidgetData type
data the widget data
environment the current Environment
context the BuildContext
Implementation
@override
Widget create(SwitchWidgetData data, Environment environment, BuildContext context) {
var widgetContext = WidgetContextScope.of(context);
var mapper = widgetContext.formMapper;
var adapter = environment.get<SwitchAdapter>();
var typeProperty = mapper.computeProperty(widgetContext.typeDescriptor, data.databinding!);
var result = Switch(
key: ValueKey(data.id),
padding: data.padding?.edgeInsets(),
value: mapper.getValue(typeProperty),
onChanged: (bool newValue) {
(context as Element).markNeedsBuild();
mapper.notifyChange(property: typeProperty, value: newValue);
},
);
mapper.map(property: typeProperty, widget: result, adapter: adapter);
return result;
}