UNPKG

@tomino/dynamic-form-semantic-ui

Version:

Semantic UI form renderer based on dynamic form generation

42 lines 1.94 kB
import * as React from 'react'; import { Group } from './group'; import { Input } from './input'; import { Select } from './select'; import { TextArea } from './textbox'; import { Checkbox } from './checkbox'; import { Map } from './map'; import { Value } from './value'; import { TableView } from './table'; import { Tuple } from './tuple'; import { CodeEditor } from './code'; import { Binding } from './binding'; export function renderControl(props, filter) { if (props.formElement.bound) { return React.createElement(Binding, Object.assign({ key: props.uid }, props)); } switch (props.formElement.control) { case 'Input': return React.createElement(Input, Object.assign({ key: props.uid }, props)); case 'Code': return React.createElement(CodeEditor, Object.assign({ key: props.uid }, props)); case 'Table': return React.createElement(TableView, Object.assign({ key: props.uid }, props)); case 'Value': return React.createElement(Value, Object.assign({ key: props.uid }, props)); case 'Group': return React.createElement(Group, Object.assign({ key: props.uid }, props, { filter: filter })); case 'Select': return React.createElement(Select, Object.assign({ key: props.uid }, props)); case 'Tuple': return React.createElement(Tuple, Object.assign({ key: props.uid }, props)); case 'Textarea': return React.createElement(TextArea, Object.assign({ key: props.uid }, props)); case 'Checkbox': return React.createElement(Checkbox, Object.assign({ key: props.uid }, props)); case 'Map': return React.createElement(Map, Object.assign({ key: props.uid }, props)); default: return React.createElement(Input, Object.assign({ key: props.uid }, props)); } } //# sourceMappingURL=control_factory.js.map