redux-paginator-immutable 17.0.16 → 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.
- package/lib/__tests__/createPaginator.spec.js +2 -2
- package/lib/__tests__/reducers.spec.js +2 -3
- package/lib/__tests__/selectors.spec.js +11 -13
- package/package.json +14 -7
- package/src/Info.tsx +29 -0
- package/src/LoadDataItem.tsx +84 -0
- package/src/{LoadPaginator.jsx → LoadPaginator.tsx} +77 -94
- package/src/LoadingButton.tsx +40 -0
- package/src/__tests__/createPaginator.spec.js +6 -6
- package/src/__tests__/reducers.spec.js +28 -28
- package/src/__tests__/selectors.spec.js +80 -81
- package/src/{actionTypes.js → actionTypes.ts} +0 -4
- package/src/actions.ts +157 -0
- package/src/agent.ts +62 -0
- package/src/createDataReducer.ts +98 -0
- package/src/{createItemReducer.js → createItemReducer.ts} +6 -12
- package/src/createPaginator.ts +107 -0
- package/src/{index.js → index.ts} +0 -13
- package/src/paginatorMiddleware.ts +93 -0
- package/src/reducerItemData.ts +74 -0
- package/src/reducerOperations.ts +101 -0
- package/src/{reducers.js → reducers.ts} +9 -18
- package/src/selectors.ts +113 -0
- package/src/types/{actions.js → actions.ts} +27 -39
- package/src/types/{index.js → index.ts} +3 -13
- package/src/types/{state.js → state.ts} +3 -6
- package/src/util.ts +51 -0
- package/src/{words.js → words.ts} +0 -2
- package/lib/Info.js +0 -41
- package/lib/LoadDataItem.js +0 -110
- package/lib/LoadPaginator.js +0 -216
- package/lib/LoadingButton.js +0 -75
- package/lib/actionTypes.js +0 -16
- package/lib/actions.js +0 -136
- package/lib/agent.js +0 -86
- package/lib/createDataReducer.js +0 -83
- package/lib/createItemReducer.js +0 -36
- package/lib/createPaginator.js +0 -141
- package/lib/index.js +0 -58
- package/lib/paginatorMiddleware.js +0 -102
- package/lib/reducerItemData.js +0 -63
- package/lib/reducerOperations.js +0 -114
- package/lib/reducers.js +0 -87
- package/lib/selectors.js +0 -129
- package/lib/types/actions.js +0 -1
- package/lib/types/index.js +0 -29
- package/lib/types/state.js +0 -1
- package/lib/util.js +0 -73
- package/lib/words.js +0 -15
- package/src/Info.jsx +0 -34
- package/src/LoadDataItem.jsx +0 -116
- package/src/LoadingButton.jsx +0 -55
- package/src/actions.js +0 -153
- package/src/agent.js +0 -55
- package/src/createDataReducer.js +0 -94
- package/src/createPaginator.js +0 -131
- package/src/paginatorMiddleware.js +0 -94
- package/src/reducerItemData.jsx +0 -64
- package/src/reducerOperations.jsx +0 -112
- package/src/selectors.js +0 -143
- package/src/util.js +0 -71
package/lib/createDataReducer.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _reselect = require("reselect");
|
|
8
|
-
|
|
9
|
-
var _immutable = require("immutable");
|
|
10
|
-
|
|
11
|
-
var Immutable = _interopRequireWildcard(_immutable);
|
|
12
|
-
|
|
13
|
-
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; } }
|
|
14
|
-
|
|
15
|
-
/*
|
|
16
|
-
Use to create a complex list where you need more information about
|
|
17
|
-
the item. For instance, if you DO need to fetch more data or to
|
|
18
|
-
manipulate it
|
|
19
|
-
*/
|
|
20
|
-
var createDataReducer = function createDataReducer(_ref) {
|
|
21
|
-
var key = _ref.key;
|
|
22
|
-
|
|
23
|
-
var getItems = function getItems(state) {
|
|
24
|
-
return state.getIn(["entities", key]);
|
|
25
|
-
},
|
|
26
|
-
getItem = (0, _reselect.createSelector)(getItems, function (state, id) {
|
|
27
|
-
return id;
|
|
28
|
-
}, function (data, id) {
|
|
29
|
-
return data.get(id) || Immutable.Map();
|
|
30
|
-
}),
|
|
31
|
-
getItemsList = (0, _reselect.createSelector)(getItems, function (data) {
|
|
32
|
-
return data.map(function (current) {
|
|
33
|
-
return current.get("Data");
|
|
34
|
-
}).toList();
|
|
35
|
-
}),
|
|
36
|
-
getItemData = (0, _reselect.createSelector)(getItems, function (state, id) {
|
|
37
|
-
return id;
|
|
38
|
-
}, function (data, id) {
|
|
39
|
-
if (typeof data === "undefined") {
|
|
40
|
-
return Immutable.Map();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return data.getIn([id, "Data"]);
|
|
44
|
-
}),
|
|
45
|
-
getItemHasError = (0, _reselect.createSelector)(getItem, function (data) {
|
|
46
|
-
if (typeof data === "undefined") {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return data.get("error") === true;
|
|
51
|
-
}),
|
|
52
|
-
getIsFetchingItemInfo = (0, _reselect.createSelector)(getItem, function (data) {
|
|
53
|
-
if (typeof data === "undefined") {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return data.get("fetching");
|
|
58
|
-
}),
|
|
59
|
-
getItemIsFetched = (0, _reselect.createSelector)(getItem, function (data) {
|
|
60
|
-
if (typeof data === "undefined") {
|
|
61
|
-
return false;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return data.get("fetched");
|
|
65
|
-
}),
|
|
66
|
-
getShouldFetchItemInfo = (0, _reselect.createSelector)(getIsFetchingItemInfo, getItemIsFetched, getItemHasError, function (isFetching, isFetched, hasError) {
|
|
67
|
-
return !isFetched && !isFetching && !hasError;
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
return {
|
|
71
|
-
getItems: getItems,
|
|
72
|
-
getItem: getItem,
|
|
73
|
-
getItemsList: getItemsList,
|
|
74
|
-
getItemData: getItemData,
|
|
75
|
-
getItemHasError: getItemHasError,
|
|
76
|
-
getIsFetchingItemInfo: getIsFetchingItemInfo,
|
|
77
|
-
getItemIsFetched: getItemIsFetched,
|
|
78
|
-
getShouldFetchItemInfo: getShouldFetchItemInfo
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
/* eslint-disable max-lines-per-function, */
|
|
82
|
-
|
|
83
|
-
exports.default = createDataReducer;
|
package/lib/createItemReducer.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _reselect = require("reselect");
|
|
8
|
-
|
|
9
|
-
/*
|
|
10
|
-
Use to create a simple list where you do not need more information about
|
|
11
|
-
the item. For instance, if you do NOT need to fetch more data or
|
|
12
|
-
manipulate it
|
|
13
|
-
*/
|
|
14
|
-
var createReducer = function createReducer(_ref) {
|
|
15
|
-
var key = _ref.key;
|
|
16
|
-
|
|
17
|
-
var getItems = function getItems(state) {
|
|
18
|
-
return state.getIn(["entities", key]);
|
|
19
|
-
},
|
|
20
|
-
getItem = (0, _reselect.createSelector)(getItems, function (state, id) {
|
|
21
|
-
return id;
|
|
22
|
-
}, function (data, id) {
|
|
23
|
-
return data.get(id);
|
|
24
|
-
}),
|
|
25
|
-
getItemsList = (0, _reselect.createSelector)(getItems, function (data) {
|
|
26
|
-
return data.toList();
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
return {
|
|
30
|
-
getItems: getItems,
|
|
31
|
-
getItem: getItem,
|
|
32
|
-
getItemsList: getItemsList
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
exports.default = createReducer;
|
package/lib/createPaginator.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
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
|
-
if (typeof Endpoint === "object") {
|
|
14
|
-
return {
|
|
15
|
-
path : Endpoint.path,
|
|
16
|
-
cb : Endpoint.cb,
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return {
|
|
21
|
-
path : Endpoint,
|
|
22
|
-
};
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
/* eslint-disable max-lines-per-function, */
|
|
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
|
-
};
|
package/lib/index.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.manageEntity = exports.manipulateItems = exports.createItemReducer = exports.manipulateDataItems = exports.manageDataEntity = exports.createDataReducer = exports.paginatorSelectors = exports.paginatorMiddleware = exports.createPaginator = exports.LoadDataItem = exports.LoadPaginator = exports.LoadingButton = exports.Info = undefined;
|
|
7
|
-
|
|
8
|
-
var _createPaginator = require("./createPaginator");
|
|
9
|
-
|
|
10
|
-
var _paginatorMiddleware = require("./paginatorMiddleware");
|
|
11
|
-
|
|
12
|
-
var _paginatorMiddleware2 = _interopRequireDefault(_paginatorMiddleware);
|
|
13
|
-
|
|
14
|
-
var _selectors = require("./selectors");
|
|
15
|
-
|
|
16
|
-
var _selectors2 = _interopRequireDefault(_selectors);
|
|
17
|
-
|
|
18
|
-
var _util = require("./util");
|
|
19
|
-
|
|
20
|
-
var _Info = require("./Info");
|
|
21
|
-
|
|
22
|
-
var _Info2 = _interopRequireDefault(_Info);
|
|
23
|
-
|
|
24
|
-
var _LoadingButton = require("./LoadingButton");
|
|
25
|
-
|
|
26
|
-
var _LoadingButton2 = _interopRequireDefault(_LoadingButton);
|
|
27
|
-
|
|
28
|
-
var _LoadPaginator = require("./LoadPaginator");
|
|
29
|
-
|
|
30
|
-
var _LoadPaginator2 = _interopRequireDefault(_LoadPaginator);
|
|
31
|
-
|
|
32
|
-
var _LoadDataItem = require("./LoadDataItem");
|
|
33
|
-
|
|
34
|
-
var _LoadDataItem2 = _interopRequireDefault(_LoadDataItem);
|
|
35
|
-
|
|
36
|
-
var _createDataReducer = require("./createDataReducer");
|
|
37
|
-
|
|
38
|
-
var _createDataReducer2 = _interopRequireDefault(_createDataReducer);
|
|
39
|
-
|
|
40
|
-
var _createItemReducer = require("./createItemReducer");
|
|
41
|
-
|
|
42
|
-
var _createItemReducer2 = _interopRequireDefault(_createItemReducer);
|
|
43
|
-
|
|
44
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
45
|
-
|
|
46
|
-
exports.Info = _Info2.default;
|
|
47
|
-
exports.LoadingButton = _LoadingButton2.default;
|
|
48
|
-
exports.LoadPaginator = _LoadPaginator2.default;
|
|
49
|
-
exports.LoadDataItem = _LoadDataItem2.default;
|
|
50
|
-
exports.createPaginator = _createPaginator.createPaginator;
|
|
51
|
-
exports.paginatorMiddleware = _paginatorMiddleware2.default;
|
|
52
|
-
exports.paginatorSelectors = _selectors2.default;
|
|
53
|
-
exports.createDataReducer = _createDataReducer2.default;
|
|
54
|
-
exports.manageDataEntity = _util.manageDataEntity;
|
|
55
|
-
exports.manipulateDataItems = _util.manipulateDataItems;
|
|
56
|
-
exports.createItemReducer = _createItemReducer2.default;
|
|
57
|
-
exports.manipulateItems = _util.manipulateItems;
|
|
58
|
-
exports.manageEntity = _util.manageEntity;
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _actionTypes = require("./actionTypes");
|
|
8
|
-
|
|
9
|
-
var _actions = require("./actions");
|
|
10
|
-
|
|
11
|
-
var _actions2 = _interopRequireDefault(_actions);
|
|
12
|
-
|
|
13
|
-
var _agent = require("./agent");
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
|
|
17
|
-
/* eslint-disable no-console, max-lines-per-function */
|
|
18
|
-
|
|
19
|
-
var receivePage = _actions2.default.receivePage;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
var paginatorMiddleware = function paginatorMiddleware(_ref) {
|
|
23
|
-
var dispatch = _ref.dispatch;
|
|
24
|
-
return function (next) {
|
|
25
|
-
return function (action) {
|
|
26
|
-
if (action.type === _actionTypes.REQUEST_PAGE) {
|
|
27
|
-
var _action$meta = action.meta,
|
|
28
|
-
endpoint = _action$meta.endpoint,
|
|
29
|
-
endpointCb = _action$meta.endpointCb,
|
|
30
|
-
manageEntity = _action$meta.manageEntity,
|
|
31
|
-
resultsKey = _action$meta.resultsKey,
|
|
32
|
-
totalKey = _action$meta.totalKey,
|
|
33
|
-
pageArgName = _action$meta.pageArgName,
|
|
34
|
-
idKey = _action$meta.idKey,
|
|
35
|
-
_action$payload = action.payload,
|
|
36
|
-
page = _action$payload.page,
|
|
37
|
-
token = _action$payload.token;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
dispatch(function (dispatch2) {
|
|
41
|
-
var markAsError = function markAsError() {
|
|
42
|
-
dispatch2(receivePage({
|
|
43
|
-
endpoint: endpoint,
|
|
44
|
-
endpointCb: endpointCb,
|
|
45
|
-
manageEntity: manageEntity,
|
|
46
|
-
pageArgName: pageArgName,
|
|
47
|
-
idKey: idKey,
|
|
48
|
-
page: page,
|
|
49
|
-
error: true,
|
|
50
|
-
token: token,
|
|
51
|
-
items: [],
|
|
52
|
-
total: 0
|
|
53
|
-
}));
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
var rawPath = typeof endpointCb === "function" ? endpointCb(token) : endpoint;
|
|
57
|
-
var path = rawPath === null ? "" : rawPath;
|
|
58
|
-
|
|
59
|
-
try {
|
|
60
|
-
(0, _agent.fetchPage)({
|
|
61
|
-
endpoint: path,
|
|
62
|
-
pageArgName: pageArgName,
|
|
63
|
-
page: page,
|
|
64
|
-
token: token
|
|
65
|
-
}).then(function (res) {
|
|
66
|
-
var response = res.response;
|
|
67
|
-
|
|
68
|
-
var results = [],
|
|
69
|
-
total = 0;
|
|
70
|
-
|
|
71
|
-
if (typeof resultsKey === "undefined") {
|
|
72
|
-
results = response;
|
|
73
|
-
} else {
|
|
74
|
-
results = response[resultsKey];
|
|
75
|
-
total = response[totalKey];
|
|
76
|
-
}
|
|
77
|
-
dispatch2(receivePage({
|
|
78
|
-
endpoint: endpoint,
|
|
79
|
-
endpointCb: endpointCb,
|
|
80
|
-
manageEntity: manageEntity,
|
|
81
|
-
pageArgName: pageArgName,
|
|
82
|
-
idKey: idKey,
|
|
83
|
-
page: page,
|
|
84
|
-
error: false,
|
|
85
|
-
token: token,
|
|
86
|
-
items: results,
|
|
87
|
-
total: total
|
|
88
|
-
}));
|
|
89
|
-
}).catch(function () {
|
|
90
|
-
markAsError();
|
|
91
|
-
});
|
|
92
|
-
} catch (err) {
|
|
93
|
-
markAsError();
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
return next(action);
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
exports.default = paginatorMiddleware;
|
package/lib/reducerItemData.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.fetchItemDataFulFilled = exports.fetchItemDataRejected = exports.fetchItemDataPending = undefined;
|
|
7
|
-
|
|
8
|
-
var _immutable = require("immutable");
|
|
9
|
-
|
|
10
|
-
var Immutable = _interopRequireWildcard(_immutable);
|
|
11
|
-
|
|
12
|
-
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; } }
|
|
13
|
-
|
|
14
|
-
var defaultOptions = Immutable.Map({
|
|
15
|
-
fetching: true,
|
|
16
|
-
fetched: false,
|
|
17
|
-
error: false
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
var fetchItemDataPending = function fetchItemDataPending(state, _ref) {
|
|
21
|
-
var id = _ref.meta.id;
|
|
22
|
-
return state.update(id, function (current) {
|
|
23
|
-
if (typeof current === "undefined") {
|
|
24
|
-
return defaultOptions;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return current.mergeDeep(defaultOptions);
|
|
28
|
-
});
|
|
29
|
-
},
|
|
30
|
-
fetchItemDataRejected = function fetchItemDataRejected(state, _ref2) {
|
|
31
|
-
var id = _ref2.meta.id;
|
|
32
|
-
return state.update(id, function (current) {
|
|
33
|
-
if (typeof current === "undefined") {
|
|
34
|
-
return current;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return current.mergeDeep(Immutable.Map({
|
|
38
|
-
fetching: false,
|
|
39
|
-
fetched: false,
|
|
40
|
-
error: true
|
|
41
|
-
}));
|
|
42
|
-
});
|
|
43
|
-
},
|
|
44
|
-
fetchItemDataFulFilled = function fetchItemDataFulFilled(state, _ref3) {
|
|
45
|
-
var Data = _ref3.payload.Data,
|
|
46
|
-
id = _ref3.meta.id;
|
|
47
|
-
return state.update(id, function (current) {
|
|
48
|
-
if (typeof current === "undefined") {
|
|
49
|
-
return current;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return current.mergeDeep(Immutable.Map({
|
|
53
|
-
Data: Data,
|
|
54
|
-
fetching: false,
|
|
55
|
-
fetched: true,
|
|
56
|
-
error: false
|
|
57
|
-
}));
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
exports.fetchItemDataPending = fetchItemDataPending;
|
|
62
|
-
exports.fetchItemDataRejected = fetchItemDataRejected;
|
|
63
|
-
exports.fetchItemDataFulFilled = fetchItemDataFulFilled;
|
package/lib/reducerOperations.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.receivePageItems = exports.resetView = exports.changeView = exports.performChangeView = exports.receivePage = exports.requestPage = undefined;
|
|
7
|
-
|
|
8
|
-
var _immutable = require("immutable");
|
|
9
|
-
|
|
10
|
-
var Immutable = _interopRequireWildcard(_immutable);
|
|
11
|
-
|
|
12
|
-
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; } }
|
|
13
|
-
|
|
14
|
-
var requestPage = function requestPage(state, action) {
|
|
15
|
-
var _action$payload = action.payload,
|
|
16
|
-
token = _action$payload.token,
|
|
17
|
-
page = _action$payload.page;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var elements = Immutable.Map({
|
|
21
|
-
page: page,
|
|
22
|
-
error: false,
|
|
23
|
-
fetching: true,
|
|
24
|
-
fetched: false
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
if (state.has(token)) {
|
|
28
|
-
return state.update(token, function (current) {
|
|
29
|
-
return current.merge(elements);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
var init = elements.merge({
|
|
34
|
-
view: 1,
|
|
35
|
-
token: token,
|
|
36
|
-
ids: Immutable.List()
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
return state.set(token, init);
|
|
40
|
-
},
|
|
41
|
-
receivePage = function receivePage(state, action) {
|
|
42
|
-
var idKey = action.meta.idKey,
|
|
43
|
-
_action$payload2 = action.payload,
|
|
44
|
-
token = _action$payload2.token,
|
|
45
|
-
items = _action$payload2.items,
|
|
46
|
-
total = _action$payload2.total,
|
|
47
|
-
error = _action$payload2.error;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if (state.has(token)) {
|
|
51
|
-
var hasError = error === true;
|
|
52
|
-
|
|
53
|
-
return state.update(token, function (current) {
|
|
54
|
-
return current.update(function (page) {
|
|
55
|
-
return current.merge(Immutable.Map({
|
|
56
|
-
ids: page.get("ids").concat(Immutable.List(items.map(function (item) {
|
|
57
|
-
return String(item[idKey]);
|
|
58
|
-
}))),
|
|
59
|
-
fetching: false,
|
|
60
|
-
error: hasError,
|
|
61
|
-
fetched: true,
|
|
62
|
-
total: hasError ? page.get("total") : total
|
|
63
|
-
}));
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return state;
|
|
69
|
-
},
|
|
70
|
-
performChangeView = function performChangeView(state, action, view) {
|
|
71
|
-
var token = action.payload.token;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
var item = state.get(token);
|
|
75
|
-
|
|
76
|
-
if (typeof item === "undefined") {
|
|
77
|
-
return state;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return state.update(token, function (current) {
|
|
81
|
-
return current.set("view", view);
|
|
82
|
-
});
|
|
83
|
-
},
|
|
84
|
-
changeView = function changeView(state, action) {
|
|
85
|
-
return performChangeView(state, action, action.payload.view);
|
|
86
|
-
},
|
|
87
|
-
resetView = function resetView(state, action) {
|
|
88
|
-
return performChangeView(state, action, 1);
|
|
89
|
-
},
|
|
90
|
-
receivePageItems = function receivePageItems(state, action) {
|
|
91
|
-
var payload = action.payload,
|
|
92
|
-
meta = action.meta;
|
|
93
|
-
var payloadItems = payload.items;
|
|
94
|
-
var idKey = meta.idKey,
|
|
95
|
-
manageEntity = meta.manageEntity;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
var manage = typeof manageEntity === "function" ? manageEntity : function (item) {
|
|
99
|
-
return Immutable.Map(item);
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
var newItems = payloadItems.reduce(function (previous, item) {
|
|
103
|
-
return previous.set(String(item[idKey]), manage(item, state, idKey));
|
|
104
|
-
}, Immutable.Map());
|
|
105
|
-
|
|
106
|
-
return state.merge(newItems);
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
exports.requestPage = requestPage;
|
|
110
|
-
exports.receivePage = receivePage;
|
|
111
|
-
exports.performChangeView = performChangeView;
|
|
112
|
-
exports.changeView = changeView;
|
|
113
|
-
exports.resetView = resetView;
|
|
114
|
-
exports.receivePageItems = receivePageItems;
|
package/lib/reducers.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.dataItems = exports.items = exports.pages = undefined;
|
|
7
|
-
|
|
8
|
-
var _actionTypes = require("./actionTypes");
|
|
9
|
-
|
|
10
|
-
var _immutable = require("immutable");
|
|
11
|
-
|
|
12
|
-
var Immutable = _interopRequireWildcard(_immutable);
|
|
13
|
-
|
|
14
|
-
var _reducerItemData = require("./reducerItemData");
|
|
15
|
-
|
|
16
|
-
var reducerItemData = _interopRequireWildcard(_reducerItemData);
|
|
17
|
-
|
|
18
|
-
var _reducerOperations = require("./reducerOperations");
|
|
19
|
-
|
|
20
|
-
var reducerOperations = _interopRequireWildcard(_reducerOperations);
|
|
21
|
-
|
|
22
|
-
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; } }
|
|
23
|
-
|
|
24
|
-
var pages = exports.pages = function pages() {
|
|
25
|
-
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Immutable.Map();
|
|
26
|
-
var action = arguments[1];
|
|
27
|
-
|
|
28
|
-
switch (action.type) {
|
|
29
|
-
case _actionTypes.REQUEST_PAGE:
|
|
30
|
-
return reducerOperations.requestPage(state, action);
|
|
31
|
-
|
|
32
|
-
case _actionTypes.RECEIVE_PAGE:
|
|
33
|
-
return reducerOperations.receivePage(state, action);
|
|
34
|
-
|
|
35
|
-
case _actionTypes.RESET_VIEW:
|
|
36
|
-
return reducerOperations.resetView(state, action);
|
|
37
|
-
|
|
38
|
-
case _actionTypes.CHANGE_VIEW:
|
|
39
|
-
return reducerOperations.changeView(state, action);
|
|
40
|
-
|
|
41
|
-
case _actionTypes.FETCH_CURRENT_COMPANY_INFO_PENDING:
|
|
42
|
-
case _actionTypes.CLEAR_DATA:
|
|
43
|
-
return state.clear();
|
|
44
|
-
|
|
45
|
-
default:
|
|
46
|
-
return state;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
var items = exports.items = function items() {
|
|
51
|
-
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Immutable.Map();
|
|
52
|
-
var action = arguments[1];
|
|
53
|
-
|
|
54
|
-
switch (action.type) {
|
|
55
|
-
case _actionTypes.RECEIVE_PAGE:
|
|
56
|
-
return reducerOperations.receivePageItems(state, action);
|
|
57
|
-
|
|
58
|
-
case _actionTypes.FETCH_CURRENT_COMPANY_INFO_PENDING:
|
|
59
|
-
case _actionTypes.CLEAR_DATA:
|
|
60
|
-
return state.clear();
|
|
61
|
-
default:
|
|
62
|
-
return state;
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
var dataItems = exports.dataItems = function dataItems() {
|
|
67
|
-
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Immutable.Map();
|
|
68
|
-
var action = arguments[1];
|
|
69
|
-
|
|
70
|
-
switch (action.type) {
|
|
71
|
-
case _actionTypes.RECEIVE_PAGE:
|
|
72
|
-
return reducerOperations.receivePageItems(state, action);
|
|
73
|
-
|
|
74
|
-
case _actionTypes.FETCH_ITEM_DATA_PENDING:
|
|
75
|
-
return reducerItemData.fetchItemDataPending(state, action);
|
|
76
|
-
case _actionTypes.FETCH_ITEM_DATA_REJECTED:
|
|
77
|
-
return reducerItemData.fetchItemDataRejected(state, action);
|
|
78
|
-
case _actionTypes.FETCH_ITEM_DATA_FULFILLED:
|
|
79
|
-
return reducerItemData.fetchItemDataFulFilled(state, action);
|
|
80
|
-
|
|
81
|
-
case _actionTypes.FETCH_CURRENT_COMPANY_INFO_PENDING:
|
|
82
|
-
case _actionTypes.CLEAR_DATA:
|
|
83
|
-
return state.clear();
|
|
84
|
-
default:
|
|
85
|
-
return state;
|
|
86
|
-
}
|
|
87
|
-
};
|