Commit 42ee81a9 by Torkel Ödegaard

fixed issue with switching panels

parent 0823712c
...@@ -31,6 +31,10 @@ interface Props extends React.HTMLProps<HTMLInputElement> { ...@@ -31,6 +31,10 @@ interface Props extends React.HTMLProps<HTMLInputElement> {
} }
export class Input extends PureComponent<Props> { export class Input extends PureComponent<Props> {
static defaultProps = {
className: '',
};
state = { state = {
error: null, error: null,
}; };
......
...@@ -81,10 +81,10 @@ export class DashboardPanel extends PureComponent<Props, State> { ...@@ -81,10 +81,10 @@ export class DashboardPanel extends PureComponent<Props, State> {
} }
if (plugin.exports) { if (plugin.exports) {
this.setState({ plugin: plugin }); this.setState({ plugin: plugin, angularPanel: null });
} else { } else {
plugin.exports = await importPluginModule(plugin.module); plugin.exports = await importPluginModule(plugin.module);
this.setState({ plugin: plugin }); this.setState({ plugin: plugin, angularPanel: null });
} }
} }
} }
...@@ -106,18 +106,15 @@ export class DashboardPanel extends PureComponent<Props, State> { ...@@ -106,18 +106,15 @@ export class DashboardPanel extends PureComponent<Props, State> {
this.setState({ angularPanel }); this.setState({ angularPanel });
} }
cleanUpAngularPanel(unmounted?: boolean) { cleanUpAngularPanel() {
if (this.state.angularPanel) { if (this.state.angularPanel) {
this.state.angularPanel.destroy(); this.state.angularPanel.destroy();
this.element = null;
if (!unmounted) {
this.setState({ angularPanel: null });
}
} }
} }
componentWillUnmount() { componentWillUnmount() {
this.cleanUpAngularPanel(true); this.cleanUpAngularPanel();
} }
onMouseEnter = () => { onMouseEnter = () => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment