stationOverlay.js 768 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { Map } from "immutable";
  2. import {
  3. OPEN_OVERLAY1,
  4. OPEN_OVERLAY2,
  5. CLOSE_OVERLAY1,
  6. CLOSE_OVERLAY2,
  7. } from "actions/stationOverlay";
  8. const initialState = Map({
  9. overlay1: null,
  10. overlay2: null,
  11. });
  12. const actionsMap = {
  13. [OPEN_OVERLAY1]: (state, action) => {
  14. return state.merge({
  15. overlay1: action.overlay,
  16. });
  17. },
  18. [OPEN_OVERLAY2]: (state, action) => {
  19. return state.merge({
  20. overlay2: action.overlay,
  21. });
  22. },
  23. [CLOSE_OVERLAY1]: (state, action) => {
  24. return state.merge({
  25. overlay1: null,
  26. });
  27. },
  28. [CLOSE_OVERLAY2]: (state, action) => {
  29. return state.merge({
  30. overlay2: null,
  31. });
  32. },
  33. };
  34. export default function reducer(state = initialState, action = {}) {
  35. const fn = actionsMap[action.type];
  36. return fn ? fn(state, action) : state;
  37. }