grafana/public/app/features/scenes/ScenePage.tsx
Torkel Ödegaard 70f2b01525
Scenes: Cleanups and simplify (#61579)
* Remove use of Scene / Embedded scene

* Use DashboardScene

* Update scenes package

* Updated scenes

* Updated DashboardScene

* Updates

* Updates
2023-01-17 18:02:46 +01:00

33 lines
752 B
TypeScript

// Libraries
import React, { useEffect, useState } from 'react';
import { GrafanaRouteComponentProps } from 'app/core/navigation/types';
import { getSceneByTitle } from './scenes';
export interface Props extends GrafanaRouteComponentProps<{ name: string }> {}
export const ScenePage = (props: Props) => {
const scene = getSceneByTitle(props.match.params.name);
const [isInitialized, setInitialized] = useState(false);
useEffect(() => {
if (scene && !isInitialized) {
scene.initUrlSync();
setInitialized(true);
}
}, [isInitialized, scene]);
if (!scene) {
return <h2>Scene not found</h2>;
}
if (!isInitialized) {
return null;
}
return <scene.Component model={scene} />;
};
export default ScenePage;