UNPKG

@tomino/dynamic-form-semantic-ui

Version:

Semantic UI form renderer based on dynamic form generation

32 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const mobx_react_1 = require("mobx-react"); const semantic_ui_react_1 = require("semantic-ui-react"); const common_1 = require("../common"); const helpers_1 = require("../helpers"); const wrapper_1 = require("../wrapper"); const formRadio = common_1.css ` margin-right: 12px; margin-bottom: 6px; `; exports.RadioComponent = props => { const { source, disabled, error, owner, value, context } = helpers_1.processControl(props, false); const [options, schemaSource, vertical] = helpers_1.getValues(props, 'options', 'schemaSource', 'vertical'); const radioValues = schemaSource ? owner.getSchema(schemaSource).$enum : options; const handleToggleChange = React.useCallback((_, control) => { helpers_1.setValue(props, context, control.value); }, [context, props]); return (React.createElement(wrapper_1.DynamicComponent, Object.assign({}, props), radioValues.map((item) => (React.createElement(React.Fragment, { key: item.value }, React.createElement(semantic_ui_react_1.Radio, { className: formRadio, name: source, label: item.text, disabled: disabled, value: item.value, checked: value === item.value, error: error, onChange: handleToggleChange }), vertical && React.createElement("br", null)))))); }; exports.RadioView = { Component: mobx_react_1.observer(exports.RadioComponent), toString: (_, props, context) => { const value = helpers_1.getValue(props, context); return value; } }; //# sourceMappingURL=radio_view.js.map