buildEditorFromOverrides method

Widget? buildEditorFromOverrides({
  1. required Map<Type, ManifoldEditorOverrideBuilder> defaultBuilders,
  2. required BuildContext context,
  3. required ArtifactFieldMirror field,
  4. required Property? property,
  5. required dynamic value,
  6. required Type valueType,
  7. required ValueChanged onChanged,
  8. bool collectionElement = false,
  9. List<ManifoldValidator>? validators,
})

Implementation

Widget? buildEditorFromOverrides({
  required Map<Type, ManifoldEditorOverrideBuilder> defaultBuilders,
  required BuildContext context,
  required ArtifactFieldMirror field,
  required Property? property,
  required dynamic value,
  required Type valueType,
  required ValueChanged<dynamic> onChanged,
  bool collectionElement = false,
  List<ManifoldValidator>? validators,
}) {
  Map<Type, ManifoldEditorOverrideBuilder> overrides = _mergeEditorOverrides(
    defaultBuilders,
  );
  if (overrides.isEmpty) {
    return null;
  }

  ManifoldEditorOverrideBuilder? builder = resolveEditorOverrideBuilder(
    overrides,
    valueType,
  );
  if (builder == null) {
    return null;
  }

  return builder(
    ManifoldEditorOverrideContext(
      buildContext: context,
      field: field,
      property: property,
      value: value,
      valueType: valueType,
      onChanged: onChanged,
      collectionElement: collectionElement,
      readOnly: provider.readOnly,
      validators: validators ?? const <ManifoldValidator>[],
    ),
  );
}