buildPrimitivePropertyEditor<M> function

Widget? buildPrimitivePropertyEditor<M>({
  1. required Type fieldType,
  2. required Property? property,
  3. required dynamic value,
  4. required ValueChanged onChanged,
  5. required bool readOnly,
})

Implementation

Widget? buildPrimitivePropertyEditor<M>({
  required Type fieldType,
  required Property? property,
  required dynamic value,
  required ValueChanged<dynamic> onChanged,
  required bool readOnly,
}) {
  PrimitiveKind? kind = primitiveKindFromType(fieldType);
  if (kind == null) {
    return null;
  }

  switch (kind) {
    case PrimitiveKind.string:
      return MStringField<M>(
        initialValue: value?.toString() ?? '',
        onChanged: onChanged,
        property: property,
        readOnly: readOnly,
      );
    case PrimitiveKind.dateTime:
      return MDateField<M>(
        value: value as DateTime?,
        onChanged: onChanged,
        property: property,
        readOnly: readOnly,
      );
    case PrimitiveKind.boolType:
      return MBoolField<M>(
        value: value as bool?,
        onChanged: onChanged,
        property: property,
        readOnly: readOnly,
      );
    case PrimitiveKind.intType:
      return MIntField<M>(
        initialValue: value as int?,
        onChanged: onChanged,
        property: property,
        readOnly: readOnly,
      );
    case PrimitiveKind.doubleType:
      return MDoubleField<M>(
        initialValue: value as double?,
        onChanged: onChanged,
        property: property,
        readOnly: readOnly,
      );
  }
}