@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
27 lines • 1.17 kB
JavaScript
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