Browse Source

fixing message count problem when clearing or adding messages (#2029)

Robert Azizbekyan 3 years ago
parent
commit
cf6454c987

+ 7 - 5
kafka-ui-react-app/src/components/Topics/Topic/Details/Overview/Overview.tsx

@@ -39,11 +39,13 @@ const Overview: React.FC<Props> = ({
 }) => {
 }) => {
   const { isReadOnly } = React.useContext(ClusterContext);
   const { isReadOnly } = React.useContext(ClusterContext);
 
 
-  const messageCount = React.useMemo(() => {
-    return (partitions || []).reduce((memo, partition) => {
-      return memo + partition.offsetMax - partition.offsetMin;
-    }, 0);
-  }, [partitions]);
+  const messageCount = React.useMemo(
+    () =>
+      (partitions || []).reduce((memo, partition) => {
+        return memo + partition.offsetMax - partition.offsetMin;
+      }, 0),
+    [partitions]
+  );
 
 
   return (
   return (
     <>
     <>

+ 5 - 1
kafka-ui-react-app/src/components/Topics/Topic/SendMessage/SendMessage.tsx

@@ -6,7 +6,10 @@ import { useHistory, useParams } from 'react-router-dom';
 import { clusterTopicMessagesPath } from 'lib/paths';
 import { clusterTopicMessagesPath } from 'lib/paths';
 import jsf from 'json-schema-faker';
 import jsf from 'json-schema-faker';
 import { messagesApiClient } from 'redux/reducers/topicMessages/topicMessagesSlice';
 import { messagesApiClient } from 'redux/reducers/topicMessages/topicMessagesSlice';
-import { fetchTopicMessageSchema } from 'redux/reducers/topics/topicsSlice';
+import {
+  fetchTopicMessageSchema,
+  fetchTopicDetails,
+} from 'redux/reducers/topics/topicsSlice';
 import { useAppDispatch, useAppSelector } from 'lib/hooks/redux';
 import { useAppDispatch, useAppSelector } from 'lib/hooks/redux';
 import { alertAdded } from 'redux/reducers/alerts/alertsSlice';
 import { alertAdded } from 'redux/reducers/alerts/alertsSlice';
 import { now } from 'lodash';
 import { now } from 'lodash';
@@ -126,6 +129,7 @@ const SendMessage: React.FC = () => {
             partition,
             partition,
           },
           },
         });
         });
+        dispatch(fetchTopicDetails({ clusterName, topicName }));
       } catch (e) {
       } catch (e) {
         dispatch(
         dispatch(
           alertAdded({
           alertAdded({

+ 2 - 1
kafka-ui-react-app/src/redux/reducers/topicMessages/topicMessagesSlice.ts

@@ -4,6 +4,7 @@ import { TopicMessage, Configuration, MessagesApi } from 'generated-sources';
 import { BASE_PARAMS } from 'lib/constants';
 import { BASE_PARAMS } from 'lib/constants';
 import { getResponse } from 'lib/errorHandling';
 import { getResponse } from 'lib/errorHandling';
 import { showSuccessAlert } from 'redux/reducers/alerts/alertsSlice';
 import { showSuccessAlert } from 'redux/reducers/alerts/alertsSlice';
+import { fetchTopicDetails } from 'redux/reducers/topics/topicsSlice';
 
 
 const apiClientConf = new Configuration(BASE_PARAMS);
 const apiClientConf = new Configuration(BASE_PARAMS);
 export const messagesApiClient = new MessagesApi(apiClientConf);
 export const messagesApiClient = new MessagesApi(apiClientConf);
@@ -23,7 +24,7 @@ export const clearTopicMessages = createAsyncThunk<
         topicName,
         topicName,
         partitions,
         partitions,
       });
       });
-
+      dispatch(fetchTopicDetails({ clusterName, topicName }));
       dispatch(
       dispatch(
         showSuccessAlert({
         showSuccessAlert({
           id: `message-${topicName}-${clusterName}-${partitions}`,
           id: `message-${topicName}-${clusterName}-${partitions}`,