diff --git a/src/components/fields/index.js b/src/components/fields/index.js new file mode 100644 index 0000000000..87c76e723f --- /dev/null +++ b/src/components/fields/index.js @@ -0,0 +1,22 @@ +import ArrayField from "./ArrayField"; +import BooleanField from "./BooleanField"; +import DescriptionField from "./DescriptionField"; +import NumberField from "./NumberField"; +import ObjectField from "./ObjectField"; +import SchemaField from "./SchemaField"; +import StringField from "./StringField"; +import TitleField from "./TitleField"; +import UnsupportedField from "./UnsupportedField"; + + +export default { + ArrayField, + BooleanField, + DescriptionField, + NumberField, + ObjectField, + SchemaField, + StringField, + TitleField, + UnsupportedField, +}; diff --git a/src/components/widgets/index.js b/src/components/widgets/index.js new file mode 100644 index 0000000000..64006d5bc1 --- /dev/null +++ b/src/components/widgets/index.js @@ -0,0 +1,40 @@ +import AltDateWidget from "./AltDateWidget"; +import AltDateTimeWidget from "./AltDateTimeWidget"; +import CheckboxWidget from "./CheckboxWidget"; +import CheckboxesWidget from "./CheckboxesWidget"; +import ColorWidget from "./ColorWidget"; +import DateWidget from "./DateWidget"; +import DateTimeWidget from "./DateTimeWidget"; +import EmailWidget from "./EmailWidget"; +import FileWidget from "./FileWidget"; +import HiddenWidget from "./HiddenWidget"; +import PasswordWidget from "./PasswordWidget"; +import RadioWidget from "./RadioWidget"; +import RangeWidget from "./RangeWidget"; +import SelectWidget from "./SelectWidget"; +import TextareaWidget from "./TextareaWidget"; +import TextWidget from "./TextWidget"; +import URLWidget from "./URLWidget"; +import UpDownWidget from "./UpDownWidget"; + + +export default { + PasswordWidget, + RadioWidget, + UpDownWidget, + RangeWidget, + SelectWidget, + TextWidget, + DateWidget, + DateTimeWidget, + AltDateWidget, + AltDateTimeWidget, + EmailWidget, + URLWidget, + TextareaWidget, + HiddenWidget, + ColorWidget, + FileWidget, + CheckboxWidget, + CheckboxesWidget, +}; diff --git a/src/utils.js b/src/utils.js index 2b0bfa29f9..96a94db26a 100644 --- a/src/utils.js +++ b/src/utils.js @@ -1,5 +1,4 @@ import React from "react"; - import "setimmediate"; @@ -54,50 +53,15 @@ const widgetMap = { } }; -export function getDefaultRegistry() { - const load = (prefix, arr) => arr.reduce((obj, comp) => { - obj[comp] = require(`./components/${prefix}/${comp}`).default; - return obj; - }, {}); - - const fields = load("fields", [ - "SchemaField", - "ArrayField", - "BooleanField", - "ObjectField", - "StringField", - "NumberField", - "TitleField", - "DescriptionField", - ]); - - const widgets = load("widgets", [ - "PasswordWidget", - "RadioWidget", - "UpDownWidget", - "RangeWidget", - "SelectWidget", - "TextWidget", - "DateWidget", - "DateTimeWidget", - "AltDateWidget", - "AltDateTimeWidget", - "EmailWidget", - "URLWidget", - "TextareaWidget", - "HiddenWidget", - "ColorWidget", - "FileWidget", - "CheckboxWidget", - "CheckboxesWidget", - ]); +const defaultRegistry = { + fields: require("./components/fields").default, + widgets: require("./components/widgets").default, + definitions: {}, + formContext: {} +}; - return { - fields, - widgets, - definitions: {}, - formContext: {} - }; +export function getDefaultRegistry() { + return defaultRegistry; } export function defaultFieldValue(formData, schema) {