1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.createPaginator = exports.onlyForEndpoint = undefined;
|
7 |
|
8 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
9 |
|
10 | var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 | var _reducers = require("./reducers");
|
28 |
|
29 | var _actions = require("./actions");
|
30 |
|
31 | var _actions2 = _interopRequireDefault(_actions);
|
32 |
|
33 | var _immutable = require("immutable");
|
34 |
|
35 | var Immutable = _interopRequireWildcard(_immutable);
|
36 |
|
37 | var _others = require("x25/utility/others");
|
38 |
|
39 | function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
40 |
|
41 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
42 |
|
43 | var onlyForEndpoint = exports.onlyForEndpoint = function onlyForEndpoint(endpoint, reducer) {
|
44 | return function () {
|
45 | var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Immutable.Map();
|
46 | var action = arguments[1];
|
47 |
|
48 | if (typeof action.meta === "undefined" || action.meta.endpoint !== endpoint) {
|
49 | return state;
|
50 | }
|
51 |
|
52 | return reducer(state, action);
|
53 | };
|
54 | };
|
55 |
|
56 | var getEndpoint = function getEndpoint(data) {
|
57 | if ((typeof data === "undefined" ? "undefined" : _typeof(data)) === "object") {
|
58 | return {
|
59 | path: data.path,
|
60 | cb: data.cb
|
61 | };
|
62 | }
|
63 |
|
64 | return {
|
65 | path: data,
|
66 | cb: null
|
67 | };
|
68 | };
|
69 |
|
70 | var createPaginator = exports.createPaginator = function createPaginator(endpointData, settings) {
|
71 | var _getEndpoint = getEndpoint(endpointData),
|
72 | endpoint = _getEndpoint.path,
|
73 | endpointCb = _getEndpoint.cb;
|
74 |
|
75 | var key = settings.key,
|
76 | normalizeDataItem = settings.normalizeDataItem,
|
77 | dataItemURL = settings.dataItemURL,
|
78 | manageEntity = settings.manageEntity,
|
79 | resultsKey = settings.resultsKey,
|
80 | _settings$totalKey = settings.totalKey,
|
81 | totalKey = _settings$totalKey === undefined ? "Total" : _settings$totalKey,
|
82 | _settings$pageArgName = settings.pageArgName,
|
83 | pageArgName = _settings$pageArgName === undefined ? "page" : _settings$pageArgName,
|
84 | _settings$idKey = settings.idKey,
|
85 | idKey = _settings$idKey === undefined ? "ID" : _settings$idKey,
|
86 | _settings$rowsPerLoad = settings.rowsPerLoad,
|
87 | rowsPerLoad = _settings$rowsPerLoad === undefined ? _others.rowsPerLoad : _settings$rowsPerLoad,
|
88 | _settings$manipulateI = settings.manipulateItems,
|
89 | manipulateItems = _settings$manipulateI === undefined ? function (items) {
|
90 | return items;
|
91 | } : _settings$manipulateI;
|
92 |
|
93 |
|
94 | var endpointedActions = {
|
95 | requestPage: function requestPage(page, token) {
|
96 | return _actions2.default.requestPage({
|
97 | endpoint: endpoint,
|
98 | endpointCb: endpointCb,
|
99 | manageEntity: manageEntity,
|
100 | resultsKey: resultsKey,
|
101 | totalKey: totalKey,
|
102 | pageArgName: pageArgName,
|
103 | idKey: idKey,
|
104 | page: page,
|
105 | token: token
|
106 | });
|
107 | },
|
108 | resetView: function resetView(token) {
|
109 | return _actions2.default.resetView(endpoint, token);
|
110 | },
|
111 | changeView: function changeView(_ref) {
|
112 | var view = _ref.view,
|
113 | token = _ref.token;
|
114 |
|
115 | return _actions2.default.changeView(endpoint, {
|
116 | view: view,
|
117 | token: token
|
118 | });
|
119 | },
|
120 | clearData: function clearData() {
|
121 | return _actions2.default.clearData(endpoint);
|
122 | }
|
123 | };
|
124 |
|
125 | return _extends({
|
126 | key: key,
|
127 | normalizeDataItem: normalizeDataItem,
|
128 | dataItemURL: dataItemURL,
|
129 | manipulateItems: manipulateItems,
|
130 | rowsPerLoad: rowsPerLoad,
|
131 | manageEntity: manageEntity,
|
132 | resultsKey: resultsKey,
|
133 | endpoint: endpoint,
|
134 |
|
135 | pagesReducer: onlyForEndpoint(endpoint, _reducers.pages),
|
136 | itemsReducer: onlyForEndpoint(endpoint, _reducers.items),
|
137 |
|
138 | dataItemsReducer: onlyForEndpoint(endpoint, _reducers.dataItems)
|
139 |
|
140 | }, endpointedActions);
|
141 | }; |
\ | No newline at end of file |