diff --git a/react-ui/src/components/devices/reducer/device.reducer.ts b/react-ui/src/components/devices/reducer/device.reducer.ts index c7538079a6b10160cfebaec4664517e6b355b4fd..812c416f8b6f5c45aad66a1619672ff5f8e2ff79 100755 --- a/react-ui/src/components/devices/reducer/device.reducer.ts +++ b/react-ui/src/components/devices/reducer/device.reducer.ts @@ -16,7 +16,6 @@ export type Device = NetworkelementFlattenedManagedNetworkElement interface SelectedObject { device: Device mne: NetworkelementManagedNetworkElement | null - json: JSON | null } export interface DeviceSliceState { @@ -93,18 +92,10 @@ const deviceSlice = createSlice({ state.selected.mne = action.payload }, - - setSelectedJson: (state, action: PayloadAction<JSON>) => { - if (!state.selected) { - throw new Error('Selected Device is null where it shouldn´t be null') - } - - state.selected.json = action.payload || null - }, }, }) -export const { setDevices, setSelectedDevice, setSelectedMne, setSelectedJson, setPnds } = +export const { setDevices, setSelectedDevice, setSelectedMne, setPnds } = deviceSlice.actions export default deviceSlice.reducer diff --git a/react-ui/src/components/devices/routines/mne.routine.ts b/react-ui/src/components/devices/routines/mne.routine.ts index 967da2615e5ccad3a80995d5dc8eebd7e72a0b0a..8f75e3a6475061c3ab4b546b280d09fa3c4509ac 100755 --- a/react-ui/src/components/devices/routines/mne.routine.ts +++ b/react-ui/src/components/devices/routines/mne.routine.ts @@ -1,9 +1,8 @@ -import { api, NetworkElementServiceGetApiArg, NetworkElementServiceParseYangApiArg } from '@api/api' +import { api, NetworkElementServiceGetApiArg } from '@api/api' import { Device, setSelectedDevice, - setSelectedJson, - setSelectedMne, + setSelectedMne } from '@component/devices/reducer/device.reducer' import { createAsyncThunk } from '@reduxjs/toolkit' import { addRoutine } from '@shared/reducer/routine.reducer' @@ -83,30 +82,3 @@ startListening({ listenerApi.dispatch(setSelectedMne(action.payload.mne)) }, }) - -/** - * #3 - * Fetch & receive json - * - * Triggered by #2 - */ -startListening({ - predicate: (action) => setSelectedMne.match(action), - effect: async (action, listenerApi) => { - const payload: NetworkElementServiceParseYangApiArg = { - timestamp: new Date().getTime().toString(), - yang: action.payload.model, - } - - const { data } = await listenerApi.dispatch( - api.endpoints.networkElementServiceParseYang.initiate(payload) - ) - - if (!data?.json) { - throw new Error('ParseYang response is invalid. The json field is null') - } - const json = JSON.parse(data.json) - - listenerApi.dispatch(setSelectedJson(json)) - }, -}) diff --git a/react-ui/src/components/devices/view_model/device.viewmodel.ts b/react-ui/src/components/devices/view_model/device.viewmodel.ts index 5c4acc6619f1f7156e85ef7b5f393a29dee09276..543c4585781b7ff55447c676f0a659bda89b974e 100755 --- a/react-ui/src/components/devices/view_model/device.viewmodel.ts +++ b/react-ui/src/components/devices/view_model/device.viewmodel.ts @@ -17,12 +17,13 @@ export const useDeviceViewModel = () => { } const getYangModelJSON = (): JSON | null => { - if (!selectedDevice?.json) { + if (!selectedDevice?.mne?.model) { return null } - const key = Object.keys(selectedDevice.json).at(1) as keyof typeof selectedDevice.json - const innerJson = selectedDevice.json[key] + const json = JSON.parse(selectedDevice.mne.model); + const key = Object.keys(json).at(1) as keyof typeof selectedDevice.mne.model + const innerJson = json[key] if (!(innerJson instanceof Object)) { return null