DashboardScene: Fixes issue with editing panels that uses instanceState (#86687)

* DashboardScene: Fixes issue with editing panels that uses instanceState

* Minor tweak

* Update

* Update
This commit is contained in:
Torkel Ödegaard 2024-04-23 15:25:16 +02:00 committed by GitHub
parent 7067e37971
commit b28e6bc5d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 20 additions and 12 deletions

View File

@ -252,7 +252,7 @@
"@grafana/prometheus": "workspace:*",
"@grafana/runtime": "workspace:*",
"@grafana/saga-icons": "workspace:*",
"@grafana/scenes": "^4.10.0",
"@grafana/scenes": "^4.12.0",
"@grafana/schema": "workspace:*",
"@grafana/sql": "workspace:*",
"@grafana/ui": "workspace:*",

View File

@ -23,7 +23,7 @@ interface Props {
export const PanelOptions = React.memo<Props>(({ vizManager, searchQuery, listMode, data }) => {
const { panel, sourcePanel, repeat } = vizManager.useState();
const parent = sourcePanel.resolve().parent;
const { options, fieldConfig } = panel.useState();
const { options, fieldConfig, _pluginInstanceState } = panel.useState();
// eslint-disable-next-line react-hooks/exhaustive-deps
const panelFrameOptions = useMemo(
@ -42,10 +42,10 @@ export const PanelOptions = React.memo<Props>(({ vizManager, searchQuery, listMo
data,
plugin: plugin,
eventBus: panel.getPanelContext().eventBus,
instanceState: panel.getPanelContext().instanceState!,
instanceState: _pluginInstanceState,
});
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [panel, options, fieldConfig]);
}, [panel, options, fieldConfig, _pluginInstanceState]);
const libraryPanelOptions = useMemo(() => {
if (parent instanceof LibraryVizPanel) {

View File

@ -121,11 +121,6 @@ export function setDashboardPanelContext(vizPanel: VizPanel, context: PanelConte
//return onUpdatePanelSnapshotData(this.props.panel, frames);
return Promise.resolve(true);
};
// Backward compatibility with id
context.instanceState = {
legacyPanelId: getPanelIdForVizPanel(vizPanel),
};
}
function getBuiltInAnnotationsLayer(scene: DashboardScene): dataLayers.AnnotationsDataLayer | undefined {

View File

@ -4180,7 +4180,7 @@ __metadata:
languageName: unknown
linkType: soft
"@grafana/scenes@npm:^4.10.0":
"@grafana/scenes@npm:^4.12.0":
version: 4.12.0
resolution: "@grafana/scenes@npm:4.12.0"
dependencies:
@ -18599,7 +18599,7 @@ __metadata:
"@grafana/prometheus": "workspace:*"
"@grafana/runtime": "workspace:*"
"@grafana/saga-icons": "workspace:*"
"@grafana/scenes": "npm:^4.10.0"
"@grafana/scenes": "npm:^4.12.0"
"@grafana/schema": "workspace:*"
"@grafana/sql": "workspace:*"
"@grafana/tsconfig": "npm:^1.3.0-rc1"
@ -26208,7 +26208,20 @@ __metadata:
languageName: node
linkType: hard
"rc-util@npm:^5.15.0, rc-util@npm:^5.16.1, rc-util@npm:^5.21.0, rc-util@npm:^5.24.4, rc-util@npm:^5.27.0, rc-util@npm:^5.36.0, rc-util@npm:^5.37.0, rc-util@npm:^5.38.0, rc-util@npm:^5.38.1":
"rc-util@npm:^5.15.0, rc-util@npm:^5.16.1, rc-util@npm:^5.21.0, rc-util@npm:^5.24.4, rc-util@npm:^5.27.0, rc-util@npm:^5.37.0, rc-util@npm:^5.38.0, rc-util@npm:^5.38.1":
version: 5.38.2
resolution: "rc-util@npm:5.38.2"
dependencies:
"@babel/runtime": "npm:^7.18.3"
react-is: "npm:^18.2.0"
peerDependencies:
react: ">=16.9.0"
react-dom: ">=16.9.0"
checksum: 10/f8d8b21d0ed09de6fcf6c24dc19bf82f8f1fd089a625d35fd399626280ed33e73b9a703aa78f1a09ccd40b83f50e73bbc993adf892355a01857d3a1bb83e0958
languageName: node
linkType: hard
"rc-util@npm:^5.36.0":
version: 5.39.1
resolution: "rc-util@npm:5.39.1"
dependencies: