redux-paginator-immutable 17.0.4 → 17.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/lib/__tests__/createPaginator.spec.js +2 -2
  2. package/lib/__tests__/reducers.spec.js +2 -3
  3. package/lib/__tests__/selectors.spec.js +11 -13
  4. package/package.json +15 -8
  5. package/src/Info.tsx +29 -0
  6. package/src/LoadDataItem.tsx +84 -0
  7. package/src/{LoadPaginator.jsx → LoadPaginator.tsx} +77 -94
  8. package/src/LoadingButton.tsx +40 -0
  9. package/src/__tests__/createPaginator.spec.js +6 -6
  10. package/src/__tests__/reducers.spec.js +28 -28
  11. package/src/__tests__/selectors.spec.js +80 -81
  12. package/src/{actionTypes.js → actionTypes.ts} +0 -4
  13. package/src/actions.ts +157 -0
  14. package/src/agent.ts +62 -0
  15. package/src/createDataReducer.ts +98 -0
  16. package/src/{createItemReducer.js → createItemReducer.ts} +6 -12
  17. package/src/createPaginator.ts +107 -0
  18. package/src/{index.js → index.ts} +0 -13
  19. package/src/paginatorMiddleware.ts +93 -0
  20. package/src/reducerItemData.ts +74 -0
  21. package/src/reducerOperations.ts +101 -0
  22. package/src/{reducers.js → reducers.ts} +9 -18
  23. package/src/selectors.ts +113 -0
  24. package/src/types/{actions.js → actions.ts} +27 -39
  25. package/src/types/{index.js → index.ts} +3 -13
  26. package/src/types/{state.js → state.ts} +3 -6
  27. package/src/util.ts +51 -0
  28. package/src/{words.js → words.ts} +0 -2
  29. package/lib/Info.js +0 -37
  30. package/lib/LoadDataItem.js +0 -110
  31. package/lib/LoadPaginator.js +0 -216
  32. package/lib/LoadingButton.js +0 -75
  33. package/lib/actionTypes.js +0 -16
  34. package/lib/actions.js +0 -136
  35. package/lib/agent.js +0 -86
  36. package/lib/createDataReducer.js +0 -83
  37. package/lib/createItemReducer.js +0 -36
  38. package/lib/createPaginator.js +0 -141
  39. package/lib/index.js +0 -58
  40. package/lib/paginatorMiddleware.js +0 -102
  41. package/lib/reducerItemData.js +0 -63
  42. package/lib/reducerOperations.js +0 -114
  43. package/lib/reducers.js +0 -87
  44. package/lib/selectors.js +0 -129
  45. package/lib/types/actions.js +0 -1
  46. package/lib/types/index.js +0 -29
  47. package/lib/types/state.js +0 -1
  48. package/lib/util.js +0 -73
  49. package/lib/words.js +0 -15
  50. package/src/Info.jsx +0 -32
  51. package/src/LoadDataItem.jsx +0 -116
  52. package/src/LoadingButton.jsx +0 -55
  53. package/src/actions.js +0 -153
  54. package/src/agent.js +0 -55
  55. package/src/createDataReducer.js +0 -94
  56. package/src/createPaginator.js +0 -131
  57. package/src/paginatorMiddleware.js +0 -94
  58. package/src/reducerItemData.jsx +0 -64
  59. package/src/reducerOperations.jsx +0 -112
  60. package/src/selectors.js +0 -143
  61. package/src/util.js +0 -71
package/lib/Info.js DELETED
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _react = require("react");
8
-
9
- var _react2 = _interopRequireDefault(_react);
10
-
11
- var _utility = require("x25/utility");
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- var getNumberForm = function getNumberForm(value, one, all) {
16
- if (value === 1) {
17
- return "1 " + one;
18
- }
19
-
20
- return _utility.words.getNumberTense(value) + " " + all;
21
- };
22
-
23
- var Info = function Info(_ref) {
24
- var shown = _ref.shown,
25
- total = _ref.total,
26
- one = _ref.one,
27
- all = _ref.all;
28
- return _react2.default.createElement(
29
- "div",
30
- { className: "text-muted" },
31
- _utility.words.Showing + " ",
32
- shown === total ? _utility.words.All + " - " : shown + " " + _utility.words.Of,
33
- " " + getNumberForm(total, one, all)
34
- );
35
- };
36
-
37
- exports.default = Info;
@@ -1,110 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- 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; };
8
-
9
- // import {
10
- // useLocation,
11
- // useNavigate,
12
- // useParams,
13
- // } from "react-router-dom";
14
-
15
- // const withRouter = (Component) => {
16
- // const ComponentWithRouterProp = (props) => {
17
- // const location = useLocation();
18
- // const navigate = useNavigate();
19
- // const params = useParams();
20
-
21
- // return (
22
- // <Component
23
- // {...props}
24
- // router={{
25
- // location,
26
- // navigate,
27
- // params,
28
- // }}
29
- // />
30
- // );
31
- // };
32
-
33
- // return ComponentWithRouterProp;
34
- // };
35
-
36
- var _react = require("react");
37
-
38
- var React = _interopRequireWildcard(_react);
39
-
40
- var _reactRedux = require("react-redux");
41
-
42
- var _actions = require("./actions");
43
-
44
- var _Messages = require("x25/Messages");
45
-
46
- var _words = require("./words");
47
-
48
- var _words2 = _interopRequireDefault(_words);
49
-
50
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
51
-
52
- 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; } }
53
-
54
- var mapStateToProps = function mapStateToProps(state, _ref) {
55
- var selectors = _ref.settings.selectors,
56
- id = _ref.id;
57
- return {
58
- data: selectors.getItem(state, id),
59
- hasError: selectors.getItemHasError(state, id),
60
- fetched: selectors.getItemIsFetched(state, id),
61
- isFetching: selectors.getIsFetchingItemInfo(state, id),
62
- shouldFetch: selectors.getShouldFetchItemInfo(state, id)
63
- };
64
- },
65
- mapDispatchToProps = function mapDispatchToProps(dispatch, _ref2) {
66
- var id = _ref2.id,
67
- settings = _ref2.settings;
68
- return {
69
- fetchItem: function fetchItem() {
70
- dispatch((0, _actions.fetchItem)(_extends({}, settings, {
71
- id: id
72
- })));
73
- }
74
- };
75
- };
76
-
77
- var LoadDataItem = function LoadDataItem(props) {
78
- var children = props.children,
79
- data = props.data,
80
- isFetching = props.isFetching,
81
- shouldFetch = props.shouldFetch,
82
- hasError = props.hasError,
83
- fetchItem = props.fetchItem;
84
-
85
-
86
- React.useEffect(function () {
87
- if (shouldFetch) {
88
- fetchItem();
89
- }
90
- }, [shouldFetch, isFetching, hasError]);
91
-
92
- if (isFetching) {
93
- return React.createElement(_Messages.LoadingMessage, { message: _words2.default.LoadingData });
94
- }
95
-
96
- if (hasError) {
97
- return React.createElement(_Messages.LargeErrorMessage, {
98
- message: _words2.default.ThereWasAProblem,
99
- onRetry: fetchItem
100
- });
101
- }
102
-
103
- if (data.size === 0) {
104
- return null;
105
- }
106
-
107
- return children;
108
- };
109
-
110
- exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LoadDataItem);
@@ -1,216 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
-
9
- 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; };
10
- /* eslint-disable */
11
-
12
- var _react = require("react");
13
-
14
- var _react2 = _interopRequireDefault(_react);
15
-
16
- var _immutable = require("immutable");
17
-
18
- var Immutable = _interopRequireWildcard(_immutable);
19
-
20
- var _reactRedux = require("react-redux");
21
-
22
- var _redux = require("redux");
23
-
24
- var _selectors = require("./selectors");
25
-
26
- var _selectors2 = _interopRequireDefault(_selectors);
27
-
28
- var _LoadingButton = require("./LoadingButton");
29
-
30
- var _LoadingButton2 = _interopRequireDefault(_LoadingButton);
31
-
32
- var _Messages = require("x25/Messages");
33
-
34
- var _words = require("./words");
35
-
36
- var _words2 = _interopRequireDefault(_words);
37
-
38
- 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; } }
39
-
40
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
-
42
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
-
44
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
45
-
46
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
47
-
48
- var mapStateToProps = function mapStateToProps(state, _ref) {
49
- var token = _ref.token,
50
- settings = _ref.settings;
51
-
52
- var _selectors$getPaginat = _selectors2.default.getPaginators(state, settings.key),
53
- list = _selectors$getPaginat.list,
54
- entities = _selectors$getPaginat.entities;
55
-
56
- var currentPage = _selectors2.default.getCurrentView(list, token),
57
- isFetching = _selectors2.default.isPageFetching(list, token, currentPage),
58
- isFetched = _selectors2.default.isPageFetched(list, token, currentPage),
59
- isNextFetching = _selectors2.default.isPageFetching(list, token, currentPage + 1),
60
- isNextFetched = _selectors2.default.isPageFetched(list, token, currentPage + 1),
61
- resultsUpTo = _selectors2.default.getResultsUpToPage(list, token, entities, currentPage, settings.rowsPerLoad),
62
- items = settings.manipulateItems(resultsUpTo),
63
- total = _selectors2.default.getCurrentTotalResultsCount(list, token),
64
- hasProblems = _selectors2.default.hasPageProblems(list, token, currentPage);
65
-
66
- var shouldLoadNext = !isNextFetched && !isNextFetching;
67
-
68
- return {
69
- paginator: Immutable.Map({
70
- currentPage: currentPage,
71
- hasProblems: hasProblems,
72
- isFetched: isFetched,
73
- isFetching: isFetching,
74
- items: items,
75
- shouldLoadNext: shouldLoadNext,
76
- total: total
77
- })
78
- };
79
- },
80
- mapDispatchToProps = function mapDispatchToProps(dispatch, _ref2) {
81
- var token = _ref2.token,
82
- settings = _ref2.settings;
83
- return _extends({}, (0, _redux.bindActionCreators)({
84
- resetView: settings.resetView,
85
- changeView: settings.changeView
86
- }, dispatch), {
87
- loadData: function loadData(page) {
88
- dispatch(settings.requestPage(page, token));
89
- }
90
- });
91
- };
92
-
93
- var LoadPaginator = function (_Component) {
94
- _inherits(LoadPaginator, _Component);
95
-
96
- function LoadPaginator(props) {
97
- _classCallCheck(this, LoadPaginator);
98
-
99
- var _this = _possibleConstructorReturn(this, (LoadPaginator.__proto__ || Object.getPrototypeOf(LoadPaginator)).call(this, props));
100
-
101
- _this.handleLoadMoreClick = function () {
102
- var _this$props = _this.props,
103
- paginator = _this$props.paginator,
104
- token = _this$props.token,
105
- changeView = _this$props.changeView,
106
- loadData = _this$props.loadData;
107
-
108
-
109
- var currentPage = paginator.get("currentPage"),
110
- hasProblems = paginator.get("hasProblems"),
111
- shouldLoadNext = paginator.get("shouldLoadNext");
112
-
113
- if (hasProblems) {
114
- loadData(currentPage);
115
- } else {
116
- changeView({
117
- token: token,
118
- view: currentPage + 1
119
- });
120
-
121
- if (shouldLoadNext) {
122
- loadData(currentPage + 1);
123
- }
124
- }
125
- };
126
- return _this;
127
- }
128
-
129
- _createClass(LoadPaginator, [{
130
- key: "UNSAFE_componentWillMount",
131
- value: function UNSAFE_componentWillMount() {
132
- var _props = this.props,
133
- paginator = _props.paginator,
134
- loadData = _props.loadData;
135
-
136
-
137
- var isFetched = paginator.get("isFetched"),
138
- isFetching = paginator.get("isFetching"),
139
- currentPage = paginator.get("currentPage");
140
-
141
- var shouldFetch = !isFetched && !isFetching;
142
-
143
- if (shouldFetch) {
144
- loadData(currentPage);
145
- }
146
- }
147
- }, {
148
- key: "UNSAFE_componentWillReceiveProps",
149
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
150
- var loadData = nextProps.loadData,
151
- paginator = nextProps.paginator;
152
-
153
-
154
- var isFetched = paginator.get("isFetched"),
155
- isFetching = paginator.get("isFetching"),
156
- currentPage = paginator.get("currentPage");
157
-
158
- var shouldFetch = !isFetched && !isFetching;
159
-
160
- if (shouldFetch) {
161
- loadData(currentPage);
162
- }
163
- }
164
- }, {
165
- key: "shouldComponentUpdate",
166
- value: function shouldComponentUpdate(nextProps) {
167
- return this.props.paginator !== nextProps.paginator;
168
- }
169
- }, {
170
- key: "componentWillUnmount",
171
- value: function componentWillUnmount() {
172
- this.props.resetView(this.props.token);
173
- }
174
- }, {
175
- key: "render",
176
- value: function render() {
177
- var paginator = this.props.paginator;
178
-
179
-
180
- var items = paginator.get("items"),
181
- hasProblems = paginator.get("hasProblems"),
182
- currentPage = paginator.get("currentPage"),
183
- isFetching = paginator.get("isFetching"),
184
- total = paginator.get("total");
185
-
186
- var isEmpty = items.size === 0,
187
- showLoading = total !== items.size;
188
-
189
- if (isEmpty && isFetching) {
190
- return _react2.default.createElement(_Messages.LoadingMessage, { message: _words2.default.LoadingData });
191
- }
192
-
193
- if (hasProblems && currentPage === 1) {
194
- return _react2.default.createElement(_Messages.LargeErrorMessage, {
195
- message: _words2.default.ThereWasAProblem,
196
- onRetry: this.handleLoadMoreClick
197
- });
198
- }
199
-
200
- return _react2.default.createElement(
201
- _react2.default.Fragment,
202
- null,
203
- _react2.default.cloneElement(this.props.children, this.props),
204
- showLoading ? _react2.default.createElement(_LoadingButton2.default, {
205
- hasProblems: hasProblems,
206
- isFetching: isFetching,
207
- onLoadMoreClick: this.handleLoadMoreClick
208
- }) : null
209
- );
210
- }
211
- }]);
212
-
213
- return LoadPaginator;
214
- }(_react.Component);
215
-
216
- exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LoadPaginator);
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
-
9
- var _react = require("react");
10
-
11
- var _react2 = _interopRequireDefault(_react);
12
-
13
- var _Messages = require("x25/Messages");
14
-
15
- var _words = require("./words");
16
-
17
- var _words2 = _interopRequireDefault(_words);
18
-
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
-
21
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
22
-
23
- function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
24
-
25
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
26
-
27
- var LoadingButton = function (_React$Component) {
28
- _inherits(LoadingButton, _React$Component);
29
-
30
- function LoadingButton() {
31
- _classCallCheck(this, LoadingButton);
32
-
33
- return _possibleConstructorReturn(this, (LoadingButton.__proto__ || Object.getPrototypeOf(LoadingButton)).apply(this, arguments));
34
- }
35
-
36
- _createClass(LoadingButton, [{
37
- key: "shouldComponentUpdate",
38
- value: function shouldComponentUpdate(nextProps) {
39
- var _props = this.props,
40
- hasProblems = _props.hasProblems,
41
- isFetching = _props.isFetching;
42
-
43
-
44
- return hasProblems !== nextProps.hasProblems || isFetching !== nextProps.isFetching;
45
- }
46
- }, {
47
- key: "render",
48
- value: function render() {
49
- var _props2 = this.props,
50
- isFetching = _props2.isFetching,
51
- hasProblems = _props2.hasProblems,
52
- onLoadMoreClick = _props2.onLoadMoreClick;
53
-
54
-
55
- return _react2.default.createElement(
56
- "div",
57
- { className: "text-center my-2" },
58
- hasProblems ? _react2.default.createElement(_Messages.ErrorMessage, { message: _words2.default.ThereWasAProblem }) : null,
59
- isFetching ? _react2.default.createElement(_Messages.LoadingMessage, { message: _words2.default.LoadingData, sm: true }) : _react2.default.createElement(
60
- "button",
61
- {
62
- className: "btn btn-outline-info d-print-none",
63
- disabled: isFetching,
64
- onClick: onLoadMoreClick,
65
- type: "button" },
66
- isFetching ? _words2.default.Loading : _words2.default.LoadMore
67
- )
68
- );
69
- }
70
- }]);
71
-
72
- return LoadingButton;
73
- }(_react2.default.Component);
74
-
75
- exports.default = LoadingButton;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var REQUEST_PAGE = exports.REQUEST_PAGE = "@@redux-paginator-immutable/REQUEST_PAGE";
7
- var RECEIVE_PAGE = exports.RECEIVE_PAGE = "@@redux-paginator-immutable/RECEIVE_PAGE";
8
- var RESET_VIEW = exports.RESET_VIEW = "@@redux-paginator-immutable/RESET_VIEW";
9
- var CHANGE_VIEW = exports.CHANGE_VIEW = "@@redux-paginator-immutable/CHANGE_VIEW";
10
- var CLEAR_DATA = exports.CLEAR_DATA = "@@redux-paginator-immutable/CLEAR_DATA";
11
-
12
- var FETCH_ITEM_DATA_PENDING = exports.FETCH_ITEM_DATA_PENDING = "@@redux-paginator-immutable/FETCH_ITEM_DATA_PENDING";
13
- var FETCH_ITEM_DATA_REJECTED = exports.FETCH_ITEM_DATA_REJECTED = "@@redux-paginator-immutable/FETCH_ITEM_DATA_REJECTED";
14
- var FETCH_ITEM_DATA_FULFILLED = exports.FETCH_ITEM_DATA_FULFILLED = "@@redux-paginator-immutable/FETCH_ITEM_DATA_FULFILLED";
15
-
16
- var FETCH_CURRENT_COMPANY_INFO_PENDING = exports.FETCH_CURRENT_COMPANY_INFO_PENDING = "FETCH_CURRENT_COMPANY_INFO_PENDING";
package/lib/actions.js DELETED
@@ -1,136 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.fetchItem = undefined;
7
-
8
- var _superagent = require("superagent");
9
-
10
- var _superagent2 = _interopRequireDefault(_superagent);
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- var requestPage = function requestPage(_ref) {
15
- var endpoint = _ref.endpoint,
16
- endpointCb = _ref.endpointCb,
17
- manageEntity = _ref.manageEntity,
18
- resultsKey = _ref.resultsKey,
19
- totalKey = _ref.totalKey,
20
- pageArgName = _ref.pageArgName,
21
- idKey = _ref.idKey,
22
- page = _ref.page,
23
- token = _ref.token;
24
- return {
25
- type: "@@redux-paginator-immutable/REQUEST_PAGE",
26
- meta: {
27
- endpoint: endpoint,
28
- endpointCb: endpointCb,
29
- manageEntity: manageEntity,
30
- resultsKey: resultsKey,
31
- totalKey: totalKey,
32
- pageArgName: pageArgName,
33
- idKey: idKey
34
- },
35
- payload: {
36
- page: page,
37
- token: token
38
- }
39
- };
40
- };
41
-
42
- var receivePage = function receivePage(_ref2) {
43
- var endpoint = _ref2.endpoint,
44
- endpointCb = _ref2.endpointCb,
45
- manageEntity = _ref2.manageEntity,
46
- pageArgName = _ref2.pageArgName,
47
- idKey = _ref2.idKey,
48
- page = _ref2.page,
49
- token = _ref2.token,
50
- items = _ref2.items,
51
- error = _ref2.error,
52
- total = _ref2.total;
53
- return {
54
- type: "@@redux-paginator-immutable/RECEIVE_PAGE",
55
- meta: {
56
- endpoint: endpoint,
57
- endpointCb: endpointCb,
58
- manageEntity: manageEntity,
59
- pageArgName: pageArgName,
60
- idKey: idKey
61
- },
62
- payload: {
63
- page: page,
64
- token: token,
65
- items: items,
66
- error: error,
67
- total: total
68
- }
69
- };
70
- };
71
-
72
- var resetView = function resetView(endpoint, token) {
73
- return {
74
- type: "@@redux-paginator-immutable/RESET_VIEW",
75
- meta: {
76
- endpoint: endpoint
77
- },
78
- payload: {
79
- token: token
80
- }
81
- };
82
- };
83
-
84
- var changeView = function changeView(endpoint, _ref3) {
85
- var token = _ref3.token,
86
- view = _ref3.view;
87
- return {
88
- type: "@@redux-paginator-immutable/CHANGE_VIEW",
89
- meta: {
90
- endpoint: endpoint
91
- },
92
- payload: {
93
- token: token,
94
- view: view
95
- }
96
- };
97
- };
98
-
99
- var clearData = function clearData(endpoint) {
100
- return {
101
- type: "@@redux-paginator-immutable/CLEAR_DATA",
102
- meta: {
103
- endpoint: endpoint
104
- }
105
- };
106
- };
107
-
108
- // data info
109
-
110
- var fetchDataItemRequest = function fetchDataItemRequest(_ref4) {
111
- var dataItemURL = _ref4.dataItemURL,
112
- normalizeDataItem = _ref4.normalizeDataItem,
113
- id = _ref4.id;
114
- return new Promise(function (resolve, reject) {
115
- return _superagent2.default.get(dataItemURL + "/" + id).set("Accept", "application/json").end(normalizeDataItem(resolve, reject));
116
- });
117
- };
118
-
119
- var fetchItem = exports.fetchItem = function fetchItem(things) {
120
- return {
121
- type: "@@redux-paginator-immutable/FETCH_ITEM_DATA",
122
- payload: fetchDataItemRequest(things),
123
- meta: {
124
- id: things.id,
125
- endpoint: things.endpoint
126
- }
127
- };
128
- };
129
-
130
- exports.default = {
131
- clearData: clearData,
132
- requestPage: requestPage,
133
- receivePage: receivePage,
134
- resetView: resetView,
135
- changeView: changeView
136
- };
package/lib/agent.js DELETED
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.fetchPage = exports.buildSuffix = 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
- /* eslint-disable no-bitwise*/
10
-
11
- var _superagent = require("superagent");
12
-
13
- var _superagent2 = _interopRequireDefault(_superagent);
14
-
15
- var _queryString = require("query-string");
16
-
17
- var _queryString2 = _interopRequireDefault(_queryString);
18
-
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
-
21
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
22
-
23
- var buildSuffix = exports.buildSuffix = function buildSuffix(pageArgName, page, params) {
24
- var parsedParams = _queryString2.default.parse(params);
25
- var finalParsedParams = {},
26
- startString = "";
27
-
28
- var _iteratorNormalCompletion = true;
29
- var _didIteratorError = false;
30
- var _iteratorError = undefined;
31
-
32
- try {
33
- for (var _iterator = Object.keys(parsedParams)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
34
- var key = _step.value;
35
-
36
- if (parsedParams[key] === null) {
37
- startString += key;
38
- } else {
39
- finalParsedParams = _extends({}, finalParsedParams, _defineProperty({}, key, parsedParams[key]));
40
- }
41
- }
42
- } catch (err) {
43
- _didIteratorError = true;
44
- _iteratorError = err;
45
- } finally {
46
- try {
47
- if (!_iteratorNormalCompletion && _iterator.return) {
48
- _iterator.return();
49
- }
50
- } finally {
51
- if (_didIteratorError) {
52
- throw _iteratorError;
53
- }
54
- }
55
- }
56
-
57
- startString = startString === "" ? "?" : startString + "?";
58
-
59
- if (Object.keys(finalParsedParams).length > 0 && _queryString2.default.extract(params) !== "") {
60
- startString = params.replace(_queryString2.default.extract(params), "");
61
- }
62
-
63
- return startString + _queryString2.default.stringify(_extends({}, finalParsedParams, _defineProperty({}, pageArgName, page)), { encode: false }).replace(startString, "");
64
- };
65
-
66
- var fetchPage = exports.fetchPage = function fetchPage(_ref) {
67
- var endpoint = _ref.endpoint,
68
- pageArgName = _ref.pageArgName,
69
- page = _ref.page,
70
- token = _ref.token;
71
-
72
- var suffix = buildSuffix(pageArgName, page, token),
73
- url = endpoint + suffix;
74
-
75
- var promise = new Promise(function (resolve, reject) {
76
- return _superagent2.default.get(url).end(function (err, res) {
77
- return err ? reject(err) : resolve(res);
78
- });
79
- });
80
-
81
- return promise.then(function (res) {
82
- return {
83
- response: res.body
84
- };
85
- });
86
- };