diff --git a/kafka-ui-react-app/src/components/Brokers/Brokers.tsx b/kafka-ui-react-app/src/components/Brokers/Brokers.tsx index 6d20911714..bb8f40f290 100644 --- a/kafka-ui-react-app/src/components/Brokers/Brokers.tsx +++ b/kafka-ui-react-app/src/components/Brokers/Brokers.tsx @@ -32,7 +32,7 @@ const Brokers: React.FC = () => { const replicas = inSyncReplicasCount ?? 0 + (outOfSyncReplicasCount ?? 0); const areAllInSync = inSyncReplicasCount && replicas === inSyncReplicasCount; - + const partitionIsOffline = offlinePartitionCount && offlinePartitionCount > 0; React.useEffect(() => { dispatch(fetchClusterStats(clusterName)); dispatch(fetchBrokers(clusterName)); @@ -60,13 +60,9 @@ const Brokers: React.FC = () => { 0 - ? 'error' - : 'success' - } + alertType={partitionIsOffline ? 'error' : 'success'} > - {offlinePartitionCount && offlinePartitionCount > 0 ? ( + {partitionIsOffline ? ( {onlinePartitionCount} ) : ( onlinePartitionCount @@ -80,11 +76,9 @@ const Brokers: React.FC = () => { label="URP" title="Under replicated partitions" isAlert - alertType={ - underReplicatedPartitionCount === 0 ? 'success' : 'error' - } + alertType={!underReplicatedPartitionCount ? 'success' : 'error'} > - {underReplicatedPartitionCount === 0 ? ( + {!underReplicatedPartitionCount ? ( {underReplicatedPartitionCount} diff --git a/kafka-ui-react-app/src/components/Connect/Details/Tasks/ListItem/ListItemContainer.ts b/kafka-ui-react-app/src/components/Connect/Details/Tasks/ListItem/ListItemContainer.ts index c09054e63d..b7107500b7 100644 --- a/kafka-ui-react-app/src/components/Connect/Details/Tasks/ListItem/ListItemContainer.ts +++ b/kafka-ui-react-app/src/components/Connect/Details/Tasks/ListItem/ListItemContainer.ts @@ -10,7 +10,7 @@ interface OwnProps extends RouteComponentProps { task: Task; } -const mapStateToProps = (state: RootState, { task }: OwnProps) => ({ +const mapStateToProps = (_state: RootState, { task }: OwnProps) => ({ task, }); diff --git a/kafka-ui-react-app/src/components/Topics/List/List.tsx b/kafka-ui-react-app/src/components/Topics/List/List.tsx index 362010d1fc..7431dabf63 100644 --- a/kafka-ui-react-app/src/components/Topics/List/List.tsx +++ b/kafka-ui-react-app/src/components/Topics/List/List.tsx @@ -149,6 +149,8 @@ const List: React.FC = ({ '' | 'deleteTopics' | 'purgeMessages' >(''); + const [confirmationModalText, setConfirmationModalText] = + React.useState(''); const closeConfirmationModal = () => { setConfirmationModal(''); }; @@ -157,22 +159,6 @@ const List: React.FC = ({ tableState.toggleSelection(false); }, [tableState]); - const deleteTopicsHandler = React.useCallback(() => { - deleteTopics(clusterName, Array.from(tableState.selectedIds)); - closeConfirmationModal(); - clearSelectedTopics(); - }, [clearSelectedTopics, clusterName, deleteTopics, tableState.selectedIds]); - const purgeMessagesHandler = React.useCallback(() => { - clearTopicsMessages(clusterName, Array.from(tableState.selectedIds)); - closeConfirmationModal(); - clearSelectedTopics(); - }, [ - clearSelectedTopics, - clearTopicsMessages, - clusterName, - tableState.selectedIds, - ]); - const searchHandler = React.useCallback( (searchString: string) => { setTopicsSearch(searchString); @@ -187,6 +173,23 @@ const List: React.FC = ({ }, [setTopicsSearch, history, pathname, perPage, page] ); + const deleteOrPurgeConfirmationHandler = React.useCallback(() => { + const selectedIds = Array.from(tableState.selectedIds); + if (confirmationModal === 'deleteTopics') { + deleteTopics(clusterName, selectedIds); + } else { + clearTopicsMessages(clusterName, selectedIds); + } + closeConfirmationModal(); + clearSelectedTopics(); + }, [ + confirmationModal, + clearSelectedTopics, + clusterName, + deleteTopics, + clearTopicsMessages, + tableState.selectedIds, + ]); const ActionsCell = React.memo>( ({ hovered, dataItem: { internal, cleanUpPolicy, name } }) => { @@ -306,6 +309,9 @@ const List: React.FC = ({ buttonType="secondary" onClick={() => { setConfirmationModal('deleteTopics'); + setConfirmationModalText( + 'Are you sure you want to remove selected topics?' + ); }} > Delete selected topics @@ -329,6 +335,9 @@ const List: React.FC = ({ buttonType="secondary" onClick={() => { setConfirmationModal('purgeMessages'); + setConfirmationModalText( + 'Are you sure you want to purge messages of selected topics?' + ); }} > Purge messages of selected topics @@ -337,15 +346,9 @@ const List: React.FC = ({ - {confirmationModal === 'deleteTopics' - ? 'Are you sure you want to remove selected topics?' - : 'Are you sure you want to purge messages of selected topics?'} + {confirmationModalText} )} diff --git a/kafka-ui-react-app/src/components/Topics/shared/Form/CustomParams/CustomParamsContainer.tsx b/kafka-ui-react-app/src/components/Topics/shared/Form/CustomParams/CustomParamsContainer.tsx index 4d5065e673..5806d11e92 100644 --- a/kafka-ui-react-app/src/components/Topics/shared/Form/CustomParams/CustomParamsContainer.tsx +++ b/kafka-ui-react-app/src/components/Topics/shared/Form/CustomParams/CustomParamsContainer.tsx @@ -10,7 +10,7 @@ interface OwnProps extends RouteComponentProps { } const mapStateToProps = ( - state: RootState, + _state: RootState, { isSubmitting, config }: OwnProps ) => ({ isSubmitting, diff --git a/kafka-ui-react-app/src/components/common/SmartTable/SmartTable.tsx b/kafka-ui-react-app/src/components/common/SmartTable/SmartTable.tsx index 0b04279dbf..575db21b9c 100644 --- a/kafka-ui-react-app/src/components/common/SmartTable/SmartTable.tsx +++ b/kafka-ui-react-app/src/components/common/SmartTable/SmartTable.tsx @@ -48,10 +48,9 @@ export const SmartTable = ({ const { headerCell, title, orderValue } = child.props; - const HeaderCell = headerCell as - | React.FC> - | undefined; - + const HeaderCell = headerCell as React.FC< + TableHeaderCellProps + >; return HeaderCell ? (