Chore: Remove panel inspect Actions hack (#64643)

remove actions tab hook
This commit is contained in:
Ryan McKinley 2023-03-13 08:07:36 -07:00 committed by GitHub
parent 6720690615
commit fa740a8bcf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 1 additions and 115 deletions

View File

@ -2916,19 +2916,9 @@ exports[`better eslint`] = {
"public/app/features/dashboard/components/HelpWizard/randomizer.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/dashboard/components/Inspector/PanelInspectActions.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"]
],
"public/app/features/dashboard/components/Inspector/PanelInspector.tsx:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"]
],
"public/app/features/dashboard/components/Inspector/hooks.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
[0, 0, 0, "Do not use any type assertions.", "1"],
[0, 0, 0, "Unexpected any. Specify a different type.", "2"]
],
"public/app/features/dashboard/components/PanelEditor/OptionsPane.tsx:5381": [
[0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "0"]
],

View File

@ -1,85 +0,0 @@
import React, { ComponentType } from 'react';
import { PanelData } from '@grafana/data';
import { PanelModel } from '../../state';
export interface PanelInspectActionProps {
panel: PanelModel;
data?: PanelData;
}
export interface PanelInspectAction {
title: string;
description: string;
component: ComponentType<PanelInspectActionProps>;
}
export interface PanelInspectActionSupplier {
getActions: (panel: PanelModel) => PanelInspectAction[] | null;
}
// const dummySupplier: PanelInspectActionSupplier = {
// getActions: (panel: PanelModel) => {
// return [
// {
// title: 'Do something',
// description: 'that thingy',
// // eslint-disable-next-line react/display-name
// component: ({ panel }) => {
// return (
// <div>
// DO THING ONE. Panel: <pre>{JSON.stringify(panel.targets)}</pre>
// </div>
// );
// },
// },
// {
// title: 'Do something else',
// description: 'another thing',
// // eslint-disable-next-line react/display-name
// component: ({ panel }) => {
// return (
// <div>
// DO THING TWO. Panel: <pre>{JSON.stringify(panel.targets)}</pre>
// </div>
// );
// },
// },
// ];
// },
// };
// In Grafana 8.1, this can be improved and moved to `@grafana/runtime`
// NOTE: This is an internal/experimental API/hack and will change!
// (window as any).grafanaPanelInspectActionSupplier = dummySupplier;
interface InspectActionsTabProps {
panel: PanelModel;
data?: PanelData;
}
export const InspectActionsTab: React.FC<InspectActionsTabProps> = ({ panel, data }) => {
const supplier = (window as any).grafanaPanelInspectActionSupplier as PanelInspectActionSupplier;
if (!supplier) {
return <div>Missing actions</div>;
}
const actions = supplier.getActions(panel);
if (!actions?.length) {
return <div>No actions avaliable</div>;
}
return (
<div>
{actions.map((a, idx) => (
<div key={idx}>
<h2>{a.title}</h2>
<span>{a.description}</span>
<a.component panel={panel} data={data} />
</div>
))}
</div>
);
};

View File

@ -9,8 +9,6 @@ import { InspectTab } from 'app/features/inspector/types';
import { supportsDataQuery } from '../PanelEditor/utils';
import { PanelInspectActionSupplier } from './PanelInspectActions';
/**
* Given PanelData return first data source supporting metadata inspector
*/
@ -62,19 +60,9 @@ export const useInspectTabs = (
tabs.push({ label: t('dashboard.inspect.error-tab', 'Error'), value: InspectTab.Error });
}
// This is a quick internal hack to allow custom actions in inspect
// For 8.1, something like this should be exposed through grafana/runtime
const supplier = (window as any).grafanaPanelInspectActionSupplier as PanelInspectActionSupplier;
if (supplier && supplier.getActions(panel)?.length) {
tabs.push({
label: t('dashboard.inspect.actions-tab', 'Actions'),
value: InspectTab.Actions,
});
}
if (dashboard.meta.canEdit && supportsDataQuery(plugin)) {
tabs.push({ label: t('dashboard.inspect.query-tab', 'Query'), value: InspectTab.Query });
}
return tabs;
}, [panel, plugin, metaDs, dashboard, error]);
}, [plugin, metaDs, dashboard, error]);
};

View File

@ -5,6 +5,5 @@ export enum InspectTab {
Stats = 'stats',
JSON = 'json',
Query = 'query',
Actions = 'actions', // ALPHA!
Help = 'help', // get info required for support+debugging
}

View File

@ -32,7 +32,6 @@
},
"dashboard": {
"inspect": {
"actions-tab": "Aktionen",
"data-tab": "Daten",
"error-tab": "Fehler",
"json-tab": "JSON",

View File

@ -32,7 +32,6 @@
},
"dashboard": {
"inspect": {
"actions-tab": "Actions",
"data-tab": "Data",
"error-tab": "Error",
"json-tab": "JSON",

View File

@ -32,7 +32,6 @@
},
"dashboard": {
"inspect": {
"actions-tab": "Acciones",
"data-tab": "Datos",
"error-tab": "Error",
"json-tab": "JSON",

View File

@ -32,7 +32,6 @@
},
"dashboard": {
"inspect": {
"actions-tab": "Actions",
"data-tab": "Données",
"error-tab": "Erreur",
"json-tab": "JSON",

View File

@ -32,7 +32,6 @@
},
"dashboard": {
"inspect": {
"actions-tab": "Åčŧįőʼnş",
"data-tab": "Đäŧä",
"error-tab": "Ēřřőř",
"json-tab": "ĴŜØŃ",

View File

@ -32,7 +32,6 @@
},
"dashboard": {
"inspect": {
"actions-tab": "操作",
"data-tab": "数据",
"error-tab": "错误",
"json-tab": "JSON",