diff --git a/packages/app-next/app-config.yaml b/packages/app-next/app-config.yaml index b07f556742..fad0300680 100644 --- a/packages/app-next/app-config.yaml +++ b/packages/app-next/app-config.yaml @@ -11,6 +11,7 @@ app: # - apis.plugin.graphiql.browse.gitlab: true - graphiql-endpoint:graphiql/gitlab: true + # Entity page cards - entity-card:catalog/about - entity-card:catalog/labels - entity-card:catalog/links: @@ -21,7 +22,21 @@ app: config: height: 300 - entity-card:azure-devops/readme + - entity-card:api-docs/consumed-apis: + config: + filter: kind:component + - entity-card:api-docs/provided-apis: + config: + filter: kind:component + - entity-card:api-docs/providing-components: + config: + filter: kind:api + - entity-card:api-docs/consuming-components: + config: + filter: kind:api + # Entity page content + - entity-content:api-docs/definition - entity-content:techdocs - entity-content:azure-devops/pipelines - entity-content:azure-devops/pull-requests diff --git a/plugins/api-docs/src/alpha.tsx b/plugins/api-docs/src/alpha.tsx index 83398e8430..fcb536e245 100644 --- a/plugins/api-docs/src/alpha.tsx +++ b/plugins/api-docs/src/alpha.tsx @@ -32,7 +32,11 @@ import { ApiEntity } from '@backstage/catalog-model'; import { defaultDefinitionWidgets } from './components/ApiDefinitionCard'; import { rootRoute, registerComponentRouteRef } from './routes'; import { apiDocsConfigRef } from './config'; -import { createEntityCardExtension } from '@backstage/plugin-catalog-react/alpha'; +import { + createEntityCardExtension, + createEntityContentExtension, +} from '@backstage/plugin-catalog-react/alpha'; +import { Grid } from '@material-ui/core'; const ApiDocsConfigApi = createApiExtension({ factory: createApiFactory({ @@ -70,6 +74,13 @@ const ApiDocsExplorerPage = createPageExtension({ ), }); +const ApiDocsHasApisEntityCard = createEntityCardExtension({ + name: 'has-apis', + // we are skipping variants, see: https://github.com/backstage/backstage/pull/22619#discussion_r1477333252 + // and columns are too complex to map to zod + loader: () => import('./components/ApisCards').then(m => ), +}); + const ApiDocsDefinitionEntityCard = createEntityCardExtension({ name: 'api-definition', loader: () => @@ -89,13 +100,6 @@ const ApiDocsConsumedApisEntityCard = createEntityCardExtension({ ), }); -const ApiDocsHasApisEntityCard = createEntityCardExtension({ - name: 'has-apis', - // we are skipping variants, see: https://github.com/backstage/backstage/pull/22619#discussion_r1477333252 - // and columns are too complex to map to zod - loader: () => import('./components/ApisCards').then(m => ), -}); - const ApiDocsProvidedApisEntityCard = createEntityCardExtension({ name: 'provided-apis', // we are skipping variants, see: https://github.com/backstage/backstage/pull/22619#discussion_r1477333252 @@ -126,6 +130,23 @@ const ApiDocsProvidingComponentsEntityCard = createEntityCardExtension({ ), }); +const ApiDocsDefinitionEntityContent = createEntityContentExtension({ + name: 'definition', + defaultPath: '/defintion', + defaultTitle: 'Definition', + filter: 'is:api', + loader: async () => + import('./components/ApiDefinitionCard').then(m => + compatWrapper( + + + + + , + ), + ), +}); + export default createPlugin({ id: 'api-docs', routes: { @@ -143,5 +164,6 @@ export default createPlugin({ ApiDocsConsumedApisEntityCard, ApiDocsConsumingComponentsEntityCard, ApiDocsProvidingComponentsEntityCard, + ApiDocsDefinitionEntityContent, ], });