DashboardScene: Fixes editing transformations after toggling table view (#87397)

This commit is contained in:
Torkel Ödegaard 2024-05-08 08:58:19 +02:00 committed by GitHub
parent e7c39f18be
commit 0c2f58bdae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 10 deletions

View File

@ -48,13 +48,6 @@ export class PanelDataQueriesTab extends SceneObjectBase<PanelDataQueriesTabStat
};
this._panelManager = panelManager;
this.addActivationHandler(this.onActivate.bind(this));
}
private onActivate() {
// This is to preserve SceneQueryRunner stays alive when switching between visualizations and table view
const deactivate = this._panelManager.queryRunner.activate();
return () => deactivate();
}
buildQueryOptions(): QueryGroupOptions {

View File

@ -1,5 +1,5 @@
import { css } from '@emotion/css';
import React from 'react';
import React, { useEffect } from 'react';
import {
DataSourceApi,
@ -467,10 +467,19 @@ export class VizPanelManager extends SceneObjectBase<VizPanelManagerState> {
public static Component = ({ model }: SceneComponentProps<VizPanelManager>) => {
const { panel, tableView } = model.useState();
const styles = useStyles2(getStyles);
const panelToShow = tableView ?? panel;
const dataProvider = panelToShow.state.$data;
return <div className={styles.wrapper}>{<panelToShow.Component model={panelToShow} />}</div>;
// This is to preserve SceneQueryRunner stays alive when switching between visualizations and table view
useEffect(() => {
return dataProvider?.activate();
}, [dataProvider]);
return (
<>
<div className={styles.wrapper}>{<panelToShow.Component model={panelToShow} />}</div>
</>
);
};
}