From 471e84d0f92065d155911ebd7f3cd67be0ad4e14 Mon Sep 17 00:00:00 2001 From: Ekaterina Petrova <32833172+Hurenka@users.noreply.github.com> Date: Tue, 25 Jan 2022 15:54:46 +0300 Subject: [PATCH] Schema type is not updated when history push (#1474) Co-authored-by: Ekaterina Petrova --- .../Details/ResetOffsets/ResetOffsets.tsx | 1 + .../src/components/Schemas/Edit/Edit.tsx | 11 ++++++++++- .../src/redux/reducers/schemas/schemasSlice.ts | 3 ++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/ResetOffsets.tsx b/kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/ResetOffsets.tsx index ce574325f6..66377f8bce 100644 --- a/kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/ResetOffsets.tsx +++ b/kafka-ui-react-app/src/components/ConsumerGroups/Details/ResetOffsets/ResetOffsets.tsx @@ -194,6 +194,7 @@ const ResetOffsets: React.FC = () => { minWidth="100%" name={name} onChange={onChange} + defaultValue={value} value={value} options={uniqueTopics.map((topic) => ({ value: topic, diff --git a/kafka-ui-react-app/src/components/Schemas/Edit/Edit.tsx b/kafka-ui-react-app/src/components/Schemas/Edit/Edit.tsx index 59a0b75ba8..0507652be4 100644 --- a/kafka-ui-react-app/src/components/Schemas/Edit/Edit.tsx +++ b/kafka-ui-react-app/src/components/Schemas/Edit/Edit.tsx @@ -14,7 +14,9 @@ import { InputLabel } from 'components/common/Input/InputLabel.styled'; import PageHeading from 'components/common/PageHeading/PageHeading'; import { useAppDispatch, useAppSelector } from 'lib/hooks/redux'; import { + schemaAdded, schemasApiClient, + schemaUpdated, selectSchemaById, } from 'redux/reducers/schemas/schemasSlice'; import { serverErrorAlertAdded } from 'redux/reducers/alerts/alertsSlice'; @@ -48,7 +50,7 @@ const Edit: React.FC = () => { try { if (dirtyFields.newSchema || dirtyFields.schemaType) { - await schemasApiClient.createNewSchema({ + const resp = await schemasApiClient.createNewSchema({ clusterName, newSchemaSubject: { ...schema, @@ -56,6 +58,7 @@ const Edit: React.FC = () => { schemaType: props.schemaType || schema.schemaType, }, }); + dispatch(schemaAdded(resp)); } if (dirtyFields.compatibilityLevel) { @@ -66,6 +69,12 @@ const Edit: React.FC = () => { compatibility: props.compatibilityLevel, }, }); + dispatch( + schemaUpdated({ + ...schema, + compatibilityLevel: props.compatibilityLevel, + }) + ); } history.push(clusterSchemaPath(clusterName, subject)); diff --git a/kafka-ui-react-app/src/redux/reducers/schemas/schemasSlice.ts b/kafka-ui-react-app/src/redux/reducers/schemas/schemasSlice.ts index 69b38ed012..cfc358815f 100644 --- a/kafka-ui-react-app/src/redux/reducers/schemas/schemasSlice.ts +++ b/kafka-ui-react-app/src/redux/reducers/schemas/schemasSlice.ts @@ -55,6 +55,7 @@ const schemasSlice = createSlice({ }), reducers: { schemaAdded: schemasAdapter.addOne, + schemaUpdated: schemasAdapter.upsertOne, }, extraReducers: (builder) => { builder.addCase(fetchSchemas.fulfilled, (state, { payload }) => { @@ -74,7 +75,7 @@ export const { selectAll: selectAllSchemaVersions } = (state) => state.schemas.versions ); -export const { schemaAdded } = schemasSlice.actions; +export const { schemaAdded, schemaUpdated } = schemasSlice.actions; export const getAreSchemasFulfilled = createSelector( createFetchingSelector('schemas/fetch'),