@webiny/app-aco 0.0.0-ee-vpcs.549378cf03

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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +349 -0
  3. package/components/Dialogs/DialogCreate.d.ts +10 -0
  4. package/components/Dialogs/DialogCreate.js +153 -0
  5. package/components/Dialogs/DialogCreate.js.map +1 -0
  6. package/components/Dialogs/DialogDelete.d.ts +10 -0
  7. package/components/Dialogs/DialogDelete.js +135 -0
  8. package/components/Dialogs/DialogDelete.js.map +1 -0
  9. package/components/Dialogs/DialogUpdate.d.ts +10 -0
  10. package/components/Dialogs/DialogUpdate.js +186 -0
  11. package/components/Dialogs/DialogUpdate.js.map +1 -0
  12. package/components/Dialogs/index.d.ts +3 -0
  13. package/components/Dialogs/index.js +44 -0
  14. package/components/Dialogs/index.js.map +1 -0
  15. package/components/Dialogs/styled.d.ts +8 -0
  16. package/components/Dialogs/styled.js +23 -0
  17. package/components/Dialogs/styled.js.map +1 -0
  18. package/components/Tree/ButtonCreate/index.d.ts +6 -0
  19. package/components/Tree/ButtonCreate/index.js +33 -0
  20. package/components/Tree/ButtonCreate/index.js.map +1 -0
  21. package/components/Tree/ButtonCreate/styled.d.ts +18 -0
  22. package/components/Tree/ButtonCreate/styled.js +28 -0
  23. package/components/Tree/ButtonCreate/styled.js.map +1 -0
  24. package/components/Tree/Empty/index.d.ts +2 -0
  25. package/components/Tree/Empty/index.js +30 -0
  26. package/components/Tree/Empty/index.js.map +1 -0
  27. package/components/Tree/Empty/styled.d.ts +4 -0
  28. package/components/Tree/Empty/styled.js +16 -0
  29. package/components/Tree/Empty/styled.js.map +1 -0
  30. package/components/Tree/List/constants.d.ts +1 -0
  31. package/components/Tree/List/constants.js +8 -0
  32. package/components/Tree/List/constants.js.map +1 -0
  33. package/components/Tree/List/index.d.ts +13 -0
  34. package/components/Tree/List/index.js +233 -0
  35. package/components/Tree/List/index.js.map +1 -0
  36. package/components/Tree/List/utils.d.ts +20 -0
  37. package/components/Tree/List/utils.js +93 -0
  38. package/components/Tree/List/utils.js.map +1 -0
  39. package/components/Tree/Loader/index.d.ts +2 -0
  40. package/components/Tree/Loader/index.js +25 -0
  41. package/components/Tree/Loader/index.js.map +1 -0
  42. package/components/Tree/Loader/styled.d.ts +5 -0
  43. package/components/Tree/Loader/styled.js +21 -0
  44. package/components/Tree/Loader/styled.js.map +1 -0
  45. package/components/Tree/MenuActions/index.d.ts +9 -0
  46. package/components/Tree/MenuActions/index.js +51 -0
  47. package/components/Tree/MenuActions/index.js.map +1 -0
  48. package/components/Tree/MenuActions/styled.d.ts +4 -0
  49. package/components/Tree/MenuActions/styled.js +16 -0
  50. package/components/Tree/MenuActions/styled.js.map +1 -0
  51. package/components/Tree/Node/index.d.ts +19 -0
  52. package/components/Tree/Node/index.js +79 -0
  53. package/components/Tree/Node/index.js.map +1 -0
  54. package/components/Tree/Node/styled.d.ts +38 -0
  55. package/components/Tree/Node/styled.js +47 -0
  56. package/components/Tree/Node/styled.js.map +1 -0
  57. package/components/Tree/NodePreview/index.d.ts +8 -0
  58. package/components/Tree/NodePreview/index.js +24 -0
  59. package/components/Tree/NodePreview/index.js.map +1 -0
  60. package/components/Tree/NodePreview/styled.d.ts +4 -0
  61. package/components/Tree/NodePreview/styled.js +16 -0
  62. package/components/Tree/NodePreview/styled.js.map +1 -0
  63. package/components/Tree/Placeholder/index.d.ts +9 -0
  64. package/components/Tree/Placeholder/index.js +26 -0
  65. package/components/Tree/Placeholder/index.js.map +1 -0
  66. package/components/Tree/Placeholder/styled.d.ts +4 -0
  67. package/components/Tree/Placeholder/styled.js +16 -0
  68. package/components/Tree/Placeholder/styled.js.map +1 -0
  69. package/components/Tree/Title/index.d.ts +9 -0
  70. package/components/Tree/Title/index.js +31 -0
  71. package/components/Tree/Title/index.js.map +1 -0
  72. package/components/Tree/Title/styled.d.ts +10 -0
  73. package/components/Tree/Title/styled.js +27 -0
  74. package/components/Tree/Title/styled.js.map +1 -0
  75. package/components/Tree/index.d.ts +13 -0
  76. package/components/Tree/index.js +99 -0
  77. package/components/Tree/index.js.map +1 -0
  78. package/components/Tree/styled.d.ts +4 -0
  79. package/components/Tree/styled.js +16 -0
  80. package/components/Tree/styled.js.map +1 -0
  81. package/components/index.d.ts +2 -0
  82. package/components/index.js +31 -0
  83. package/components/index.js.map +1 -0
  84. package/contexts/folders.d.ts +17 -0
  85. package/contexts/folders.js +354 -0
  86. package/contexts/folders.js.map +1 -0
  87. package/contexts/index.d.ts +2 -0
  88. package/contexts/index.js +24 -0
  89. package/contexts/index.js.map +1 -0
  90. package/contexts/links.d.ts +18 -0
  91. package/contexts/links.js +371 -0
  92. package/contexts/links.js.map +1 -0
  93. package/graphql/folders.gql.d.ts +5 -0
  94. package/graphql/folders.gql.js +31 -0
  95. package/graphql/folders.gql.js.map +1 -0
  96. package/graphql/links.gql.d.ts +5 -0
  97. package/graphql/links.gql.js +34 -0
  98. package/graphql/links.gql.js.map +1 -0
  99. package/handlers.d.ts +18 -0
  100. package/handlers.js +70 -0
  101. package/handlers.js.map +1 -0
  102. package/hooks/index.d.ts +2 -0
  103. package/hooks/index.js +31 -0
  104. package/hooks/index.js.map +1 -0
  105. package/hooks/useFolders.d.ts +14 -0
  106. package/hooks/useFolders.js +64 -0
  107. package/hooks/useFolders.js.map +1 -0
  108. package/hooks/useLinks.d.ts +20 -0
  109. package/hooks/useLinks.js +65 -0
  110. package/hooks/useLinks.js.map +1 -0
  111. package/index.d.ts +3 -0
  112. package/index.js +53 -0
  113. package/index.js.map +1 -0
  114. package/package.json +57 -0
  115. package/types.d.ts +152 -0
  116. package/types.js +5 -0
  117. package/types.js.map +1 -0
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Dialogs = require("./Dialogs");
8
+
9
+ Object.keys(_Dialogs).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Dialogs[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Dialogs[key];
16
+ }
17
+ });
18
+ });
19
+
20
+ var _Tree = require("./Tree");
21
+
22
+ Object.keys(_Tree).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _Tree[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _Tree[key];
29
+ }
30
+ });
31
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export * from \"./Dialogs\";\nexport * from \"./Tree\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,17 @@
1
+ import React, { ReactNode } from "react";
2
+ import { FolderItem, Loading, LoadingActions } from "../types";
3
+ interface FoldersContext {
4
+ folders: Record<string, FolderItem[]>;
5
+ loading: Loading<LoadingActions>;
6
+ listFolders: (type: string) => Promise<FolderItem[]>;
7
+ getFolder: (id: string) => Promise<FolderItem>;
8
+ createFolder: (folder: Omit<FolderItem, "id">) => Promise<FolderItem>;
9
+ updateFolder: (folder: FolderItem) => Promise<FolderItem>;
10
+ deleteFolder(folder: FolderItem): Promise<true>;
11
+ }
12
+ export declare const FoldersContext: React.Context<FoldersContext | undefined>;
13
+ interface Props {
14
+ children: ReactNode;
15
+ }
16
+ export declare const FoldersProvider: ({ children }: Props) => JSX.Element;
17
+ export {};
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.FoldersProvider = exports.FoldersContext = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
15
+
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _objectSpread6 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
19
+
20
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
21
+
22
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
+
24
+ var _react = _interopRequireWildcard(require("react"));
25
+
26
+ var _reactHooks = require("@apollo/react-hooks");
27
+
28
+ var _handlers = require("../handlers");
29
+
30
+ var _folders = require("../graphql/folders.gql");
31
+
32
+ var FoldersContext = /*#__PURE__*/_react.default.createContext(undefined);
33
+
34
+ exports.FoldersContext = FoldersContext;
35
+ var defaultLoading = {
36
+ INIT: true,
37
+ LIST: false,
38
+ LIST_MORE: false,
39
+ GET: false,
40
+ CREATE: false,
41
+ UPDATE: false,
42
+ DELETE: false
43
+ };
44
+
45
+ var FoldersProvider = function FoldersProvider(_ref) {
46
+ var children = _ref.children;
47
+ var client = (0, _reactHooks.useApolloClient)();
48
+
49
+ var _useState = (0, _react.useState)(Object.create(null)),
50
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
51
+ folders = _useState2[0],
52
+ setFolders = _useState2[1];
53
+
54
+ var _useState3 = (0, _react.useState)(defaultLoading),
55
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
56
+ loading = _useState4[0],
57
+ setLoading = _useState4[1];
58
+
59
+ var context = {
60
+ folders: folders,
61
+ loading: loading,
62
+ listFolders: function listFolders(type) {
63
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
64
+ var _yield$apolloFetching, response, _response$folders$lis, data, error;
65
+
66
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
67
+ while (1) {
68
+ switch (_context.prev = _context.next) {
69
+ case 0:
70
+ if (type) {
71
+ _context.next = 2;
72
+ break;
73
+ }
74
+
75
+ throw new Error("Folder `type` is mandatory");
76
+
77
+ case 2:
78
+ _context.next = 4;
79
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("LIST", setLoading), function () {
80
+ return client.query({
81
+ query: _folders.LIST_FOLDERS,
82
+ variables: {
83
+ type: type
84
+ }
85
+ });
86
+ });
87
+
88
+ case 4:
89
+ _yield$apolloFetching = _context.sent;
90
+ response = _yield$apolloFetching.data;
91
+ _response$folders$lis = response.folders.listFolders, data = _response$folders$lis.data, error = _response$folders$lis.error;
92
+
93
+ if (data) {
94
+ _context.next = 9;
95
+ break;
96
+ }
97
+
98
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not fetch folders");
99
+
100
+ case 9:
101
+ setFolders(function (folders) {
102
+ return (0, _objectSpread6.default)((0, _objectSpread6.default)({}, folders), {}, (0, _defineProperty2.default)({}, type, data || []));
103
+ });
104
+ setLoading(function (prev) {
105
+ return (0, _objectSpread6.default)((0, _objectSpread6.default)({}, prev), {}, {
106
+ INIT: false
107
+ });
108
+ });
109
+ return _context.abrupt("return", data);
110
+
111
+ case 12:
112
+ case "end":
113
+ return _context.stop();
114
+ }
115
+ }
116
+ }, _callee);
117
+ }))();
118
+ },
119
+ getFolder: function getFolder(id) {
120
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
121
+ var _yield$apolloFetching2, response, _response$folders$get, data, error;
122
+
123
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
124
+ while (1) {
125
+ switch (_context2.prev = _context2.next) {
126
+ case 0:
127
+ if (id) {
128
+ _context2.next = 2;
129
+ break;
130
+ }
131
+
132
+ throw new Error("Folder `id` is mandatory");
133
+
134
+ case 2:
135
+ _context2.next = 4;
136
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("GET", setLoading), function () {
137
+ return client.query({
138
+ query: _folders.GET_FOLDER,
139
+ variables: {
140
+ id: id
141
+ }
142
+ });
143
+ });
144
+
145
+ case 4:
146
+ _yield$apolloFetching2 = _context2.sent;
147
+ response = _yield$apolloFetching2.data;
148
+ _response$folders$get = response.folders.getFolder, data = _response$folders$get.data, error = _response$folders$get.error;
149
+
150
+ if (data) {
151
+ _context2.next = 9;
152
+ break;
153
+ }
154
+
155
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not fetch folder with id: ".concat(id));
156
+
157
+ case 9:
158
+ return _context2.abrupt("return", data);
159
+
160
+ case 10:
161
+ case "end":
162
+ return _context2.stop();
163
+ }
164
+ }
165
+ }, _callee2);
166
+ }))();
167
+ },
168
+ createFolder: function createFolder(folder) {
169
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
170
+ var type, _yield$apolloFetching3, response, _response$folders$cre, data, error;
171
+
172
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
173
+ while (1) {
174
+ switch (_context3.prev = _context3.next) {
175
+ case 0:
176
+ type = folder.type;
177
+ _context3.next = 3;
178
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("CREATE", setLoading), function () {
179
+ return client.mutate({
180
+ mutation: _folders.CREATE_FOLDER,
181
+ variables: {
182
+ data: folder
183
+ }
184
+ });
185
+ });
186
+
187
+ case 3:
188
+ _yield$apolloFetching3 = _context3.sent;
189
+ response = _yield$apolloFetching3.data;
190
+
191
+ if (response) {
192
+ _context3.next = 7;
193
+ break;
194
+ }
195
+
196
+ throw new Error("Network error while creating folder");
197
+
198
+ case 7:
199
+ _response$folders$cre = response.folders.createFolder, data = _response$folders$cre.data, error = _response$folders$cre.error;
200
+
201
+ if (data) {
202
+ _context3.next = 10;
203
+ break;
204
+ }
205
+
206
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not create folder");
207
+
208
+ case 10:
209
+ setFolders(function (folders) {
210
+ return (0, _objectSpread6.default)((0, _objectSpread6.default)({}, folders), {}, (0, _defineProperty2.default)({}, type, [].concat((0, _toConsumableArray2.default)(folders[type]), [data])));
211
+ });
212
+ return _context3.abrupt("return", data);
213
+
214
+ case 12:
215
+ case "end":
216
+ return _context3.stop();
217
+ }
218
+ }
219
+ }, _callee3);
220
+ }))();
221
+ },
222
+ updateFolder: function updateFolder(folder) {
223
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4() {
224
+ var id, type, name, slug, parentId, _yield$apolloFetching4, response, _response$folders$upd, data, error;
225
+
226
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
227
+ while (1) {
228
+ switch (_context4.prev = _context4.next) {
229
+ case 0:
230
+ id = folder.id, type = folder.type, name = folder.name, slug = folder.slug, parentId = folder.parentId;
231
+ _context4.next = 3;
232
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("UPDATE", setLoading), function () {
233
+ return client.mutate({
234
+ mutation: _folders.UPDATE_FOLDER,
235
+ variables: {
236
+ id: id,
237
+ data: {
238
+ name: name,
239
+ slug: slug,
240
+ parentId: parentId
241
+ }
242
+ }
243
+ });
244
+ });
245
+
246
+ case 3:
247
+ _yield$apolloFetching4 = _context4.sent;
248
+ response = _yield$apolloFetching4.data;
249
+
250
+ if (response) {
251
+ _context4.next = 7;
252
+ break;
253
+ }
254
+
255
+ throw new Error("Network error while updating folder");
256
+
257
+ case 7:
258
+ _response$folders$upd = response.folders.updateFolder, data = _response$folders$upd.data, error = _response$folders$upd.error;
259
+
260
+ if (data) {
261
+ _context4.next = 10;
262
+ break;
263
+ }
264
+
265
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not update folder");
266
+
267
+ case 10:
268
+ setFolders(function (folders) {
269
+ var folderIndex = folders[type].findIndex(function (f) {
270
+ return f.id === id;
271
+ });
272
+
273
+ if (folderIndex === -1) {
274
+ return folders;
275
+ }
276
+
277
+ var typeFolders = folders[type];
278
+ typeFolders[folderIndex] = data;
279
+ return (0, _objectSpread6.default)((0, _objectSpread6.default)({}, folders), {}, (0, _defineProperty2.default)({}, type, typeFolders));
280
+ });
281
+ return _context4.abrupt("return", data);
282
+
283
+ case 12:
284
+ case "end":
285
+ return _context4.stop();
286
+ }
287
+ }
288
+ }, _callee4);
289
+ }))();
290
+ },
291
+ deleteFolder: function deleteFolder(folder) {
292
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
293
+ var id, type, _yield$apolloFetching5, response, _response$folders$del, data, error;
294
+
295
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
296
+ while (1) {
297
+ switch (_context5.prev = _context5.next) {
298
+ case 0:
299
+ id = folder.id, type = folder.type;
300
+ _context5.next = 3;
301
+ return (0, _handlers.apolloFetchingHandler)((0, _handlers.loadingHandler)("DELETE", setLoading), function () {
302
+ return client.mutate({
303
+ mutation: _folders.DELETE_FOLDER,
304
+ variables: {
305
+ id: id
306
+ }
307
+ });
308
+ });
309
+
310
+ case 3:
311
+ _yield$apolloFetching5 = _context5.sent;
312
+ response = _yield$apolloFetching5.data;
313
+
314
+ if (response) {
315
+ _context5.next = 7;
316
+ break;
317
+ }
318
+
319
+ throw new Error("Network error while deleting folder");
320
+
321
+ case 7:
322
+ _response$folders$del = response.folders.deleteFolder, data = _response$folders$del.data, error = _response$folders$del.error;
323
+
324
+ if (data) {
325
+ _context5.next = 10;
326
+ break;
327
+ }
328
+
329
+ throw new Error((error === null || error === void 0 ? void 0 : error.message) || "Could not delete folder");
330
+
331
+ case 10:
332
+ setFolders(function (folders) {
333
+ var updatedFolders = folders[type].filter(function (f) {
334
+ return f.id !== id;
335
+ });
336
+ return (0, _objectSpread6.default)((0, _objectSpread6.default)({}, folders), {}, (0, _defineProperty2.default)({}, type, updatedFolders));
337
+ });
338
+ return _context5.abrupt("return", true);
339
+
340
+ case 12:
341
+ case "end":
342
+ return _context5.stop();
343
+ }
344
+ }
345
+ }, _callee5);
346
+ }))();
347
+ }
348
+ };
349
+ return /*#__PURE__*/_react.default.createElement(FoldersContext.Provider, {
350
+ value: context
351
+ }, children);
352
+ };
353
+
354
+ exports.FoldersProvider = FoldersProvider;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FoldersContext","React","createContext","undefined","defaultLoading","INIT","LIST","LIST_MORE","GET","CREATE","UPDATE","DELETE","FoldersProvider","children","client","useApolloClient","useState","Object","create","folders","setFolders","loading","setLoading","context","listFolders","type","Error","apolloFetchingHandler","loadingHandler","query","LIST_FOLDERS","variables","response","data","error","message","prev","getFolder","id","GET_FOLDER","createFolder","folder","mutate","mutation","CREATE_FOLDER","updateFolder","name","slug","parentId","UPDATE_FOLDER","folderIndex","findIndex","f","typeFolders","deleteFolder","DELETE_FOLDER","updatedFolders","filter"],"sources":["folders.tsx"],"sourcesContent":["import React, { ReactNode, useState } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\n\nimport { apolloFetchingHandler, loadingHandler } from \"~/handlers\";\n\nimport {\n CREATE_FOLDER,\n DELETE_FOLDER,\n GET_FOLDER,\n LIST_FOLDERS,\n UPDATE_FOLDER\n} from \"~/graphql/folders.gql\";\n\nimport {\n CreateFolderResponse,\n CreateFolderVariables,\n GetFolderResponse,\n GetFolderQueryVariables,\n DeleteFolderResponse,\n DeleteFolderVariables,\n FolderItem,\n ListFoldersQueryVariables,\n ListFoldersResponse,\n UpdateFolderResponse,\n UpdateFolderVariables,\n Loading,\n LoadingActions\n} from \"~/types\";\n\ninterface FoldersContext {\n folders: Record<string, FolderItem[]>;\n loading: Loading<LoadingActions>;\n listFolders: (type: string) => Promise<FolderItem[]>;\n getFolder: (id: string) => Promise<FolderItem>;\n createFolder: (folder: Omit<FolderItem, \"id\">) => Promise<FolderItem>;\n updateFolder: (folder: FolderItem) => Promise<FolderItem>;\n deleteFolder(folder: FolderItem): Promise<true>;\n}\n\nexport const FoldersContext = React.createContext<FoldersContext | undefined>(undefined);\n\ninterface Props {\n children: ReactNode;\n}\n\nconst defaultLoading: Record<LoadingActions, boolean> = {\n INIT: true,\n LIST: false,\n LIST_MORE: false,\n GET: false,\n CREATE: false,\n UPDATE: false,\n DELETE: false\n};\n\nexport const FoldersProvider = ({ children }: Props) => {\n const client = useApolloClient();\n const [folders, setFolders] = useState<Record<string, FolderItem[]>>(Object.create(null));\n const [loading, setLoading] = useState<Loading<LoadingActions>>(defaultLoading);\n\n const context: FoldersContext = {\n folders,\n loading,\n async listFolders(type: string) {\n if (!type) {\n throw new Error(\"Folder `type` is mandatory\");\n }\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"LIST\", setLoading),\n () =>\n client.query<ListFoldersResponse, ListFoldersQueryVariables>({\n query: LIST_FOLDERS,\n variables: { type }\n })\n );\n\n const { data, error } = response.folders.listFolders;\n\n if (!data) {\n throw new Error(error?.message || \"Could not fetch folders\");\n }\n\n setFolders(folders => ({\n ...folders,\n [type]: data || []\n }));\n\n setLoading(prev => ({\n ...prev,\n INIT: false\n }));\n\n return data;\n },\n\n async getFolder(id) {\n if (!id) {\n throw new Error(\"Folder `id` is mandatory\");\n }\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"GET\", setLoading),\n () =>\n client.query<GetFolderResponse, GetFolderQueryVariables>({\n query: GET_FOLDER,\n variables: { id }\n })\n );\n\n const { data, error } = response.folders.getFolder;\n\n if (!data) {\n throw new Error(error?.message || `Could not fetch folder with id: ${id}`);\n }\n\n return data;\n },\n\n async createFolder(folder) {\n const { type } = folder;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"CREATE\", setLoading),\n () =>\n client.mutate<CreateFolderResponse, CreateFolderVariables>({\n mutation: CREATE_FOLDER,\n variables: { data: folder }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while creating folder\");\n }\n\n const { data, error } = response.folders.createFolder;\n\n if (!data) {\n throw new Error(error?.message || \"Could not create folder\");\n }\n\n setFolders(folders => ({ ...folders, [type]: [...folders[type], data] }));\n\n return data;\n },\n\n async updateFolder(folder) {\n const { id, type, name, slug, parentId } = folder;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"UPDATE\", setLoading),\n () =>\n client.mutate<UpdateFolderResponse, UpdateFolderVariables>({\n mutation: UPDATE_FOLDER,\n variables: {\n id,\n data: {\n name,\n slug,\n parentId\n }\n }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while updating folder\");\n }\n\n const { data, error } = response.folders.updateFolder;\n\n if (!data) {\n throw new Error(error?.message || \"Could not update folder\");\n }\n\n setFolders(folders => {\n const folderIndex = folders[type].findIndex(f => f.id === id);\n if (folderIndex === -1) {\n return folders;\n }\n\n const typeFolders = folders[type];\n typeFolders[folderIndex] = data;\n\n return { ...folders, [type]: typeFolders };\n });\n\n return data;\n },\n\n async deleteFolder(folder) {\n const { id, type } = folder;\n\n const { data: response } = await apolloFetchingHandler(\n loadingHandler(\"DELETE\", setLoading),\n () =>\n client.mutate<DeleteFolderResponse, DeleteFolderVariables>({\n mutation: DELETE_FOLDER,\n variables: { id }\n })\n );\n\n if (!response) {\n throw new Error(\"Network error while deleting folder\");\n }\n\n const { data, error } = response.folders.deleteFolder;\n\n if (!data) {\n throw new Error(error?.message || \"Could not delete folder\");\n }\n\n setFolders(folders => {\n const updatedFolders = folders[type].filter(f => f.id !== id);\n return { ...folders, [type]: updatedFolders };\n });\n\n return true;\n }\n };\n\n return <FoldersContext.Provider value={context}>{children}</FoldersContext.Provider>;\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const ACOProvider: React.FC<{}>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ACOProvider = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _appAdmin = require("@webiny/app-admin");
13
+
14
+ var _folders = require("./folders");
15
+
16
+ var _links = require("./links");
17
+
18
+ var ACOProvider = (0, _appAdmin.createProviderPlugin)(function (Component) {
19
+ return function FoldersProvider(_ref) {
20
+ var children = _ref.children;
21
+ return /*#__PURE__*/_react.default.createElement(_folders.FoldersProvider, null, /*#__PURE__*/_react.default.createElement(_links.LinksProvider, null, /*#__PURE__*/_react.default.createElement(Component, null, children)));
22
+ };
23
+ });
24
+ exports.ACOProvider = ACOProvider;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ACOProvider","createProviderPlugin","Component","FoldersProvider","children"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { createProviderPlugin } from \"@webiny/app-admin\";\nimport { FoldersProvider as FoldersContextProvider } from \"./folders\";\nimport { LinksProvider as LinksContextProvider } from \"./links\";\n\nexport const ACOProvider = createProviderPlugin(Component => {\n return function FoldersProvider({ children }) {\n return (\n <FoldersContextProvider>\n <LinksContextProvider>\n <Component>{children}</Component>\n </LinksContextProvider>\n </FoldersContextProvider>\n );\n };\n});\n"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAEO,IAAMA,WAAW,GAAG,IAAAC,8BAAA,EAAqB,UAAAC,SAAS,EAAI;EACzD,OAAO,SAASC,eAAT,OAAuC;IAAA,IAAZC,QAAY,QAAZA,QAAY;IAC1C,oBACI,6BAAC,wBAAD,qBACI,6BAAC,oBAAD,qBACI,6BAAC,SAAD,QAAYA,QAAZ,CADJ,CADJ,CADJ;EAOH,CARD;AASH,CAV0B,CAApB"}
@@ -0,0 +1,18 @@
1
+ import React, { ReactNode } from "react";
2
+ import { LinkItem, ListMeta, Loading, LoadingActions, Meta } from "../types";
3
+ interface LinksContext {
4
+ links: LinkItem[];
5
+ loading: Loading<LoadingActions>;
6
+ meta: Meta<ListMeta>;
7
+ listLinks: (type: string, limit?: number, after?: string) => Promise<LinkItem[]>;
8
+ getLink: (id: string, folderId: string) => Promise<LinkItem>;
9
+ createLink: (link: Omit<LinkItem, "linkId">) => Promise<LinkItem>;
10
+ updateLink: (link: LinkItem, contextFolderId: string) => Promise<LinkItem>;
11
+ deleteLink(link: LinkItem): Promise<true>;
12
+ }
13
+ export declare const LinksContext: React.Context<LinksContext | undefined>;
14
+ interface Props {
15
+ children: ReactNode;
16
+ }
17
+ export declare const LinksProvider: ({ children }: Props) => JSX.Element;
18
+ export {};