@webiny/app-aco 0.0.0-unstable.c59b9cc5b9 → 0.0.0-unstable.c7dec08bb0

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 (260) 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 +30 -33
  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 +7 -11
  15. package/components/Dialogs/DialogUpdate.js.map +1 -1
  16. package/components/FolderTree/ButtonCreate/index.js +1 -1
  17. package/components/FolderTree/ButtonCreate/index.js.map +1 -1
  18. package/components/FolderTree/List/index.d.ts +4 -8
  19. package/components/FolderTree/List/index.js +33 -34
  20. package/components/FolderTree/List/index.js.map +1 -1
  21. package/components/FolderTree/List/utils.d.ts +3 -3
  22. package/components/FolderTree/List/utils.js +32 -33
  23. package/components/FolderTree/List/utils.js.map +1 -1
  24. package/components/FolderTree/Loader/index.d.ts +4 -2
  25. package/components/FolderTree/Loader/index.js +3 -2
  26. package/components/FolderTree/Loader/index.js.map +1 -1
  27. package/components/FolderTree/Loader/styled.js +2 -2
  28. package/components/FolderTree/Loader/styled.js.map +1 -1
  29. package/components/FolderTree/Node/index.d.ts +7 -6
  30. package/components/FolderTree/Node/index.js +25 -10
  31. package/components/FolderTree/Node/index.js.map +1 -1
  32. package/components/FolderTree/Node/styled.js +1 -1
  33. package/components/FolderTree/Node/styled.js.map +1 -1
  34. package/components/FolderTree/NodePreview/index.d.ts +2 -2
  35. package/components/FolderTree/NodePreview/index.js +2 -1
  36. package/components/FolderTree/NodePreview/index.js.map +1 -1
  37. package/components/FolderTree/Placeholder/index.d.ts +2 -2
  38. package/components/FolderTree/Placeholder/index.js.map +1 -1
  39. package/components/FolderTree/index.d.ts +7 -10
  40. package/components/FolderTree/index.js +30 -30
  41. package/components/FolderTree/index.js.map +1 -1
  42. package/components/FolderTree/styled.js +1 -1
  43. package/components/FolderTree/styled.js.map +1 -1
  44. package/components/Search/Search.d.ts +7 -0
  45. package/components/Search/Search.js +19 -0
  46. package/components/Search/Search.js.map +1 -0
  47. package/components/Search/index.d.ts +1 -0
  48. package/components/{TagList → Search}/index.js +4 -4
  49. package/components/Search/index.js.map +1 -0
  50. package/components/{Tree/Empty → Search}/styled.d.ts +1 -1
  51. package/components/Search/styled.js +13 -0
  52. package/components/Search/styled.js.map +1 -0
  53. package/components/index.d.ts +1 -1
  54. package/components/index.js +4 -4
  55. package/components/index.js.map +1 -1
  56. package/constants.d.ts +1 -0
  57. package/constants.js +8 -0
  58. package/constants.js.map +1 -0
  59. package/contexts/DisplayError/index.d.ts +6 -0
  60. package/contexts/DisplayError/index.js +38 -0
  61. package/contexts/DisplayError/index.js.map +1 -0
  62. package/contexts/FoldersApi/FoldersApiProvider.d.ts +23 -0
  63. package/contexts/FoldersApi/FoldersApiProvider.js +332 -0
  64. package/contexts/FoldersApi/FoldersApiProvider.js.map +1 -0
  65. package/contexts/FoldersApi/index.d.ts +2 -0
  66. package/contexts/FoldersApi/index.js +27 -0
  67. package/contexts/FoldersApi/index.js.map +1 -0
  68. package/contexts/FoldersApi/useFoldersApi.d.ts +2 -0
  69. package/contexts/FoldersApi/useFoldersApi.js +15 -0
  70. package/contexts/FoldersApi/useFoldersApi.js.map +1 -0
  71. package/contexts/app.d.ts +33 -0
  72. package/contexts/app.js +191 -0
  73. package/contexts/app.js.map +1 -0
  74. package/contexts/folders.d.ts +8 -6
  75. package/contexts/folders.js +141 -236
  76. package/contexts/folders.js.map +1 -1
  77. package/contexts/index.d.ts +1 -2
  78. package/contexts/index.js +12 -12
  79. package/contexts/index.js.map +1 -1
  80. package/contexts/navigateFolder.d.ts +18 -0
  81. package/contexts/navigateFolder.js +70 -0
  82. package/contexts/navigateFolder.js.map +1 -0
  83. package/contexts/navigateFolderWithRouter.d.ts +8 -0
  84. package/contexts/navigateFolderWithRouter.js +90 -0
  85. package/contexts/navigateFolderWithRouter.js.map +1 -0
  86. package/contexts/records.d.ts +17 -26
  87. package/contexts/records.js +524 -383
  88. package/contexts/records.js.map +1 -1
  89. package/dialogs/Dialog.d.ts +15 -0
  90. package/dialogs/Dialog.js +43 -0
  91. package/dialogs/Dialog.js.map +1 -0
  92. package/dialogs/dialogs.d.ts +31 -0
  93. package/dialogs/dialogs.js +120 -0
  94. package/dialogs/dialogs.js.map +1 -0
  95. package/dialogs/index.d.ts +4 -0
  96. package/dialogs/index.js +49 -0
  97. package/dialogs/index.js.map +1 -0
  98. package/{components/Tree/ButtonCreate → dialogs}/styled.d.ts +10 -10
  99. package/dialogs/styled.js +24 -0
  100. package/dialogs/styled.js.map +1 -0
  101. package/dialogs/useDialogsContext.d.ts +2 -0
  102. package/dialogs/useDialogsContext.js +16 -0
  103. package/dialogs/useDialogsContext.js.map +1 -0
  104. package/dialogs/useMoveToFolderDialog.d.ts +22 -0
  105. package/dialogs/useMoveToFolderDialog.js +74 -0
  106. package/dialogs/useMoveToFolderDialog.js.map +1 -0
  107. package/graphql/app.gql.d.ts +17 -0
  108. package/graphql/app.gql.js +14 -0
  109. package/graphql/app.gql.js.map +1 -0
  110. package/graphql/records/common.d.ts +4 -0
  111. package/graphql/records/common.js +47 -0
  112. package/graphql/records/common.js.map +1 -0
  113. package/graphql/records/createRecord.d.ts +2 -0
  114. package/graphql/records/createRecord.js +19 -0
  115. package/graphql/records/createRecord.js.map +1 -0
  116. package/graphql/records/deleteRecord.d.ts +2 -0
  117. package/graphql/records/deleteRecord.js +19 -0
  118. package/graphql/records/deleteRecord.js.map +1 -0
  119. package/graphql/records/getRecord.d.ts +2 -0
  120. package/graphql/records/getRecord.js +20 -0
  121. package/graphql/records/getRecord.js.map +1 -0
  122. package/graphql/records/listRecords.d.ts +2 -0
  123. package/graphql/records/listRecords.js +29 -0
  124. package/graphql/records/listRecords.js.map +1 -0
  125. package/graphql/records/listTags.d.ts +2 -0
  126. package/graphql/records/listTags.js +19 -0
  127. package/graphql/records/listTags.js.map +1 -0
  128. package/graphql/records/moveRecord.d.ts +2 -0
  129. package/graphql/records/moveRecord.js +19 -0
  130. package/graphql/records/moveRecord.js.map +1 -0
  131. package/graphql/records/types.d.ts +108 -0
  132. package/graphql/records/types.js +5 -0
  133. package/graphql/records/types.js.map +1 -0
  134. package/graphql/records/updateRecord.d.ts +2 -0
  135. package/graphql/records/updateRecord.js +19 -0
  136. package/graphql/records/updateRecord.js.map +1 -0
  137. package/graphql/records.gql.d.ts +7 -6
  138. package/graphql/records.gql.js +77 -20
  139. package/graphql/records.gql.js.map +1 -1
  140. package/handlers.d.ts +7 -2
  141. package/handlers.js +36 -2
  142. package/handlers.js.map +1 -1
  143. package/hooks/index.d.ts +3 -0
  144. package/hooks/index.js +39 -1
  145. package/hooks/index.js.map +1 -1
  146. package/hooks/useAcoApp.d.ts +2 -0
  147. package/hooks/useAcoApp.js +24 -0
  148. package/hooks/useAcoApp.js.map +1 -0
  149. package/hooks/useAcoList.d.ts +16 -23
  150. package/hooks/useAcoList.js +211 -74
  151. package/hooks/useAcoList.js.map +1 -1
  152. package/hooks/useFolders.d.ts +8 -8
  153. package/hooks/useFolders.js +15 -25
  154. package/hooks/useFolders.js.map +1 -1
  155. package/hooks/useNavigateFolder.d.ts +2 -0
  156. package/hooks/useNavigateFolder.js +16 -0
  157. package/hooks/useNavigateFolder.js.map +1 -0
  158. package/hooks/useRecords.d.ts +12 -18
  159. package/hooks/useRecords.js +33 -16
  160. package/hooks/useRecords.js.map +1 -1
  161. package/hooks/useTags.d.ts +1 -6
  162. package/hooks/useTags.js +10 -19
  163. package/hooks/useTags.js.map +1 -1
  164. package/index.d.ts +4 -2
  165. package/index.js +39 -32
  166. package/index.js.map +1 -1
  167. package/package.json +15 -10
  168. package/sorting.d.ts +9 -3
  169. package/sorting.js +38 -12
  170. package/sorting.js.map +1 -1
  171. package/types.d.ts +41 -114
  172. package/types.js +11 -13
  173. package/types.js.map +1 -1
  174. package/components/FolderTree/List/constants.d.ts +0 -1
  175. package/components/FolderTree/List/constants.js +0 -8
  176. package/components/FolderTree/List/constants.js.map +0 -1
  177. package/components/FolderTree/Title/index.d.ts +0 -9
  178. package/components/FolderTree/Title/index.js +0 -24
  179. package/components/FolderTree/Title/index.js.map +0 -1
  180. package/components/FolderTree/Title/styled.d.ts +0 -16
  181. package/components/FolderTree/Title/styled.js +0 -24
  182. package/components/FolderTree/Title/styled.js.map +0 -1
  183. package/components/TagList/Empty.d.ts +0 -6
  184. package/components/TagList/Empty.js +0 -22
  185. package/components/TagList/Empty.js.map +0 -1
  186. package/components/TagList/Loader.d.ts +0 -2
  187. package/components/TagList/Loader.js +0 -19
  188. package/components/TagList/Loader.js.map +0 -1
  189. package/components/TagList/Tag.d.ts +0 -9
  190. package/components/TagList/Tag.js +0 -28
  191. package/components/TagList/Tag.js.map +0 -1
  192. package/components/TagList/TagList.d.ts +0 -14
  193. package/components/TagList/TagList.js +0 -65
  194. package/components/TagList/TagList.js.map +0 -1
  195. package/components/TagList/index.d.ts +0 -1
  196. package/components/TagList/index.js.map +0 -1
  197. package/components/TagList/styled.d.ts +0 -27
  198. package/components/TagList/styled.js +0 -35
  199. package/components/TagList/styled.js.map +0 -1
  200. package/components/Tree/ButtonCreate/index.d.ts +0 -6
  201. package/components/Tree/ButtonCreate/index.js +0 -23
  202. package/components/Tree/ButtonCreate/index.js.map +0 -1
  203. package/components/Tree/ButtonCreate/styled.js +0 -24
  204. package/components/Tree/ButtonCreate/styled.js.map +0 -1
  205. package/components/Tree/Empty/index.d.ts +0 -2
  206. package/components/Tree/Empty/index.js +0 -20
  207. package/components/Tree/Empty/index.js.map +0 -1
  208. package/components/Tree/Empty/styled.js +0 -13
  209. package/components/Tree/Empty/styled.js.map +0 -1
  210. package/components/Tree/List/constants.d.ts +0 -1
  211. package/components/Tree/List/constants.js +0 -8
  212. package/components/Tree/List/constants.js.map +0 -1
  213. package/components/Tree/List/index.d.ts +0 -15
  214. package/components/Tree/List/index.js +0 -194
  215. package/components/Tree/List/index.js.map +0 -1
  216. package/components/Tree/List/utils.d.ts +0 -21
  217. package/components/Tree/List/utils.js +0 -88
  218. package/components/Tree/List/utils.js.map +0 -1
  219. package/components/Tree/Loader/index.d.ts +0 -2
  220. package/components/Tree/Loader/index.js +0 -20
  221. package/components/Tree/Loader/index.js.map +0 -1
  222. package/components/Tree/Loader/styled.d.ts +0 -11
  223. package/components/Tree/Loader/styled.js +0 -18
  224. package/components/Tree/Loader/styled.js.map +0 -1
  225. package/components/Tree/MenuActions/index.d.ts +0 -9
  226. package/components/Tree/MenuActions/index.js +0 -45
  227. package/components/Tree/MenuActions/index.js.map +0 -1
  228. package/components/Tree/MenuActions/styled.d.ts +0 -10
  229. package/components/Tree/MenuActions/styled.js +0 -19
  230. package/components/Tree/MenuActions/styled.js.map +0 -1
  231. package/components/Tree/Node/index.d.ts +0 -21
  232. package/components/Tree/Node/index.js +0 -68
  233. package/components/Tree/Node/index.js.map +0 -1
  234. package/components/Tree/Node/styled.d.ts +0 -43
  235. package/components/Tree/Node/styled.js +0 -43
  236. package/components/Tree/Node/styled.js.map +0 -1
  237. package/components/Tree/NodePreview/index.d.ts +0 -8
  238. package/components/Tree/NodePreview/index.js +0 -18
  239. package/components/Tree/NodePreview/index.js.map +0 -1
  240. package/components/Tree/NodePreview/styled.d.ts +0 -7
  241. package/components/Tree/NodePreview/styled.js +0 -13
  242. package/components/Tree/NodePreview/styled.js.map +0 -1
  243. package/components/Tree/Placeholder/index.d.ts +0 -9
  244. package/components/Tree/Placeholder/index.js +0 -21
  245. package/components/Tree/Placeholder/index.js.map +0 -1
  246. package/components/Tree/Placeholder/styled.d.ts +0 -7
  247. package/components/Tree/Placeholder/styled.js +0 -13
  248. package/components/Tree/Placeholder/styled.js.map +0 -1
  249. package/components/Tree/Title/index.d.ts +0 -9
  250. package/components/Tree/Title/index.js +0 -24
  251. package/components/Tree/Title/index.js.map +0 -1
  252. package/components/Tree/Title/styled.d.ts +0 -16
  253. package/components/Tree/Title/styled.js +0 -24
  254. package/components/Tree/Title/styled.js.map +0 -1
  255. package/components/Tree/index.d.ts +0 -16
  256. package/components/Tree/index.js +0 -84
  257. package/components/Tree/index.js.map +0 -1
  258. package/components/Tree/styled.d.ts +0 -7
  259. package/components/Tree/styled.js +0 -13
  260. package/components/Tree/styled.js.map +0 -1
package/Folders.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Folders: () => JSX.Element;
package/Folders.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Folders = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _appAdmin = require("@webiny/app-admin");
10
+ var _FoldersApi = require("./contexts/FoldersApi");
11
+ var FoldersApiProviderHOC = function FoldersApiProviderHOC(Component) {
12
+ return function FoldersApiProviderHOC(_ref) {
13
+ var children = _ref.children;
14
+ return /*#__PURE__*/_react.default.createElement(_FoldersApi.FoldersApiProvider, null, /*#__PURE__*/_react.default.createElement(Component, null, children));
15
+ };
16
+ };
17
+ var Folders = function Folders() {
18
+ return /*#__PURE__*/_react.default.createElement(_appAdmin.Plugin, {
19
+ providers: [FoldersApiProviderHOC]
20
+ });
21
+ };
22
+ exports.Folders = Folders;
package/Folders.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FoldersApiProviderHOC","Component","children","Folders"],"sources":["Folders.tsx"],"sourcesContent":["import React from \"react\";\nimport { Plugin } from \"@webiny/app-admin\";\nimport { FoldersApiProvider } from \"~/contexts/FoldersApi\";\n\nconst FoldersApiProviderHOC = (Component: React.FC): React.FC => {\n return function FoldersApiProviderHOC({ children }) {\n return (\n <FoldersApiProvider>\n <Component>{children}</Component>\n </FoldersApiProvider>\n );\n };\n};\n\nexport const Folders = () => {\n return <Plugin providers={[FoldersApiProviderHOC]} />;\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAqB,CAAIC,SAAmB,EAAe;EAC7D,OAAO,SAASD,qBAAqB,OAAe;IAAA,IAAZE,QAAQ,QAARA,QAAQ;IAC5C,oBACI,6BAAC,8BAAkB,qBACf,6BAAC,SAAS,QAAEA,QAAQ,CAAa,CAChB;EAE7B,CAAC;AACL,CAAC;AAEM,IAAMC,OAAO,GAAG,SAAVA,OAAO,GAAS;EACzB,oBAAO,6BAAC,gBAAM;IAAC,SAAS,EAAE,CAACH,qBAAqB;EAAE,EAAG;AACzD,CAAC;AAAC"}
@@ -1,10 +1,9 @@
1
1
  import React from "react";
2
2
  import { DialogOnClose } from "@webiny/ui/Dialog";
3
- declare type FolderDialogCreateProps = {
4
- type: string;
3
+ interface FolderDialogCreateProps {
5
4
  open: boolean;
6
5
  onClose: DialogOnClose;
7
6
  currentParentId?: string | null;
8
- };
7
+ }
9
8
  export declare const FolderDialogCreate: React.VFC<FolderDialogCreateProps>;
10
9
  export {};
@@ -12,6 +12,7 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
+ var _slugify = _interopRequireDefault(require("slugify"));
15
16
  var _i18n = require("@webiny/app/i18n");
16
17
  var _appAdmin = require("@webiny/app-admin");
17
18
  var _form = require("@webiny/form");
@@ -22,31 +23,30 @@ var _Input = require("@webiny/ui/Input");
22
23
  var _Progress = require("@webiny/ui/Progress");
23
24
  var _Typography = require("@webiny/ui/Typography");
24
25
  var _validation = require("@webiny/validation");
25
- var _slugify = _interopRequireDefault(require("slugify"));
26
26
  var _ = require("./..");
27
27
  var _useFolders2 = require("../../hooks/useFolders");
28
28
  var _styled = require("./styled");
29
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
29
+ var _constants = require("../../constants");
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
30
31
  var t = _i18n.i18n.ns("app-aco/dialogs/dialog-create");
31
32
  var FolderDialogCreate = function FolderDialogCreate(_ref) {
32
- var type = _ref.type,
33
- onClose = _ref.onClose,
33
+ var onClose = _ref.onClose,
34
34
  open = _ref.open,
35
35
  currentParentId = _ref.currentParentId;
36
- var _useFolders = (0, _useFolders2.useFolders)(type),
36
+ var _useFolders = (0, _useFolders2.useFolders)(),
37
37
  loading = _useFolders.loading,
38
38
  createFolder = _useFolders.createFolder;
39
39
  var _useState = (0, _react.useState)(false),
40
40
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
41
41
  dialogOpen = _useState2[0],
42
42
  setDialogOpen = _useState2[1];
43
- var _useState3 = (0, _react.useState)(),
43
+ var _useState3 = (0, _react.useState)(currentParentId || _constants.ROOT_FOLDER),
44
44
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
45
45
  parentId = _useState4[0],
46
46
  setParentId = _useState4[1];
47
47
  var _useSnackbar = (0, _appAdmin.useSnackbar)(),
48
48
  showSnackbar = _useSnackbar.showSnackbar;
49
- var onSubmit = /*#__PURE__*/function () {
49
+ var onSubmit = (0, _react.useCallback)( /*#__PURE__*/function () {
50
50
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(data) {
51
51
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
52
52
  while (1) switch (_context.prev = _context.next) {
@@ -54,8 +54,7 @@ var FolderDialogCreate = function FolderDialogCreate(_ref) {
54
54
  _context.prev = 0;
55
55
  _context.next = 3;
56
56
  return createFolder((0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
57
- type: type,
58
- parentId: parentId || null
57
+ parentId: parentId === _constants.ROOT_FOLDER ? null : parentId
59
58
  }));
60
59
  case 3:
61
60
  setDialogOpen(false);
@@ -72,16 +71,18 @@ var FolderDialogCreate = function FolderDialogCreate(_ref) {
72
71
  }
73
72
  }, _callee, null, [[0, 7]]);
74
73
  }));
75
- return function onSubmit(_x) {
74
+ return function (_x) {
76
75
  return _ref2.apply(this, arguments);
77
76
  };
78
- }();
79
- var generateSlug = function generateSlug(form) {
77
+ }(), [parentId]);
78
+ (0, _react.useEffect)(function () {
79
+ if (currentParentId !== parentId) {
80
+ setParentId(currentParentId || _constants.ROOT_FOLDER);
81
+ }
82
+ }, [currentParentId]);
83
+ var generateSlug = (0, _react.useCallback)(function (form) {
80
84
  return function () {
81
- if (form.data.slug) {
82
- return;
83
- }
84
- if (!form.data.title) {
85
+ if (form.data.slug || !form.data.title) {
85
86
  return;
86
87
  }
87
88
 
@@ -93,17 +94,20 @@ var FolderDialogCreate = function FolderDialogCreate(_ref) {
93
94
  trim: false
94
95
  }));
95
96
  };
96
- };
97
- (0, _react.useEffect)(function () {
98
- setParentId(currentParentId);
99
- }, [currentParentId]);
97
+ }, []);
100
98
  (0, _react.useEffect)(function () {
101
99
  setDialogOpen(open);
102
- }, [open]);
100
+ }, [open, setDialogOpen]);
101
+ if (!dialogOpen) {
102
+ return null;
103
+ }
104
+ var onFolderClick = function onFolderClick(data) {
105
+ setParentId(data.id);
106
+ };
103
107
  return /*#__PURE__*/_react.default.createElement(_styled.DialogContainer, {
104
108
  open: dialogOpen,
105
109
  onClose: onClose
106
- }, dialogOpen && /*#__PURE__*/_react.default.createElement(_form.Form, {
110
+ }, /*#__PURE__*/_react.default.createElement(_form.Form, {
107
111
  onSubmit: onSubmit
108
112
  }, function (_ref3) {
109
113
  var form = _ref3.form,
@@ -131,22 +135,15 @@ var FolderDialogCreate = function FolderDialogCreate(_ref) {
131
135
  }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
132
136
  use: "body1"
133
137
  }, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Parent folder"])))), /*#__PURE__*/_react.default.createElement(_styled.DialogFoldersContainer, null, /*#__PURE__*/_react.default.createElement(_.FolderTree, {
134
- title: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Root folder"]))),
135
- type: type,
136
- focusedFolderId: parentId || undefined,
137
- onFolderClick: function onFolderClick(data) {
138
- return setParentId((data === null || data === void 0 ? void 0 : data.id) || null);
139
- },
140
- onTitleClick: function onTitleClick() {
141
- return setParentId(null);
142
- }
138
+ focusedFolderId: parentId,
139
+ onFolderClick: onFolderClick
143
140
  }))))), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
144
141
  onClick: function onClick() {
145
142
  setDialogOpen(false);
146
143
  }
147
- }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
144
+ }, t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
148
145
  onClick: submit
149
- }, t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Create Folder"]))))));
146
+ }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Create Folder"]))))));
150
147
  }));
151
148
  };
152
149
  exports.FolderDialogCreate = FolderDialogCreate;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","FolderDialogCreate","type","onClose","open","currentParentId","useFolders","loading","createFolder","useState","dialogOpen","setDialogOpen","parentId","setParentId","useSnackbar","showSnackbar","onSubmit","data","message","generateSlug","form","slug","title","setValue","slugify","replacement","lower","remove","trim","useEffect","Bind","submit","CREATE","validation","create","undefined","id"],"sources":["DialogCreate.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Form, FormAPI, FormOnSubmit } from \"@webiny/form\";\nimport { ButtonDefault, ButtonPrimary } from \"@webiny/ui/Button\";\nimport { DialogTitle, DialogActions, DialogContent, DialogOnClose } from \"@webiny/ui/Dialog\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { validation } from \"@webiny/validation\";\nimport slugify from \"slugify\";\n\nimport { FolderTree } from \"~/components\";\nimport { useFolders } from \"~/hooks/useFolders\";\n\nimport { DialogContainer, DialogFoldersContainer } from \"./styled\";\n\nimport { FolderItem } from \"~/types\";\n\ntype FolderDialogCreateProps = {\n type: string;\n open: boolean;\n onClose: DialogOnClose;\n currentParentId?: string | null;\n};\n\nconst t = i18n.ns(\"app-aco/dialogs/dialog-create\");\n\ntype SubmitData = Omit<FolderItem, \"id\">;\n\nexport const FolderDialogCreate: React.VFC<FolderDialogCreateProps> = ({\n type,\n onClose,\n open,\n currentParentId\n}) => {\n const { loading, createFolder } = useFolders(type);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [parentId, setParentId] = useState<string | null>();\n const { showSnackbar } = useSnackbar();\n\n const onSubmit: FormOnSubmit<SubmitData> = async data => {\n try {\n await createFolder({\n ...data,\n type,\n parentId: parentId || null\n });\n setDialogOpen(false);\n showSnackbar(t`Folder created successfully!`);\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n const generateSlug = (form: FormAPI) => () => {\n if (form.data.slug) {\n return;\n }\n\n if (!form.data.title) {\n return;\n }\n\n // We want to update slug only when the folder is first being created.\n form.setValue(\n \"slug\",\n slugify(form.data.title, {\n replacement: \"-\",\n lower: true,\n remove: /[*#\\?<>_\\{\\}\\[\\]+~.()'\"!:;@]/g,\n trim: false\n })\n );\n };\n\n useEffect(() => {\n setParentId(currentParentId);\n }, [currentParentId]);\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open]);\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n {dialogOpen && (\n <Form<SubmitData> onSubmit={onSubmit}>\n {({ form, Bind, submit }) => (\n <>\n {loading.CREATE && <CircularProgress label={t`Creating folder...`} />}\n <DialogTitle>{t`Create a new folder`}</DialogTitle>\n <DialogContent>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"title\"}\n validators={[validation.create(\"required,minLength:3\")]}\n >\n <Input label={t`Title`} onBlur={generateSlug(form)} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"slug\"}\n validators={[\n validation.create(\"required,minLength:3,slug\")\n ]}\n >\n <Input label={t`Slug`} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{t`Parent folder`}</Typography>\n <DialogFoldersContainer>\n <FolderTree\n title={t`Root folder`}\n type={type}\n focusedFolderId={parentId || undefined}\n onFolderClick={data =>\n setParentId(data?.id || null)\n }\n onTitleClick={() => setParentId(null)}\n />\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n </DialogContent>\n <DialogActions>\n <ButtonDefault\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </ButtonDefault>\n <ButtonPrimary onClick={submit}>{t`Create Folder`}</ButtonPrimary>\n </DialogActions>\n </>\n )}\n </Form>\n )}\n </DialogContainer>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["t","i18n","ns","FolderDialogCreate","onClose","open","currentParentId","useFolders","loading","createFolder","useState","dialogOpen","setDialogOpen","ROOT_FOLDER","parentId","setParentId","useSnackbar","showSnackbar","onSubmit","useCallback","data","message","useEffect","generateSlug","form","slug","title","setValue","slugify","replacement","lower","remove","trim","onFolderClick","id","Bind","submit","CREATE","validation","create"],"sources":["DialogCreate.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport slugify from \"slugify\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Form, FormAPI, FormOnSubmit } from \"@webiny/form\";\nimport { ButtonDefault, ButtonPrimary } from \"@webiny/ui/Button\";\nimport { DialogActions, DialogContent, DialogOnClose, DialogTitle } from \"@webiny/ui/Dialog\";\nimport { Cell, Grid } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { validation } from \"@webiny/validation\";\nimport { FolderTree } from \"~/components\";\nimport { useFolders } from \"~/hooks/useFolders\";\nimport { DialogContainer, DialogFoldersContainer } from \"./styled\";\nimport { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\ninterface FolderDialogCreateProps {\n open: boolean;\n onClose: DialogOnClose;\n currentParentId?: string | null;\n}\n\nconst t = i18n.ns(\"app-aco/dialogs/dialog-create\");\n\ntype SubmitData = Omit<FolderItem, \"id\">;\n\nexport const FolderDialogCreate: React.VFC<FolderDialogCreateProps> = ({\n onClose,\n open,\n currentParentId\n}) => {\n const { loading, createFolder } = useFolders();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [parentId, setParentId] = useState<string>(currentParentId || ROOT_FOLDER);\n const { showSnackbar } = useSnackbar();\n\n const onSubmit: FormOnSubmit<SubmitData> = useCallback(\n async data => {\n try {\n await createFolder({\n ...data,\n parentId: parentId === ROOT_FOLDER ? null : parentId\n });\n setDialogOpen(false);\n showSnackbar(t`Folder created successfully!`);\n } catch (error) {\n showSnackbar(error.message);\n }\n },\n [parentId]\n );\n\n useEffect(() => {\n if (currentParentId !== parentId) {\n setParentId(currentParentId || ROOT_FOLDER);\n }\n }, [currentParentId]);\n\n const generateSlug = useCallback((form: FormAPI) => {\n return () => {\n if (form.data.slug || !form.data.title) {\n return;\n }\n\n // We want to update slug only when the folder is first being created.\n form.setValue(\n \"slug\",\n slugify(form.data.title, {\n replacement: \"-\",\n lower: true,\n remove: /[*#\\?<>_\\{\\}\\[\\]+~.()'\"!:;@]/g,\n trim: false\n })\n );\n };\n }, []);\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open, setDialogOpen]);\n\n if (!dialogOpen) {\n return null;\n }\n\n const onFolderClick = (data: FolderItem) => {\n setParentId(data.id);\n };\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n <Form<SubmitData> onSubmit={onSubmit}>\n {({ form, Bind, submit }) => (\n <>\n {loading.CREATE && <CircularProgress label={t`Creating folder...`} />}\n <DialogTitle>{t`Create a new folder`}</DialogTitle>\n <DialogContent>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"title\"}\n validators={[validation.create(\"required,minLength:3\")]}\n >\n <Input label={t`Title`} onBlur={generateSlug(form)} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"slug\"}\n validators={[\n validation.create(\"required,minLength:3,slug\")\n ]}\n >\n <Input label={t`Slug`} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{t`Parent folder`}</Typography>\n <DialogFoldersContainer>\n <FolderTree\n focusedFolderId={parentId}\n onFolderClick={onFolderClick}\n />\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n </DialogContent>\n <DialogActions>\n <ButtonDefault\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </ButtonDefault>\n <ButtonPrimary onClick={submit}>{t`Create Folder`}</ButtonPrimary>\n </DialogActions>\n </>\n )}\n </Form>\n </DialogContainer>\n );\n};\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
2
  import { DialogOnClose } from "@webiny/ui/Dialog";
3
3
  import { FolderItem } from "../../types";
4
- declare type FolderDialogDeleteProps = {
5
- folder: FolderItem;
4
+ interface FolderDialogDeleteProps {
5
+ folder: Pick<FolderItem, "id" | "title">;
6
6
  open: boolean;
7
7
  onClose: DialogOnClose;
8
- };
8
+ }
9
9
  export declare const FolderDialogDelete: React.VFC<FolderDialogDeleteProps>;
10
10
  export {};
@@ -24,7 +24,7 @@ var FolderDialogDelete = function FolderDialogDelete(_ref) {
24
24
  var folder = _ref.folder,
25
25
  open = _ref.open,
26
26
  onClose = _ref.onClose;
27
- var _useFolders = (0, _hooks.useFolders)(folder.type),
27
+ var _useFolders = (0, _hooks.useFolders)(),
28
28
  deleteFolder = _useFolders.deleteFolder,
29
29
  loading = _useFolders.loading;
30
30
  var _useSnackbar = (0, _appAdmin.useSnackbar)(),
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","FolderDialogDelete","folder","open","onClose","useFolders","type","deleteFolder","loading","useSnackbar","showSnackbar","useState","dialogOpen","setDialogOpen","useEffect","folderDisplayName","useMemo","title","length","slice","concat","onSubmit","result","name","Error","message","DELETE"],"sources":["DialogDelete.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\n\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n DialogActions,\n DialogCancel,\n DialogContent,\n DialogOnClose,\n DialogTitle\n} from \"@webiny/ui/Dialog\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nimport { useFolders } from \"~/hooks\";\n\nimport { DialogContainer } from \"./styled\";\n\nconst t = i18n.ns(\"app-aco/dialogs/dialog-delete\");\n\nimport { FolderItem } from \"~/types\";\n\ntype FolderDialogDeleteProps = {\n folder: FolderItem;\n open: boolean;\n onClose: DialogOnClose;\n};\n\nexport const FolderDialogDelete: React.VFC<FolderDialogDeleteProps> = ({\n folder,\n open,\n onClose\n}) => {\n const { deleteFolder, loading } = useFolders(folder.type);\n const { showSnackbar } = useSnackbar();\n const [dialogOpen, setDialogOpen] = useState(false);\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open]);\n\n const folderDisplayName = useMemo(\n () => (folder.title.length > 20 ? folder.title.slice(0, 20).concat(\"...\") : folder.title),\n [folder.title]\n );\n\n const onSubmit = async () => {\n try {\n const result = await deleteFolder(folder);\n\n if (result) {\n showSnackbar(\n t`The folder \"{name}\" was deleted successfully.`({\n name: folderDisplayName\n })\n );\n } else {\n throw new Error(\n t`Error while deleting page \"{name}\"!`({\n name: folderDisplayName\n })\n );\n }\n } catch (error) {\n showSnackbar(error.message);\n } finally {\n setDialogOpen(false);\n }\n };\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n {loading.DELETE && <CircularProgress label={t`Deleting folder...`} />}\n <DialogTitle>{t`Delete folder`}</DialogTitle>\n <DialogContent>\n {t`You are about to delete the folder \"{name}\"! Are you sure you want to continue?`(\n {\n name: folderDisplayName\n }\n )}\n </DialogContent>\n <DialogActions>\n <DialogCancel\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </DialogCancel>\n <ButtonPrimary\n onClick={() => {\n onSubmit();\n }}\n >\n {t`Delete folder`}\n </ButtonPrimary>\n </DialogActions>\n </DialogContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AAEA;AACA;AACA;AACA;AAOA;AAEA;AAEA;AAA2C;AAE3C,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,+BAA+B,CAAC;AAU3C,IAAMC,kBAAsD,GAAG,SAAzDA,kBAAsD,OAI7D;EAAA,IAHFC,MAAM,QAANA,MAAM;IACNC,IAAI,QAAJA,IAAI;IACJC,OAAO,QAAPA,OAAO;EAEP,kBAAkC,IAAAC,iBAAU,EAACH,MAAM,CAACI,IAAI,CAAC;IAAjDC,YAAY,eAAZA,YAAY;IAAEC,OAAO,eAAPA,OAAO;EAC7B,mBAAyB,IAAAC,qBAAW,GAAE;IAA9BC,YAAY,gBAAZA,YAAY;EACpB,gBAAoC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAA5CC,UAAU;IAAEC,aAAa;EAEhC,IAAAC,gBAAS,EAAC,YAAM;IACZD,aAAa,CAACV,IAAI,CAAC;EACvB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMY,iBAAiB,GAAG,IAAAC,cAAO,EAC7B;IAAA,OAAOd,MAAM,CAACe,KAAK,CAACC,MAAM,GAAG,EAAE,GAAGhB,MAAM,CAACe,KAAK,CAACE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAACC,MAAM,CAAC,KAAK,CAAC,GAAGlB,MAAM,CAACe,KAAK;EAAA,CAAC,EACzF,CAACf,MAAM,CAACe,KAAK,CAAC,CACjB;EAED,IAAMI,QAAQ;IAAA,mGAAG;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA;YAAA,OAEYd,YAAY,CAACL,MAAM,CAAC;UAAA;YAAnCoB,MAAM;YAAA,KAERA,MAAM;cAAA;cAAA;YAAA;YACNZ,YAAY,CACRZ,CAAC,mIAAgD;cAC7CyB,IAAI,EAAER;YACV,CAAC,CAAC,CACL;YAAC;YAAA;UAAA;YAAA,MAEI,IAAIS,KAAK,CACX1B,CAAC,2HAAsC;cACnCyB,IAAI,EAAER;YACV,CAAC,CAAC,CACL;UAAA;YAAA;YAAA;UAAA;YAAA;YAAA;YAGLL,YAAY,CAAC,YAAMe,OAAO,CAAC;UAAC;YAAA;YAE5BZ,aAAa,CAAC,KAAK,CAAC;YAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA,CAE5B;IAAA,gBAtBKQ,QAAQ;MAAA;IAAA;EAAA,GAsBb;EAED,oBACI,6BAAC,uBAAe;IAAC,IAAI,EAAET,UAAW;IAAC,OAAO,EAAER;EAAQ,GAC/CI,OAAO,CAACkB,MAAM,iBAAI,6BAAC,0BAAgB;IAAC,KAAK,EAAE5B,CAAC;EAAqB,EAAG,eACrE,6BAAC,mBAAW,QAAEA,CAAC,mGAA8B,eAC7C,6BAAC,qBAAa,QACTA,CAAC,uKACE;IACIyB,IAAI,EAAER;EACV,CAAC,CACJ,CACW,eAChB,6BAAC,qBAAa,qBACV,6BAAC,oBAAY;IACT,OAAO,EAAE,mBAAM;MACXF,aAAa,CAAC,KAAK,CAAC;IACxB;EAAE,GAEDf,CAAC,4FACS,eACf,6BAAC,qBAAa;IACV,OAAO,EAAE,mBAAM;MACXuB,QAAQ,EAAE;IACd;EAAE,GAEDvB,CAAC,mGACU,CACJ,CACF;AAE1B,CAAC;AAAC"}
1
+ {"version":3,"names":["t","i18n","ns","FolderDialogDelete","folder","open","onClose","useFolders","deleteFolder","loading","useSnackbar","showSnackbar","useState","dialogOpen","setDialogOpen","useEffect","folderDisplayName","useMemo","title","length","slice","concat","onSubmit","result","name","Error","message","DELETE"],"sources":["DialogDelete.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n DialogActions,\n DialogCancel,\n DialogContent,\n DialogOnClose,\n DialogTitle\n} from \"@webiny/ui/Dialog\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { useFolders } from \"~/hooks\";\nimport { DialogContainer } from \"./styled\";\nconst t = i18n.ns(\"app-aco/dialogs/dialog-delete\");\nimport { FolderItem } from \"~/types\";\n\ninterface FolderDialogDeleteProps {\n folder: Pick<FolderItem, \"id\" | \"title\">;\n open: boolean;\n onClose: DialogOnClose;\n}\n\nexport const FolderDialogDelete: React.VFC<FolderDialogDeleteProps> = ({\n folder,\n open,\n onClose\n}) => {\n const { deleteFolder, loading } = useFolders();\n const { showSnackbar } = useSnackbar();\n const [dialogOpen, setDialogOpen] = useState(false);\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open]);\n\n const folderDisplayName = useMemo(\n () => (folder.title.length > 20 ? folder.title.slice(0, 20).concat(\"...\") : folder.title),\n [folder.title]\n );\n\n const onSubmit = async () => {\n try {\n const result = await deleteFolder(folder);\n\n if (result) {\n showSnackbar(\n t`The folder \"{name}\" was deleted successfully.`({\n name: folderDisplayName\n })\n );\n } else {\n throw new Error(\n t`Error while deleting page \"{name}\"!`({\n name: folderDisplayName\n })\n );\n }\n } catch (error) {\n showSnackbar(error.message);\n } finally {\n setDialogOpen(false);\n }\n };\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n {loading.DELETE && <CircularProgress label={t`Deleting folder...`} />}\n <DialogTitle>{t`Delete folder`}</DialogTitle>\n <DialogContent>\n {t`You are about to delete the folder \"{name}\"! Are you sure you want to continue?`(\n {\n name: folderDisplayName\n }\n )}\n </DialogContent>\n <DialogActions>\n <DialogCancel\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </DialogCancel>\n <ButtonPrimary\n onClick={() => {\n onSubmit();\n }}\n >\n {t`Delete folder`}\n </ButtonPrimary>\n </DialogActions>\n </DialogContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AAA2C;AAC3C,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,+BAA+B,CAAC;AAS3C,IAAMC,kBAAsD,GAAG,SAAzDA,kBAAsD,OAI7D;EAAA,IAHFC,MAAM,QAANA,MAAM;IACNC,IAAI,QAAJA,IAAI;IACJC,OAAO,QAAPA,OAAO;EAEP,kBAAkC,IAAAC,iBAAU,GAAE;IAAtCC,YAAY,eAAZA,YAAY;IAAEC,OAAO,eAAPA,OAAO;EAC7B,mBAAyB,IAAAC,qBAAW,GAAE;IAA9BC,YAAY,gBAAZA,YAAY;EACpB,gBAAoC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAA5CC,UAAU;IAAEC,aAAa;EAEhC,IAAAC,gBAAS,EAAC,YAAM;IACZD,aAAa,CAACT,IAAI,CAAC;EACvB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMW,iBAAiB,GAAG,IAAAC,cAAO,EAC7B;IAAA,OAAOb,MAAM,CAACc,KAAK,CAACC,MAAM,GAAG,EAAE,GAAGf,MAAM,CAACc,KAAK,CAACE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAACC,MAAM,CAAC,KAAK,CAAC,GAAGjB,MAAM,CAACc,KAAK;EAAA,CAAC,EACzF,CAACd,MAAM,CAACc,KAAK,CAAC,CACjB;EAED,IAAMI,QAAQ;IAAA,mGAAG;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA;YAAA,OAEYd,YAAY,CAACJ,MAAM,CAAC;UAAA;YAAnCmB,MAAM;YAAA,KAERA,MAAM;cAAA;cAAA;YAAA;YACNZ,YAAY,CACRX,CAAC,mIAAgD;cAC7CwB,IAAI,EAAER;YACV,CAAC,CAAC,CACL;YAAC;YAAA;UAAA;YAAA,MAEI,IAAIS,KAAK,CACXzB,CAAC,2HAAsC;cACnCwB,IAAI,EAAER;YACV,CAAC,CAAC,CACL;UAAA;YAAA;YAAA;UAAA;YAAA;YAAA;YAGLL,YAAY,CAAC,YAAMe,OAAO,CAAC;UAAC;YAAA;YAE5BZ,aAAa,CAAC,KAAK,CAAC;YAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA,CAE5B;IAAA,gBAtBKQ,QAAQ;MAAA;IAAA;EAAA,GAsBb;EAED,oBACI,6BAAC,uBAAe;IAAC,IAAI,EAAET,UAAW;IAAC,OAAO,EAAEP;EAAQ,GAC/CG,OAAO,CAACkB,MAAM,iBAAI,6BAAC,0BAAgB;IAAC,KAAK,EAAE3B,CAAC;EAAqB,EAAG,eACrE,6BAAC,mBAAW,QAAEA,CAAC,mGAA8B,eAC7C,6BAAC,qBAAa,QACTA,CAAC,uKACE;IACIwB,IAAI,EAAER;EACV,CAAC,CACJ,CACW,eAChB,6BAAC,qBAAa,qBACV,6BAAC,oBAAY;IACT,OAAO,EAAE,mBAAM;MACXF,aAAa,CAAC,KAAK,CAAC;IACxB;EAAE,GAEDd,CAAC,4FACS,eACf,6BAAC,qBAAa;IACV,OAAO,EAAE,mBAAM;MACXsB,QAAQ,EAAE;IACd;EAAE,GAEDtB,CAAC,mGACU,CACJ,CACF;AAE1B,CAAC;AAAC"}
@@ -1,11 +1,10 @@
1
1
  import React from "react";
2
2
  import { DialogOnClose } from "@webiny/ui/Dialog";
3
- import { SearchRecordItem } from "../../types";
4
- declare type EntryDialogMoveProps = {
5
- type: string;
6
- searchRecord: SearchRecordItem;
3
+ import { MovableSearchRecordItem } from "../../types";
4
+ interface EntryDialogMoveProps {
5
+ searchRecord: MovableSearchRecordItem;
7
6
  open: boolean;
8
7
  onClose: DialogOnClose;
9
- };
8
+ }
10
9
  export declare const EntryDialogMove: React.VFC<EntryDialogMoveProps>;
11
10
  export {};
@@ -20,15 +20,15 @@ var _Typography = require("@webiny/ui/Typography");
20
20
  var _ = require("./..");
21
21
  var _hooks = require("../../hooks");
22
22
  var _styled = require("./styled");
23
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
23
+ var _constants = require("../../constants");
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
24
25
  var t = _i18n.i18n.ns("app-aco/dialogs/dialog-move");
25
26
  var EntryDialogMove = function EntryDialogMove(_ref) {
26
- var type = _ref.type,
27
- searchRecord = _ref.searchRecord,
27
+ var searchRecord = _ref.searchRecord,
28
28
  onClose = _ref.onClose,
29
29
  open = _ref.open;
30
- var _useRecords = (0, _hooks.useRecords)(type, searchRecord.location.folderId || "ROOT"),
31
- updateRecord = _useRecords.updateRecord,
30
+ var _useRecords = (0, _hooks.useRecords)(searchRecord.location.folderId || _constants.ROOT_FOLDER),
31
+ moveRecord = _useRecords.moveRecord,
32
32
  loading = _useRecords.loading;
33
33
  var _useState = (0, _react.useState)(false),
34
34
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -42,43 +42,40 @@ var EntryDialogMove = function EntryDialogMove(_ref) {
42
42
  showSnackbar = _useSnackbar.showSnackbar;
43
43
  var onSubmit = /*#__PURE__*/function () {
44
44
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
45
- var id, title, _type, content, data, tags;
45
+ var id;
46
46
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
47
47
  while (1) switch (_context.prev = _context.next) {
48
48
  case 0:
49
49
  _context.prev = 0;
50
- if (!folderId) {
51
- _context.next = 6;
50
+ if (folderId) {
51
+ _context.next = 4;
52
52
  break;
53
53
  }
54
- id = searchRecord.id, title = searchRecord.title, _type = searchRecord.type, content = searchRecord.content, data = searchRecord.data, tags = searchRecord.tags;
55
- _context.next = 5;
56
- return updateRecord({
54
+ setDialogOpen(false);
55
+ return _context.abrupt("return");
56
+ case 4:
57
+ id = searchRecord.id;
58
+ _context.next = 7;
59
+ return moveRecord({
57
60
  id: id,
58
- title: title,
59
- type: _type,
60
- content: content,
61
- data: data,
62
- tags: tags,
63
61
  location: {
64
62
  folderId: folderId
65
63
  }
66
64
  });
67
- case 5:
65
+ case 7:
68
66
  showSnackbar(t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Item moved successfully!"]))));
69
- case 6:
70
67
  setDialogOpen(false);
71
- _context.next = 12;
68
+ _context.next = 14;
72
69
  break;
73
- case 9:
74
- _context.prev = 9;
70
+ case 11:
71
+ _context.prev = 11;
75
72
  _context.t0 = _context["catch"](0);
76
73
  showSnackbar(_context.t0.message);
77
- case 12:
74
+ case 14:
78
75
  case "end":
79
76
  return _context.stop();
80
77
  }
81
- }, _callee, null, [[0, 9]]);
78
+ }, _callee, null, [[0, 11]]);
82
79
  }));
83
80
  return function onSubmit() {
84
81
  return _ref2.apply(this, arguments);
@@ -95,22 +92,17 @@ var EntryDialogMove = function EntryDialogMove(_ref) {
95
92
  }), /*#__PURE__*/_react.default.createElement(_Dialog.DialogContent, null, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
96
93
  use: "body1"
97
94
  }, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Choose the folder where you want to move the item. You can always create a new one if you prefer."])))), /*#__PURE__*/_react.default.createElement(_styled.DialogFoldersContainer, null, /*#__PURE__*/_react.default.createElement(_.FolderTree, {
98
- title: t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Root folder"]))),
99
- type: type,
100
95
  focusedFolderId: folderId || searchRecord.location.folderId,
101
96
  onFolderClick: function onFolderClick(data) {
102
97
  return setFolderId(data === null || data === void 0 ? void 0 : data.id);
103
98
  },
104
- onTitleClick: function onTitleClick() {
105
- return setFolderId("ROOT");
106
- },
107
99
  enableCreate: true
108
100
  }))), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Dialog.DialogCancel, {
109
101
  onClick: function onClick() {
110
102
  setDialogOpen(false);
111
103
  }
112
- }, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
104
+ }, t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
113
105
  onClick: onSubmit
114
- }, t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Move item"])))))));
106
+ }, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Move item"])))))));
115
107
  };
116
108
  exports.EntryDialogMove = EntryDialogMove;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","EntryDialogMove","type","searchRecord","onClose","open","useRecords","location","folderId","updateRecord","loading","useState","dialogOpen","setDialogOpen","setFolderId","useSnackbar","showSnackbar","onSubmit","id","title","content","data","tags","message","useEffect","UPDATE"],"sources":["DialogMove.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n DialogTitle,\n DialogActions,\n DialogContent,\n DialogOnClose,\n DialogCancel\n} from \"@webiny/ui/Dialog\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { FolderTree } from \"~/components\";\nimport { useRecords } from \"~/hooks\";\n\nimport { DialogContainer, DialogFoldersContainer } from \"./styled\";\n\nimport { SearchRecordItem } from \"~/types\";\n\ntype EntryDialogMoveProps = {\n type: string;\n searchRecord: SearchRecordItem;\n open: boolean;\n onClose: DialogOnClose;\n};\n\nconst t = i18n.ns(\"app-aco/dialogs/dialog-move\");\n\nexport const EntryDialogMove: React.VFC<EntryDialogMoveProps> = ({\n type,\n searchRecord,\n onClose,\n open\n}) => {\n const { updateRecord, loading } = useRecords(type, searchRecord.location.folderId || \"ROOT\");\n const [dialogOpen, setDialogOpen] = useState(false);\n const [folderId, setFolderId] = useState<string>();\n const { showSnackbar } = useSnackbar();\n\n const onSubmit = async () => {\n try {\n if (folderId) {\n const { id, title, type, content, data, tags } = searchRecord;\n await updateRecord({\n id,\n title,\n type,\n content,\n data,\n tags,\n location: {\n folderId\n }\n });\n\n showSnackbar(t`Item moved successfully!`);\n }\n setDialogOpen(false);\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open]);\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n {dialogOpen && (\n <>\n <DialogTitle>{t`Move item`}</DialogTitle>\n {loading.UPDATE && <CircularProgress label={t`Moving item...`} />}\n <DialogContent>\n <Typography use=\"body1\">{t`Choose the folder where you want to move the item. You can always create a new one if you prefer.`}</Typography>\n <DialogFoldersContainer>\n <FolderTree\n title={t`Root folder`}\n type={type}\n focusedFolderId={folderId || searchRecord.location.folderId}\n onFolderClick={data => setFolderId(data?.id)}\n onTitleClick={() => setFolderId(\"ROOT\")}\n enableCreate={true}\n />\n </DialogFoldersContainer>\n </DialogContent>\n <DialogActions>\n <DialogCancel\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </DialogCancel>\n <ButtonPrimary onClick={onSubmit}>{t`Move item`}</ButtonPrimary>\n </DialogActions>\n </>\n )}\n </DialogContainer>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["t","i18n","ns","EntryDialogMove","searchRecord","onClose","open","useRecords","location","folderId","ROOT_FOLDER","moveRecord","loading","useState","dialogOpen","setDialogOpen","setFolderId","useSnackbar","showSnackbar","onSubmit","id","message","useEffect","UPDATE","data"],"sources":["DialogMove.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n DialogActions,\n DialogCancel,\n DialogContent,\n DialogOnClose,\n DialogTitle\n} from \"@webiny/ui/Dialog\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { FolderTree } from \"~/components\";\nimport { useRecords } from \"~/hooks\";\nimport { DialogContainer, DialogFoldersContainer } from \"./styled\";\nimport { MovableSearchRecordItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\ninterface EntryDialogMoveProps {\n searchRecord: MovableSearchRecordItem;\n open: boolean;\n onClose: DialogOnClose;\n}\n\nconst t = i18n.ns(\"app-aco/dialogs/dialog-move\");\n\nexport const EntryDialogMove: React.VFC<EntryDialogMoveProps> = ({\n searchRecord,\n onClose,\n open\n}) => {\n const { moveRecord, loading } = useRecords(searchRecord.location.folderId || ROOT_FOLDER);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [folderId, setFolderId] = useState<string>();\n const { showSnackbar } = useSnackbar();\n\n const onSubmit = async () => {\n try {\n if (!folderId) {\n setDialogOpen(false);\n return;\n }\n const { id } = searchRecord;\n await moveRecord({\n id,\n location: {\n folderId\n }\n });\n\n showSnackbar(t`Item moved successfully!`);\n setDialogOpen(false);\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open]);\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n {dialogOpen && (\n <>\n <DialogTitle>{t`Move item`}</DialogTitle>\n {loading.UPDATE && <CircularProgress label={t`Moving item...`} />}\n <DialogContent>\n <Typography use=\"body1\">{t`Choose the folder where you want to move the item. You can always create a new one if you prefer.`}</Typography>\n <DialogFoldersContainer>\n <FolderTree\n focusedFolderId={folderId || searchRecord.location.folderId}\n onFolderClick={data => setFolderId(data?.id)}\n enableCreate={true}\n />\n </DialogFoldersContainer>\n </DialogContent>\n <DialogActions>\n <DialogCancel\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </DialogCancel>\n <ButtonPrimary onClick={onSubmit}>{t`Move item`}</ButtonPrimary>\n </DialogActions>\n </>\n )}\n </DialogContainer>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AAEA;AAA0C;AAQ1C,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,6BAA6B,CAAC;AAEzC,IAAMC,eAAgD,GAAG,SAAnDA,eAAgD,OAIvD;EAAA,IAHFC,YAAY,QAAZA,YAAY;IACZC,OAAO,QAAPA,OAAO;IACPC,IAAI,QAAJA,IAAI;EAEJ,kBAAgC,IAAAC,iBAAU,EAACH,YAAY,CAACI,QAAQ,CAACC,QAAQ,IAAIC,sBAAW,CAAC;IAAjFC,UAAU,eAAVA,UAAU;IAAEC,OAAO,eAAPA,OAAO;EAC3B,gBAAoC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAA5CC,UAAU;IAAEC,aAAa;EAChC,iBAAgC,IAAAF,eAAQ,GAAU;IAAA;IAA3CJ,QAAQ;IAAEO,WAAW;EAC5B,mBAAyB,IAAAC,qBAAW,GAAE;IAA9BC,YAAY,gBAAZA,YAAY;EAEpB,IAAMC,QAAQ;IAAA,mGAAG;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA,IAEJV,QAAQ;cAAA;cAAA;YAAA;YACTM,aAAa,CAAC,KAAK,CAAC;YAAC;UAAA;YAGjBK,EAAE,GAAKhB,YAAY,CAAnBgB,EAAE;YAAA;YAAA,OACJT,UAAU,CAAC;cACbS,EAAE,EAAFA,EAAE;cACFZ,QAAQ,EAAE;gBACNC,QAAQ,EAARA;cACJ;YACJ,CAAC,CAAC;UAAA;YAEFS,YAAY,CAAClB,CAAC,4GAA2B;YACzCe,aAAa,CAAC,KAAK,CAAC;YAAC;YAAA;UAAA;YAAA;YAAA;YAErBG,YAAY,CAAC,YAAMG,OAAO,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CAEnC;IAAA,gBAnBKF,QAAQ;MAAA;IAAA;EAAA,GAmBb;EAED,IAAAG,gBAAS,EAAC,YAAM;IACZP,aAAa,CAACT,IAAI,CAAC;EACvB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,oBACI,6BAAC,uBAAe;IAAC,IAAI,EAAEQ,UAAW;IAAC,OAAO,EAAET;EAAQ,GAC/CS,UAAU,iBACP,yEACI,6BAAC,mBAAW,QAAEd,CAAC,+FAA0B,EACxCY,OAAO,CAACW,MAAM,iBAAI,6BAAC,0BAAgB;IAAC,KAAK,EAAEvB,CAAC;EAAiB,EAAG,eACjE,6BAAC,qBAAa,qBACV,6BAAC,sBAAU;IAAC,GAAG,EAAC;EAAO,GAAEA,CAAC,uLAAiH,eAC3I,6BAAC,8BAAsB,qBACnB,6BAAC,YAAU;IACP,eAAe,EAAES,QAAQ,IAAIL,YAAY,CAACI,QAAQ,CAACC,QAAS;IAC5D,aAAa,EAAE,uBAAAe,IAAI;MAAA,OAAIR,WAAW,CAACQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEJ,EAAE,CAAC;IAAA,CAAC;IAC7C,YAAY,EAAE;EAAK,EACrB,CACmB,CACb,eAChB,6BAAC,qBAAa,qBACV,6BAAC,oBAAY;IACT,OAAO,EAAE,mBAAM;MACXL,aAAa,CAAC,KAAK,CAAC;IACxB;EAAE,GAEDf,CAAC,4FACS,eACf,6BAAC,qBAAa;IAAC,OAAO,EAAEmB;EAAS,GAAEnB,CAAC,+FAA4B,CACpD,CAEvB,CACa;AAE1B,CAAC;AAAC"}
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
2
  import { DialogOnClose } from "@webiny/ui/Dialog";
3
3
  import { FolderItem } from "../../types";
4
- declare type FolderDialogUpdateProps = {
4
+ interface FolderDialogUpdateProps {
5
5
  folder: FolderItem;
6
6
  open: boolean;
7
7
  onClose: DialogOnClose;
8
- };
8
+ }
9
9
  export declare const FolderDialogUpdate: React.VFC<FolderDialogUpdateProps>;
10
10
  export {};
@@ -25,13 +25,14 @@ var _validation = require("@webiny/validation");
25
25
  var _ = require("./..");
26
26
  var _useFolders2 = require("../../hooks/useFolders");
27
27
  var _styled = require("./styled");
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
28
+ var _constants = require("../../constants");
29
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
29
30
  var t = _i18n.i18n.ns("app-aco/dialogs/dialog-update");
30
31
  var FolderDialogUpdate = function FolderDialogUpdate(_ref) {
31
32
  var folder = _ref.folder,
32
33
  onClose = _ref.onClose,
33
34
  open = _ref.open;
34
- var _useFolders = (0, _useFolders2.useFolders)(folder.type),
35
+ var _useFolders = (0, _useFolders2.useFolders)(),
35
36
  loading = _useFolders.loading,
36
37
  updateFolder = _useFolders.updateFolder;
37
38
  var _useState = (0, _react.useState)(false),
@@ -113,23 +114,18 @@ var FolderDialogUpdate = function FolderDialogUpdate(_ref) {
113
114
  }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
114
115
  use: "body1"
115
116
  }, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["Parent folder"])))), /*#__PURE__*/_react.default.createElement(_styled.DialogFoldersContainer, null, /*#__PURE__*/_react.default.createElement(_.FolderTree, {
116
- title: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Root folder"]))),
117
- type: folder.type,
118
- focusedFolderId: parentId || undefined,
117
+ focusedFolderId: parentId || _constants.ROOT_FOLDER,
119
118
  hiddenFolderIds: [folder.id],
120
119
  onFolderClick: function onFolderClick(data) {
121
- return setParentId((data === null || data === void 0 ? void 0 : data.id) || null);
122
- },
123
- onTitleClick: function onTitleClick() {
124
- return setParentId(null);
120
+ return setParentId(data.id === _constants.ROOT_FOLDER ? null : data.id);
125
121
  }
126
122
  }))))), /*#__PURE__*/_react.default.createElement(_Dialog.DialogActions, null, /*#__PURE__*/_react.default.createElement(_Dialog.DialogCancel, {
127
123
  onClick: function onClick() {
128
124
  setDialogOpen(false);
129
125
  }
130
- }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
126
+ }, t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Cancel"])))), /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
131
127
  onClick: submit
132
- }, t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Update Folder"]))))));
128
+ }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["Update Folder"]))))));
133
129
  })));
134
130
  };
135
131
  exports.FolderDialogUpdate = FolderDialogUpdate;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","FolderDialogUpdate","folder","onClose","open","useFolders","type","loading","updateFolder","useState","dialogOpen","setDialogOpen","parentId","setParentId","useSnackbar","showSnackbar","onSubmit","data","message","useEffect","title","slug","Bind","submit","UPDATE","validation","create","undefined","id"],"sources":["DialogUpdate.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Form, FormOnSubmit } from \"@webiny/form\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n DialogTitle,\n DialogActions,\n DialogContent,\n DialogOnClose,\n DialogCancel\n} from \"@webiny/ui/Dialog\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { validation } from \"@webiny/validation\";\n\nimport { FolderTree } from \"~/components\";\nimport { useFolders } from \"~/hooks/useFolders\";\n\nimport { DialogContainer, DialogFoldersContainer } from \"./styled\";\n\nimport { FolderItem } from \"~/types\";\n\ntype FolderDialogUpdateProps = {\n folder: FolderItem;\n open: boolean;\n onClose: DialogOnClose;\n};\n\ntype SubmitData = Pick<FolderItem, \"title\" | \"slug\">;\n\nconst t = i18n.ns(\"app-aco/dialogs/dialog-update\");\n\nexport const FolderDialogUpdate: React.VFC<FolderDialogUpdateProps> = ({\n folder,\n onClose,\n open\n}) => {\n const { loading, updateFolder } = useFolders(folder.type);\n const [dialogOpen, setDialogOpen] = useState(false);\n const [parentId, setParentId] = useState<string | null>();\n const { showSnackbar } = useSnackbar();\n\n const onSubmit: FormOnSubmit<SubmitData> = async data => {\n try {\n await updateFolder({\n ...folder,\n ...data,\n parentId: parentId || null\n });\n setDialogOpen(false);\n showSnackbar(t`Folder updated successfully!`);\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n useEffect(() => {\n setParentId(folder.parentId);\n }, [folder.parentId]);\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open]);\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n {dialogOpen && (\n <>\n <Form<SubmitData>\n onSubmit={onSubmit}\n data={{\n title: folder.title,\n slug: folder.slug\n }}\n >\n {({ Bind, submit }) => (\n <>\n {loading.UPDATE && (\n <CircularProgress label={t`Updating folder...`} />\n )}\n <DialogTitle>{t`Update folder`}</DialogTitle>\n <DialogContent>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"title\"}\n validators={[\n validation.create(\"required,minLength:3\")\n ]}\n >\n <Input label={t`Title`} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"slug\"}\n validators={[\n validation.create(\"required,minLength:3,slug\")\n ]}\n >\n <Input label={t`Slug`} value={folder.slug} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{t`Parent folder`}</Typography>\n <DialogFoldersContainer>\n <FolderTree\n title={t`Root folder`}\n type={folder.type}\n focusedFolderId={parentId || undefined}\n hiddenFolderIds={[folder.id]}\n onFolderClick={data =>\n setParentId(data?.id || null)\n }\n onTitleClick={() => setParentId(null)}\n />\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n </DialogContent>\n <DialogActions>\n <DialogCancel\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </DialogCancel>\n <ButtonPrimary onClick={submit}>\n {t`Update Folder`}\n </ButtonPrimary>\n </DialogActions>\n </>\n )}\n </Form>\n </>\n )}\n </DialogContainer>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["t","i18n","ns","FolderDialogUpdate","folder","onClose","open","useFolders","loading","updateFolder","useState","dialogOpen","setDialogOpen","parentId","setParentId","useSnackbar","showSnackbar","onSubmit","data","message","useEffect","title","slug","Bind","submit","UPDATE","validation","create","ROOT_FOLDER","id"],"sources":["DialogUpdate.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { Form, FormOnSubmit } from \"@webiny/form\";\nimport { ButtonPrimary } from \"@webiny/ui/Button\";\nimport {\n DialogTitle,\n DialogActions,\n DialogContent,\n DialogOnClose,\n DialogCancel\n} from \"@webiny/ui/Dialog\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { validation } from \"@webiny/validation\";\nimport { FolderTree } from \"~/components\";\nimport { useFolders } from \"~/hooks/useFolders\";\nimport { DialogContainer, DialogFoldersContainer } from \"./styled\";\nimport { FolderItem } from \"~/types\";\nimport { ROOT_FOLDER } from \"~/constants\";\n\ninterface FolderDialogUpdateProps {\n folder: FolderItem;\n open: boolean;\n onClose: DialogOnClose;\n}\n\ntype SubmitData = Pick<FolderItem, \"title\" | \"slug\">;\n\nconst t = i18n.ns(\"app-aco/dialogs/dialog-update\");\n\nexport const FolderDialogUpdate: React.VFC<FolderDialogUpdateProps> = ({\n folder,\n onClose,\n open\n}) => {\n const { loading, updateFolder } = useFolders();\n const [dialogOpen, setDialogOpen] = useState(false);\n const [parentId, setParentId] = useState<string | null>();\n const { showSnackbar } = useSnackbar();\n\n const onSubmit: FormOnSubmit<SubmitData> = async data => {\n try {\n await updateFolder({\n ...folder,\n ...data,\n parentId: parentId || null\n });\n setDialogOpen(false);\n showSnackbar(t`Folder updated successfully!`);\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n useEffect(() => {\n setParentId(folder.parentId);\n }, [folder.parentId]);\n\n useEffect(() => {\n setDialogOpen(open);\n }, [open]);\n\n return (\n <DialogContainer open={dialogOpen} onClose={onClose}>\n {dialogOpen && (\n <>\n <Form<SubmitData>\n onSubmit={onSubmit}\n data={{\n title: folder.title,\n slug: folder.slug\n }}\n >\n {({ Bind, submit }) => (\n <>\n {loading.UPDATE && (\n <CircularProgress label={t`Updating folder...`} />\n )}\n <DialogTitle>{t`Update folder`}</DialogTitle>\n <DialogContent>\n <Grid>\n <Cell span={12}>\n <Bind\n name={\"title\"}\n validators={[\n validation.create(\"required,minLength:3\")\n ]}\n >\n <Input label={t`Title`} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Bind\n name={\"slug\"}\n validators={[\n validation.create(\"required,minLength:3,slug\")\n ]}\n >\n <Input label={t`Slug`} value={folder.slug} />\n </Bind>\n </Cell>\n <Cell span={12}>\n <Typography use=\"body1\">{t`Parent folder`}</Typography>\n <DialogFoldersContainer>\n <FolderTree\n focusedFolderId={parentId || ROOT_FOLDER}\n hiddenFolderIds={[folder.id]}\n onFolderClick={data =>\n setParentId(\n data.id === ROOT_FOLDER ? null : data.id\n )\n }\n />\n </DialogFoldersContainer>\n </Cell>\n </Grid>\n </DialogContent>\n <DialogActions>\n <DialogCancel\n onClick={() => {\n setDialogOpen(false);\n }}\n >\n {t`Cancel`}\n </DialogCancel>\n <ButtonPrimary onClick={submit}>\n {t`Update Folder`}\n </ButtonPrimary>\n </DialogActions>\n </>\n )}\n </Form>\n </>\n )}\n </DialogContainer>\n );\n};\n"],"mappings":"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"}
@@ -18,6 +18,6 @@ var CreateButton = function CreateButton(_ref) {
18
18
  onClick: onClick
19
19
  }, /*#__PURE__*/_react.default.createElement(_styled.IconContainer, null, /*#__PURE__*/_react.default.createElement(_styled.Icon, null)), /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
20
20
  use: "subtitle2"
21
- }, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Create new folder"])))));
21
+ }, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Create a new folder"])))));
22
22
  };
23
23
  exports.CreateButton = CreateButton;
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","CreateButton","onClick"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { Button, Icon, IconContainer } from \"./styled\";\n\ntype CreateButtonProps = {\n onClick: () => void;\n};\n\nconst t = i18n.ns(\"app-aco/components/folder-tree/button-create\");\n\nexport const CreateButton: React.VFC<CreateButtonProps> = ({ onClick }) => {\n return (\n <Button onClick={onClick}>\n <IconContainer>\n <Icon />\n </IconContainer>\n <Typography use={\"subtitle2\"}>{t`Create new folder`}</Typography>\n </Button>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AACA;AAEA;AAAuD;AAMvD,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,8CAA8C,CAAC;AAE1D,IAAMC,YAA0C,GAAG,SAA7CA,YAA0C,OAAoB;EAAA,IAAdC,OAAO,QAAPA,OAAO;EAChE,oBACI,6BAAC,cAAM;IAAC,OAAO,EAAEA;EAAQ,gBACrB,6BAAC,qBAAa,qBACV,6BAAC,YAAI,OAAG,CACI,eAChB,6BAAC,sBAAU;IAAC,GAAG,EAAE;EAAY,GAAEJ,CAAC,qGAAiC,CAC5D;AAEjB,CAAC;AAAC"}
1
+ {"version":3,"names":["t","i18n","ns","CreateButton","onClick"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nimport { Button, Icon, IconContainer } from \"./styled\";\n\ntype CreateButtonProps = {\n onClick: () => void;\n};\n\nconst t = i18n.ns(\"app-aco/components/folder-tree/button-create\");\n\nexport const CreateButton: React.VFC<CreateButtonProps> = ({ onClick }) => {\n return (\n <Button onClick={onClick}>\n <IconContainer>\n <Icon />\n </IconContainer>\n <Typography use={\"subtitle2\"}>{t`Create a new folder`}</Typography>\n </Button>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AAEA;AACA;AAEA;AAAuD;AAMvD,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,8CAA8C,CAAC;AAE1D,IAAMC,YAA0C,GAAG,SAA7CA,YAA0C,OAAoB;EAAA,IAAdC,OAAO,QAAPA,OAAO;EAChE,oBACI,6BAAC,cAAM;IAAC,OAAO,EAAEA;EAAQ,gBACrB,6BAAC,qBAAa,qBACV,6BAAC,YAAI,OAAG,CACI,eAChB,6BAAC,sBAAU;IAAC,GAAG,EAAE;EAAY,GAAEJ,CAAC,uGAAmC,CAC9D;AAEjB,CAAC;AAAC"}
@@ -1,15 +1,11 @@
1
1
  import React from "react";
2
- import { NodeModel } from "@minoru/react-dnd-treeview";
3
- import { DndItemData, FolderItem } from "../../../types";
4
- declare type ListProps = {
5
- type: string;
2
+ import { FolderItem } from "../../../types";
3
+ interface ListProps {
6
4
  folders: FolderItem[];
7
5
  focusedFolderId?: string;
8
6
  hiddenFolderIds?: string[];
9
7
  enableActions?: boolean;
10
- onFolderClick: (data: NodeModel<DndItemData>["data"]) => void;
11
- onDragStart: () => void;
12
- onDragEnd: () => void;
13
- };
8
+ onFolderClick: (data: FolderItem) => void;
9
+ }
14
10
  export declare const List: React.VFC<ListProps>;
15
11
  export {};