other means

This commit is contained in:
2023-11-09 05:50:30 +03:00
parent f015090143
commit fc06a86059
32 changed files with 353 additions and 143 deletions

View File

@@ -0,0 +1,38 @@
import {createSlice, PayloadAction} from "@reduxjs/toolkit";
import {ShippingWarehouse} from "../../types/shippingWarehouse";
export interface ShippingWarehouseSelectState {
shippingWarehouses: ShippingWarehouse[]
selectedShippingWarehouse: ShippingWarehouse
initialized: boolean
}
const initialState: ShippingWarehouseSelectState = {
shippingWarehouses: [],
selectedShippingWarehouse: {
id: -1,
name: "Все склады отгрузки"
},
initialized: false
}
export const shippingWarehouseSelect = createSlice({
name: 'shippingWarehouse',
initialState,
reducers: {
initializeShippingWarehouseSelect: (state, action: PayloadAction<ShippingWarehouse[]>) => {
state.shippingWarehouses = action.payload;
state.initialized = true;
if (state.shippingWarehouses.length > 0) state.selectedShippingWarehouse = state.shippingWarehouses[0];
},
selectShippingWarehouse: (state, action: PayloadAction<{ shippingWarehouseId: number }>) => {
let selectedWarehouse = state.shippingWarehouses.find(wh => wh.id == action.payload.shippingWarehouseId);
if (!selectedWarehouse) return;
state.selectedShippingWarehouse = selectedWarehouse;
}
}
})
export const {initializeShippingWarehouseSelect, selectShippingWarehouse} = shippingWarehouseSelect.actions;
export default shippingWarehouseSelect.reducer;