diff --git a/.changeset/dull-ties-film.md b/.changeset/dull-ties-film.md new file mode 100644 index 0000000000..4463d59d91 --- /dev/null +++ b/.changeset/dull-ties-film.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog': minor +--- + +Adds an optional columns attribute to HasSubdomainsCardProps and changes its default columns diff --git a/plugins/catalog/report.api.md b/plugins/catalog/report.api.md index 8bc620d221..3692a919b3 100644 --- a/plugins/catalog/report.api.md +++ b/plugins/catalog/report.api.md @@ -10,6 +10,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api'; import { CatalogApi } from '@backstage/plugin-catalog-react'; import { ComponentEntity } from '@backstage/catalog-model'; import { CompoundEntityRef } from '@backstage/catalog-model'; +import { DomainEntity } from '@backstage/catalog-model'; import { Entity } from '@backstage/catalog-model'; import { EntityListContextProps } from '@backstage/plugin-catalog-react'; import { EntityListPagination } from '@backstage/plugin-catalog-react'; @@ -585,6 +586,8 @@ export interface HasSubcomponentsCardProps { // @public (undocumented) export interface HasSubdomainsCardProps { + // (undocumented) + columns?: TableColumn[]; // (undocumented) tableOptions?: TableOptions; // (undocumented) diff --git a/plugins/catalog/src/components/HasSubdomainsCard/HasSubdomainsCard.tsx b/plugins/catalog/src/components/HasSubdomainsCard/HasSubdomainsCard.tsx index 71705ea90f..b52f5eacf7 100644 --- a/plugins/catalog/src/components/HasSubdomainsCard/HasSubdomainsCard.tsx +++ b/plugins/catalog/src/components/HasSubdomainsCard/HasSubdomainsCard.tsx @@ -14,12 +14,17 @@ * limitations under the License. */ -import { RELATION_HAS_PART } from '@backstage/catalog-model'; -import { InfoCardVariants, TableOptions } from '@backstage/core-components'; +import { DomainEntity, RELATION_HAS_PART } from '@backstage/catalog-model'; +import { + InfoCardVariants, + TableColumn, + TableOptions, +} from '@backstage/core-components'; import React from 'react'; import { - asComponentEntities, - componentEntityColumns, + asDomainEntities, + domainEntityColumns, + domainEntityHelpLink, RelatedEntitiesCard, } from '../RelatedEntitiesCard'; import { catalogTranslationRef } from '../../alpha/translation'; @@ -29,6 +34,7 @@ import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; export interface HasSubdomainsCardProps { variant?: InfoCardVariants; tableOptions?: TableOptions; + columns?: TableColumn[]; title?: string; } @@ -36,8 +42,9 @@ export function HasSubdomainsCard(props: HasSubdomainsCardProps) { const { t } = useTranslationRef(catalogTranslationRef); const { variant = 'gridItem', - tableOptions = {}, title = t('hasSubdomainsCard.title'), + columns = domainEntityColumns, + tableOptions = {}, } = props; return ( ); diff --git a/plugins/catalog/src/components/RelatedEntitiesCard/RelatedEntitiesCard.tsx b/plugins/catalog/src/components/RelatedEntitiesCard/RelatedEntitiesCard.tsx index 5b57cbd80e..40481614e2 100644 --- a/plugins/catalog/src/components/RelatedEntitiesCard/RelatedEntitiesCard.tsx +++ b/plugins/catalog/src/components/RelatedEntitiesCard/RelatedEntitiesCard.tsx @@ -33,10 +33,13 @@ import { } from '@backstage/core-components'; import { asComponentEntities, + asDomainEntities, asResourceEntities, asSystemEntities, componentEntityColumns, componentEntityHelpLink, + domainEntityColumns, + domainEntityHelpLink, resourceEntityColumns, resourceEntityHelpLink, systemEntityColumns, @@ -137,3 +140,6 @@ RelatedEntitiesCard.asResourceEntities = asResourceEntities; RelatedEntitiesCard.systemEntityColumns = systemEntityColumns; RelatedEntitiesCard.systemEntityHelpLink = systemEntityHelpLink; RelatedEntitiesCard.asSystemEntities = asSystemEntities; +RelatedEntitiesCard.domainEntityColums = domainEntityColumns; +RelatedEntitiesCard.domainEntityHelpLink = domainEntityHelpLink; +RelatedEntitiesCard.asDomainEntities = asDomainEntities; diff --git a/plugins/catalog/src/components/RelatedEntitiesCard/presets.ts b/plugins/catalog/src/components/RelatedEntitiesCard/presets.ts index 8e3040ccf9..68930c578b 100644 --- a/plugins/catalog/src/components/RelatedEntitiesCard/presets.ts +++ b/plugins/catalog/src/components/RelatedEntitiesCard/presets.ts @@ -15,6 +15,7 @@ */ import { ComponentEntity, + DomainEntity, Entity, ResourceEntity, SystemEntity, @@ -55,3 +56,13 @@ export const systemEntityHelpLink: string = 'https://backstage.io/docs/features/software-catalog/descriptor-format#kind-system'; export const asSystemEntities = (entities: Entity[]): SystemEntity[] => entities as SystemEntity[]; + +export const domainEntityColumns: TableColumn[] = [ + EntityTable.columns.createEntityRefColumn({ defaultKind: 'domain' }), + EntityTable.columns.createOwnerColumn(), + EntityTable.columns.createMetadataDescriptionColumn(), +]; +export const domainEntityHelpLink: string = + 'https://backstage.io/docs/features/software-catalog/descriptor-format#kind-domain'; +export const asDomainEntities = (entities: Entity[]): DomainEntity[] => + entities as DomainEntity[];