import React from 'react'; import { Topic, TopicDetails } from 'generated-sources'; import { ClusterName, TopicName } from 'redux/interfaces'; import Dropdown from 'components/common/Dropdown/Dropdown'; import DropdownItem from 'components/common/Dropdown/DropdownItem'; import ClusterContext from 'components/contexts/ClusterContext'; import BytesFormatted from 'components/common/BytesFormatted/BytesFormatted'; import { Table } from 'components/common/table/Table/Table.styled'; import TableHeaderCell from 'components/common/table/TableHeaderCell/TableHeaderCell'; import VerticalElipsisIcon from 'components/common/Icons/VerticalElipsisIcon'; import * as Metrics from 'components/common/Metrics'; import { Tag } from 'components/common/Tag/Tag.styled'; export interface Props extends Topic, TopicDetails { clusterName: ClusterName; topicName: TopicName; clearTopicMessages( clusterName: ClusterName, topicName: TopicName, partitions?: number[] ): void; } const Overview: React.FC = ({ partitions, underReplicatedPartitions, inSyncReplicas, replicas, partitionCount, internal, replicationFactor, segmentSize, segmentCount, clusterName, topicName, cleanUpPolicy, clearTopicMessages, }) => { const { isReadOnly } = React.useContext(ClusterContext); return ( <> {partitionCount} {replicationFactor} {underReplicatedPartitions} {inSyncReplicas && replicas && inSyncReplicas < replicas ? ( {inSyncReplicas} ) : ( inSyncReplicas )} of {replicas} {internal ? 'Internal' : 'External'} {segmentCount} {cleanUpPolicy || 'Unknown'}
{partitions?.map(({ partition, leader, offsetMin, offsetMax }) => ( ))} {partitions?.length === 0 && ( )}
{partition} {leader} {offsetMin} {offsetMax} {!internal && !isReadOnly ? ( } right> clearTopicMessages(clusterName, topicName, [ partition, ]) } > Clear Messages ) : null}
No Partitions found
); }; export default Overview;