buildField static method

Widget buildField(
  1. Map<String, dynamic> fieldSchema,
  2. void onChanged(
    1. String,
    2. dynamic
    )
)

Implementation

static Widget buildField(Map<String, dynamic> fieldSchema, void Function(String, dynamic) onChanged) {
  final type = fieldSchema['type'];
  switch (type) {
    case 'text':
      return TextFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'email':
      return EmailFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'dropdown':
      return DropdownFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'phone':
      return PhoneFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'password':
      return PasswordFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'checkbox':
      return CheckboxFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'radio':
      return RadioGroupFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'switch':
      return SwitchFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'multiline_text':
      return MultilineTextFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'multi_select_dropdown':
      return MultiSelectDropdownFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'country_picker':
      return CountryPickerFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'state_city_picker':
      return StateCityPickerFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'stepper_number':
      return StepperNumberFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'date':
      return DatePickerFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'time':
      return TimePickerFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'datetime':
      return DateTimePickerFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'image_upload':
      return ImageUploadFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'file_upload':
      return FileUploadFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'signature_pad':
      return SignaturePadFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'color_picker':
      return ColorPickerFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'rating':
      return RatingFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'url_input':
      return UrlInputFieldWidget(schema: fieldSchema, onChanged: onChanged);
    case 'slider':
      return SliderFieldWidget(schema: fieldSchema, onChanged: onChanged);
    default:
      return const SizedBox.shrink();
  }
}