Skip to content

Commit

Permalink
Fix #385: Avoid dynamic requires. (#387)
Browse files Browse the repository at this point in the history
  • Loading branch information
n1k0 committed Nov 11, 2016
1 parent b82bd53 commit 1ff1549
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 44 deletions.
22 changes: 22 additions & 0 deletions src/components/fields/index.js
Original file line number Diff line number Diff line change
@@ -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,
};
40 changes: 40 additions & 0 deletions src/components/widgets/index.js
Original file line number Diff line number Diff line change
@@ -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,
};
52 changes: 8 additions & 44 deletions src/utils.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import React from "react";

import "setimmediate";


Expand Down Expand Up @@ -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) {
Expand Down

0 comments on commit 1ff1549

Please sign in to comment.