buildForm method
Widget
buildForm(
- BuildContext context,
- MSchemaRef ref, {
- IFormController? controller,
- MetadataOverrides? overrides,
- MBaseModel? record,
- List<
MetaPropertyHandler> extraHandlers = const [],
override
Implementation
@override
Widget buildForm(
BuildContext context,
MSchemaRef ref, {
final IFormController? controller,
MetadataOverrides? overrides,
MBaseModel? record,
List<MetaPropertyHandler> extraHandlers = const [],
}) {
if (controller != null && controller is ModelBasedFormController) {
var formRef = ref;
return MetaForm(
context: context,
parentForm: controller,
attachForm: true,
inheritForm: true,
skipIfUnmodified: false,
name: "$controller",
ref: formRef,
metaFormContext: metaFormService.createContext(
context,
controller.mmodel,
schemaRef: formRef,
overrides: overrides,
extraHandlers: extraHandlers,
// embedPath: embedPath,
// schema: schema,
scope: {},
),
);
} else {
record ??=
mmodelRegistry.instantiate(json: <String, dynamic>{}, type: ref);
final override = _formBuilders[ref] ??
(context, ref, record) =>
defaultMModelFormBuilder(context, ref, record);
final builtForm = override(context, ref, record);
return builtForm;
}
}