@webiny/app-aco 5.36.2 → 5.37.0-beta.1
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/Folders.d.ts +2 -0
- package/Folders.js +22 -0
- package/Folders.js.map +1 -0
- package/components/Dialogs/DialogCreate.d.ts +2 -3
- package/components/Dialogs/DialogCreate.js +32 -35
- package/components/Dialogs/DialogCreate.js.map +1 -1
- package/components/Dialogs/DialogDelete.d.ts +3 -3
- package/components/Dialogs/DialogDelete.js +1 -1
- package/components/Dialogs/DialogDelete.js.map +1 -1
- package/components/Dialogs/DialogMove.d.ts +4 -5
- package/components/Dialogs/DialogMove.js +22 -30
- package/components/Dialogs/DialogMove.js.map +1 -1
- package/components/Dialogs/DialogUpdate.d.ts +2 -2
- package/components/Dialogs/DialogUpdate.js +9 -13
- package/components/Dialogs/DialogUpdate.js.map +1 -1
- package/components/Dialogs/index.js.map +1 -1
- package/components/Dialogs/styled.js.map +1 -1
- package/components/FolderGrid/ActionDelete.js.map +1 -1
- package/components/FolderGrid/ActionEdit.js.map +1 -1
- package/components/FolderGrid/Folder.js.map +1 -1
- package/components/FolderGrid/FolderGrid.js.map +1 -1
- package/components/FolderGrid/index.js.map +1 -1
- package/components/FolderGrid/styled.js.map +1 -1
- package/components/FolderTree/ButtonCreate/index.js +1 -1
- package/components/FolderTree/ButtonCreate/index.js.map +1 -1
- package/components/FolderTree/ButtonCreate/styled.js.map +1 -1
- package/components/FolderTree/Empty/index.js.map +1 -1
- package/components/FolderTree/Empty/styled.js.map +1 -1
- package/components/FolderTree/List/index.d.ts +4 -8
- package/components/FolderTree/List/index.js +27 -30
- package/components/FolderTree/List/index.js.map +1 -1
- package/components/FolderTree/List/utils.d.ts +3 -3
- package/components/FolderTree/List/utils.js +6 -18
- package/components/FolderTree/List/utils.js.map +1 -1
- package/components/FolderTree/Loader/index.d.ts +4 -2
- package/components/FolderTree/Loader/index.js +3 -2
- package/components/FolderTree/Loader/index.js.map +1 -1
- package/components/FolderTree/Loader/styled.js +2 -2
- package/components/FolderTree/Loader/styled.js.map +1 -1
- package/components/FolderTree/MenuActions/index.js.map +1 -1
- package/components/FolderTree/MenuActions/styled.js.map +1 -1
- package/components/FolderTree/Node/index.d.ts +7 -6
- package/components/FolderTree/Node/index.js +25 -10
- package/components/FolderTree/Node/index.js.map +1 -1
- package/components/FolderTree/Node/styled.js +1 -1
- package/components/FolderTree/Node/styled.js.map +1 -1
- package/components/FolderTree/NodePreview/index.d.ts +2 -2
- package/components/FolderTree/NodePreview/index.js +2 -1
- package/components/FolderTree/NodePreview/index.js.map +1 -1
- package/components/FolderTree/NodePreview/styled.js.map +1 -1
- package/components/FolderTree/Placeholder/index.d.ts +2 -2
- package/components/FolderTree/Placeholder/index.js.map +1 -1
- package/components/FolderTree/Placeholder/styled.js.map +1 -1
- package/components/FolderTree/index.d.ts +7 -10
- package/components/FolderTree/index.js +30 -30
- package/components/FolderTree/index.js.map +1 -1
- package/components/FolderTree/styled.js +1 -1
- package/components/FolderTree/styled.js.map +1 -1
- package/components/Search/Search.d.ts +7 -0
- package/components/Search/Search.js +19 -0
- package/components/Search/Search.js.map +1 -0
- package/components/Search/index.d.ts +1 -0
- package/components/{TagList → Search}/index.js +4 -4
- package/components/Search/index.js.map +1 -0
- package/components/Search/styled.d.ts +7 -0
- package/components/Search/styled.js +13 -0
- package/components/Search/styled.js.map +1 -0
- package/components/index.d.ts +1 -1
- package/components/index.js +4 -4
- package/components/index.js.map +1 -1
- package/constants.d.ts +1 -0
- package/constants.js +8 -0
- package/constants.js.map +1 -0
- package/contexts/DisplayError/index.d.ts +6 -0
- package/contexts/DisplayError/index.js +38 -0
- package/contexts/DisplayError/index.js.map +1 -0
- package/contexts/FoldersApi/FoldersApiProvider.d.ts +23 -0
- package/contexts/FoldersApi/FoldersApiProvider.js +332 -0
- package/contexts/FoldersApi/FoldersApiProvider.js.map +1 -0
- package/contexts/FoldersApi/index.d.ts +2 -0
- package/contexts/FoldersApi/index.js +27 -0
- package/contexts/FoldersApi/index.js.map +1 -0
- package/contexts/FoldersApi/useFoldersApi.d.ts +2 -0
- package/contexts/FoldersApi/useFoldersApi.js +15 -0
- package/contexts/FoldersApi/useFoldersApi.js.map +1 -0
- package/contexts/acoList.d.ts +34 -0
- package/contexts/acoList.js +298 -0
- package/contexts/acoList.js.map +1 -0
- package/contexts/app.d.ts +35 -0
- package/contexts/app.js +197 -0
- package/contexts/app.js.map +1 -0
- package/contexts/folders.d.ts +8 -6
- package/contexts/folders.js +142 -240
- package/contexts/folders.js.map +1 -1
- package/contexts/index.d.ts +1 -2
- package/contexts/index.js +12 -12
- package/contexts/index.js.map +1 -1
- package/contexts/navigateFolder.d.ts +18 -0
- package/contexts/navigateFolder.js +72 -0
- package/contexts/navigateFolder.js.map +1 -0
- package/contexts/navigateFolderWithRouter.d.ts +8 -0
- package/contexts/navigateFolderWithRouter.js +92 -0
- package/contexts/navigateFolderWithRouter.js.map +1 -0
- package/contexts/records.d.ts +17 -26
- package/contexts/records.js +524 -383
- package/contexts/records.js.map +1 -1
- package/dialogs/Dialog.d.ts +15 -0
- package/dialogs/Dialog.js +43 -0
- package/dialogs/Dialog.js.map +1 -0
- package/dialogs/dialogs.d.ts +31 -0
- package/dialogs/dialogs.js +120 -0
- package/dialogs/dialogs.js.map +1 -0
- package/dialogs/index.d.ts +4 -0
- package/dialogs/index.js +49 -0
- package/dialogs/index.js.map +1 -0
- package/dialogs/styled.d.ts +18 -0
- package/dialogs/styled.js +24 -0
- package/dialogs/styled.js.map +1 -0
- package/dialogs/useDialogsContext.d.ts +2 -0
- package/dialogs/useDialogsContext.js +16 -0
- package/dialogs/useDialogsContext.js.map +1 -0
- package/dialogs/useMoveToFolderDialog.d.ts +22 -0
- package/dialogs/useMoveToFolderDialog.js +74 -0
- package/dialogs/useMoveToFolderDialog.js.map +1 -0
- package/graphql/app.gql.d.ts +17 -0
- package/graphql/app.gql.js +14 -0
- package/graphql/app.gql.js.map +1 -0
- package/graphql/folders.gql.js +1 -1
- package/graphql/folders.gql.js.map +1 -1
- package/graphql/records/common.d.ts +4 -0
- package/graphql/records/common.js +47 -0
- package/graphql/records/common.js.map +1 -0
- package/graphql/records/createRecord.d.ts +2 -0
- package/graphql/records/createRecord.js +19 -0
- package/graphql/records/createRecord.js.map +1 -0
- package/graphql/records/deleteRecord.d.ts +2 -0
- package/graphql/records/deleteRecord.js +19 -0
- package/graphql/records/deleteRecord.js.map +1 -0
- package/graphql/records/getRecord.d.ts +2 -0
- package/graphql/records/getRecord.js +20 -0
- package/graphql/records/getRecord.js.map +1 -0
- package/graphql/records/listRecords.d.ts +2 -0
- package/graphql/records/listRecords.js +29 -0
- package/graphql/records/listRecords.js.map +1 -0
- package/graphql/records/listTags.d.ts +2 -0
- package/graphql/records/listTags.js +19 -0
- package/graphql/records/listTags.js.map +1 -0
- package/graphql/records/moveRecord.d.ts +2 -0
- package/graphql/records/moveRecord.js +19 -0
- package/graphql/records/moveRecord.js.map +1 -0
- package/graphql/records/types.d.ts +108 -0
- package/graphql/records/types.js +5 -0
- package/graphql/records/types.js.map +1 -0
- package/graphql/records/updateRecord.d.ts +2 -0
- package/graphql/records/updateRecord.js +19 -0
- package/graphql/records/updateRecord.js.map +1 -0
- package/graphql/records.gql.d.ts +7 -6
- package/graphql/records.gql.js +77 -20
- package/graphql/records.gql.js.map +1 -1
- package/handlers.d.ts +7 -2
- package/handlers.js +36 -2
- package/handlers.js.map +1 -1
- package/hooks/index.d.ts +3 -0
- package/hooks/index.js +39 -1
- package/hooks/index.js.map +1 -1
- package/hooks/useAcoApp.d.ts +2 -0
- package/hooks/useAcoApp.js +25 -0
- package/hooks/useAcoApp.js.map +1 -0
- package/hooks/useAcoList.d.ts +3 -33
- package/hooks/useAcoList.js +6 -141
- package/hooks/useAcoList.js.map +1 -1
- package/hooks/useFolders.d.ts +8 -8
- package/hooks/useFolders.js +15 -25
- package/hooks/useFolders.js.map +1 -1
- package/hooks/useNavigateFolder.d.ts +2 -0
- package/hooks/useNavigateFolder.js +16 -0
- package/hooks/useNavigateFolder.js.map +1 -0
- package/hooks/useRecords.d.ts +12 -18
- package/hooks/useRecords.js +33 -16
- package/hooks/useRecords.js.map +1 -1
- package/hooks/useTags.d.ts +1 -6
- package/hooks/useTags.js +10 -19
- package/hooks/useTags.js.map +1 -1
- package/index.d.ts +5 -2
- package/index.js +51 -32
- package/index.js.map +1 -1
- package/package.json +22 -16
- package/sorting.d.ts +9 -3
- package/sorting.js +38 -12
- package/sorting.js.map +1 -1
- package/types.d.ts +40 -114
- package/types.js +11 -13
- package/types.js.map +1 -1
- package/components/FolderTree/List/constants.d.ts +0 -1
- package/components/FolderTree/List/constants.js +0 -8
- package/components/FolderTree/List/constants.js.map +0 -1
- package/components/FolderTree/Title/index.d.ts +0 -9
- package/components/FolderTree/Title/index.js +0 -24
- package/components/FolderTree/Title/index.js.map +0 -1
- package/components/FolderTree/Title/styled.d.ts +0 -16
- package/components/FolderTree/Title/styled.js +0 -24
- package/components/FolderTree/Title/styled.js.map +0 -1
- package/components/TagList/Empty.d.ts +0 -6
- package/components/TagList/Empty.js +0 -22
- package/components/TagList/Empty.js.map +0 -1
- package/components/TagList/Loader.d.ts +0 -2
- package/components/TagList/Loader.js +0 -19
- package/components/TagList/Loader.js.map +0 -1
- package/components/TagList/Tag.d.ts +0 -9
- package/components/TagList/Tag.js +0 -28
- package/components/TagList/Tag.js.map +0 -1
- package/components/TagList/TagList.d.ts +0 -14
- package/components/TagList/TagList.js +0 -65
- package/components/TagList/TagList.js.map +0 -1
- package/components/TagList/index.d.ts +0 -1
- package/components/TagList/index.js.map +0 -1
- package/components/TagList/styled.d.ts +0 -27
- package/components/TagList/styled.js +0 -35
- package/components/TagList/styled.js.map +0 -1
package/contexts/records.js
CHANGED
|
@@ -6,19 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.SearchRecordsProvider = exports.SearchRecordsContext = void 0;
|
|
9
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
9
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var _objectSpread18 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
13
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
14
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
-
var
|
|
15
|
+
var _dotPropImmutable = _interopRequireDefault(require("dot-prop-immutable"));
|
|
17
16
|
var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
|
|
18
17
|
var _unionBy = _interopRequireDefault(require("lodash/unionBy"));
|
|
19
18
|
var _handlers = require("../handlers");
|
|
20
19
|
var _records = require("../graphql/records.gql");
|
|
21
20
|
var _sorting = require("../sorting");
|
|
21
|
+
var _hooks = require("../hooks");
|
|
22
|
+
var _utils = require("@webiny/utils");
|
|
22
23
|
var SearchRecordsContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
23
24
|
exports.SearchRecordsContext = SearchRecordsContext;
|
|
24
25
|
var defaultLoading = {
|
|
@@ -26,10 +27,37 @@ var defaultLoading = {
|
|
|
26
27
|
LIST: false,
|
|
27
28
|
LIST_MORE: false,
|
|
28
29
|
GET: false,
|
|
30
|
+
MOVE: false,
|
|
29
31
|
CREATE: false,
|
|
30
32
|
UPDATE: false,
|
|
31
33
|
DELETE: false
|
|
32
34
|
};
|
|
35
|
+
var mergeRecords = function mergeRecords(oldRecords, newRecords) {
|
|
36
|
+
if (!newRecords.length) {
|
|
37
|
+
return oldRecords;
|
|
38
|
+
}
|
|
39
|
+
var mergedRecords = newRecords.reduce(function (items, record) {
|
|
40
|
+
var index = items.findIndex(function (item) {
|
|
41
|
+
return item.id === record.id;
|
|
42
|
+
});
|
|
43
|
+
if (index === -1) {
|
|
44
|
+
items.push(record);
|
|
45
|
+
return items;
|
|
46
|
+
}
|
|
47
|
+
items[index] = record;
|
|
48
|
+
return items;
|
|
49
|
+
}, (0, _toConsumableArray2.default)(oldRecords)); // merge the two arrays
|
|
50
|
+
|
|
51
|
+
return (0, _sortBy.default)(mergedRecords, ["title"]);
|
|
52
|
+
};
|
|
53
|
+
var getRecordCount = function getRecordCount(records, folderIdPath, folderId) {
|
|
54
|
+
if (!folderId) {
|
|
55
|
+
return records.length;
|
|
56
|
+
}
|
|
57
|
+
return records.filter(function (record) {
|
|
58
|
+
return _dotPropImmutable.default.get(record, folderIdPath) === folderId;
|
|
59
|
+
}).length;
|
|
60
|
+
};
|
|
33
61
|
var mergeAndSortTags = function mergeAndSortTags(oldTagItems, newTags) {
|
|
34
62
|
if (!newTags.length) {
|
|
35
63
|
return oldTagItems;
|
|
@@ -43,14 +71,31 @@ var mergeAndSortTags = function mergeAndSortTags(oldTagItems, newTags) {
|
|
|
43
71
|
|
|
44
72
|
return (0, _sortBy.default)(mergedTagItems, ["tag"]);
|
|
45
73
|
};
|
|
74
|
+
var getResponseData = function getResponseData(response, mode) {
|
|
75
|
+
var _response$search;
|
|
76
|
+
if (mode === "cms") {
|
|
77
|
+
return (response === null || response === void 0 ? void 0 : response.content) || {};
|
|
78
|
+
}
|
|
79
|
+
return ((_response$search = response.search) === null || _response$search === void 0 ? void 0 : _response$search.content) || {};
|
|
80
|
+
};
|
|
81
|
+
var defaultMeta = {
|
|
82
|
+
totalCount: 0,
|
|
83
|
+
hasMoreItems: false,
|
|
84
|
+
cursor: null
|
|
85
|
+
};
|
|
46
86
|
var SearchRecordsProvider = function SearchRecordsProvider(_ref) {
|
|
47
87
|
var children = _ref.children;
|
|
48
|
-
var
|
|
49
|
-
|
|
88
|
+
var _useAcoApp = (0, _hooks.useAcoApp)(),
|
|
89
|
+
app = _useAcoApp.app,
|
|
90
|
+
client = _useAcoApp.client,
|
|
91
|
+
mode = _useAcoApp.mode,
|
|
92
|
+
folderIdPath = _useAcoApp.folderIdPath;
|
|
93
|
+
var model = app.model;
|
|
94
|
+
var _useState = (0, _react.useState)([]),
|
|
50
95
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
51
96
|
records = _useState2[0],
|
|
52
97
|
setRecords = _useState2[1];
|
|
53
|
-
var _useState3 = (0, _react.useState)(
|
|
98
|
+
var _useState3 = (0, _react.useState)([]),
|
|
54
99
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
55
100
|
tags = _useState4[0],
|
|
56
101
|
setTags = _useState4[1];
|
|
@@ -58,417 +103,513 @@ var SearchRecordsProvider = function SearchRecordsProvider(_ref) {
|
|
|
58
103
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
59
104
|
loading = _useState6[0],
|
|
60
105
|
setLoading = _useState6[1];
|
|
61
|
-
var _useState7 = (0, _react.useState)(Object.create(
|
|
106
|
+
var _useState7 = (0, _react.useState)(Object.create(defaultMeta)),
|
|
62
107
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
63
108
|
meta = _useState8[0],
|
|
64
109
|
setMeta = _useState8[1];
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
110
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
|
111
|
+
return {
|
|
112
|
+
LIST_RECORDS: (0, _records.createListRecords)(model, mode),
|
|
113
|
+
UPDATE_RECORD: (0, _records.createUpdateRecord)(model, mode),
|
|
114
|
+
MOVE_RECORD: (0, _records.createMoveRecord)(model, mode),
|
|
115
|
+
GET_RECORD: (0, _records.createGetRecord)(model, mode),
|
|
116
|
+
LIST_TAGS: (0, _records.createListTags)(model, mode),
|
|
117
|
+
DELETE_RECORD: (0, _records.createDeleteRecord)(model, mode),
|
|
118
|
+
CREATE_RECORD: (0, _records.createCreateRecord)(model, mode)
|
|
119
|
+
};
|
|
120
|
+
}, [app.id, model.modelId]),
|
|
121
|
+
GET_RECORD = _useMemo.GET_RECORD,
|
|
122
|
+
LIST_RECORDS = _useMemo.LIST_RECORDS,
|
|
123
|
+
UPDATE_RECORD = _useMemo.UPDATE_RECORD,
|
|
124
|
+
MOVE_RECORD = _useMemo.MOVE_RECORD,
|
|
125
|
+
DELETE_RECORD = _useMemo.DELETE_RECORD,
|
|
126
|
+
CREATE_RECORD = _useMemo.CREATE_RECORD,
|
|
127
|
+
LIST_TAGS = _useMemo.LIST_TAGS;
|
|
128
|
+
var context = (0, _react.useMemo)(function () {
|
|
129
|
+
return {
|
|
130
|
+
records: records,
|
|
131
|
+
tags: tags,
|
|
132
|
+
loading: loading,
|
|
133
|
+
meta: meta,
|
|
134
|
+
addRecordToCache: function addRecordToCache(record) {
|
|
135
|
+
setRecords(function (prev) {
|
|
136
|
+
return [record].concat((0, _toConsumableArray2.default)(prev));
|
|
137
|
+
});
|
|
138
|
+
},
|
|
139
|
+
updateRecordInCache: function updateRecordInCache(record) {
|
|
140
|
+
var _parseIdentifier = (0, _utils.parseIdentifier)(record.id),
|
|
141
|
+
recordId = _parseIdentifier.id;
|
|
142
|
+
var index = records.findIndex(function (item) {
|
|
143
|
+
var _parseIdentifier2 = (0, _utils.parseIdentifier)(item.id),
|
|
144
|
+
itemId = _parseIdentifier2.id;
|
|
145
|
+
return itemId === recordId;
|
|
146
|
+
});
|
|
147
|
+
if (index === -1) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
setRecords(function (prev) {
|
|
151
|
+
var next = (0, _toConsumableArray2.default)(prev);
|
|
152
|
+
next[index] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev[index]), record);
|
|
153
|
+
return next;
|
|
154
|
+
});
|
|
155
|
+
},
|
|
156
|
+
removeRecordFromCache: function removeRecordFromCache(id) {
|
|
157
|
+
setRecords(function (prev) {
|
|
158
|
+
return prev.filter(function (record) {
|
|
159
|
+
return record.id !== id;
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
},
|
|
163
|
+
listRecords: function listRecords(params) {
|
|
164
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
|
|
165
|
+
var after, limit, sorting, search, where, folderId, recordsCount, totalCount, action, sort, _yield$apolloFetching, response, _getResponseData, data, responseMeta, error;
|
|
166
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
167
|
+
while (1) switch (_context.prev = _context.next) {
|
|
168
|
+
case 0:
|
|
169
|
+
after = params.after, limit = params.limit, sorting = params.sort, search = params.search, where = params.where;
|
|
170
|
+
folderId = _dotPropImmutable.default.get(where, folderIdPath);
|
|
171
|
+
/**
|
|
172
|
+
* Avoiding to fetch records in case they have already been fetched.
|
|
173
|
+
* This happens when visiting a list with all records loaded and receives "after" param.
|
|
174
|
+
*/
|
|
175
|
+
recordsCount = getRecordCount(records, folderIdPath, folderId);
|
|
176
|
+
totalCount = (meta === null || meta === void 0 ? void 0 : meta.totalCount) || 0;
|
|
177
|
+
if (!(after && recordsCount === totalCount)) {
|
|
178
|
+
_context.next = 6;
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
return _context.abrupt("return", records);
|
|
182
|
+
case 6:
|
|
183
|
+
// Remove records in case of sorting change and not a paginated request.
|
|
184
|
+
if (sorting && !after) {
|
|
185
|
+
setRecords([]);
|
|
186
|
+
}
|
|
187
|
+
action = after ? "LIST_MORE" : "LIST";
|
|
188
|
+
sort = (0, _sorting.validateOrGetDefaultDbSort)(sorting);
|
|
189
|
+
_context.next = 11;
|
|
190
|
+
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)(action, setLoading), function () {
|
|
191
|
+
var variables = {
|
|
192
|
+
where: where,
|
|
130
193
|
search: search,
|
|
131
194
|
limit: limit,
|
|
132
195
|
after: after,
|
|
133
196
|
sort: sort
|
|
134
|
-
}
|
|
135
|
-
|
|
197
|
+
};
|
|
198
|
+
return client.query({
|
|
199
|
+
query: LIST_RECORDS,
|
|
200
|
+
variables: variables,
|
|
201
|
+
fetchPolicy: "network-only"
|
|
202
|
+
});
|
|
136
203
|
});
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
_context.next = 17;
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not fetch records");
|
|
147
|
-
case 17:
|
|
148
|
-
setRecords(function (records) {
|
|
149
|
-
// In case of paginated request, we merge the fetched records with the existing ones, after sorting them.
|
|
150
|
-
if (after) {
|
|
151
|
-
return (0, _objectSpread18.default)((0, _objectSpread18.default)({}, records), {}, (0, _defineProperty2.default)({}, type, (0, _sorting.sortTableItems)((0, _unionBy.default)(data, records[type], "id"), sort)));
|
|
204
|
+
case 11:
|
|
205
|
+
_yield$apolloFetching = _context.sent;
|
|
206
|
+
response = _yield$apolloFetching.data;
|
|
207
|
+
if (response) {
|
|
208
|
+
_context.next = 15;
|
|
209
|
+
break;
|
|
152
210
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
211
|
+
throw new Error("Could not fetch records - no response.");
|
|
212
|
+
case 15:
|
|
213
|
+
_getResponseData = getResponseData(response, mode), data = _getResponseData.data, responseMeta = _getResponseData.meta, error = _getResponseData.error;
|
|
214
|
+
if (!(!data || !responseMeta)) {
|
|
215
|
+
_context.next = 18;
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not fetch records.");
|
|
219
|
+
case 18:
|
|
220
|
+
setRecords(function (prev) {
|
|
221
|
+
/**
|
|
222
|
+
* In case of paginated request, we merge the fetched records with the existing ones, and then sort them.
|
|
223
|
+
* Otherwise, we sort the fetched records and set them as the new records.
|
|
224
|
+
*/
|
|
225
|
+
return (0, _sorting.sortTableItems)(mergeRecords(after ? prev : [], data), sort);
|
|
163
226
|
});
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
case 21:
|
|
167
|
-
case "end":
|
|
168
|
-
return _context.stop();
|
|
169
|
-
}
|
|
170
|
-
}, _callee);
|
|
171
|
-
}))();
|
|
172
|
-
},
|
|
173
|
-
getRecord: function getRecord(id) {
|
|
174
|
-
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
|
|
175
|
-
var _yield$apolloFetching2, response, _response$search$getR, data, error;
|
|
176
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
177
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
178
|
-
case 0:
|
|
179
|
-
if (id) {
|
|
180
|
-
_context2.next = 2;
|
|
181
|
-
break;
|
|
182
|
-
}
|
|
183
|
-
throw new Error("Record `id` is mandatory");
|
|
184
|
-
case 2:
|
|
185
|
-
_context2.next = 4;
|
|
186
|
-
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("GET", setLoading), function () {
|
|
187
|
-
return client.query({
|
|
188
|
-
query: _records.GET_RECORD,
|
|
189
|
-
variables: {
|
|
190
|
-
id: id
|
|
191
|
-
},
|
|
192
|
-
fetchPolicy: "network-only"
|
|
227
|
+
setMeta(function () {
|
|
228
|
+
return responseMeta;
|
|
193
229
|
});
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
response = _yield$apolloFetching2.data;
|
|
198
|
-
_response$search$getR = response.search.getRecord, data = _response$search$getR.data, error = _response$search$getR.error;
|
|
199
|
-
if (!(error && error.code !== "NOT_FOUND")) {
|
|
200
|
-
_context2.next = 9;
|
|
201
|
-
break;
|
|
202
|
-
}
|
|
203
|
-
throw new Error("Network error while syncing record");
|
|
204
|
-
case 9:
|
|
205
|
-
if (!data) {
|
|
206
|
-
// No record found - must be deleted by previous operation
|
|
207
|
-
setRecords(function (records) {
|
|
208
|
-
var currentRecord = Object.keys(records).reduce(function (accumulator, current) {
|
|
209
|
-
return [].concat((0, _toConsumableArray2.default)(accumulator), (0, _toConsumableArray2.default)(records[current]));
|
|
210
|
-
}, []).find(function (record) {
|
|
211
|
-
return record.id === id;
|
|
230
|
+
setLoading(function (prev) {
|
|
231
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
|
|
232
|
+
INIT: false
|
|
212
233
|
});
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
234
|
+
});
|
|
235
|
+
return _context.abrupt("return", data);
|
|
236
|
+
case 22:
|
|
237
|
+
case "end":
|
|
238
|
+
return _context.stop();
|
|
239
|
+
}
|
|
240
|
+
}, _callee);
|
|
241
|
+
}))();
|
|
242
|
+
},
|
|
243
|
+
getRecord: function getRecord(id) {
|
|
244
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
|
|
245
|
+
var _yield$apolloFetching2, response, _getResponseData2, data, error;
|
|
246
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
247
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
248
|
+
case 0:
|
|
249
|
+
if (id) {
|
|
250
|
+
_context2.next = 2;
|
|
251
|
+
break;
|
|
252
|
+
}
|
|
253
|
+
throw new Error("Record `id` is mandatory");
|
|
254
|
+
case 2:
|
|
255
|
+
_context2.next = 4;
|
|
256
|
+
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("GET", setLoading), function () {
|
|
257
|
+
return client.query({
|
|
258
|
+
query: GET_RECORD,
|
|
259
|
+
variables: {
|
|
260
|
+
id: id
|
|
261
|
+
},
|
|
262
|
+
fetchPolicy: "network-only"
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
case 4:
|
|
266
|
+
_yield$apolloFetching2 = _context2.sent;
|
|
267
|
+
response = _yield$apolloFetching2.data;
|
|
268
|
+
if (response) {
|
|
269
|
+
_context2.next = 8;
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
throw new Error("Could not fetch record \"".concat(id, "\" - no response."));
|
|
273
|
+
case 8:
|
|
274
|
+
_getResponseData2 = getResponseData(response, mode), data = _getResponseData2.data, error = _getResponseData2.error;
|
|
275
|
+
if (!(error && error.code !== "NOT_FOUND")) {
|
|
276
|
+
_context2.next = 11;
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
throw new Error("Network error while syncing record");
|
|
280
|
+
case 11:
|
|
281
|
+
if (data) {
|
|
282
|
+
_context2.next = 14;
|
|
283
|
+
break;
|
|
284
|
+
}
|
|
285
|
+
// No record found - must be deleted by previous operation
|
|
286
|
+
setRecords(function (prev) {
|
|
287
|
+
return prev.filter(function (record) {
|
|
217
288
|
return record.id !== id;
|
|
218
|
-
})
|
|
289
|
+
});
|
|
219
290
|
});
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
var
|
|
291
|
+
return _context2.abrupt("return", data);
|
|
292
|
+
case 14:
|
|
293
|
+
setRecords(function (prev) {
|
|
294
|
+
var index = prev.findIndex(function (record) {
|
|
224
295
|
return record.id === id;
|
|
225
296
|
});
|
|
226
297
|
|
|
227
298
|
// No record found in the list - must be added by previous operation
|
|
228
|
-
if (
|
|
229
|
-
return
|
|
299
|
+
if (index === -1) {
|
|
300
|
+
return [data].concat((0, _toConsumableArray2.default)(prev));
|
|
230
301
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
return result;
|
|
302
|
+
var next = (0, _toConsumableArray2.default)(prev);
|
|
303
|
+
next[index] = data;
|
|
304
|
+
return next;
|
|
235
305
|
});
|
|
236
306
|
setTags(function (tags) {
|
|
237
307
|
if (!data.tags || data.tags.length === 0) {
|
|
238
308
|
return tags;
|
|
239
309
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
310
|
+
return mergeAndSortTags(tags, data.tags);
|
|
311
|
+
});
|
|
312
|
+
return _context2.abrupt("return", data);
|
|
313
|
+
case 17:
|
|
314
|
+
case "end":
|
|
315
|
+
return _context2.stop();
|
|
316
|
+
}
|
|
317
|
+
}, _callee2);
|
|
318
|
+
}))();
|
|
319
|
+
},
|
|
320
|
+
createRecord: function createRecord(record) {
|
|
321
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
|
|
322
|
+
var _yield$apolloFetching3, response, _getResponseData3, data, error;
|
|
323
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
|
|
324
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
325
|
+
case 0:
|
|
326
|
+
if (CREATE_RECORD) {
|
|
327
|
+
_context3.next = 2;
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
throw new Error("Missing CREATE_RECORD operation.");
|
|
331
|
+
case 2:
|
|
332
|
+
_context3.next = 4;
|
|
333
|
+
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("CREATE", setLoading), function () {
|
|
334
|
+
return client.mutate({
|
|
335
|
+
mutation: CREATE_RECORD,
|
|
336
|
+
variables: {
|
|
337
|
+
data: record
|
|
338
|
+
}
|
|
339
|
+
});
|
|
243
340
|
});
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
341
|
+
case 4:
|
|
342
|
+
_yield$apolloFetching3 = _context3.sent;
|
|
343
|
+
response = _yield$apolloFetching3.data;
|
|
344
|
+
if (response) {
|
|
345
|
+
_context3.next = 8;
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
throw new Error("Network error while creating search record.");
|
|
349
|
+
case 8:
|
|
350
|
+
_getResponseData3 = getResponseData(response, mode), data = _getResponseData3.data, error = _getResponseData3.error;
|
|
351
|
+
if (data) {
|
|
352
|
+
_context3.next = 11;
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
355
|
+
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not create record");
|
|
356
|
+
case 11:
|
|
357
|
+
setRecords(function (prev) {
|
|
358
|
+
return [].concat((0, _toConsumableArray2.default)(prev), [data]);
|
|
359
|
+
});
|
|
360
|
+
setMeta(function (meta) {
|
|
361
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, meta), {}, {
|
|
362
|
+
totalCount: ++meta.totalCount
|
|
363
|
+
});
|
|
364
|
+
});
|
|
365
|
+
setTags(function (tags) {
|
|
366
|
+
if (!data.tags || data.tags.length === 0) {
|
|
367
|
+
return tags;
|
|
267
368
|
}
|
|
369
|
+
return mergeAndSortTags(tags, data.tags);
|
|
268
370
|
});
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
setRecords(function (records) {
|
|
287
|
-
return (0, _objectSpread18.default)((0, _objectSpread18.default)({}, records), {}, (0, _defineProperty2.default)({}, data.type, [].concat((0, _toConsumableArray2.default)(records[data.type]), [data])));
|
|
288
|
-
});
|
|
289
|
-
setMeta(function (meta) {
|
|
290
|
-
return (0, _objectSpread18.default)((0, _objectSpread18.default)({}, meta), {}, (0, _defineProperty2.default)({}, folderId, (0, _objectSpread18.default)((0, _objectSpread18.default)({}, meta[folderId]), {}, {
|
|
291
|
-
totalCount: ++meta[folderId].totalCount
|
|
292
|
-
})));
|
|
293
|
-
});
|
|
294
|
-
setTags(function (tags) {
|
|
295
|
-
if (!data.tags || data.tags.length === 0) {
|
|
296
|
-
return tags;
|
|
371
|
+
return _context3.abrupt("return", data);
|
|
372
|
+
case 15:
|
|
373
|
+
case "end":
|
|
374
|
+
return _context3.stop();
|
|
375
|
+
}
|
|
376
|
+
}, _callee3);
|
|
377
|
+
}))();
|
|
378
|
+
},
|
|
379
|
+
updateRecord: function updateRecord(record, contextFolderId) {
|
|
380
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4() {
|
|
381
|
+
var id, location, data, title, content, _yield$apolloFetching4, response, _getResponseData4, result, error;
|
|
382
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
|
|
383
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
384
|
+
case 0:
|
|
385
|
+
if (contextFolderId) {
|
|
386
|
+
_context4.next = 2;
|
|
387
|
+
break;
|
|
297
388
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
}
|
|
320
|
-
throw new Error("`folderId` is mandatory");
|
|
321
|
-
case 2:
|
|
322
|
-
id = record.id, location = record.location, data = record.data, title = record.title, content = record.content, type = record.type;
|
|
323
|
-
_context4.next = 5;
|
|
324
|
-
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("UPDATE", setLoading), function () {
|
|
325
|
-
return client.mutate({
|
|
326
|
-
mutation: _records.UPDATE_RECORD,
|
|
327
|
-
variables: {
|
|
328
|
-
id: id,
|
|
329
|
-
data: {
|
|
330
|
-
title: title,
|
|
331
|
-
content: content,
|
|
332
|
-
location: location,
|
|
333
|
-
data: data
|
|
389
|
+
throw new Error("`folderId` is mandatory");
|
|
390
|
+
case 2:
|
|
391
|
+
if (UPDATE_RECORD) {
|
|
392
|
+
_context4.next = 4;
|
|
393
|
+
break;
|
|
394
|
+
}
|
|
395
|
+
throw new Error("Missing UPDATE_RECORD operation.");
|
|
396
|
+
case 4:
|
|
397
|
+
id = record.id, location = record.location, data = record.data, title = record.title, content = record.content;
|
|
398
|
+
_context4.next = 7;
|
|
399
|
+
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("UPDATE", setLoading), function () {
|
|
400
|
+
return client.mutate({
|
|
401
|
+
mutation: UPDATE_RECORD,
|
|
402
|
+
variables: {
|
|
403
|
+
id: id,
|
|
404
|
+
data: {
|
|
405
|
+
title: title,
|
|
406
|
+
content: content,
|
|
407
|
+
location: location,
|
|
408
|
+
data: data
|
|
409
|
+
}
|
|
334
410
|
}
|
|
335
|
-
}
|
|
411
|
+
});
|
|
336
412
|
});
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
break;
|
|
344
|
-
}
|
|
345
|
-
throw new Error("Network error while updating record");
|
|
346
|
-
case 9:
|
|
347
|
-
_response$search$upda = response.search.updateRecord, result = _response$search$upda.data, error = _response$search$upda.error;
|
|
348
|
-
if (result) {
|
|
349
|
-
_context4.next = 12;
|
|
350
|
-
break;
|
|
351
|
-
}
|
|
352
|
-
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not update record");
|
|
353
|
-
case 12:
|
|
354
|
-
setRecords(function (records) {
|
|
355
|
-
return (0, _objectSpread18.default)((0, _objectSpread18.default)({}, records), {}, (0, _defineProperty2.default)({}, type, records[type].map(function (record) {
|
|
356
|
-
return record.id === id ? result : record;
|
|
357
|
-
}).filter(function (record) {
|
|
358
|
-
return record.location.folderId === contextFolderId;
|
|
359
|
-
})));
|
|
360
|
-
});
|
|
361
|
-
setTags(function (tags) {
|
|
362
|
-
if (!data.tags || data.tags.length === 0) {
|
|
363
|
-
return tags;
|
|
413
|
+
case 7:
|
|
414
|
+
_yield$apolloFetching4 = _context4.sent;
|
|
415
|
+
response = _yield$apolloFetching4.data;
|
|
416
|
+
if (response) {
|
|
417
|
+
_context4.next = 11;
|
|
418
|
+
break;
|
|
364
419
|
}
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
|
|
381
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
382
|
-
case 0:
|
|
383
|
-
id = record.id, location = record.location, type = record.type;
|
|
384
|
-
folderId = location.folderId;
|
|
385
|
-
_context5.next = 4;
|
|
386
|
-
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("DELETE", setLoading), function () {
|
|
387
|
-
return client.mutate({
|
|
388
|
-
mutation: _records.DELETE_RECORD,
|
|
389
|
-
variables: {
|
|
390
|
-
id: id
|
|
420
|
+
throw new Error("Network error while updating record");
|
|
421
|
+
case 11:
|
|
422
|
+
_getResponseData4 = getResponseData(response, mode), result = _getResponseData4.data, error = _getResponseData4.error;
|
|
423
|
+
if (result) {
|
|
424
|
+
_context4.next = 14;
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
427
|
+
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not update record");
|
|
428
|
+
case 14:
|
|
429
|
+
setRecords(function (records) {
|
|
430
|
+
var index = records.findIndex(function (record) {
|
|
431
|
+
return record.id === id;
|
|
432
|
+
});
|
|
433
|
+
if (index === -1) {
|
|
434
|
+
return [result].concat((0, _toConsumableArray2.default)(records));
|
|
391
435
|
}
|
|
436
|
+
var next = (0, _toConsumableArray2.default)(records);
|
|
437
|
+
next[index] = result;
|
|
438
|
+
return next;
|
|
392
439
|
});
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
response = _yield$apolloFetching5.data;
|
|
397
|
-
if (response) {
|
|
398
|
-
_context5.next = 8;
|
|
399
|
-
break;
|
|
400
|
-
}
|
|
401
|
-
throw new Error("Network error while deleting record");
|
|
402
|
-
case 8:
|
|
403
|
-
_response$search$dele = response.search.deleteRecord, data = _response$search$dele.data, error = _response$search$dele.error;
|
|
404
|
-
if (data) {
|
|
405
|
-
_context5.next = 11;
|
|
406
|
-
break;
|
|
407
|
-
}
|
|
408
|
-
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not delete record");
|
|
409
|
-
case 11:
|
|
410
|
-
setRecords(function (records) {
|
|
411
|
-
return (0, _objectSpread18.default)((0, _objectSpread18.default)({}, records), {}, (0, _defineProperty2.default)({}, type, records[type].filter(function (record) {
|
|
412
|
-
return record.id !== id;
|
|
413
|
-
})));
|
|
414
|
-
});
|
|
415
|
-
setMeta(function (meta) {
|
|
416
|
-
return (0, _objectSpread18.default)((0, _objectSpread18.default)({}, meta), {}, (0, _defineProperty2.default)({}, folderId, (0, _objectSpread18.default)((0, _objectSpread18.default)({}, meta[folderId]), {}, {
|
|
417
|
-
totalCount: --meta[folderId].totalCount
|
|
418
|
-
})));
|
|
419
|
-
});
|
|
420
|
-
return _context5.abrupt("return", true);
|
|
421
|
-
case 14:
|
|
422
|
-
case "end":
|
|
423
|
-
return _context5.stop();
|
|
424
|
-
}
|
|
425
|
-
}, _callee5);
|
|
426
|
-
}))();
|
|
427
|
-
},
|
|
428
|
-
listTags: function listTags(params) {
|
|
429
|
-
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
|
|
430
|
-
var type, _yield$apolloFetching6, response, _response$search$list2, data, error;
|
|
431
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
|
|
432
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
433
|
-
case 0:
|
|
434
|
-
type = params.type;
|
|
435
|
-
if (type) {
|
|
436
|
-
_context6.next = 3;
|
|
437
|
-
break;
|
|
438
|
-
}
|
|
439
|
-
throw new Error("`type` is mandatory");
|
|
440
|
-
case 3:
|
|
441
|
-
_context6.next = 5;
|
|
442
|
-
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("LIST", setLoading), function () {
|
|
443
|
-
return client.query({
|
|
444
|
-
query: _records.LIST_TAGS,
|
|
445
|
-
variables: {
|
|
446
|
-
where: params
|
|
440
|
+
setTags(function (tags) {
|
|
441
|
+
if (!data.tags || data.tags.length === 0) {
|
|
442
|
+
return tags;
|
|
447
443
|
}
|
|
444
|
+
return mergeAndSortTags(tags, data.tags);
|
|
448
445
|
});
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
446
|
+
return _context4.abrupt("return", result);
|
|
447
|
+
case 17:
|
|
448
|
+
case "end":
|
|
449
|
+
return _context4.stop();
|
|
450
|
+
}
|
|
451
|
+
}, _callee4);
|
|
452
|
+
}))();
|
|
453
|
+
},
|
|
454
|
+
moveRecord: function () {
|
|
455
|
+
var _moveRecord = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5(record) {
|
|
456
|
+
var id, location, folderId, _yield$apolloFetching5, response, _getResponseData5, data, error;
|
|
457
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
|
|
458
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
459
|
+
case 0:
|
|
460
|
+
id = record.id, location = record.location;
|
|
461
|
+
folderId = location.folderId;
|
|
462
|
+
_context5.next = 4;
|
|
463
|
+
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("MOVE", setLoading), function () {
|
|
464
|
+
return client.mutate({
|
|
465
|
+
mutation: MOVE_RECORD,
|
|
466
|
+
variables: {
|
|
467
|
+
id: id,
|
|
468
|
+
folderId: folderId
|
|
469
|
+
}
|
|
470
|
+
});
|
|
471
|
+
});
|
|
472
|
+
case 4:
|
|
473
|
+
_yield$apolloFetching5 = _context5.sent;
|
|
474
|
+
response = _yield$apolloFetching5.data;
|
|
475
|
+
if (response) {
|
|
476
|
+
_context5.next = 8;
|
|
477
|
+
break;
|
|
478
|
+
}
|
|
479
|
+
throw new Error("Network error while moving record.");
|
|
480
|
+
case 8:
|
|
481
|
+
_getResponseData5 = getResponseData(response, mode), data = _getResponseData5.data, error = _getResponseData5.error;
|
|
482
|
+
if (data) {
|
|
483
|
+
_context5.next = 11;
|
|
484
|
+
break;
|
|
485
|
+
}
|
|
486
|
+
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not move record.");
|
|
487
|
+
case 11:
|
|
488
|
+
setRecords(function (prev) {
|
|
489
|
+
return prev.filter(function (record) {
|
|
490
|
+
return record.id !== id;
|
|
491
|
+
});
|
|
492
|
+
});
|
|
493
|
+
setMeta(function (meta) {
|
|
494
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, meta), {}, {
|
|
495
|
+
totalCount: --meta.totalCount
|
|
496
|
+
});
|
|
497
|
+
});
|
|
498
|
+
case 13:
|
|
499
|
+
case "end":
|
|
500
|
+
return _context5.stop();
|
|
501
|
+
}
|
|
502
|
+
}, _callee5);
|
|
503
|
+
}));
|
|
504
|
+
function moveRecord(_x) {
|
|
505
|
+
return _moveRecord.apply(this, arguments);
|
|
506
|
+
}
|
|
507
|
+
return moveRecord;
|
|
508
|
+
}(),
|
|
509
|
+
deleteRecord: function deleteRecord(record) {
|
|
510
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
|
|
511
|
+
var id, _yield$apolloFetching6, response, _getResponseData6, data, error;
|
|
512
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
|
|
513
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
514
|
+
case 0:
|
|
515
|
+
if (DELETE_RECORD) {
|
|
516
|
+
_context6.next = 2;
|
|
517
|
+
break;
|
|
518
|
+
}
|
|
519
|
+
throw new Error("Missing DELETE_RECORD operation.");
|
|
520
|
+
case 2:
|
|
521
|
+
id = record.id;
|
|
522
|
+
_context6.next = 5;
|
|
523
|
+
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("DELETE", setLoading), function () {
|
|
524
|
+
return client.mutate({
|
|
525
|
+
mutation: DELETE_RECORD,
|
|
526
|
+
variables: {
|
|
527
|
+
id: id
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
});
|
|
531
|
+
case 5:
|
|
532
|
+
_yield$apolloFetching6 = _context6.sent;
|
|
533
|
+
response = _yield$apolloFetching6.data;
|
|
534
|
+
if (response) {
|
|
535
|
+
_context6.next = 9;
|
|
536
|
+
break;
|
|
537
|
+
}
|
|
538
|
+
throw new Error("Network error while deleting record.");
|
|
539
|
+
case 9:
|
|
540
|
+
_getResponseData6 = getResponseData(response, mode), data = _getResponseData6.data, error = _getResponseData6.error;
|
|
541
|
+
if (data) {
|
|
542
|
+
_context6.next = 12;
|
|
543
|
+
break;
|
|
544
|
+
}
|
|
545
|
+
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not delete record");
|
|
546
|
+
case 12:
|
|
547
|
+
setRecords(function (prev) {
|
|
548
|
+
return prev.filter(function (record) {
|
|
549
|
+
return record.id !== id;
|
|
550
|
+
});
|
|
551
|
+
});
|
|
552
|
+
setMeta(function (meta) {
|
|
553
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, meta), {}, {
|
|
554
|
+
totalCount: --meta.totalCount
|
|
555
|
+
});
|
|
556
|
+
});
|
|
557
|
+
return _context6.abrupt("return", true);
|
|
558
|
+
case 15:
|
|
559
|
+
case "end":
|
|
560
|
+
return _context6.stop();
|
|
561
|
+
}
|
|
562
|
+
}, _callee6);
|
|
563
|
+
}))();
|
|
564
|
+
},
|
|
565
|
+
listTags: function listTags(params) {
|
|
566
|
+
return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee7() {
|
|
567
|
+
var _yield$apolloFetching7, response, _getResponseData7, data, error;
|
|
568
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee7$(_context7) {
|
|
569
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
570
|
+
case 0:
|
|
571
|
+
if (LIST_TAGS) {
|
|
572
|
+
_context7.next = 2;
|
|
573
|
+
break;
|
|
574
|
+
}
|
|
575
|
+
throw new Error("Missing LIST_TAGS operation.");
|
|
576
|
+
case 2:
|
|
577
|
+
_context7.next = 4;
|
|
578
|
+
return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("LIST", setLoading), function () {
|
|
579
|
+
return client.query({
|
|
580
|
+
query: LIST_TAGS,
|
|
581
|
+
variables: {
|
|
582
|
+
where: params.where
|
|
583
|
+
}
|
|
584
|
+
});
|
|
585
|
+
});
|
|
586
|
+
case 4:
|
|
587
|
+
_yield$apolloFetching7 = _context7.sent;
|
|
588
|
+
response = _yield$apolloFetching7.data;
|
|
589
|
+
if (response) {
|
|
590
|
+
_context7.next = 8;
|
|
591
|
+
break;
|
|
592
|
+
}
|
|
593
|
+
throw new Error("Network error while fetching tags.");
|
|
594
|
+
case 8:
|
|
595
|
+
_getResponseData7 = getResponseData(response, mode), data = _getResponseData7.data, error = _getResponseData7.error;
|
|
596
|
+
if (data) {
|
|
597
|
+
_context7.next = 11;
|
|
598
|
+
break;
|
|
599
|
+
}
|
|
600
|
+
throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not fetch tags");
|
|
601
|
+
case 11:
|
|
602
|
+
setTags(data);
|
|
603
|
+
return _context7.abrupt("return", data);
|
|
604
|
+
case 13:
|
|
605
|
+
case "end":
|
|
606
|
+
return _context7.stop();
|
|
607
|
+
}
|
|
608
|
+
}, _callee7);
|
|
609
|
+
}))();
|
|
610
|
+
}
|
|
611
|
+
};
|
|
612
|
+
}, [app.id, model.modelId, records, setRecords, tags, meta, loading, GET_RECORD, LIST_RECORDS, UPDATE_RECORD, DELETE_RECORD, MOVE_RECORD, CREATE_RECORD, LIST_TAGS]);
|
|
472
613
|
return /*#__PURE__*/_react.default.createElement(SearchRecordsContext.Provider, {
|
|
473
614
|
value: context
|
|
474
615
|
}, children);
|