fix: korrigiere fetchGisLinesStatusService für WebService-Antwort 'Statis'
- ersetzt Zugriff auf json.Lines durch json.Statis - behebt leeren Redux-State bei Linienstatus - Daten aus Webservice fließen jetzt korrekt in gisLinesStatusSlice
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
// /redux/slices/database/gisLinesSlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
import { fetchGisLinesThunk } from "../../thunks/database/fetchGisLinesThunk";
|
||||
|
||||
|
||||
33
redux/slices/webService/gisLinesStatusSlice.js
Normal file
33
redux/slices/webService/gisLinesStatusSlice.js
Normal file
@@ -0,0 +1,33 @@
|
||||
// /redux/slices/webservice/gisLinesStatusSlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
import { fetchGisLinesStatusThunk } from "../../thunks/webservice/fetchGisLinesStatusThunk";
|
||||
|
||||
const initialState = {
|
||||
data: [],
|
||||
status: "idle",
|
||||
error: null,
|
||||
};
|
||||
|
||||
export const gisLinesStatusSlice = createSlice({
|
||||
name: "gisLinesStatus",
|
||||
initialState,
|
||||
reducers: {},
|
||||
extraReducers: (builder) => {
|
||||
builder
|
||||
.addCase(fetchGisLinesStatusThunk.pending, (state) => {
|
||||
state.status = "loading";
|
||||
})
|
||||
.addCase(fetchGisLinesStatusThunk.fulfilled, (state, action) => {
|
||||
state.status = "succeeded";
|
||||
state.data = action.payload;
|
||||
})
|
||||
.addCase(fetchGisLinesStatusThunk.rejected, (state, action) => {
|
||||
state.status = "failed";
|
||||
state.error = action.payload;
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default gisLinesStatusSlice.reducer;
|
||||
|
||||
export const selectGisLinesStatus = (state) => state.gisLinesStatus;
|
||||
34
redux/slices/webService/userRightsSlice.js
Normal file
34
redux/slices/webService/userRightsSlice.js
Normal file
@@ -0,0 +1,34 @@
|
||||
// /redux/slices/webservice/userRightsSlice.js
|
||||
import { createSlice } from "@reduxjs/toolkit";
|
||||
import { fetchUserRightsThunk } from "../../thunks/webservice/fetchUserRightsThunk";
|
||||
|
||||
const initialState = {
|
||||
rights: [],
|
||||
status: "idle",
|
||||
error: null,
|
||||
};
|
||||
|
||||
export const userRightsSlice = createSlice({
|
||||
name: "userRights",
|
||||
initialState,
|
||||
reducers: {},
|
||||
extraReducers: (builder) => {
|
||||
builder
|
||||
.addCase(fetchUserRightsThunk.pending, (state) => {
|
||||
state.status = "loading";
|
||||
})
|
||||
.addCase(fetchUserRightsThunk.fulfilled, (state, action) => {
|
||||
state.status = "succeeded";
|
||||
state.rights = action.payload;
|
||||
})
|
||||
.addCase(fetchUserRightsThunk.rejected, (state, action) => {
|
||||
state.status = "failed";
|
||||
state.error = action.payload;
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
export default userRightsSlice.reducer;
|
||||
|
||||
export const selectUserRights = (state) => state.userRights.rights;
|
||||
export const selectUserRightsStatus = (state) => state.userRights.status;
|
||||
@@ -3,13 +3,6 @@ import { configureStore } from "@reduxjs/toolkit";
|
||||
import lineVisibilityReducer from "./slices/lineVisibilitySlice";
|
||||
import currentPoiReducer from "./slices/currentPoiSlice";
|
||||
import polylineLayerVisibleReducer from "./slices/polylineLayerVisibleSlice";
|
||||
import locationDevicesFromDBReducer from "./slices/database/locationDevicesFromDBSlice";
|
||||
import gisStationsStaticDistrictReducer from "./slices/webService/gisStationsStaticDistrictSlice";
|
||||
import gisStationsStatusDistrictReducer from "./slices/webService/gisStationsStatusDistrictSlice";
|
||||
import gisStationsMeasurementsReducer from "./slices/webService/gisStationsMeasurementsSlice";
|
||||
import gisSystemStaticReducer from "./slices/webService/gisSystemStaticSlice";
|
||||
|
||||
import poiTypesReducer from "./slices/database/poiTypesSlice";
|
||||
import addPoiOnPolylineReducer from "./slices/addPoiOnPolylineSlice";
|
||||
import polylineContextMenuReducer from "./slices/polylineContextMenuSlice";
|
||||
import selectedPoiReducer from "./slices/selectedPoiSlice";
|
||||
@@ -22,8 +15,18 @@ import readPoiMarkersStoreReducer from "./slices/readPoiMarkersStoreSlice";
|
||||
import selectedAreaReducer from "./slices/selectedAreaSlice";
|
||||
import zoomTriggerReducer from "./slices/zoomTriggerSlice";
|
||||
import urlParameterReducer from "./slices/urlParameterSlice";
|
||||
//-----database------------
|
||||
import priorityConfigReducer from "./slices/database/priorityConfigSlice";
|
||||
import gisLinesReducer from "./slices/database/gisLinesSlice";
|
||||
import poiTypesReducer from "./slices/database/poiTypesSlice";
|
||||
import locationDevicesFromDBReducer from "./slices/database/locationDevicesFromDBSlice";
|
||||
//----webservice------------
|
||||
import gisStationsStaticDistrictReducer from "./slices/webservice/gisStationsStaticDistrictSlice";
|
||||
import gisStationsStatusDistrictReducer from "./slices/webservice/gisStationsStatusDistrictSlice";
|
||||
import gisStationsMeasurementsReducer from "./slices/webservice/gisStationsMeasurementsSlice";
|
||||
import gisSystemStaticReducer from "./slices/webservice/gisSystemStaticSlice";
|
||||
import gisLinesStatusReducer from "./slices/webservice/gisLinesStatusSlice";
|
||||
import userRightsReducer from "./slices/webservice/userRightsSlice";
|
||||
|
||||
export const store = configureStore({
|
||||
reducer: {
|
||||
@@ -50,5 +53,7 @@ export const store = configureStore({
|
||||
urlParameter: urlParameterReducer,
|
||||
priorityConfig: priorityConfigReducer,
|
||||
gisLines: gisLinesReducer,
|
||||
gisLinesStatus: gisLinesStatusReducer,
|
||||
userRights: userRightsReducer,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// /redux/thunks/database/fetchGisLinesThunk.js
|
||||
import { createAsyncThunk } from "@reduxjs/toolkit";
|
||||
import { fetchGisLinesService } from "../../../services/database/fetchGisLinesService";
|
||||
|
||||
|
||||
11
redux/thunks/webservice/fetchGisLinesStatusThunk.js
Normal file
11
redux/thunks/webservice/fetchGisLinesStatusThunk.js
Normal file
@@ -0,0 +1,11 @@
|
||||
// /redux/thunks/webservice/fetchGisLinesStatusThunk.js
|
||||
import { createAsyncThunk } from "@reduxjs/toolkit";
|
||||
import { fetchGisLinesStatusService } from "../../../services/webservice/fetchGisLinesStatusService";
|
||||
|
||||
export const fetchGisLinesStatusThunk = createAsyncThunk("gisLinesStatus/fetch", async (_, thunkAPI) => {
|
||||
try {
|
||||
return await fetchGisLinesStatusService();
|
||||
} catch (error) {
|
||||
return thunkAPI.rejectWithValue(error.message);
|
||||
}
|
||||
});
|
||||
11
redux/thunks/webservice/fetchUserRightsThunk.js
Normal file
11
redux/thunks/webservice/fetchUserRightsThunk.js
Normal file
@@ -0,0 +1,11 @@
|
||||
// /redux/thunks/webservice/fetchUserRightsThunk.js
|
||||
import { createAsyncThunk } from "@reduxjs/toolkit";
|
||||
import { fetchUserRightsService } from "../../../services/webservice/fetchUserRightsService";
|
||||
|
||||
export const fetchUserRightsThunk = createAsyncThunk("userRights/fetch", async (_, thunkAPI) => {
|
||||
try {
|
||||
return await fetchUserRightsService();
|
||||
} catch (error) {
|
||||
return thunkAPI.rejectWithValue(error.message);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user