@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
34 lines • 1.28 kB
JavaScript
import * as React from 'react';
import { Header, Icon } from 'semantic-ui-react';
import { tryInterpolate, createComponents } from '../common';
import { getValues } from '../helpers';
import { DynamicComponent } from '../wrapper';
const controlProps = [
'attached',
'block',
'color',
'content',
'disabled',
'dividing',
'floated',
'icon',
'image',
'inverted',
'size',
'sub',
'subheader',
'textAlign'
];
export const HeaderView = props => {
const { formElement, owner } = props;
const [content, icon] = getValues(props, 'content');
let interpolatedContent = tryInterpolate(content, owner);
if (!formElement.elements || formElement.elements.length == 0) {
return (React.createElement(DynamicComponent, Object.assign({ control: Header, controlProps: controlProps, content: interpolatedContent }, props)));
}
return (React.createElement(DynamicComponent, Object.assign({ control: Header, controlProps: controlProps }, props),
icon && React.createElement(Icon, { name: icon }),
formElement.elements && formElement.elements.length && (React.createElement(Header.Content, null, createComponents(props)))));
};
HeaderView.displayName = 'HeaderView';
//# sourceMappingURL=header_view.js.map