UNPKG

1.26 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = createReducer;
7
8var _Sort = require('../models/Sort');
9
10var _Sort2 = _interopRequireDefault(_Sort);
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14function setSort(currentSort, nextSort) {
15 return nextSort ? new _Sort2.default(nextSort) : currentSort;
16} /** Created by hhj on 8/29/16. */
17function createReducer(actionTypes) {
18
19 return function sortReducer() {
20 var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
21 var action = arguments[1];
22
23 var nextSort = action.meta ? action.meta.sort : null;
24
25 switch (action.type) {
26
27 case actionTypes.fetchCollectionSuccess:
28 return setSort(state, nextSort);
29
30 case actionTypes.sortChange:
31 var newSort = void 0;
32 if (state.by !== action.sortField) {
33 newSort = new _Sort2.default({ dir: true, by: action.sortField });
34 } else if (state.dir === true) {
35 newSort = new _Sort2.default({ dir: false, by: action.sortField });
36 } else {
37 newSort = new _Sort2.default();
38 }
39 return newSort;
40
41 default:
42 return state;
43 }
44 };
45}
\No newline at end of file