UNPKG

@tomino/dynamic-form-semantic-ui

Version:

Semantic UI form renderer based on dynamic form generation

30 lines 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const dynamic_form_1 = require("@tomino/dynamic-form"); const semantic_ui_react_1 = require("semantic-ui-react"); const wrapper_1 = require("../wrapper"); const helpers_1 = require("../helpers"); const context_1 = require("../context"); const buttonProps = ['color', 'src', 'icon', 'content']; exports.ButtonComponent = props => { const context = React.useContext(context_1.Context); const onClick = React.useCallback((e) => { if (props.formElement.props.onClick) { helpers_1.simpleHandle(props, props.formElement.props.onClick, context, { e }); } else { console.error('Button does not define a handler'); } }, [context, props]); if (props.readOnly) { return null; } return (React.createElement(wrapper_1.DynamicComponent, Object.assign({}, props, { control: semantic_ui_react_1.Button, controlProps: buttonProps, onClick: onClick, as: props.formElement.props.target ? dynamic_form_1.config.linkElement : undefined }, dynamic_form_1.config.linkElementTarget(props.formElement.props.target)))); }; exports.ButtonComponent.displayName = 'Button'; exports.ButtonView = { Component: exports.ButtonComponent }; //# sourceMappingURL=buttons_view.js.map