parseComponent static method
BaseFormComponent<dynamic, BaseComponentData>
parseComponent(
- JsonMap data, {
- required AbstractDynamicFormParser formParser,
Implementation
static BaseFormComponent parseComponent(
JsonMap data, {
required AbstractDynamicFormParser formParser,
}) {
final type = formParser.fieldType.call(data);
final formFieldSettings = formParser.formFieldSettings(data);
// final dependentComponents = formParser.dependentComponents?.call(data);
final parentComponents = formParser.parentComponents?.call(data);
switch (type) {
case ComponentType.input:
return InputComponent(
componentData: formParser.textFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.multiCheckbox:
return CheckboxComponent(
componentData: formParser.checkBoxFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.checkbox:
return SingleCheckboxComponent(
componentData:
formParser.singleCheckBoxFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.dropdown:
return DropdownComponent(
componentData: formParser.dropdownFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.asyncDropdown:
return AsyncDropdownComponent(
componentData: formParser.dynamicAPIFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.radio:
return RadioComponent(
componentData: formParser.radioFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.slider:
return SliderComponent(
componentData: formParser.sliderFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.dateTimePicker:
return DateTimePickerComponent(
componentData:
formParser.dateTimePickerFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.unknown:
return UnknownComponent(
componentData: formParser.unknownFieldParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents,
);
case ComponentType.text:
return TextComponent(
componentData: formParser.textParser.componentData(data),
formFieldSettings: formFieldSettings,
parentComponents: parentComponents);
}
}