import { combineReducers } from "redux"; import { OPEN_EXPERIMENT_SUCCEEDED } from "../actions/experiments"; import { GO_DOWN_ONE_INTERACTION_LEVEL } from "../actions/interaction-level"; import { CANCEL_NEW_ROOM_CONSTRUCTION_SUCCEEDED, FINISH_NEW_ROOM_CONSTRUCTION, FINISH_ROOM_EDIT, START_NEW_ROOM_CONSTRUCTION_SUCCEEDED, START_ROOM_EDIT } from "../actions/topology/building"; import { DELETE_ROOM, START_RACK_CONSTRUCTION, STOP_RACK_CONSTRUCTION } from "../actions/topology/room"; export function currentRoomInConstruction(state = -1, action) { switch (action.type) { case START_NEW_ROOM_CONSTRUCTION_SUCCEEDED: return action.roomId; case START_ROOM_EDIT: return action.roomId; case CANCEL_NEW_ROOM_CONSTRUCTION_SUCCEEDED: case FINISH_NEW_ROOM_CONSTRUCTION: case OPEN_EXPERIMENT_SUCCEEDED: case FINISH_ROOM_EDIT: case DELETE_ROOM: return -1; default: return state; } } export function inRackConstructionMode(state = false, action) { switch (action.type) { case START_RACK_CONSTRUCTION: return true; case STOP_RACK_CONSTRUCTION: case OPEN_EXPERIMENT_SUCCEEDED: case GO_DOWN_ONE_INTERACTION_LEVEL: return false; default: return state; } } export const construction = combineReducers({ currentRoomInConstruction, inRackConstructionMode });