diff --git a/.changeset/remove-plugin-header-action-define-params.md b/.changeset/remove-plugin-header-action-define-params.md new file mode 100644 index 0000000000..93a85856e2 --- /dev/null +++ b/.changeset/remove-plugin-header-action-define-params.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-plugin-api': patch +--- + +Removed the unnecessary need to use `defineParams` callback from `PluginHeaderActionBlueprint`. It still works, but is no longer required. diff --git a/.changeset/update-app-visualizer-header-action.md b/.changeset/update-app-visualizer-header-action.md new file mode 100644 index 0000000000..e95e84eb43 --- /dev/null +++ b/.changeset/update-app-visualizer-header-action.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-app-visualizer': patch +--- + +Updated `PluginHeaderActionBlueprint` usage to pass params as a plain object. diff --git a/packages/frontend-plugin-api/report.api.md b/packages/frontend-plugin-api/report.api.md index 66ddc8f1b2..6ed413a66d 100644 --- a/packages/frontend-plugin-api/report.api.md +++ b/packages/frontend-plugin-api/report.api.md @@ -1953,11 +1953,9 @@ export type PendingOAuthRequest = { // @public export const PluginHeaderActionBlueprint: ExtensionBlueprint_2<{ kind: 'plugin-header-action'; - params: (params: { + params: { loader: () => Promise; - }) => ExtensionBlueprintParams_2<{ - loader: () => Promise; - }>; + }; output: ExtensionDataRef_2; inputs: {}; config: {}; diff --git a/packages/frontend-plugin-api/src/blueprints/PluginHeaderActionBlueprint.tsx b/packages/frontend-plugin-api/src/blueprints/PluginHeaderActionBlueprint.tsx index 84ed9da7ff..eb0c24420d 100644 --- a/packages/frontend-plugin-api/src/blueprints/PluginHeaderActionBlueprint.tsx +++ b/packages/frontend-plugin-api/src/blueprints/PluginHeaderActionBlueprint.tsx @@ -16,11 +16,7 @@ import { lazy as reactLazy } from 'react'; import { ExtensionBoundary } from '../components'; -import { - coreExtensionData, - createExtensionBlueprint, - createExtensionBlueprintParams, -} from '../wiring'; +import { coreExtensionData, createExtensionBlueprint } from '../wiring'; /** * Creates extensions that provide plugin-scoped header actions. @@ -36,10 +32,7 @@ export const PluginHeaderActionBlueprint = createExtensionBlueprint({ kind: 'plugin-header-action', attachTo: { id: 'api:app/plugin-header-actions', input: 'actions' }, output: [coreExtensionData.reactElement], - defineParams(params: { loader: () => Promise }) { - return createExtensionBlueprintParams(params); - }, - *factory(params, { node }) { + *factory(params: { loader: () => Promise }, { node }) { const LazyAction = reactLazy(() => params.loader().then(element => ({ default: () => element })), ); diff --git a/plugins/app-visualizer/report.api.md b/plugins/app-visualizer/report.api.md index 9ee06eccb0..ba29cb92dc 100644 --- a/plugins/app-visualizer/report.api.md +++ b/plugins/app-visualizer/report.api.md @@ -5,7 +5,6 @@ ```ts import { AnyRouteRefParams } from '@backstage/frontend-plugin-api'; import { ConfigurableExtensionDataRef } from '@backstage/frontend-plugin-api'; -import { ExtensionBlueprintParams } from '@backstage/frontend-plugin-api'; import { ExtensionDataRef } from '@backstage/frontend-plugin-api'; import { ExtensionInput } from '@backstage/frontend-plugin-api'; import { IconComponent } from '@backstage/frontend-plugin-api'; @@ -124,11 +123,9 @@ const visualizerPlugin: OverridableFrontendPlugin< configInput: {}; output: ExtensionDataRef; inputs: {}; - params: (params: { + params: { loader: () => Promise; - }) => ExtensionBlueprintParams<{ - loader: () => Promise; - }>; + }; }>; 'sub-page:app-visualizer/details': OverridableExtensionDefinition<{ kind: 'sub-page'; diff --git a/plugins/app-visualizer/src/plugin.tsx b/plugins/app-visualizer/src/plugin.tsx index 9fa7b2cd72..fab8479c54 100644 --- a/plugins/app-visualizer/src/plugin.tsx +++ b/plugins/app-visualizer/src/plugin.tsx @@ -76,11 +76,10 @@ const appVisualizerTextPage = SubPageBlueprint.make({ }); const copyTreeAsJson = PluginHeaderActionBlueprint.make({ - params: defineParams => - defineParams({ - loader: () => - import('./components/CopyTreeButton').then(m => ), - }), + params: { + loader: () => + import('./components/CopyTreeButton').then(m => ), + }, }); export const appVisualizerNavItem = NavItemBlueprint.make({