UNPKG

igniteui-react-core

Version:
52 lines (51 loc) 1.68 kB
import * as React from 'react'; export class IgrComponentRendererContainer extends React.Component { constructor(props) { super(props); this.listeners = []; this._currentRoot = null; this.rootCreated = this.rootCreated.bind(this); this.state = {}; } createObject(t, container, context, portalChildren, nameContext) { let C = t; t = new C(); return t; } rootCreated(rootRef) { if (!rootRef) { return; } this._currentRoot = rootRef; for (let i = 0; i < this.listeners.length; i++) { this.listeners[i](rootRef); } this.listeners.length = 0; } replaceRootItem(t, deferAttach, continueActions) { let act = (r) => { continueActions(true); }; this.listeners.push(act); this.setState({ rootComponentType: t }); } clearContainer(continueActions) { let act = (r) => { continueActions(true); }; this.listeners.push(act); this.setState({ rootComponentType: null }); } getRootObject() { return this._currentRoot; } render() { if (this.state.rootComponentType) { let ele = React.createElement(this.state.rootComponentType, { ref: this.rootCreated, width: "100%", height: "100%" }); return React.createElement("div", { style: this.props.style ? this.props.style : { width: "100%", height: "100%" } }, ele); } else { return React.createElement("div", { style: this.props.style ? this.props.style : { width: "100%", height: "100%" } }); } } }