UNPKG

@tomino/dynamic-form-semantic-ui

Version:

Semantic UI form renderer based on dynamic form generation

27 lines 1.17 kB
import * as React from 'react'; import { config } from '@tomino/dynamic-form'; import { Button } from 'semantic-ui-react'; import { DynamicComponent } from '../wrapper'; import { simpleHandle } from '../helpers'; import { Context } from '../context'; const buttonProps = ['color', 'src', 'icon', 'content']; export const ButtonComponent = props => { const context = React.useContext(Context); const onClick = React.useCallback((e) => { if (props.formElement.props.onClick) { 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(DynamicComponent, Object.assign({}, props, { control: Button, controlProps: buttonProps, onClick: onClick, as: props.formElement.props.target ? config.linkElement : undefined }, config.linkElementTarget(props.formElement.props.target)))); }; ButtonComponent.displayName = 'Button'; export const ButtonView = { Component: ButtonComponent }; //# sourceMappingURL=buttons_view.js.map