Updated Columns in Catalog Table
Updated columns in the catalog table view to vary columns based on entity kind. Specifically excluding columns that aren't supported by that entity kind. Signed-off-by: Alex Crome <afscrome@users.noreply.github.com>
This commit is contained in:
@@ -64,18 +64,52 @@ export const CatalogTable = (props: CatalogTableProps) => {
|
||||
const { isStarredEntity, toggleStarredEntity } = useStarredEntities();
|
||||
const { loading, error, entities, filters } = useEntityList();
|
||||
|
||||
const defaultColumns: TableColumn<CatalogTableRow>[] = useMemo(
|
||||
() => [
|
||||
const defaultColumns: TableColumn<CatalogTableRow>[] = useMemo(() => {
|
||||
return [
|
||||
columnFactories.createNameColumn({ defaultKind: filters.kind?.value }),
|
||||
columnFactories.createSystemColumn(),
|
||||
columnFactories.createOwnerColumn(),
|
||||
columnFactories.createSpecTypeColumn(),
|
||||
columnFactories.createSpecLifecycleColumn(),
|
||||
...createEntitySpecificColumns(),
|
||||
columnFactories.createMetadataDescriptionColumn(),
|
||||
columnFactories.createTagsColumn(),
|
||||
],
|
||||
[filters.kind?.value],
|
||||
);
|
||||
];
|
||||
|
||||
function createEntitySpecificColumns(): TableColumn<CatalogTableRow>[] {
|
||||
switch (filters.kind?.value) {
|
||||
case 'api':
|
||||
return [
|
||||
columnFactories.createSystemColumn(),
|
||||
columnFactories.createOwnerColumn(),
|
||||
columnFactories.createSpecTypeColumn(),
|
||||
columnFactories.createSpecLifecycleColumn(),
|
||||
];
|
||||
case 'component':
|
||||
return [
|
||||
columnFactories.createSystemColumn(),
|
||||
columnFactories.createOwnerColumn(),
|
||||
columnFactories.createSpecTypeColumn(),
|
||||
columnFactories.createSpecLifecycleColumn(),
|
||||
];
|
||||
case 'domain':
|
||||
return [columnFactories.createOwnerColumn()];
|
||||
case 'group':
|
||||
return [columnFactories.createSpecTypeColumn()];
|
||||
case 'location':
|
||||
return [columnFactories.createSpecTypeColumn()];
|
||||
case 'resource':
|
||||
return [
|
||||
columnFactories.createSystemColumn(),
|
||||
columnFactories.createOwnerColumn(),
|
||||
columnFactories.createSpecTypeColumn(),
|
||||
columnFactories.createSpecLifecycleColumn(),
|
||||
];
|
||||
case 'system':
|
||||
return [columnFactories.createOwnerColumn()];
|
||||
case 'template':
|
||||
return [columnFactories.createSpecTypeColumn()];
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}, [filters.kind?.value]);
|
||||
|
||||
const showTypeColumn = filters.type === undefined;
|
||||
// TODO(timbonicus): remove the title from the CatalogTable once using EntitySearchBar
|
||||
|
||||
Reference in New Issue
Block a user