grafana/public/app/features/scenes/dashboard/utils.ts
Torkel Ödegaard 3af8f3246a
Scenes: Add support for shared query results of other panel (#65413)
* Scene: Add support for shared query results of other panel

* Update

* Fixing dashboard
2023-04-05 10:19:54 +02:00

27 lines
743 B
TypeScript

import { SceneDeactivationHandler, SceneObject } from '@grafana/scenes';
export function getVizPanelKeyForPanelId(panelId: number) {
return `panel-${panelId}`;
}
/**
* Useful from tests to simulate mounting a full scene. Children are activated before parents to simulate the real order
* of React mount order and useEffect ordering.
*
*/
export function activateFullSceneTree(scene: SceneObject): SceneDeactivationHandler {
const deactivationHandlers: SceneDeactivationHandler[] = [];
scene.forEachChild((child) => {
deactivationHandlers.push(activateFullSceneTree(child));
});
deactivationHandlers.push(scene.activate());
return () => {
for (const handler of deactivationHandlers) {
handler();
}
};
}