diff --git a/.changeset/angry-bags-compete.md b/.changeset/angry-bags-compete.md new file mode 100644 index 0000000000..87e9bf36b8 --- /dev/null +++ b/.changeset/angry-bags-compete.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-api-docs': minor +--- + +Added support for pagination in api-docs plugin - DefaultApiExplorerPage diff --git a/plugins/api-docs/README.md b/plugins/api-docs/README.md index 2738cc09ae..139a97d4c8 100644 --- a/plugins/api-docs/README.md +++ b/plugins/api-docs/README.md @@ -371,6 +371,23 @@ export const apis: AnyApiFactory[] = [ ] ``` +### Pagination + +You can add pagination support to `ApiExplorerPage` extension. + +This is an example: + +```tsx +// In packages/app/src/App.tsx + +import { ApiExplorerPage } from '@backstage/plugin-api-docs'; + +} +/>; +``` + ## Links - [The Backstage homepage](https://backstage.io) diff --git a/plugins/api-docs/report.api.md b/plugins/api-docs/report.api.md index 3c3f245a3c..0249479ef9 100644 --- a/plugins/api-docs/report.api.md +++ b/plugins/api-docs/report.api.md @@ -10,6 +10,7 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; import { CatalogTableRow } from '@backstage/plugin-catalog'; import { ComponentEntity } from '@backstage/catalog-model'; +import { EntityListPagination } from '@backstage/plugin-catalog-react'; import { EntityOwnerPickerProps } from '@backstage/plugin-catalog-react'; import { ExternalRouteRef } from '@backstage/core-plugin-api'; import { InfoCardVariants } from '@backstage/core-components'; @@ -121,6 +122,7 @@ export type DefaultApiExplorerPageProps = { columns?: TableColumn[]; actions?: TableProps['actions']; ownerPickerMode?: EntityOwnerPickerProps['mode']; + pagination?: EntityListPagination; }; // @public (undocumented) diff --git a/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx b/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx index 6b5917c52d..b5a02b2f9e 100644 --- a/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx +++ b/plugins/api-docs/src/components/ApiExplorerPage/DefaultApiExplorerPage.tsx @@ -29,6 +29,7 @@ import { EntityKindPicker, EntityLifecyclePicker, EntityListProvider, + EntityListPagination, EntityOwnerPicker, EntityTagPicker, EntityTypePicker, @@ -62,6 +63,7 @@ export type DefaultApiExplorerPageProps = { columns?: TableColumn[]; actions?: TableProps['actions']; ownerPickerMode?: EntityOwnerPickerProps['mode']; + pagination?: EntityListPagination; }; /** @@ -74,6 +76,7 @@ export const DefaultApiExplorerPage = (props: DefaultApiExplorerPageProps) => { columns, actions, ownerPickerMode, + pagination, } = props; const configApi = useApi(configApiRef); @@ -102,7 +105,7 @@ export const DefaultApiExplorerPage = (props: DefaultApiExplorerPageProps) => { )} All your APIs - +