UNPKG

@hisptz/react-ui

Version:

A collection of reusable complex DHIS2 react ui components.

56 lines (45 loc) 2.02 kB
import { TextAreaField } from "@dhis2/ui"; import { isEmpty } from "lodash"; import React from "react"; import AgeField from "../components/AgeField"; import CustomCheckboxField, { TrueOnlyField } from "../components/CustomCheckboxField"; import CustomSingleSelect from "../components/CustomSingleSelect"; import LegendDefinitionField from "../components/LegendDefinitionField"; import LegendMinMax from "../components/LegendMinMax"; import MultipleFieldsField from "../components/MultipleFieldsField"; import NativeInput from "../components/NativeInput"; import RichTextEditor from "../components/RichTextEditor"; import { VALUE_TYPES } from "../constants"; export function getField(valueType, options) { if (!isEmpty(options)) { return /*#__PURE__*/React.forwardRef(CustomSingleSelect); } switch (valueType) { case VALUE_TYPES.AGE.name: return /*#__PURE__*/React.forwardRef(AgeField); case VALUE_TYPES.DATE.name: case VALUE_TYPES.TEXT.name: case VALUE_TYPES.NUMBER.name: case VALUE_TYPES.INTEGER.name: case VALUE_TYPES.PHONE_NUMBER.name: return /*#__PURE__*/React.forwardRef(NativeInput); case VALUE_TYPES.LONG_TEXT.name: return /*#__PURE__*/React.forwardRef(TextAreaField); case VALUE_TYPES.TRUE_ONLY.name: return /*#__PURE__*/React.forwardRef(TrueOnlyField); case VALUE_TYPES.BOOLEAN.name: return /*#__PURE__*/React.forwardRef(CustomCheckboxField); case VALUE_TYPES.LEGEND_DEFINITION.name: return /*#__PURE__*/React.forwardRef(LegendDefinitionField); case VALUE_TYPES.RICH_TEXT.name: return /*#__PURE__*/React.forwardRef(RichTextEditor); case VALUE_TYPES.LEGEND_MIN_MAX.name: return /*#__PURE__*/React.forwardRef(LegendMinMax); case VALUE_TYPES.MULTIPLE_FIELDS.name: return /*#__PURE__*/React.forwardRef(MultipleFieldsField); case VALUE_TYPES.FILE.name: return /*#__PURE__*/React.forwardRef(NativeInput); default: return /*#__PURE__*/React.forwardRef(NativeInput); } }