UNPKG

2.09 kBJavaScriptView Raw
1// @flow
2
3import type {
4 ItemsState,
5 PagesState,
6
7 Action,
8} from "./types";
9
10import {
11 REQUEST_PAGE,
12 RECEIVE_PAGE,
13 RESET_VIEW,
14 CHANGE_VIEW,
15 CLEAR_DATA,
16 FETCH_CURRENT_COMPANY_INFO_PENDING,
17
18 FETCH_ITEM_DATA_PENDING,
19 FETCH_ITEM_DATA_REJECTED,
20 FETCH_ITEM_DATA_FULFILLED,
21} from "./actionTypes";
22
23import * as Immutable from "immutable";
24
25import * as reducerItemData from "./reducerItemData";
26import * as reducerOperations from "./reducerOperations";
27
28export const pages = (state : PagesState = Immutable.Map(), action : Action) => {
29 switch (action.type) {
30 case REQUEST_PAGE:
31 return reducerOperations.requestPage(state, action);
32
33 case RECEIVE_PAGE:
34 return reducerOperations.receivePage(state, action);
35
36 case RESET_VIEW:
37 return reducerOperations.resetView(state, action);
38
39 case CHANGE_VIEW:
40 return reducerOperations.changeView(state, action);
41
42 case FETCH_CURRENT_COMPANY_INFO_PENDING:
43 case CLEAR_DATA:
44 return state.clear();
45
46 default:
47 return state;
48 }
49};
50
51export const items = (state : ItemsState = Immutable.Map(), action : Action) => {
52 switch (action.type) {
53 case RECEIVE_PAGE:
54 return reducerOperations.receivePageItems(state, action);
55
56 case FETCH_CURRENT_COMPANY_INFO_PENDING:
57 case CLEAR_DATA:
58 return state.clear();
59 default:
60 return state;
61 }
62};
63
64export const dataItems = (state : ItemsState = Immutable.Map(), action : Action) => {
65 switch (action.type) {
66 case RECEIVE_PAGE:
67 return reducerOperations.receivePageItems(state, action);
68
69 case FETCH_ITEM_DATA_PENDING:
70 return reducerItemData.fetchItemDataPending(state, action);
71 case FETCH_ITEM_DATA_REJECTED:
72 return reducerItemData.fetchItemDataRejected(state, action);
73 case FETCH_ITEM_DATA_FULFILLED:
74 return reducerItemData.fetchItemDataFulFilled(state, action);
75
76 case FETCH_CURRENT_COMPANY_INFO_PENDING:
77 case CLEAR_DATA:
78 return state.clear();
79 default:
80 return state;
81 }
82};