fixing sonar code smells (#1826)

* fixing sonar code smells

* removing unnecessary change

* fixing some sonar code smell issues

* making requested changes
This commit is contained in:
Robert Azizbekyan 2022-04-27 14:17:10 +04:00 committed by GitHub
parent 9acef94234
commit a55068d122
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 37 additions and 41 deletions

View file

@ -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 = () => {
<Metrics.Indicator
label="Online"
isAlert
alertType={
offlinePartitionCount && offlinePartitionCount > 0
? 'error'
: 'success'
}
alertType={partitionIsOffline ? 'error' : 'success'}
>
{offlinePartitionCount && offlinePartitionCount > 0 ? (
{partitionIsOffline ? (
<Metrics.RedText>{onlinePartitionCount}</Metrics.RedText>
) : (
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 ? (
<Metrics.LightText>
{underReplicatedPartitionCount}
</Metrics.LightText>

View file

@ -10,7 +10,7 @@ interface OwnProps extends RouteComponentProps {
task: Task;
}
const mapStateToProps = (state: RootState, { task }: OwnProps) => ({
const mapStateToProps = (_state: RootState, { task }: OwnProps) => ({
task,
});

View file

@ -149,6 +149,8 @@ const List: React.FC<TopicsListProps> = ({
'' | 'deleteTopics' | 'purgeMessages'
>('');
const [confirmationModalText, setConfirmationModalText] =
React.useState<string>('');
const closeConfirmationModal = () => {
setConfirmationModal('');
};
@ -157,22 +159,6 @@ const List: React.FC<TopicsListProps> = ({
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<TopicsListProps> = ({
},
[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<TableCellProps<TopicWithDetailedInfo, string>>(
({ hovered, dataItem: { internal, cleanUpPolicy, name } }) => {
@ -306,6 +309,9 @@ const List: React.FC<TopicsListProps> = ({
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<TopicsListProps> = ({
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<TopicsListProps> = ({
<ConfirmationModal
isOpen={confirmationModal !== ''}
onCancel={closeConfirmationModal}
onConfirm={
confirmationModal === 'deleteTopics'
? deleteTopicsHandler
: purgeMessagesHandler
}
onConfirm={deleteOrPurgeConfirmationHandler}
>
{confirmationModal === 'deleteTopics'
? 'Are you sure you want to remove selected topics?'
: 'Are you sure you want to purge messages of selected topics?'}
{confirmationModalText}
</ConfirmationModal>
</>
)}

View file

@ -10,7 +10,7 @@ interface OwnProps extends RouteComponentProps {
}
const mapStateToProps = (
state: RootState,
_state: RootState,
{ isSubmitting, config }: OwnProps
) => ({
isSubmitting,

View file

@ -48,10 +48,9 @@ export const SmartTable = <T, TId extends IdType, OT = never>({
const { headerCell, title, orderValue } = child.props;
const HeaderCell = headerCell as
| React.FC<TableHeaderCellProps<T, TId, OT>>
| undefined;
const HeaderCell = headerCell as React.FC<
TableHeaderCellProps<T, TId, OT>
>;
return HeaderCell ? (
<S.TableHeaderCell>
<HeaderCell