-
-
-
+
+
+ Produce Message
+
+ }
+ />
+
{!isReadOnly && !isInternal && (
-
- } right>
-
- history.push(clusterTopicEditPath(clusterName, topicName))
- }
- >
- Edit settings
-
- Pay attention! This operation has
-
- especially important consequences.
-
-
- {isDeletePolicy && (
- setClearTopicConfirmationVisible(true)}
- danger
- >
- Clear messages
-
- )}
- setRecreateTopicConfirmationVisible(true)}
- danger
- >
- Recreate Topic
-
- {isTopicDeletionAllowed && (
- setDeleteTopicConfirmationVisible(true)}
- danger
- >
- Remove topic
-
- )}
-
-
+
+ } right>
+ navigate(clusterTopicEditRelativePath)}
+ >
+ Edit settings
+
+ Pay attention! This operation has
+
+ especially important consequences.
+
+
+ {isDeletePolicy && (
+ setClearTopicConfirmationVisible(true)}
+ danger
+ >
+ Clear messages
+
+ )}
+ setRecreateTopicConfirmationVisible(true)}
+ danger
+ >
+ Recreate Topic
+
+ {isTopicDeletionAllowed && (
+ setDeleteTopicConfirmationVisible(true)}
+ danger
+ >
+ Remove topic
+
+ )}
+
+ }
+ />
+
)}
@@ -177,56 +187,45 @@ const Details: React.FC
= ({
(isActive ? 'is-active is-primary' : '')}
>
Overview
(isActive ? 'is-active' : '')}
>
Messages
(isActive ? 'is-active' : '')}
>
Consumers
(isActive ? 'is-active' : '')}
>
Settings
-
+
+ } />
+
+ } />
+
}
/>
+
}
/>
-
-
-
+
);
};
diff --git a/kafka-ui-react-app/src/components/Topics/Topic/Details/DetailsContainer.ts b/kafka-ui-react-app/src/components/Topics/Topic/Details/DetailsContainer.ts
index e3fbd01f47..325d4d84e2 100644
--- a/kafka-ui-react-app/src/components/Topics/Topic/Details/DetailsContainer.ts
+++ b/kafka-ui-react-app/src/components/Topics/Topic/Details/DetailsContainer.ts
@@ -1,36 +1,13 @@
import { connect } from 'react-redux';
-import { ClusterName, RootState, TopicName } from 'redux/interfaces';
-import { withRouter, RouteComponentProps } from 'react-router-dom';
+import { RootState } from 'redux/interfaces';
import { deleteTopic, recreateTopic } from 'redux/reducers/topics/topicsSlice';
import { clearTopicMessages } from 'redux/reducers/topicMessages/topicMessagesSlice';
-import {
- getIsTopicDeleted,
- getIsTopicDeletePolicy,
- getIsTopicInternal,
-} from 'redux/reducers/topics/selectors';
+import { getIsTopicDeleted } from 'redux/reducers/topics/selectors';
import Details from './Details';
-interface RouteProps {
- clusterName: ClusterName;
- topicName: TopicName;
-}
-
-type OwnProps = RouteComponentProps