Merge pull request #20438 from backstage/mob/overrides

frontend-plugin-api: refactor extension "at" option to "attachTo"
This commit is contained in:
Patrik Oldsberg
2023-10-06 16:19:49 +02:00
committed by GitHub
27 changed files with 170 additions and 106 deletions
+1 -1
View File
@@ -86,7 +86,7 @@ export function createEndpointExtension<TConfig extends {}>(options: {
}) {
return createExtension({
id: `apis.plugin.graphiql.browse.${options.id}`,
at: 'apis.plugin.graphiql.browse/endpoints',
attachTo: { id: 'apis.plugin.graphiql.browse', input: 'endpoints' },
configSchema: options.configSchema,
disabled: options.disabled ?? false,
output: {
+4 -1
View File
@@ -48,7 +48,10 @@ export type SearchResultItemExtensionOptions<
},
> = {
id: string;
at?: string;
attachTo?: {
id: string;
input: string;
};
configSchema?: PortableSchema<TConfig>;
component: (options: {
config: TConfig;
+2 -2
View File
@@ -58,7 +58,7 @@ describe('createSearchResultListItemExtension', () => {
const TechDocsSearchResultItemExtension =
createSearchResultListItemExtension({
id: 'techdocs',
at: 'plugin.search.page/items',
attachTo: { id: 'plugin.search.page', input: 'items' },
configSchema: createSchemaFromZod(z =>
z.object({
noTrack: z.boolean().default(true),
@@ -79,7 +79,7 @@ describe('createSearchResultListItemExtension', () => {
const ExploreSearchResultItemExtension =
createSearchResultListItemExtension({
id: 'explore',
at: 'plugin.search.page/items',
attachTo: { id: 'plugin.search.page', input: 'items' },
predicate: result => result.type === 'explore',
component: async () => ExploreSearchResultItemComponent,
});
+2 -2
View File
@@ -65,7 +65,7 @@ export type SearchResultItemExtensionOptions<
/**
* The extension attachment point (e.g., search modal or page).
*/
at?: string;
attachTo?: { id: string; input: string };
/**
* Optional extension config schema.
*/
@@ -97,7 +97,7 @@ export function createSearchResultListItemExtension<
) as PortableSchema<TConfig>);
return createExtension({
id: `plugin.search.result.item.${options.id}`,
at: options.at ?? 'plugin.search.page/items',
attachTo: options.attachTo ?? { id: 'plugin.search.page', input: 'items' },
configSchema,
output: {
item: searchResultItemExtensionData,