import React, { PureComponent } from 'react'; import { getAngularLoader, AngularComponent } from 'app/core/services/AngularLoader'; import { EditorTabBody } from './EditorTabBody'; import { PanelModel } from '../state/PanelModel'; import './../../panel/GeneralTabCtrl'; interface Props { panel: PanelModel; } export class GeneralTab extends PureComponent { element: any; component: AngularComponent; constructor(props) { super(props); } componentDidMount() { if (!this.element) { return; } const { panel } = this.props; const loader = getAngularLoader(); const template = ''; const scopeProps = { ctrl: { panel: panel, }, }; this.component = loader.load(this.element, scopeProps, template); } componentWillUnmount() { if (this.component) { this.component.destroy(); } } render() { return (
(this.element = element)} /> ); } }