UNPKG

@redocly/theme

Version:

Shared UI components lib

50 lines 3.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CatalogEntityRelationsTable = CatalogEntityRelationsTable; const react_1 = __importDefault(require("react")); const styled_components_1 = __importDefault(require("styled-components")); const CatalogActionsRow_1 = require("../../../../components/Catalog/CatalogActionsRow"); const CatalogEntityRelationsTableContent_1 = require("../../../../components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent"); const hooks_1 = require("../../../../core/hooks"); const constants_1 = require("../../../../core/constants"); function CatalogEntityRelationsTable({ entity, entitiesCatalogConfig, catalogConfig, relations, query, searchQuery, setSearchQuery, heading, columns, setSortOption, sortOption, handleSortClick, isColumnSorted, shouldShowLoadMore, listType, }) { const { useTelemetry } = (0, hooks_1.useThemeHooks)(); const telemetry = useTelemetry(); const { getEntityDetailsLink } = (0, hooks_1.useCatalogEntityDetails)({ catalogConfig, entitiesCatalogConfig, }); const onRowClick = (relatedEntity) => { if (searchQuery) { telemetry.sendCatalogEntitiesRelatedEntitiesListSearchResultClickMessage([ { id: relatedEntity.id, object: 'catalog_entity', uri: getEntityDetailsLink(relatedEntity), query: searchQuery, entityKey: entity.key, entityType: entity.type, relationType: constants_1.reverseRelationMap[relatedEntity.relationType], relatedEntityKey: relatedEntity.key, relatedEntityType: relatedEntity.type, }, ]); } }; return (react_1.default.createElement(CatalogEntityRelationsTableWrapper, { "data-component-name": "Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable" }, heading && react_1.default.createElement(Heading, null, heading), react_1.default.createElement(CatalogActionsRow_1.CatalogActionsRow, { searchQuery: searchQuery, setSearchQuery: setSearchQuery, sortOption: sortOption, setSortOption: setSortOption, style: { marginBottom: '12px' } }), react_1.default.createElement(CatalogEntityRelationsTableContent_1.CatalogEntityRelationsTableContent, { entitiesCatalogConfig: entitiesCatalogConfig, catalogConfig: catalogConfig, relations: relations, query: query, searchQuery: searchQuery, columns: columns, setSortOption: setSortOption, sortOption: sortOption, handleSortClick: handleSortClick, isColumnSorted: isColumnSorted, shouldShowLoadMore: shouldShowLoadMore, listType: listType, onRowClick: onRowClick }))); } const CatalogEntityRelationsTableWrapper = styled_components_1.default.div ` min-width: 0; `; const Heading = styled_components_1.default.h2 ` margin: var(--spacing-base) 0; font-size: var(--font-size-md); color: var(--catalog-metadata-heading-color); `; //# sourceMappingURL=CatalogEntityRelationsTable.js.map