// Libaries import React, { PureComponent } from 'react'; // Utils & Services import { AngularComponent, getAngularLoader } from '@grafana/runtime'; // Types import { DashboardModel } from '../../state/DashboardModel'; export interface Props { dashboard: DashboardModel | null; } export class DashboardSettings extends PureComponent { element: HTMLElement; angularCmp: AngularComponent; componentDidMount() { const loader = getAngularLoader(); const template = ''; const scopeProps = { dashboard: this.props.dashboard }; this.angularCmp = loader.load(this.element, scopeProps, template); } componentWillUnmount() { if (this.angularCmp) { this.angularCmp.destroy(); } } render() { return
(this.element = element)} />; } }