diff --git a/public/app/features/dashboard-scene/settings/VersionsEditView.tsx b/public/app/features/dashboard-scene/settings/VersionsEditView.tsx new file mode 100644 index 00000000000..1805a00096a --- /dev/null +++ b/public/app/features/dashboard-scene/settings/VersionsEditView.tsx @@ -0,0 +1,36 @@ +import React from 'react'; + +import { PageLayoutType } from '@grafana/data'; +import { SceneComponentProps, SceneObjectBase } from '@grafana/scenes'; +import { Page } from 'app/core/components/Page/Page'; + +import { DashboardScene } from '../scene/DashboardScene'; +import { getDashboardSceneFor } from '../utils/utils'; + +import { DashboardEditView, DashboardEditViewState, useDashboardEditPageNav } from './utils'; + +export interface VersionsEditViewState extends DashboardEditViewState {} + +export class VersionsEditView extends SceneObjectBase implements DashboardEditView { + public static Component = VersionsEditorSettingsListView; + + public getUrlKey(): string { + return 'versions'; + } + + public getDashboard(): DashboardScene { + return getDashboardSceneFor(this); + } +} + +function VersionsEditorSettingsListView({ model }: SceneComponentProps) { + const dashboard = model.getDashboard(); + + const { navModel, pageNav } = useDashboardEditPageNav(dashboard, model.getUrlKey()); + + return ( + +
TODO
+
+ ); +} diff --git a/public/app/features/dashboard-scene/settings/utils.ts b/public/app/features/dashboard-scene/settings/utils.ts index 55956d5b545..7a2db429433 100644 --- a/public/app/features/dashboard-scene/settings/utils.ts +++ b/public/app/features/dashboard-scene/settings/utils.ts @@ -12,6 +12,7 @@ import { AnnotationsEditView } from './AnnotationsEditView'; import { DashboardLinksEditView } from './DashboardLinksEditView'; import { GeneralSettingsEditView } from './GeneralSettingsEditView'; import { VariablesEditView } from './VariablesEditView'; +import { VersionsEditView } from './VersionsEditView'; export interface DashboardEditViewState extends SceneObjectState {} @@ -54,6 +55,11 @@ export function useDashboardEditPageNav(dashboard: DashboardScene, currentEditVi url: locationUtil.getUrlForPartial(location, { editview: 'links', editIndex: null }), active: currentEditView === 'links', }, + { + text: t('dashboard-settings.versions.title', 'Versions'), + url: locationUtil.getUrlForPartial(location, { editview: 'versions', editIndex: null }), + active: currentEditView === 'versions', + }, ], parentItem: dashboardPageNav, }; @@ -69,6 +75,8 @@ export function createDashboardEditViewFor(editview: string): DashboardEditView return new VariablesEditView({}); case 'links': return new DashboardLinksEditView({}); + case 'versions': + return new VersionsEditView({}); case 'settings': default: return new GeneralSettingsEditView({});