import * as React from 'react'; import * as _ from 'lodash'; import {BasicContainerPropsInterface, BasicConfig} from '../core/Container/types'; import componentLoader from '../util/componentLoader'; import Trigger from '../core/Trigger/Trigger'; import Form from '../core/Form/Form'; import '../../components/index'; import '../core/Layout/Row/Row'; export function createChild (info: T, childProps: P, childElements: React.ReactNode = null): React.ReactNode { if (!_.isPlainObject(info)) { console.error('invalid Info Object', info); return React.createElement('div', {}, 'invalid Item Object'); } let component: React.ComponentClass; // let componentInterface; let componentInfo; try { componentInfo = componentLoader.getComponent(info.type); } catch (e) { console.error(e); return
{e.message}
; } if (!componentInfo || !componentInfo.component) { return React.createElement('pre', {}, `can not find component of type ${info.type}`); } component = componentInfo.component; // componentInterface = componentInfo.componentInterface; let children: React.ReactNode = React.createElement(component, childProps, childElements); if (info.type === 'form') { children = (
{children}
); } if (info.trigger) { children = ( {children} ); } return children; }