Plugins: Remove pluginsDetailsRightPanel feature toggle (#107321)
remove pluginsDetailsRightPanel feature toggle
This commit is contained in:
@@ -35,7 +35,6 @@ Most [generally available](https://grafana.com/docs/release-life-cycle/#general-
|
||||
| `influxdbBackendMigration` | Query InfluxDB InfluxQL without the proxy | Yes |
|
||||
| `dataplaneFrontendFallback` | Support dataplane contract field name change for transformations and field name matchers where the name is different | Yes |
|
||||
| `unifiedRequestLog` | Writes error logs to the request logger | Yes |
|
||||
| `pluginsDetailsRightPanel` | Enables right panel for the plugins details page | Yes |
|
||||
| `recordedQueriesMulti` | Enables writing multiple items from a single query within Recorded Queries | Yes |
|
||||
| `logsExploreTableVisualisation` | A table visualisation for logs in Explore | Yes |
|
||||
| `awsDatasourcesTempCredentials` | Support temporary security credentials in AWS plugins for Grafana Cloud customers | Yes |
|
||||
|
||||
@@ -166,11 +166,6 @@ export interface FeatureToggles {
|
||||
*/
|
||||
pluginsFrontendSandbox?: boolean;
|
||||
/**
|
||||
* Enables right panel for the plugins details page
|
||||
* @default true
|
||||
*/
|
||||
pluginsDetailsRightPanel?: boolean;
|
||||
/**
|
||||
* Enables previous SQL data source dataset dropdown behavior
|
||||
*/
|
||||
sqlDatasourceDatabaseSelection?: boolean;
|
||||
|
||||
@@ -261,14 +261,6 @@ var (
|
||||
Stage: FeatureStagePrivatePreview,
|
||||
Owner: grafanaPluginsPlatformSquad,
|
||||
},
|
||||
{
|
||||
Name: "pluginsDetailsRightPanel",
|
||||
Description: "Enables right panel for the plugins details page",
|
||||
Stage: FeatureStageGeneralAvailability,
|
||||
FrontendOnly: true,
|
||||
Expression: "true",
|
||||
Owner: grafanaPluginsPlatformSquad,
|
||||
},
|
||||
{
|
||||
Name: "sqlDatasourceDatabaseSelection",
|
||||
Description: "Enables previous SQL data source dataset dropdown behavior",
|
||||
|
||||
@@ -33,7 +33,6 @@ faroDatasourceSelector,preview,@grafana/app-o11y,false,false,true
|
||||
enableDatagridEditing,preview,@grafana/dataviz-squad,false,false,true
|
||||
extraThemes,experimental,@grafana/grafana-frontend-platform,false,false,true
|
||||
pluginsFrontendSandbox,privatePreview,@grafana/plugins-platform-backend,false,false,false
|
||||
pluginsDetailsRightPanel,GA,@grafana/plugins-platform-backend,false,false,true
|
||||
sqlDatasourceDatabaseSelection,preview,@grafana/oss-big-tent,false,false,true
|
||||
recordedQueriesMulti,GA,@grafana/observability-metrics,false,false,false
|
||||
logsExploreTableVisualisation,GA,@grafana/observability-logs,false,false,true
|
||||
|
||||
|
@@ -143,10 +143,6 @@ const (
|
||||
// Enables the plugins frontend sandbox
|
||||
FlagPluginsFrontendSandbox = "pluginsFrontendSandbox"
|
||||
|
||||
// FlagPluginsDetailsRightPanel
|
||||
// Enables right panel for the plugins details page
|
||||
FlagPluginsDetailsRightPanel = "pluginsDetailsRightPanel"
|
||||
|
||||
// FlagSqlDatasourceDatabaseSelection
|
||||
// Enables previous SQL data source dataset dropdown behavior
|
||||
FlagSqlDatasourceDatabaseSelection = "sqlDatasourceDatabaseSelection"
|
||||
|
||||
@@ -2348,7 +2348,8 @@
|
||||
"metadata": {
|
||||
"name": "pluginsDetailsRightPanel",
|
||||
"resourceVersion": "1753285129398",
|
||||
"creationTimestamp": "2024-08-13T09:55:30Z"
|
||||
"creationTimestamp": "2024-08-13T09:55:30Z",
|
||||
"deletionTimestamp": "2025-07-25T08:56:36Z"
|
||||
},
|
||||
"spec": {
|
||||
"description": "Enables right panel for the plugins details page",
|
||||
|
||||
@@ -87,7 +87,7 @@ export function PluginDetailsBody({ plugin, queryParams, pageId, info, showDetai
|
||||
return <Carousel images={carouselImages} />;
|
||||
}
|
||||
|
||||
if (pageId === PluginTabIds.PLUGINDETAILS && config.featureToggles.pluginsDetailsRightPanel && showDetails) {
|
||||
if (pageId === PluginTabIds.PLUGINDETAILS && showDetails) {
|
||||
return (
|
||||
<div>
|
||||
<PluginDetailsPanel pluginExtentionsInfo={info} plugin={plugin} width={'auto'} />
|
||||
|
||||
@@ -106,14 +106,7 @@ describe('PluginDetailsPage', () => {
|
||||
expect(screen.getByText('Plugin not found')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should not show right panel when feature toggle is disabled', () => {
|
||||
config.featureToggles.pluginsDetailsRightPanel = false;
|
||||
render(<PluginDetailsPage pluginId="test-plugin" />);
|
||||
expect(screen.queryByTestId('plugin-details-panel')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('should show right panel when feature toggle is enabled and screen is wide', () => {
|
||||
config.featureToggles.pluginsDetailsRightPanel = true;
|
||||
it('should show right panel when screen is wide', () => {
|
||||
window.matchMedia = jest.fn().mockImplementation((query) => ({
|
||||
matches: query !== '(max-width: 600px)',
|
||||
media: query,
|
||||
@@ -128,7 +121,6 @@ describe('PluginDetailsPage', () => {
|
||||
});
|
||||
|
||||
it('should show "Plugin details" tab when screen is narrow', () => {
|
||||
config.featureToggles.pluginsDetailsRightPanel = true;
|
||||
window.matchMedia = jest.fn().mockImplementation((query) => ({
|
||||
matches: query === '(max-width: 600px)',
|
||||
media: query,
|
||||
@@ -158,7 +150,6 @@ describe('PluginDetailsPage', () => {
|
||||
});
|
||||
|
||||
it('should not show last version in plugin details panel when plugin is core', () => {
|
||||
config.featureToggles.pluginsDetailsRightPanel = true;
|
||||
window.matchMedia = jest.fn().mockImplementation((query) => ({
|
||||
matches: query !== '(max-width: 600px)',
|
||||
media: query,
|
||||
|
||||
@@ -5,7 +5,6 @@ import { useMedia } from 'react-use';
|
||||
|
||||
import { GrafanaTheme2, NavModelItem } from '@grafana/data';
|
||||
import { Trans, t } from '@grafana/i18n';
|
||||
import { config } from '@grafana/runtime';
|
||||
import { Alert, Box, Stack, TabContent, TextLink, useStyles2 } from '@grafana/ui';
|
||||
import { Page } from 'app/core/components/Page/Page';
|
||||
import { AppNotificationSeverity } from 'app/types/appNotifications';
|
||||
@@ -83,10 +82,8 @@ export function PluginDetailsPage({
|
||||
);
|
||||
}
|
||||
|
||||
const conditionalProps = !config.featureToggles.pluginsDetailsRightPanel ? { info: info } : {};
|
||||
|
||||
return (
|
||||
<Page navId={navId} pageNav={navModel} actions={actions} subTitle={subtitle} {...conditionalProps}>
|
||||
<Page navId={navId} pageNav={navModel} actions={actions} subTitle={subtitle}>
|
||||
<Stack gap={4} justifyContent="space-between" direction={{ xs: 'column-reverse', sm: 'row' }}>
|
||||
<Page.Contents>
|
||||
<TabContent className={styles.tabContent}>
|
||||
@@ -102,9 +99,7 @@ export function PluginDetailsPage({
|
||||
/>
|
||||
</TabContent>
|
||||
</Page.Contents>
|
||||
{!isNarrowScreen && config.featureToggles.pluginsDetailsRightPanel && (
|
||||
<PluginDetailsPanel pluginExtentionsInfo={info} plugin={plugin} />
|
||||
)}
|
||||
{!isNarrowScreen && <PluginDetailsPanel pluginExtentionsInfo={info} plugin={plugin} />}
|
||||
</Stack>
|
||||
</Page>
|
||||
);
|
||||
|
||||
@@ -2,7 +2,6 @@ import { css } from '@emotion/css';
|
||||
import { Fragment } from 'react';
|
||||
|
||||
import { GrafanaTheme2 } from '@grafana/data';
|
||||
import { config } from '@grafana/runtime';
|
||||
import { Alert, Stack, useStyles2 } from '@grafana/ui';
|
||||
|
||||
import { InstallControlsWarning } from '../components/InstallControls/InstallControlsWarning';
|
||||
@@ -46,7 +45,7 @@ export const PluginSubtitle = ({ plugin }: Props) => {
|
||||
<Stack direction="row" justifyContent="space-between">
|
||||
<div>
|
||||
{plugin?.description && <div>{plugin?.description}</div>}
|
||||
{!config.featureToggles.pluginsDetailsRightPanel && !!plugin?.details?.links?.length && (
|
||||
{!!plugin?.details?.links?.length && (
|
||||
<span>
|
||||
{plugin.details.links.map((link, index) => (
|
||||
<Fragment key={index}>
|
||||
|
||||
@@ -74,7 +74,7 @@ export const usePluginDetailsTabs = (
|
||||
});
|
||||
}
|
||||
|
||||
if (isPublished && isNarrowScreen && config.featureToggles.pluginsDetailsRightPanel) {
|
||||
if (isPublished && isNarrowScreen) {
|
||||
navModelChildren.push({
|
||||
text: PluginTabLabels.PLUGINDETAILS,
|
||||
id: PluginTabIds.PLUGINDETAILS,
|
||||
|
||||
@@ -885,11 +885,6 @@ describe('Plugin details page', () => {
|
||||
isDataSourceEditor: false,
|
||||
isOrgAdmin: true,
|
||||
});
|
||||
config.featureToggles.pluginsDetailsRightPanel = true;
|
||||
});
|
||||
|
||||
afterAll(() => {
|
||||
config.featureToggles.pluginsDetailsRightPanel = false;
|
||||
});
|
||||
|
||||
it('should display Latest release date and report a concern information', async () => {
|
||||
|
||||
Reference in New Issue
Block a user