diff --git a/.changeset/seven-dots-serve.md b/.changeset/seven-dots-serve.md index 1518fb20cc..f48ab1f19c 100644 --- a/.changeset/seven-dots-serve.md +++ b/.changeset/seven-dots-serve.md @@ -2,7 +2,7 @@ '@backstage/plugin-catalog': minor --- -Exported `defaultCatalogTableColumnsFunc` to create a seam for defining the columns in `` of some Kinds while using the default columns for the others. +Exported `CatalogTable.defaultColumnsFunc` to create a seam for defining the columns in `` of some Kinds while using the default columns for the others. This is useful for defining the columns of a custom Kind or to redefine the columns for a built-in Kind. ```diff @@ -14,7 +14,6 @@ import { catalogPlugin, + CatalogTable, + CatalogTableColumnsFunc, -+ defaultCatalogTableColumnsFunc, } from '@backstage/plugin-catalog'; + const myColumnsFunc: CatalogTableColumnsFunc = (entityListContext) => { @@ -25,7 +24,7 @@ import { + ]; + } + -+ return defaultCatalogTableColumnsFunc(entityListContext); ++ return CatalogTable.defaultColumnsFunc(entityListContext); + }; ... diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index 718e974302..feda3fd70d 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -182,6 +182,7 @@ export const CatalogTable: { ): TableColumn; createNamespaceColumn(): TableColumn; }>; + defaultColumnsFunc: CatalogTableColumnsFunc; }; // @public @@ -245,9 +246,6 @@ export interface DefaultCatalogPageProps { tableOptions?: TableProps['options']; } -// @public (undocumented) -export const defaultCatalogTableColumnsFunc: CatalogTableColumnsFunc; - // @public export class DefaultEntityPresentationApi implements EntityPresentationApi { static create( diff --git a/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx b/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx index d21cca27c6..7da12d7138 100644 --- a/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx +++ b/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx @@ -226,6 +226,7 @@ export const CatalogTable = (props: CatalogTableProps) => { }; CatalogTable.columns = columnFactories; +CatalogTable.defaultColumnsFunc = defaultCatalogTableColumnsFunc; function toEntityRow(entity: Entity) { const partOfSystemRelations = getEntityRelations(entity, RELATION_PART_OF, { diff --git a/plugins/catalog/src/components/CatalogTable/defaultCatalogTableColumnsFunc.tsx b/plugins/catalog/src/components/CatalogTable/defaultCatalogTableColumnsFunc.tsx index 5948dedee6..85f44d3f51 100644 --- a/plugins/catalog/src/components/CatalogTable/defaultCatalogTableColumnsFunc.tsx +++ b/plugins/catalog/src/components/CatalogTable/defaultCatalogTableColumnsFunc.tsx @@ -18,6 +18,8 @@ import { TableColumn } from '@backstage/core-components'; import { columnFactories } from './columns'; import { CatalogTableColumnsFunc, CatalogTableRow } from './types'; +// The defaultCatalogTableColumnsFunc symbol is not directly exported, but through the +// CatalogTable.defaultColumnsFunc field. /** @public */ export const defaultCatalogTableColumnsFunc: CatalogTableColumnsFunc = ({ filters, diff --git a/plugins/catalog/src/components/CatalogTable/index.ts b/plugins/catalog/src/components/CatalogTable/index.ts index d69ed0b3a2..f5d1ca1bb7 100644 --- a/plugins/catalog/src/components/CatalogTable/index.ts +++ b/plugins/catalog/src/components/CatalogTable/index.ts @@ -15,6 +15,5 @@ */ export { CatalogTable } from './CatalogTable'; -export { defaultCatalogTableColumnsFunc } from './defaultCatalogTableColumnsFunc'; export type { CatalogTableProps } from './CatalogTable'; export type { CatalogTableRow, CatalogTableColumnsFunc } from './types';