import React from 'react'; import { PageLayoutType } from '@grafana/data'; import { config } from '@grafana/runtime'; import { SceneObjectBase, SceneComponentProps, SceneState, UrlSyncManager } from '@grafana/scenes'; import { PageToolbar, ToolbarButton } from '@grafana/ui'; import { AppChromeUpdate } from 'app/core/components/AppChrome/AppChromeUpdate'; import { Page } from 'app/core/components/Page/Page'; export class Scene extends SceneObjectBase { public static Component = SceneRenderer; private urlSyncManager?: UrlSyncManager; public activate() { super.activate(); this.urlSyncManager = new UrlSyncManager(this); this.urlSyncManager.initSync(); } public deactivate() { super.deactivate(); this.urlSyncManager!.cleanUp(); } } function SceneRenderer({ model }: SceneComponentProps) { const { title, body, actions = [], isEditing, $editor, subMenu } = model.useState(); const toolbarActions = (actions ?? []).map((action) => ); if ($editor) { toolbarActions.push( model.setState({ isEditing: !model.state.isEditing })} /> ); } const pageToolbar = config.featureToggles.topnav ? ( ) : ( {toolbarActions} ); return (
{subMenu && }
{$editor && <$editor.Component model={$editor} isEditing={isEditing} />}
); }