@webiny/app-aco 5.37.0-beta.0 → 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.
Files changed (219) hide show
  1. package/Folders.d.ts +2 -0
  2. package/Folders.js +22 -0
  3. package/Folders.js.map +1 -0
  4. package/components/Dialogs/DialogCreate.d.ts +2 -3
  5. package/components/Dialogs/DialogCreate.js +32 -35
  6. package/components/Dialogs/DialogCreate.js.map +1 -1
  7. package/components/Dialogs/DialogDelete.d.ts +3 -3
  8. package/components/Dialogs/DialogDelete.js +1 -1
  9. package/components/Dialogs/DialogDelete.js.map +1 -1
  10. package/components/Dialogs/DialogMove.d.ts +4 -5
  11. package/components/Dialogs/DialogMove.js +22 -30
  12. package/components/Dialogs/DialogMove.js.map +1 -1
  13. package/components/Dialogs/DialogUpdate.d.ts +2 -2
  14. package/components/Dialogs/DialogUpdate.js +9 -13
  15. package/components/Dialogs/DialogUpdate.js.map +1 -1
  16. package/components/Dialogs/index.js.map +1 -1
  17. package/components/Dialogs/styled.js.map +1 -1
  18. package/components/FolderGrid/ActionDelete.js.map +1 -1
  19. package/components/FolderGrid/ActionEdit.js.map +1 -1
  20. package/components/FolderGrid/Folder.js.map +1 -1
  21. package/components/FolderGrid/FolderGrid.js.map +1 -1
  22. package/components/FolderGrid/index.js.map +1 -1
  23. package/components/FolderGrid/styled.js.map +1 -1
  24. package/components/FolderTree/ButtonCreate/index.js +1 -1
  25. package/components/FolderTree/ButtonCreate/index.js.map +1 -1
  26. package/components/FolderTree/ButtonCreate/styled.js.map +1 -1
  27. package/components/FolderTree/Empty/index.js.map +1 -1
  28. package/components/FolderTree/Empty/styled.js.map +1 -1
  29. package/components/FolderTree/List/index.d.ts +4 -8
  30. package/components/FolderTree/List/index.js +27 -30
  31. package/components/FolderTree/List/index.js.map +1 -1
  32. package/components/FolderTree/List/utils.d.ts +3 -3
  33. package/components/FolderTree/List/utils.js +6 -18
  34. package/components/FolderTree/List/utils.js.map +1 -1
  35. package/components/FolderTree/Loader/index.d.ts +4 -2
  36. package/components/FolderTree/Loader/index.js +3 -2
  37. package/components/FolderTree/Loader/index.js.map +1 -1
  38. package/components/FolderTree/Loader/styled.js +2 -2
  39. package/components/FolderTree/Loader/styled.js.map +1 -1
  40. package/components/FolderTree/MenuActions/index.js.map +1 -1
  41. package/components/FolderTree/MenuActions/styled.js.map +1 -1
  42. package/components/FolderTree/Node/index.d.ts +7 -6
  43. package/components/FolderTree/Node/index.js +25 -10
  44. package/components/FolderTree/Node/index.js.map +1 -1
  45. package/components/FolderTree/Node/styled.js +1 -1
  46. package/components/FolderTree/Node/styled.js.map +1 -1
  47. package/components/FolderTree/NodePreview/index.d.ts +2 -2
  48. package/components/FolderTree/NodePreview/index.js +2 -1
  49. package/components/FolderTree/NodePreview/index.js.map +1 -1
  50. package/components/FolderTree/NodePreview/styled.js.map +1 -1
  51. package/components/FolderTree/Placeholder/index.d.ts +2 -2
  52. package/components/FolderTree/Placeholder/index.js.map +1 -1
  53. package/components/FolderTree/Placeholder/styled.js.map +1 -1
  54. package/components/FolderTree/index.d.ts +7 -10
  55. package/components/FolderTree/index.js +30 -30
  56. package/components/FolderTree/index.js.map +1 -1
  57. package/components/FolderTree/styled.js +1 -1
  58. package/components/FolderTree/styled.js.map +1 -1
  59. package/components/Search/Search.d.ts +7 -0
  60. package/components/Search/Search.js +19 -0
  61. package/components/Search/Search.js.map +1 -0
  62. package/components/Search/index.d.ts +1 -0
  63. package/components/{TagList → Search}/index.js +4 -4
  64. package/components/Search/index.js.map +1 -0
  65. package/components/Search/styled.d.ts +7 -0
  66. package/components/Search/styled.js +13 -0
  67. package/components/Search/styled.js.map +1 -0
  68. package/components/index.d.ts +1 -1
  69. package/components/index.js +4 -4
  70. package/components/index.js.map +1 -1
  71. package/constants.d.ts +1 -0
  72. package/constants.js +8 -0
  73. package/constants.js.map +1 -0
  74. package/contexts/DisplayError/index.d.ts +6 -0
  75. package/contexts/DisplayError/index.js +38 -0
  76. package/contexts/DisplayError/index.js.map +1 -0
  77. package/contexts/FoldersApi/FoldersApiProvider.d.ts +23 -0
  78. package/contexts/FoldersApi/FoldersApiProvider.js +332 -0
  79. package/contexts/FoldersApi/FoldersApiProvider.js.map +1 -0
  80. package/contexts/FoldersApi/index.d.ts +2 -0
  81. package/contexts/FoldersApi/index.js +27 -0
  82. package/contexts/FoldersApi/index.js.map +1 -0
  83. package/contexts/FoldersApi/useFoldersApi.d.ts +2 -0
  84. package/contexts/FoldersApi/useFoldersApi.js +15 -0
  85. package/contexts/FoldersApi/useFoldersApi.js.map +1 -0
  86. package/contexts/acoList.d.ts +34 -0
  87. package/contexts/acoList.js +298 -0
  88. package/contexts/acoList.js.map +1 -0
  89. package/contexts/app.d.ts +35 -0
  90. package/contexts/app.js +197 -0
  91. package/contexts/app.js.map +1 -0
  92. package/contexts/folders.d.ts +8 -6
  93. package/contexts/folders.js +142 -240
  94. package/contexts/folders.js.map +1 -1
  95. package/contexts/index.d.ts +1 -2
  96. package/contexts/index.js +12 -12
  97. package/contexts/index.js.map +1 -1
  98. package/contexts/navigateFolder.d.ts +18 -0
  99. package/contexts/navigateFolder.js +72 -0
  100. package/contexts/navigateFolder.js.map +1 -0
  101. package/contexts/navigateFolderWithRouter.d.ts +8 -0
  102. package/contexts/navigateFolderWithRouter.js +92 -0
  103. package/contexts/navigateFolderWithRouter.js.map +1 -0
  104. package/contexts/records.d.ts +17 -26
  105. package/contexts/records.js +524 -383
  106. package/contexts/records.js.map +1 -1
  107. package/dialogs/Dialog.d.ts +15 -0
  108. package/dialogs/Dialog.js +43 -0
  109. package/dialogs/Dialog.js.map +1 -0
  110. package/dialogs/dialogs.d.ts +31 -0
  111. package/dialogs/dialogs.js +120 -0
  112. package/dialogs/dialogs.js.map +1 -0
  113. package/dialogs/index.d.ts +4 -0
  114. package/dialogs/index.js +49 -0
  115. package/dialogs/index.js.map +1 -0
  116. package/dialogs/styled.d.ts +18 -0
  117. package/dialogs/styled.js +24 -0
  118. package/dialogs/styled.js.map +1 -0
  119. package/dialogs/useDialogsContext.d.ts +2 -0
  120. package/dialogs/useDialogsContext.js +16 -0
  121. package/dialogs/useDialogsContext.js.map +1 -0
  122. package/dialogs/useMoveToFolderDialog.d.ts +22 -0
  123. package/dialogs/useMoveToFolderDialog.js +74 -0
  124. package/dialogs/useMoveToFolderDialog.js.map +1 -0
  125. package/graphql/app.gql.d.ts +17 -0
  126. package/graphql/app.gql.js +14 -0
  127. package/graphql/app.gql.js.map +1 -0
  128. package/graphql/folders.gql.js +1 -1
  129. package/graphql/folders.gql.js.map +1 -1
  130. package/graphql/records/common.d.ts +4 -0
  131. package/graphql/records/common.js +47 -0
  132. package/graphql/records/common.js.map +1 -0
  133. package/graphql/records/createRecord.d.ts +2 -0
  134. package/graphql/records/createRecord.js +19 -0
  135. package/graphql/records/createRecord.js.map +1 -0
  136. package/graphql/records/deleteRecord.d.ts +2 -0
  137. package/graphql/records/deleteRecord.js +19 -0
  138. package/graphql/records/deleteRecord.js.map +1 -0
  139. package/graphql/records/getRecord.d.ts +2 -0
  140. package/graphql/records/getRecord.js +20 -0
  141. package/graphql/records/getRecord.js.map +1 -0
  142. package/graphql/records/listRecords.d.ts +2 -0
  143. package/graphql/records/listRecords.js +29 -0
  144. package/graphql/records/listRecords.js.map +1 -0
  145. package/graphql/records/listTags.d.ts +2 -0
  146. package/graphql/records/listTags.js +19 -0
  147. package/graphql/records/listTags.js.map +1 -0
  148. package/graphql/records/moveRecord.d.ts +2 -0
  149. package/graphql/records/moveRecord.js +19 -0
  150. package/graphql/records/moveRecord.js.map +1 -0
  151. package/graphql/records/types.d.ts +108 -0
  152. package/graphql/records/types.js +5 -0
  153. package/graphql/records/types.js.map +1 -0
  154. package/graphql/records/updateRecord.d.ts +2 -0
  155. package/graphql/records/updateRecord.js +19 -0
  156. package/graphql/records/updateRecord.js.map +1 -0
  157. package/graphql/records.gql.d.ts +7 -6
  158. package/graphql/records.gql.js +77 -20
  159. package/graphql/records.gql.js.map +1 -1
  160. package/handlers.d.ts +7 -2
  161. package/handlers.js +36 -2
  162. package/handlers.js.map +1 -1
  163. package/hooks/index.d.ts +3 -0
  164. package/hooks/index.js +39 -1
  165. package/hooks/index.js.map +1 -1
  166. package/hooks/useAcoApp.d.ts +2 -0
  167. package/hooks/useAcoApp.js +25 -0
  168. package/hooks/useAcoApp.js.map +1 -0
  169. package/hooks/useAcoList.d.ts +3 -33
  170. package/hooks/useAcoList.js +6 -141
  171. package/hooks/useAcoList.js.map +1 -1
  172. package/hooks/useFolders.d.ts +8 -8
  173. package/hooks/useFolders.js +15 -25
  174. package/hooks/useFolders.js.map +1 -1
  175. package/hooks/useNavigateFolder.d.ts +2 -0
  176. package/hooks/useNavigateFolder.js +16 -0
  177. package/hooks/useNavigateFolder.js.map +1 -0
  178. package/hooks/useRecords.d.ts +12 -18
  179. package/hooks/useRecords.js +33 -16
  180. package/hooks/useRecords.js.map +1 -1
  181. package/hooks/useTags.d.ts +1 -6
  182. package/hooks/useTags.js +10 -19
  183. package/hooks/useTags.js.map +1 -1
  184. package/index.d.ts +5 -2
  185. package/index.js +51 -32
  186. package/index.js.map +1 -1
  187. package/package.json +22 -16
  188. package/sorting.d.ts +9 -3
  189. package/sorting.js +38 -12
  190. package/sorting.js.map +1 -1
  191. package/types.d.ts +40 -114
  192. package/types.js +11 -13
  193. package/types.js.map +1 -1
  194. package/components/FolderTree/List/constants.d.ts +0 -1
  195. package/components/FolderTree/List/constants.js +0 -8
  196. package/components/FolderTree/List/constants.js.map +0 -1
  197. package/components/FolderTree/Title/index.d.ts +0 -9
  198. package/components/FolderTree/Title/index.js +0 -24
  199. package/components/FolderTree/Title/index.js.map +0 -1
  200. package/components/FolderTree/Title/styled.d.ts +0 -16
  201. package/components/FolderTree/Title/styled.js +0 -24
  202. package/components/FolderTree/Title/styled.js.map +0 -1
  203. package/components/TagList/Empty.d.ts +0 -6
  204. package/components/TagList/Empty.js +0 -22
  205. package/components/TagList/Empty.js.map +0 -1
  206. package/components/TagList/Loader.d.ts +0 -2
  207. package/components/TagList/Loader.js +0 -19
  208. package/components/TagList/Loader.js.map +0 -1
  209. package/components/TagList/Tag.d.ts +0 -9
  210. package/components/TagList/Tag.js +0 -28
  211. package/components/TagList/Tag.js.map +0 -1
  212. package/components/TagList/TagList.d.ts +0 -14
  213. package/components/TagList/TagList.js +0 -65
  214. package/components/TagList/TagList.js.map +0 -1
  215. package/components/TagList/index.d.ts +0 -1
  216. package/components/TagList/index.js.map +0 -1
  217. package/components/TagList/styled.d.ts +0 -27
  218. package/components/TagList/styled.js +0 -35
  219. package/components/TagList/styled.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_store","_interopRequireDefault","_constants","_excluded","NavigateFolderContext","React","createContext","undefined","exports","NavigateFolderProvider","_ref","currentFolderId","folderId","children","createStorageKey","props","_objectWithoutProperties2","default","setFolderToStorage","useCallback","newFolderId","store","set","getFolderFromStorage","get","toLowerCase","useEffect","setTimeout","navigateToLatestFolder","storageFolderId","ROOT_FOLDER","navigateToFolder","navigateToListHome","remove","context","createElement","Provider","value"],"sources":["navigateFolder.tsx"],"sourcesContent":["import React, { useCallback, useEffect } from \"react\";\nimport store from \"store\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface NavigateFolderContext {\n currentFolderId?: string;\n setFolderToStorage: (folderId?: string) => void;\n navigateToListHome: () => void;\n navigateToFolder: (folder?: string) => void;\n navigateToLatestFolder: () => void;\n}\n\nexport const NavigateFolderContext = React.createContext<NavigateFolderContext | undefined>(\n undefined\n);\n\nexport interface NavigateFolderProviderProps {\n folderId: string | undefined;\n children: React.ReactNode;\n navigateToListHome: () => void;\n navigateToFolder: (folderId: string) => void;\n navigateToLatestFolder: (folderId: string) => void;\n createStorageKey: () => string;\n}\n\nexport const NavigateFolderProvider: React.VFC<NavigateFolderProviderProps> = ({\n folderId: currentFolderId,\n children,\n createStorageKey,\n ...props\n}) => {\n /**\n * Helper function to set the current folderId to local storage:\n * we export this function to call it programmatically when we need it and\n * persist the value on view switch.\n */\n const setFolderToStorage = useCallback(\n (newFolderId?: string): void => {\n store.set(createStorageKey(), newFolderId);\n },\n [createStorageKey]\n );\n\n /**\n * Helper function to get the current folderId to local storage.\n * NOTE: with 5.37.0 we moved from \"ROOT\" to \"root\" as home folderId,\n * we need to return the lowercase value.\n */\n const getFolderFromStorage = useCallback((): string | undefined => {\n const folderId = store.get(createStorageKey()) as string | undefined;\n return folderId?.toLowerCase();\n }, [createStorageKey]);\n\n useEffect(() => {\n setTimeout(() => {\n // Defer navigation to next tick.\n navigateToLatestFolder();\n });\n }, []);\n\n /**\n * Navigate to the latest folder, considering the latest visited folder.\n */\n const navigateToLatestFolder = useCallback(() => {\n const storageFolderId = getFolderFromStorage();\n props.navigateToLatestFolder(currentFolderId || storageFolderId || ROOT_FOLDER);\n }, [currentFolderId]);\n\n const navigateToFolder = useCallback(\n (folderId?: string) => {\n setFolderToStorage(folderId);\n props.navigateToFolder(folderId || ROOT_FOLDER);\n },\n [currentFolderId]\n );\n\n const navigateToListHome = () => {\n store.remove(createStorageKey());\n props.navigateToListHome();\n };\n\n const context: NavigateFolderContext = {\n currentFolderId: currentFolderId || getFolderFromStorage(),\n setFolderToStorage,\n navigateToListHome,\n navigateToFolder,\n navigateToLatestFolder\n };\n\n return (\n <NavigateFolderContext.Provider value={context}>{children}</NavigateFolderContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAA0C,IAAAI,SAAA;AAUnC,IAAMC,qBAAqB,gBAAGC,cAAK,CAACC,aAAa,CACpDC,SACJ,CAAC;AAACC,OAAA,CAAAJ,qBAAA,GAAAA,qBAAA;AAWK,IAAMK,sBAA8D,GAAG,SAAjEA,sBAA8DA,CAAAC,IAAA,EAKrE;EAAA,IAJQC,eAAe,GAAAD,IAAA,CAAzBE,QAAQ;IACRC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IACbC,KAAK,OAAAC,yBAAA,CAAAC,OAAA,EAAAP,IAAA,EAAAP,SAAA;EAER;AACJ;AACA;AACA;AACA;EACI,IAAMe,kBAAkB,GAAG,IAAAC,kBAAW,EAClC,UAACC,WAAoB,EAAW;IAC5BC,cAAK,CAACC,GAAG,CAACR,gBAAgB,CAAC,CAAC,EAAEM,WAAW,CAAC;EAC9C,CAAC,EACD,CAACN,gBAAgB,CACrB,CAAC;;EAED;AACJ;AACA;AACA;AACA;EACI,IAAMS,oBAAoB,GAAG,IAAAJ,kBAAW,EAAC,YAA0B;IAC/D,IAAMP,QAAQ,GAAGS,cAAK,CAACG,GAAG,CAACV,gBAAgB,CAAC,CAAC,CAAuB;IACpE,OAAOF,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEa,WAAW,CAAC,CAAC;EAClC,CAAC,EAAE,CAACX,gBAAgB,CAAC,CAAC;EAEtB,IAAAY,gBAAS,EAAC,YAAM;IACZC,UAAU,CAAC,YAAM;MACb;MACAC,sBAAsB,CAAC,CAAC;IAC5B,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;;EAEN;AACJ;AACA;EACI,IAAMA,sBAAsB,GAAG,IAAAT,kBAAW,EAAC,YAAM;IAC7C,IAAMU,eAAe,GAAGN,oBAAoB,CAAC,CAAC;IAC9CR,KAAK,CAACa,sBAAsB,CAACjB,eAAe,IAAIkB,eAAe,IAAIC,sBAAW,CAAC;EACnF,CAAC,EAAE,CAACnB,eAAe,CAAC,CAAC;EAErB,IAAMoB,gBAAgB,GAAG,IAAAZ,kBAAW,EAChC,UAACP,QAAiB,EAAK;IACnBM,kBAAkB,CAACN,QAAQ,CAAC;IAC5BG,KAAK,CAACgB,gBAAgB,CAACnB,QAAQ,IAAIkB,sBAAW,CAAC;EACnD,CAAC,EACD,CAACnB,eAAe,CACpB,CAAC;EAED,IAAMqB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA,EAAS;IAC7BX,cAAK,CAACY,MAAM,CAACnB,gBAAgB,CAAC,CAAC,CAAC;IAChCC,KAAK,CAACiB,kBAAkB,CAAC,CAAC;EAC9B,CAAC;EAED,IAAME,OAA8B,GAAG;IACnCvB,eAAe,EAAEA,eAAe,IAAIY,oBAAoB,CAAC,CAAC;IAC1DL,kBAAkB,EAAlBA,kBAAkB;IAClBc,kBAAkB,EAAlBA,kBAAkB;IAClBD,gBAAgB,EAAhBA,gBAAgB;IAChBH,sBAAsB,EAAtBA;EACJ,CAAC;EAED,oBACI/B,MAAA,CAAAoB,OAAA,CAAAkB,aAAA,CAAC/B,qBAAqB,CAACgC,QAAQ;IAACC,KAAK,EAAEH;EAAQ,GAAErB,QAAyC,CAAC;AAEnG,CAAC;AAACL,OAAA,CAAAC,sBAAA,GAAAA,sBAAA"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ export interface NavigateFolderProviderProps {
3
+ children: React.ReactNode;
4
+ folderIdQueryString?: string;
5
+ createStorageKey: () => string;
6
+ createListLink?: () => string;
7
+ }
8
+ export declare const NavigateFolderWithRouterProvider: React.VFC<NavigateFolderProviderProps>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.NavigateFolderWithRouterProvider = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _reactRouter = require("@webiny/react-router");
12
+ var _navigateFolder = require("./navigateFolder");
13
+ var _constants = require("../constants");
14
+ var NavigateFolderWithRouterProvider = function NavigateFolderWithRouterProvider(_ref) {
15
+ var children = _ref.children,
16
+ _ref$folderIdQueryStr = _ref.folderIdQueryString,
17
+ folderIdQueryString = _ref$folderIdQueryStr === void 0 ? "folderId" : _ref$folderIdQueryStr,
18
+ createStorageKey = _ref.createStorageKey,
19
+ initialCreateListLink = _ref.createListLink;
20
+ var _useRouter = (0, _reactRouter.useRouter)(),
21
+ history = _useRouter.history,
22
+ search = _useRouter.search,
23
+ location = _useRouter.location;
24
+ var _search = (0, _slicedToArray2.default)(search, 1),
25
+ query = _search[0];
26
+ var folderId = query.get(folderIdQueryString) || undefined;
27
+ var _useState = (0, _react.useState)(folderId),
28
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
+ currentFolderId = _useState2[0],
30
+ setCurrentFolderId = _useState2[1];
31
+ (0, _react.useEffect)(function () {
32
+ setCurrentFolderId(folderId);
33
+ }, [folderId]);
34
+ var createListLink = (0, _react.useCallback)(function () {
35
+ if (!initialCreateListLink) {
36
+ return undefined;
37
+ }
38
+ return initialCreateListLink();
39
+ }, [initialCreateListLink]);
40
+
41
+ /**
42
+ * Navigate to home list.
43
+ */
44
+ var navigateToListHome = (0, _react.useCallback)(function () {
45
+ var url = createListLink();
46
+ if (url) {
47
+ return history.push(url);
48
+ }
49
+ return navigateToFolder(_constants.ROOT_FOLDER);
50
+ }, [createListLink]);
51
+
52
+ /**
53
+ * Navigate to a specific folder.
54
+ */
55
+ var navigateToFolder = (0, _react.useCallback)(function (newFolderId) {
56
+ var query = new URLSearchParams(location.search);
57
+ query.delete("new");
58
+ query.delete("id");
59
+ query.delete("entryId");
60
+ query.delete("search");
61
+ query.set(folderIdQueryString, newFolderId);
62
+ return history.push({
63
+ search: query.toString()
64
+ });
65
+ }, [location, folderIdQueryString]);
66
+
67
+ /**
68
+ * Navigate back to list, considering the latest visited folder.
69
+ */
70
+ var navigateToLatestFolder = (0, _react.useCallback)(function (folderId) {
71
+ /**
72
+ * We need to check if the stored folderId is the same as the current one, in this case we skip the navigation.
73
+ */
74
+ if (folderId === currentFolderId) {
75
+ return;
76
+ }
77
+ var query = new URLSearchParams(location.search);
78
+ query.set(folderIdQueryString, folderId);
79
+ return history.push({
80
+ pathname: createListLink(),
81
+ search: query.toString()
82
+ });
83
+ }, [createListLink, folderIdQueryString]);
84
+ return /*#__PURE__*/_react.default.createElement(_navigateFolder.NavigateFolderProvider, {
85
+ folderId: currentFolderId,
86
+ createStorageKey: createStorageKey,
87
+ navigateToFolder: navigateToFolder,
88
+ navigateToLatestFolder: navigateToLatestFolder,
89
+ navigateToListHome: navigateToListHome
90
+ }, children);
91
+ };
92
+ exports.NavigateFolderWithRouterProvider = NavigateFolderWithRouterProvider;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactRouter","_navigateFolder","_constants","NavigateFolderWithRouterProvider","_ref","children","_ref$folderIdQueryStr","folderIdQueryString","createStorageKey","initialCreateListLink","createListLink","_useRouter","useRouter","history","search","location","_search","_slicedToArray2","default","query","folderId","get","undefined","_useState","useState","_useState2","currentFolderId","setCurrentFolderId","useEffect","useCallback","navigateToListHome","url","push","navigateToFolder","ROOT_FOLDER","newFolderId","URLSearchParams","delete","set","toString","navigateToLatestFolder","pathname","createElement","NavigateFolderProvider","exports"],"sources":["navigateFolderWithRouter.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { NavigateFolderProvider } from \"~/contexts/navigateFolder\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\nexport interface NavigateFolderProviderProps {\n children: React.ReactNode;\n folderIdQueryString?: string;\n createStorageKey: () => string;\n createListLink?: () => string;\n}\n\nexport const NavigateFolderWithRouterProvider: React.VFC<NavigateFolderProviderProps> = ({\n children,\n folderIdQueryString = \"folderId\",\n createStorageKey,\n createListLink: initialCreateListLink\n}) => {\n const { history, search, location } = useRouter();\n const [query] = search;\n const folderId = query.get(folderIdQueryString) || undefined;\n const [currentFolderId, setCurrentFolderId] = useState<string | undefined>(folderId);\n\n useEffect(() => {\n setCurrentFolderId(folderId);\n }, [folderId]);\n\n const createListLink = useCallback(() => {\n if (!initialCreateListLink) {\n return undefined;\n }\n return initialCreateListLink();\n }, [initialCreateListLink]);\n\n /**\n * Navigate to home list.\n */\n const navigateToListHome = useCallback(() => {\n const url = createListLink();\n if (url) {\n return history.push(url);\n }\n\n return navigateToFolder(ROOT_FOLDER);\n }, [createListLink]);\n\n /**\n * Navigate to a specific folder.\n */\n const navigateToFolder = useCallback(\n (newFolderId: string): void => {\n const query = new URLSearchParams(location.search);\n query.delete(\"new\");\n query.delete(\"id\");\n query.delete(\"entryId\");\n query.delete(\"search\");\n query.set(folderIdQueryString, newFolderId);\n return history.push({\n search: query.toString()\n });\n },\n [location, folderIdQueryString]\n );\n\n /**\n * Navigate back to list, considering the latest visited folder.\n */\n const navigateToLatestFolder = useCallback(\n folderId => {\n /**\n * We need to check if the stored folderId is the same as the current one, in this case we skip the navigation.\n */\n if (folderId === currentFolderId) {\n return;\n }\n\n const query = new URLSearchParams(location.search);\n query.set(folderIdQueryString, folderId);\n\n return history.push({\n pathname: createListLink(),\n search: query.toString()\n });\n },\n [createListLink, folderIdQueryString]\n );\n\n return (\n <NavigateFolderProvider\n folderId={currentFolderId}\n createStorageKey={createStorageKey}\n navigateToFolder={navigateToFolder}\n navigateToLatestFolder={navigateToLatestFolder}\n navigateToListHome={navigateToListHome}\n >\n {children}\n </NavigateFolderProvider>\n );\n};\n"],"mappings":"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"}
@@ -1,37 +1,28 @@
1
1
  import React, { ReactNode } from "react";
2
- import { SearchRecordItem, ListMeta, Loading, LoadingActions, Meta, ListDbSort, TagItem, ListSearchRecordsWhereQueryVariables, ListTagsWhereQueryVariables } from "../types";
2
+ import { DeletableSearchRecordItem, ListMeta, ListSearchRecordsQueryVariables, ListTagsWhereQueryVariables, Loading, LoadingActions, MovableSearchRecordItem, SearchRecordItem, TagItem } from "../types";
3
+ interface ListTagsParams {
4
+ where?: ListTagsWhereQueryVariables;
5
+ }
6
+ export declare type ListRecordsParams = ListSearchRecordsQueryVariables;
3
7
  interface SearchRecordsContext {
4
- records: Record<string, SearchRecordItem[]>;
5
- tags: Record<string, TagItem[]>;
8
+ records: SearchRecordItem[];
9
+ tags: TagItem[];
6
10
  loading: Loading<LoadingActions>;
7
- meta: Meta<ListMeta>;
8
- listRecords: (params: {
9
- type?: string;
10
- folderId?: string;
11
- limit?: number;
12
- after?: string;
13
- sort?: ListDbSort;
14
- search?: string;
15
- createdBy?: string;
16
- tags_in?: string[];
17
- tags_startsWith?: string;
18
- tags_not_startsWith?: string;
19
- AND?: ListSearchRecordsWhereQueryVariables[];
20
- OR?: ListSearchRecordsWhereQueryVariables[];
21
- }) => Promise<SearchRecordItem[]>;
22
- getRecord: (id: string) => Promise<SearchRecordItem>;
11
+ meta: ListMeta;
12
+ listRecords: (params: ListRecordsParams) => Promise<SearchRecordItem[]>;
13
+ getRecord: (id: string) => Promise<SearchRecordItem | null>;
23
14
  createRecord: (record: Omit<SearchRecordItem, "id">) => Promise<SearchRecordItem>;
24
15
  updateRecord: (record: SearchRecordItem, contextFolderId?: string) => Promise<SearchRecordItem>;
25
- deleteRecord(record: SearchRecordItem): Promise<true>;
26
- listTags: (params: ListTagsWhereQueryVariables & {
27
- type: string;
28
- AND?: [ListTagsWhereQueryVariables];
29
- OR?: [ListTagsWhereQueryVariables];
30
- }) => Promise<TagItem[]>;
16
+ moveRecord: (record: MovableSearchRecordItem) => Promise<void>;
17
+ deleteRecord(record: DeletableSearchRecordItem): Promise<true>;
18
+ listTags: (params: ListTagsParams) => Promise<TagItem[]>;
19
+ addRecordToCache: (record: any) => void;
20
+ updateRecordInCache: (record: any) => void;
21
+ removeRecordFromCache: (id: string) => void;
31
22
  }
32
23
  export declare const SearchRecordsContext: React.Context<SearchRecordsContext | undefined>;
33
24
  interface Props {
34
25
  children: ReactNode;
35
26
  }
36
- export declare const SearchRecordsProvider: ({ children }: Props) => JSX.Element;
27
+ export declare const SearchRecordsProvider: React.VFC<Props>;
37
28
  export {};