1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.manageEntity = exports.manipulateItems = exports.manipulateDataItems = exports.manageDataEntity = undefined;
|
7 |
|
8 | var _immutable = require("immutable");
|
9 |
|
10 | var Immutable = _interopRequireWildcard(_immutable);
|
11 |
|
12 | var _reselect = require("reselect");
|
13 |
|
14 | 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; } }
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 | var manageEntity = function manageEntity(normalizrEntity) {
|
21 | return function (item, state, keyID) {
|
22 |
|
23 | var old = state.get(String(item[keyID]));
|
24 |
|
25 | if (typeof old === "undefined") {
|
26 | return Immutable.Map(normalizrEntity(item));
|
27 | }
|
28 |
|
29 | return old;
|
30 | };
|
31 | },
|
32 | manipulateItems = function manipulateItems() {
|
33 | var sortKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "ID";
|
34 | return (0, _reselect.createSelector)(function (data) {
|
35 | return data;
|
36 | }, function (data) {
|
37 | return data.sortBy(function (current) {
|
38 | return -current.get(sortKey);
|
39 | });
|
40 | });
|
41 | };
|
42 |
|
43 |
|
44 |
|
45 | var manageDataEntity = function manageDataEntity(normalizrEntity) {
|
46 | return function (item, state, keyID) {
|
47 |
|
48 | var old = state.get(String(item[keyID]));
|
49 |
|
50 | if (typeof old === "undefined") {
|
51 | return Immutable.Map({
|
52 | Data: normalizrEntity(item)
|
53 | });
|
54 | }
|
55 |
|
56 | return old;
|
57 | };
|
58 | },
|
59 | manipulateDataItems = function manipulateDataItems() {
|
60 | var sortKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "ID";
|
61 | return (0, _reselect.createSelector)(function (data) {
|
62 | return data;
|
63 | }, function (data) {
|
64 | return data.sortBy(function (current) {
|
65 | return -current.getIn(["Data", sortKey]);
|
66 | });
|
67 | });
|
68 | };
|
69 |
|
70 | exports.manageDataEntity = manageDataEntity;
|
71 | exports.manipulateDataItems = manipulateDataItems;
|
72 | exports.manipulateItems = manipulateItems;
|
73 | exports.manageEntity = manageEntity; |
\ | No newline at end of file |