@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
15 lines • 1.07 kB
JavaScript
import * as React from 'react';
import { observer } from 'mobx-react';
import names from 'classnames';
import { parseProps, onChangeHandler, controlMargin } from './properties_common';
import { Input } from 'semantic-ui-react';
import { EditorContext } from '../editor/editor_context';
export const Tuple = observer((componentProps) => {
const context = React.useContext(EditorContext);
const onChange = React.useMemo(() => onChangeHandler.bind({ props: componentProps, editorState: context }), [componentProps, context]);
const { formElement, readOnly } = componentProps;
const { value, error, props } = parseProps(componentProps, context);
return (React.createElement("div", null, props.items.map((item, i) => (React.createElement(Input, { key: i, type: item.type || 'text', label: item.label, labelPosition: "right", name: formElement.uid, className: names(controlMargin, { invalid: error }), onChange: onChange, "data-value": value, value: value || '', readOnly: readOnly })))));
});
Tuple.displayName = 'Tuple';
//# sourceMappingURL=tuple.js.map