@webiny/app-admin 5.27.0 → 5.29.0-beta.0

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 (286) hide show
  1. package/base/Admin.js +51 -29
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +52 -29
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js +26 -11
  6. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  7. package/base/providers/ApolloProvider.d.ts +1 -1
  8. package/base/providers/ApolloProvider.js +25 -14
  9. package/base/providers/ApolloProvider.js.map +1 -1
  10. package/base/providers/TelemetryProvider.js +21 -8
  11. package/base/providers/TelemetryProvider.js.map +1 -1
  12. package/base/providers/UiStateProvider.js +18 -5
  13. package/base/providers/UiStateProvider.js.map +1 -1
  14. package/base/providers/ViewCompositionProvider.js +34 -15
  15. package/base/providers/ViewCompositionProvider.js.map +1 -1
  16. package/base/ui/Brand.js +18 -5
  17. package/base/ui/Brand.js.map +1 -1
  18. package/base/ui/CenteredView.js +21 -8
  19. package/base/ui/CenteredView.js.map +1 -1
  20. package/base/ui/Dashboard.js +18 -5
  21. package/base/ui/Dashboard.js.map +1 -1
  22. package/base/ui/Layout.js +21 -8
  23. package/base/ui/Layout.js.map +1 -1
  24. package/base/ui/LocaleSelector.js +18 -5
  25. package/base/ui/LocaleSelector.js.map +1 -1
  26. package/base/ui/LoginScreen.js +22 -7
  27. package/base/ui/LoginScreen.js.map +1 -1
  28. package/base/ui/Logo.js +25 -9
  29. package/base/ui/Logo.js.map +1 -1
  30. package/base/ui/Menu.js +46 -26
  31. package/base/ui/Menu.js.map +1 -1
  32. package/base/ui/Navigation.js +79 -42
  33. package/base/ui/Navigation.js.map +1 -1
  34. package/base/ui/NotFound.js +18 -5
  35. package/base/ui/NotFound.js.map +1 -1
  36. package/base/ui/Search.js +50 -22
  37. package/base/ui/Search.js.map +1 -1
  38. package/base/ui/Tags.js +23 -7
  39. package/base/ui/Tags.js.map +1 -1
  40. package/base/ui/UserMenu.js +74 -36
  41. package/base/ui/UserMenu.js.map +1 -1
  42. package/components/AdminLayout.js +18 -5
  43. package/components/AdminLayout.js.map +1 -1
  44. package/components/AppInstaller/AppInstaller.js +79 -49
  45. package/components/AppInstaller/AppInstaller.js.map +1 -1
  46. package/components/AppInstaller/Sidebar.js +50 -28
  47. package/components/AppInstaller/Sidebar.js.map +1 -1
  48. package/components/AppInstaller/index.js +20 -7
  49. package/components/AppInstaller/index.js.map +1 -1
  50. package/components/AppInstaller/styled.js +26 -9
  51. package/components/AppInstaller/styled.js.map +1 -1
  52. package/components/AppInstaller/useInstaller.js +67 -40
  53. package/components/AppInstaller/useInstaller.js.map +1 -1
  54. package/components/EmptyView.js +25 -11
  55. package/components/EmptyView.js.map +1 -1
  56. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +23 -9
  57. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  58. package/components/FileManager/BottomInfoBar/UploadStatus.js +21 -8
  59. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
  60. package/components/FileManager/BottomInfoBar.js +29 -11
  61. package/components/FileManager/BottomInfoBar.js.map +1 -1
  62. package/components/FileManager/DropFilesHere.js +27 -12
  63. package/components/FileManager/DropFilesHere.js.map +1 -1
  64. package/components/FileManager/File.js +42 -24
  65. package/components/FileManager/File.js.map +1 -1
  66. package/components/FileManager/FileDetails/Name.js +52 -30
  67. package/components/FileManager/FileDetails/Name.js.map +1 -1
  68. package/components/FileManager/FileDetails/Tags.js +112 -73
  69. package/components/FileManager/FileDetails/Tags.js.map +1 -1
  70. package/components/FileManager/FileDetails.js +157 -120
  71. package/components/FileManager/FileDetails.js.map +1 -1
  72. package/components/FileManager/FileManagerContext.js +39 -20
  73. package/components/FileManager/FileManagerContext.js.map +1 -1
  74. package/components/FileManager/FileManagerView.js +172 -130
  75. package/components/FileManager/FileManagerView.js.map +1 -1
  76. package/components/FileManager/LeftSidebar.js +49 -28
  77. package/components/FileManager/LeftSidebar.js.map +1 -1
  78. package/components/FileManager/NoPermissionView.js +35 -18
  79. package/components/FileManager/NoPermissionView.js.map +1 -1
  80. package/components/FileManager/NoResults.js +18 -6
  81. package/components/FileManager/NoResults.js.map +1 -1
  82. package/components/FileManager/getFileTypePlugin.js +23 -9
  83. package/components/FileManager/getFileTypePlugin.js.map +1 -1
  84. package/components/FileManager/getFileUploader.js +14 -4
  85. package/components/FileManager/getFileUploader.js.map +1 -1
  86. package/components/FileManager/graphql.js +24 -8
  87. package/components/FileManager/graphql.js.map +1 -1
  88. package/components/FileManager/outputFileSelectionError.js +16 -4
  89. package/components/FileManager/outputFileSelectionError.js.map +1 -1
  90. package/components/FileManager/types.js +5 -1
  91. package/components/FileManager/types.js.map +1 -1
  92. package/components/FileManager.js +60 -36
  93. package/components/FileManager.js.map +1 -1
  94. package/components/FloatingActionButton.js +18 -6
  95. package/components/FloatingActionButton.js.map +1 -1
  96. package/components/MultiImageUpload.js +24 -12
  97. package/components/MultiImageUpload.js.map +1 -1
  98. package/components/OverlayLayout/OverlayLayout.js +68 -43
  99. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  100. package/components/OverlayLayout/index.js +13 -1
  101. package/components/OverlayLayout/index.js.map +1 -1
  102. package/components/Permissions/Permissions.js +28 -11
  103. package/components/Permissions/Permissions.js.map +1 -1
  104. package/components/Permissions/StyledComponents.js +26 -9
  105. package/components/Permissions/StyledComponents.js.map +1 -1
  106. package/components/Permissions/index.js +30 -2
  107. package/components/Permissions/index.js.map +1 -1
  108. package/components/RichTextEditor/RichTextEditor.js +24 -9
  109. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  110. package/components/RichTextEditor/index.js +21 -2
  111. package/components/RichTextEditor/index.js.map +1 -1
  112. package/components/RichTextEditor/tools/header/index.js +34 -33
  113. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  114. package/components/RichTextEditor/tools/image/index.js +34 -28
  115. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  116. package/components/RichTextEditor/tools/image/svgs.js +9 -2
  117. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  118. package/components/RichTextEditor/tools/image/tunes.js +28 -22
  119. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  120. package/components/RichTextEditor/tools/image/types.js +5 -1
  121. package/components/RichTextEditor/tools/image/types.js.map +1 -1
  122. package/components/RichTextEditor/tools/image/ui.js +30 -23
  123. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  124. package/components/RichTextEditor/tools/paragraph/index.js +43 -41
  125. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  126. package/components/RichTextEditor/tools/textColor/index.js +27 -26
  127. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  128. package/components/RichTextEditor/tools/utils.js +14 -5
  129. package/components/RichTextEditor/tools/utils.js.map +1 -1
  130. package/components/Routes.js +24 -9
  131. package/components/Routes.js.map +1 -1
  132. package/components/SearchUI.js +23 -9
  133. package/components/SearchUI.js.map +1 -1
  134. package/components/SimpleForm/SimpleForm.js +60 -29
  135. package/components/SimpleForm/SimpleForm.js.map +1 -1
  136. package/components/SimpleForm/index.js +31 -1
  137. package/components/SimpleForm/index.js.map +1 -1
  138. package/components/SimpleUI/InputField.js +35 -18
  139. package/components/SimpleUI/InputField.js.map +1 -1
  140. package/components/SingleImageUpload.js +41 -22
  141. package/components/SingleImageUpload.js.map +1 -1
  142. package/components/SplitView/SplitView.js +42 -19
  143. package/components/SplitView/SplitView.js.map +1 -1
  144. package/components/SplitView/index.js +25 -1
  145. package/components/SplitView/index.js.map +1 -1
  146. package/components/index.js +13 -1
  147. package/components/index.js.map +1 -1
  148. package/hooks/useConfirmationDialog.js +29 -16
  149. package/hooks/useConfirmationDialog.js.map +1 -1
  150. package/hooks/useDialog.js +16 -6
  151. package/hooks/useDialog.js.map +1 -1
  152. package/hooks/useSnackbar.js +20 -7
  153. package/hooks/useSnackbar.js.map +1 -1
  154. package/index.d.ts +1 -0
  155. package/index.js +295 -26
  156. package/index.js.map +1 -1
  157. package/package.json +21 -20
  158. package/plugins/FileManagerFileTypePlugin.js +33 -20
  159. package/plugins/FileManagerFileTypePlugin.js.map +1 -1
  160. package/plugins/MenuPlugin.js +33 -20
  161. package/plugins/MenuPlugin.js.map +1 -1
  162. package/plugins/PermissionRendererPlugin.js +33 -20
  163. package/plugins/PermissionRendererPlugin.js.map +1 -1
  164. package/plugins/fileManager/fileDefault.js +24 -8
  165. package/plugins/fileManager/fileDefault.js.map +1 -1
  166. package/plugins/fileManager/fileImage/DeleteAction.js +45 -24
  167. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
  168. package/plugins/fileManager/fileImage/EditAction.js +51 -28
  169. package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
  170. package/plugins/fileManager/fileImage/index.js +29 -10
  171. package/plugins/fileManager/fileImage/index.js.map +1 -1
  172. package/plugins/fileManager/index.js +15 -3
  173. package/plugins/fileManager/index.js.map +1 -1
  174. package/plugins/globalSearch/SearchBar.js +82 -60
  175. package/plugins/globalSearch/SearchBar.js.map +1 -1
  176. package/plugins/globalSearch/SearchBarDropdown.js +46 -27
  177. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  178. package/plugins/globalSearch/index.js +9 -2
  179. package/plugins/globalSearch/index.js.map +1 -1
  180. package/plugins/globalSearch/styled.js +33 -13
  181. package/plugins/globalSearch/styled.js.map +1 -1
  182. package/plugins/index.js +20 -6
  183. package/plugins/index.js.map +1 -1
  184. package/plugins/uiLayoutRenderer/index.js +26 -13
  185. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  186. package/types.js +5 -1
  187. package/types.js.map +1 -1
  188. package/ui/UIElement.js +19 -1
  189. package/ui/UIElement.js.map +1 -1
  190. package/ui/UILayout.js +19 -1
  191. package/ui/UILayout.js.map +1 -1
  192. package/ui/UIRenderer.js +13 -1
  193. package/ui/UIRenderer.js.map +1 -1
  194. package/ui/UIView.js +25 -1
  195. package/ui/UIView.js.map +1 -1
  196. package/ui/elements/AccordionElement.js +52 -32
  197. package/ui/elements/AccordionElement.js.map +1 -1
  198. package/ui/elements/ButtonElement.js +36 -19
  199. package/ui/elements/ButtonElement.js.map +1 -1
  200. package/ui/elements/ButtonGroupElement.js +38 -19
  201. package/ui/elements/ButtonGroupElement.js.map +1 -1
  202. package/ui/elements/GenericElement.js +18 -1
  203. package/ui/elements/GenericElement.js.map +1 -1
  204. package/ui/elements/LabelElement.js +26 -13
  205. package/ui/elements/LabelElement.js.map +1 -1
  206. package/ui/elements/NavigationMenuElement.js +48 -30
  207. package/ui/elements/NavigationMenuElement.js.map +1 -1
  208. package/ui/elements/PanelElement.js +27 -12
  209. package/ui/elements/PanelElement.js.map +1 -1
  210. package/ui/elements/PlaceholderElement.js +27 -13
  211. package/ui/elements/PlaceholderElement.js.map +1 -1
  212. package/ui/elements/SmallButtonElement.js +36 -19
  213. package/ui/elements/SmallButtonElement.js.map +1 -1
  214. package/ui/elements/TypographyElement.js +38 -20
  215. package/ui/elements/TypographyElement.js.map +1 -1
  216. package/ui/elements/ViewElement.js +18 -1
  217. package/ui/elements/ViewElement.js.map +1 -1
  218. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +33 -17
  219. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  220. package/ui/elements/form/DynamicFieldsetElement.js +41 -23
  221. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  222. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +30 -14
  223. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  224. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +51 -28
  225. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  226. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +45 -25
  227. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  228. package/ui/elements/form/FileManagerElement/styled.d.ts +3 -3
  229. package/ui/elements/form/FileManagerElement/styled.js +26 -12
  230. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  231. package/ui/elements/form/FileManagerElement.js +39 -22
  232. package/ui/elements/form/FileManagerElement.js.map +1 -1
  233. package/ui/elements/form/FormElement.js +42 -21
  234. package/ui/elements/form/FormElement.js.map +1 -1
  235. package/ui/elements/form/FormFieldElement.js +38 -23
  236. package/ui/elements/form/FormFieldElement.js.map +1 -1
  237. package/ui/elements/form/HiddenElement.js +30 -15
  238. package/ui/elements/form/HiddenElement.js.map +1 -1
  239. package/ui/elements/form/InputElement.js +34 -18
  240. package/ui/elements/form/InputElement.js.map +1 -1
  241. package/ui/elements/form/PasswordElement.js +34 -18
  242. package/ui/elements/form/PasswordElement.js.map +1 -1
  243. package/ui/elements/form/SelectElement.js +35 -19
  244. package/ui/elements/form/SelectElement.js.map +1 -1
  245. package/ui/elements/form/TextareaElement.js +34 -18
  246. package/ui/elements/form/TextareaElement.js.map +1 -1
  247. package/ui/views/AdminView/ContentElement.js +40 -24
  248. package/ui/views/AdminView/ContentElement.js.map +1 -1
  249. package/ui/views/AdminView/HeaderElement.js +60 -39
  250. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  251. package/ui/views/AdminView/HeaderSectionCenterElement.js +41 -21
  252. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  253. package/ui/views/AdminView/HeaderSectionLeftElement.js +41 -21
  254. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  255. package/ui/views/AdminView/HeaderSectionRightElement.js +41 -21
  256. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  257. package/ui/views/AdminView/components/Dialog.js +32 -15
  258. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  259. package/ui/views/AdminView/components/Hamburger.js +25 -11
  260. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  261. package/ui/views/AdminView/components/Snackbar.js +26 -13
  262. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  263. package/ui/views/FormView/FormContainerElement.js +45 -25
  264. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  265. package/ui/views/FormView/FormContentElement.js +27 -12
  266. package/ui/views/FormView/FormContentElement.js.map +1 -1
  267. package/ui/views/FormView/FormFooterElement.js +38 -19
  268. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  269. package/ui/views/FormView/FormHeaderElement.js +52 -30
  270. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  271. package/ui/views/FormView.js +60 -34
  272. package/ui/views/FormView.js.map +1 -1
  273. package/ui/views/OverlayView/ContentElement.js +38 -19
  274. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  275. package/ui/views/OverlayView/HeaderElement.js +56 -37
  276. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  277. package/ui/views/OverlayView/HeaderTitleElement.js +44 -25
  278. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  279. package/ui/views/OverlayView/useOverlayView.js +32 -16
  280. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  281. package/ui/views/OverlayView.js +65 -42
  282. package/ui/views/OverlayView.js.map +1 -1
  283. package/ui/views/SplitView/SplitViewPanelElement.js +47 -28
  284. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  285. package/ui/views/SplitView.js +57 -37
  286. package/ui/views/SplitView.js.map +1 -1
@@ -1,42 +1,81 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
4
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.tagWithoutScopePrefix = exports.formatTagAsLabel = exports.default = void 0;
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
+
20
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
+
22
+ var _react = _interopRequireWildcard(require("react"));
23
+
24
+ var _classnames = _interopRequireDefault(require("classnames"));
25
+
26
+ var _emotion = require("emotion");
27
+
28
+ var _reactHooks = require("@apollo/react-hooks");
29
+
30
+ var _set = _interopRequireDefault(require("lodash/set"));
31
+
32
+ var _get = _interopRequireDefault(require("lodash/get"));
33
+
34
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
35
+
36
+ var _Chips = require("@webiny/ui/Chips");
37
+
38
+ var _Button = require("@webiny/ui/Button");
39
+
40
+ var _AutoComplete = require("@webiny/ui/AutoComplete");
41
+
42
+ var _Icon = require("@webiny/ui/Icon");
43
+
44
+ var _form = require("@webiny/form");
45
+
46
+ var _useSnackbar2 = require("../../../hooks/useSnackbar");
47
+
48
+ var _FileManagerContext = require("./../FileManagerContext");
49
+
50
+ var _graphql = require("./../graphql");
51
+
52
+ var _roundEdit24px = require("./../icons/round-edit-24px.svg");
53
+
54
+ var _roundLabel24px = require("./../icons/round-label-24px.svg");
55
+
5
56
  var _excluded = ["value"];
6
- import _regeneratorRuntime from "@babel/runtime/regenerator";
7
- import React, { useCallback, useState } from "react";
8
- import classNames from "classnames";
9
- import { css } from "emotion";
10
- import { useApolloClient, useQuery } from "@apollo/react-hooks";
11
- import set from "lodash/set";
12
- import get from "lodash/get";
13
- import cloneDeep from "lodash/cloneDeep";
14
- import { Chips, Chip } from "@webiny/ui/Chips";
15
- import { ButtonSecondary, ButtonPrimary, ButtonDefault, IconButton } from "@webiny/ui/Button";
16
- import { MultiAutoComplete } from "@webiny/ui/AutoComplete";
17
- import { Icon } from "@webiny/ui/Icon";
18
- import { Form } from "@webiny/form";
19
- import { useSnackbar } from "../../../hooks/useSnackbar";
20
- import { getWhere, useFileManager } from "./../FileManagerContext";
21
- import { UPDATE_FILE, LIST_FILES, LIST_TAGS } from "./../graphql";
22
- import { ReactComponent as EditIcon } from "./../icons/round-edit-24px.svg";
23
- import { ReactComponent as LabelIcon } from "./../icons/round-label-24px.svg";
24
57
  var SCOPE_SEPARATOR = ":";
25
- export var formatTagAsLabel = function formatTagAsLabel(tag, scope) {
58
+
59
+ var formatTagAsLabel = function formatTagAsLabel(tag, scope) {
26
60
  if (!scope) {
27
61
  return tag;
28
62
  }
29
63
 
30
64
  return tag.replace("".concat(scope).concat(SCOPE_SEPARATOR), "");
31
65
  };
32
- export var tagWithoutScopePrefix = function tagWithoutScopePrefix(tags, scope) {
66
+
67
+ exports.formatTagAsLabel = formatTagAsLabel;
68
+
69
+ var tagWithoutScopePrefix = function tagWithoutScopePrefix(tags, scope) {
33
70
  return tags.filter(function (tag) {
34
71
  return tag !== scope;
35
72
  }).map(function (tag) {
36
73
  return formatTagAsLabel(tag, scope);
37
74
  });
38
75
  };
39
- var chipsStyle = /*#__PURE__*/css({
76
+
77
+ exports.tagWithoutScopePrefix = tagWithoutScopePrefix;
78
+ var chipsStyle = /*#__PURE__*/(0, _emotion.css)({
40
79
  "&.mdc-chip-set": {
41
80
  padding: 0,
42
81
  marginLeft: -4,
@@ -45,13 +84,13 @@ var chipsStyle = /*#__PURE__*/css({
45
84
  }
46
85
  }
47
86
  }, "label:chipsStyle;");
48
- var iconButtonStyle = /*#__PURE__*/css({
87
+ var iconButtonStyle = /*#__PURE__*/(0, _emotion.css)({
49
88
  "&.mdc-icon-button svg": {
50
89
  width: 20,
51
90
  height: 20
52
91
  }
53
92
  }, "label:iconButtonStyle;");
54
- var addTagsStyle = /*#__PURE__*/css({
93
+ var addTagsStyle = /*#__PURE__*/(0, _emotion.css)({
55
94
  "&.mdc-button:not(:disabled)": {
56
95
  color: "var(--mdc-theme-text-secondary-on-background)",
57
96
  textTransform: "capitalize",
@@ -59,7 +98,7 @@ var addTagsStyle = /*#__PURE__*/css({
59
98
  marginLeft: -8
60
99
  }
61
100
  }, "label:addTagsStyle;");
62
- var actionWrapperStyle = /*#__PURE__*/css({
101
+ var actionWrapperStyle = /*#__PURE__*/(0, _emotion.css)({
63
102
  marginTop: 16,
64
103
  "& button:first-child": {
65
104
  marginRight: 16
@@ -69,41 +108,41 @@ var actionWrapperStyle = /*#__PURE__*/css({
69
108
  var Tags = function Tags(_ref) {
70
109
  var file = _ref.file,
71
110
  canEdit = _ref.canEdit;
72
- var client = useApolloClient();
111
+ var client = (0, _reactHooks.useApolloClient)();
73
112
 
74
- var _useState = useState(false),
75
- _useState2 = _slicedToArray(_useState, 2),
113
+ var _useState = (0, _react.useState)(false),
114
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
76
115
  editing = _useState2[0],
77
116
  setEdit = _useState2[1];
78
117
 
79
- var _useState3 = useState(false),
80
- _useState4 = _slicedToArray(_useState3, 2),
118
+ var _useState3 = (0, _react.useState)(false),
119
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
81
120
  saving = _useState4[0],
82
121
  setSaving = _useState4[1];
83
122
 
84
- var _useState5 = useState(Array.isArray(file.tags) ? _toConsumableArray(file.tags) : []),
85
- _useState6 = _slicedToArray(_useState5, 2),
123
+ var _useState5 = (0, _react.useState)(Array.isArray(file.tags) ? (0, _toConsumableArray2.default)(file.tags) : []),
124
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
86
125
  initialTags = _useState6[0],
87
126
  setInitialTags = _useState6[1];
88
127
 
89
- var _useSnackbar = useSnackbar(),
128
+ var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
90
129
  showSnackbar = _useSnackbar.showSnackbar;
91
130
 
92
- var _useFileManager = useFileManager(),
131
+ var _useFileManager = (0, _FileManagerContext.useFileManager)(),
93
132
  queryParams = _useFileManager.queryParams;
94
133
 
95
- var handleEdit = useCallback(function () {
134
+ var handleEdit = (0, _react.useCallback)(function () {
96
135
  return setEdit(true);
97
136
  }, []);
98
- var listTagsQuery = useQuery(LIST_TAGS, {
137
+ var listTagsQuery = (0, _reactHooks.useQuery)(_graphql.LIST_TAGS, {
99
138
  variables: {
100
- where: getWhere(queryParams.scope)
139
+ where: (0, _FileManagerContext.getWhere)(queryParams.scope)
101
140
  }
102
141
  });
103
- var listTags = get(listTagsQuery, "data.fileManager.listTags", []);
142
+ var listTags = (0, _get.default)(listTagsQuery, "data.fileManager.listTags", []);
104
143
  var allTags = tagWithoutScopePrefix(listTags, queryParams.scope);
105
144
  var isEditingAllowed = canEdit(file);
106
- var renderHeaderContent = useCallback(function (_ref2) {
145
+ var renderHeaderContent = (0, _react.useCallback)(function (_ref2) {
107
146
  var data = _ref2.data;
108
147
 
109
148
  if (editing) {
@@ -114,45 +153,45 @@ var Tags = function Tags(_ref) {
114
153
 
115
154
  if (hasTags) {
116
155
  // Render existing tags and "edit tags" action.
117
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Chips, {
118
- className: classNames("list-item__content", chipsStyle)
156
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Chips.Chips, {
157
+ className: (0, _classnames.default)("list-item__content", chipsStyle)
119
158
  }, data.tags.filter(function (tag) {
120
159
  return tag !== queryParams.scope;
121
160
  }).map(function (tag, index) {
122
161
  var label = typeof tag === "string" ? tag : tag.name;
123
- return /*#__PURE__*/React.createElement(Chip, {
162
+ return /*#__PURE__*/_react.default.createElement(_Chips.Chip, {
124
163
  key: label + index,
125
164
  label: formatTagAsLabel(label, queryParams.scope)
126
165
  });
127
- })), isEditingAllowed && /*#__PURE__*/React.createElement(IconButton, {
166
+ })), isEditingAllowed && /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
128
167
  className: iconButtonStyle,
129
- icon: /*#__PURE__*/React.createElement(EditIcon, null),
168
+ icon: /*#__PURE__*/_react.default.createElement(_roundEdit24px.ReactComponent, null),
130
169
  onClick: handleEdit
131
170
  }));
132
171
  } // Render "add tags" action.
133
172
 
134
173
 
135
- return /*#__PURE__*/React.createElement(ButtonDefault, {
174
+ return /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
136
175
  className: addTagsStyle,
137
176
  onClick: handleEdit,
138
177
  disabled: !isEditingAllowed
139
178
  }, "Add tags...");
140
179
  }, [editing, isEditingAllowed]);
141
- return /*#__PURE__*/React.createElement(Form, {
180
+ return /*#__PURE__*/_react.default.createElement(_form.Form, {
142
181
  data: {
143
182
  tags: initialTags
144
183
  },
145
184
  onSubmit: /*#__PURE__*/function () {
146
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
185
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_ref3) {
147
186
  var tags;
148
- return _regeneratorRuntime.wrap(function _callee$(_context) {
187
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
149
188
  while (1) {
150
189
  switch (_context.prev = _context.next) {
151
190
  case 0:
152
191
  tags = _ref3.tags;
153
192
  setSaving(true);
154
193
  client.mutate({
155
- mutation: UPDATE_FILE,
194
+ mutation: _graphql.UPDATE_FILE,
156
195
  variables: {
157
196
  id: file.id,
158
197
  data: {
@@ -160,10 +199,10 @@ var Tags = function Tags(_ref) {
160
199
  }
161
200
  },
162
201
  update: function update(cache, updated) {
163
- var newFileData = get(updated, "data.fileManager.updateFile.data"); // 1. Update files list cache
202
+ var newFileData = (0, _get.default)(updated, "data.fileManager.updateFile.data"); // 1. Update files list cache
164
203
 
165
- var data = cloneDeep(cache.readQuery({
166
- query: LIST_FILES,
204
+ var data = (0, _cloneDeep.default)(cache.readQuery({
205
+ query: _graphql.LIST_FILES,
167
206
  variables: queryParams
168
207
  }));
169
208
 
@@ -176,17 +215,17 @@ var Tags = function Tags(_ref) {
176
215
  }
177
216
 
178
217
  cache.writeQuery({
179
- query: LIST_FILES,
218
+ query: _graphql.LIST_FILES,
180
219
  variables: queryParams,
181
220
  data: data
182
221
  }); // 2. Update "LIST_TAGS" cache
183
222
 
184
223
  if (Array.isArray(newFileData.tags)) {
185
224
  // Get list tags data
186
- var listTagsData = cloneDeep(cache.readQuery({
187
- query: LIST_TAGS,
225
+ var listTagsData = (0, _cloneDeep.default)(cache.readQuery({
226
+ query: _graphql.LIST_TAGS,
188
227
  variables: {
189
- where: getWhere(queryParams.scope)
228
+ where: (0, _FileManagerContext.getWhere)(queryParams.scope)
190
229
  }
191
230
  }));
192
231
 
@@ -195,7 +234,7 @@ var Tags = function Tags(_ref) {
195
234
  } // Add new tag in list
196
235
 
197
236
 
198
- var updatedTagsList = _toConsumableArray(newFileData.tags);
237
+ var updatedTagsList = (0, _toConsumableArray2.default)(newFileData.tags);
199
238
 
200
239
  if (Array.isArray(listTagsData.fileManager.listTags)) {
201
240
  listTagsData.fileManager.listTags.forEach(function (tag) {
@@ -205,12 +244,12 @@ var Tags = function Tags(_ref) {
205
244
  });
206
245
  }
207
246
 
208
- set(listTagsData, "fileManager.listTags", updatedTagsList); // Write it to cache
247
+ (0, _set.default)(listTagsData, "fileManager.listTags", updatedTagsList); // Write it to cache
209
248
 
210
249
  cache.writeQuery({
211
- query: LIST_TAGS,
250
+ query: _graphql.LIST_TAGS,
212
251
  variables: {
213
- where: getWhere(queryParams.scope)
252
+ where: (0, _FileManagerContext.getWhere)(queryParams.scope)
214
253
  },
215
254
  data: listTagsData
216
255
  });
@@ -240,14 +279,14 @@ var Tags = function Tags(_ref) {
240
279
  data = _ref5.data,
241
280
  setValue = _ref5.setValue,
242
281
  submit = _ref5.submit;
243
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("li-title", null, /*#__PURE__*/React.createElement(Icon, {
282
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("li-title", null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
244
283
  className: "list-item__icon",
245
- icon: /*#__PURE__*/React.createElement(LabelIcon, null)
284
+ icon: /*#__PURE__*/_react.default.createElement(_roundLabel24px.ReactComponent, null)
246
285
  }), renderHeaderContent({
247
286
  // TODO @ts-refactor
248
287
  // @ts-ignore
249
288
  data: data
250
- })), editing && /*#__PURE__*/React.createElement("li-content", null, /*#__PURE__*/React.createElement(Bind, {
289
+ })), editing && /*#__PURE__*/_react.default.createElement("li-content", null, /*#__PURE__*/_react.default.createElement(Bind, {
251
290
  name: "tags",
252
291
  beforeChange: function beforeChange(tags, baseOnChange) {
253
292
  var formattedTags = tags.map(function (tag) {
@@ -266,9 +305,8 @@ var Tags = function Tags(_ref) {
266
305
  }
267
306
  }, function (_ref6) {
268
307
  var value = _ref6.value,
269
- bindProps = _objectWithoutProperties(_ref6, _excluded);
270
-
271
- return /*#__PURE__*/React.createElement(MultiAutoComplete, Object.assign({}, bindProps, {
308
+ bindProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
309
+ return /*#__PURE__*/_react.default.createElement(_AutoComplete.MultiAutoComplete, Object.assign({}, bindProps, {
272
310
  value: tagWithoutScopePrefix(value, queryParams.scope),
273
311
  options: allTags,
274
312
  placeholder: "homepage asset",
@@ -278,15 +316,15 @@ var Tags = function Tags(_ref) {
278
316
  useSimpleValues: true,
279
317
  disabled: saving
280
318
  }));
281
- }), /*#__PURE__*/React.createElement("div", {
319
+ }), /*#__PURE__*/_react.default.createElement("div", {
282
320
  className: actionWrapperStyle
283
- }, /*#__PURE__*/React.createElement(ButtonPrimary, {
321
+ }, /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
284
322
  small: true,
285
323
  onClick: function onClick(ev) {
286
324
  submit(ev);
287
325
  },
288
326
  "data-testid": "fm.tags.submit"
289
- }, "Submit"), /*#__PURE__*/React.createElement(ButtonSecondary, {
327
+ }, "Submit"), /*#__PURE__*/_react.default.createElement(_Button.ButtonSecondary, {
290
328
  small: true,
291
329
  onClick: function onClick() {
292
330
  setValue("tags", initialTags);
@@ -296,4 +334,5 @@ var Tags = function Tags(_ref) {
296
334
  });
297
335
  };
298
336
 
299
- export default Tags;
337
+ var _default = Tags;
338
+ exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["Tags.tsx"],"names":["React","useCallback","useState","classNames","css","useApolloClient","useQuery","set","get","cloneDeep","Chips","Chip","ButtonSecondary","ButtonPrimary","ButtonDefault","IconButton","MultiAutoComplete","Icon","Form","useSnackbar","getWhere","useFileManager","UPDATE_FILE","LIST_FILES","LIST_TAGS","ReactComponent","EditIcon","LabelIcon","SCOPE_SEPARATOR","formatTagAsLabel","tag","scope","replace","tagWithoutScopePrefix","tags","filter","map","chipsStyle","padding","marginLeft","backgroundColor","iconButtonStyle","width","height","addTagsStyle","color","textTransform","letterSpacing","actionWrapperStyle","marginTop","marginRight","Tags","file","canEdit","client","editing","setEdit","saving","setSaving","Array","isArray","initialTags","setInitialTags","showSnackbar","queryParams","handleEdit","listTagsQuery","variables","where","listTags","allTags","isEditingAllowed","renderHeaderContent","data","hasTags","length","index","label","name","mutate","mutation","id","update","cache","updated","newFileData","readQuery","query","fileManager","listFiles","forEach","item","key","writeQuery","listTagsData","updatedTagsList","includes","push","then","Bind","setValue","submit","baseOnChange","formattedTags","tagInLowerCase","toLowerCase","startsWith","value","bindProps","ev"],"mappings":"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","sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { useApolloClient, useQuery } from \"@apollo/react-hooks\";\nimport set from \"lodash/set\";\nimport get from \"lodash/get\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Chips, Chip } from \"@webiny/ui/Chips\";\nimport { ButtonSecondary, ButtonPrimary, ButtonDefault, IconButton } from \"@webiny/ui/Button\";\nimport { MultiAutoComplete } from \"@webiny/ui/AutoComplete\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Form } from \"@webiny/form\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { getWhere, useFileManager } from \"./../FileManagerContext\";\nimport {\n UPDATE_FILE,\n LIST_FILES,\n LIST_TAGS,\n ListFilesQueryResponse,\n ListFileTagsQueryResponse\n} from \"./../graphql\";\nimport { ReactComponent as EditIcon } from \"./../icons/round-edit-24px.svg\";\nimport { ReactComponent as LabelIcon } from \"./../icons/round-label-24px.svg\";\nimport { FileItem } from \"../types\";\n\nconst SCOPE_SEPARATOR = \":\";\n\nexport const formatTagAsLabel = (tag: string, scope: string | undefined) => {\n if (!scope) {\n return tag;\n }\n return tag.replace(`${scope}${SCOPE_SEPARATOR}`, \"\");\n};\n\nexport const tagWithoutScopePrefix = (tags: string[], scope: string) => {\n return tags.filter(tag => tag !== scope).map(tag => formatTagAsLabel(tag, scope));\n};\n\nconst chipsStyle = css({\n \"&.mdc-chip-set\": {\n padding: 0,\n marginLeft: -4,\n \"& .mdc-chip\": {\n backgroundColor: \"var(--mdc-theme-background)\"\n }\n }\n});\nconst iconButtonStyle = css({\n \"&.mdc-icon-button svg\": {\n width: 20,\n height: 20\n }\n});\nconst addTagsStyle = css({\n \"&.mdc-button:not(:disabled)\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n textTransform: \"capitalize\",\n letterSpacing: \"initial\",\n marginLeft: -8\n }\n});\nconst actionWrapperStyle = css({\n marginTop: 16,\n \"& button:first-child\": {\n marginRight: 16\n }\n});\n\ninterface TagsProps {\n file: FileItem;\n canEdit: (file: FileItem) => boolean;\n}\n\nconst Tags: React.FC<TagsProps> = ({ file, canEdit }) => {\n const client = useApolloClient();\n\n const [editing, setEdit] = useState(false);\n const [saving, setSaving] = useState(false);\n const [initialTags, setInitialTags] = useState(Array.isArray(file.tags) ? [...file.tags] : []);\n const { showSnackbar } = useSnackbar();\n const { queryParams } = useFileManager();\n const handleEdit = useCallback(() => setEdit(true), []);\n const listTagsQuery = useQuery(LIST_TAGS, {\n variables: { where: getWhere(queryParams.scope) }\n });\n const listTags = get(listTagsQuery, \"data.fileManager.listTags\", []);\n const allTags = tagWithoutScopePrefix(listTags, queryParams.scope);\n\n const isEditingAllowed = canEdit(file);\n\n const renderHeaderContent = useCallback(\n ({ data }: { data: { tags: { name: string }[] } }) => {\n if (editing) {\n return null;\n }\n const hasTags = data.tags.length > 0;\n\n if (hasTags) {\n // Render existing tags and \"edit tags\" action.\n return (\n <>\n <Chips className={classNames(\"list-item__content\", chipsStyle)}>\n {data.tags\n .filter(tag => tag !== queryParams.scope)\n .map((tag, index) => {\n const label = typeof tag === \"string\" ? tag : tag.name;\n return (\n <Chip\n key={label + index}\n label={formatTagAsLabel(label, queryParams.scope)}\n />\n );\n })}\n </Chips>\n {isEditingAllowed && (\n <IconButton\n className={iconButtonStyle}\n icon={<EditIcon />}\n onClick={handleEdit}\n />\n )}\n </>\n );\n }\n // Render \"add tags\" action.\n return (\n <ButtonDefault\n className={addTagsStyle}\n onClick={handleEdit}\n disabled={!isEditingAllowed}\n >\n Add tags...\n </ButtonDefault>\n );\n },\n [editing, isEditingAllowed]\n );\n\n return (\n <Form\n data={{\n tags: initialTags\n }}\n onSubmit={async ({ tags }) => {\n setSaving(true);\n client\n .mutate({\n mutation: UPDATE_FILE,\n variables: {\n id: file.id,\n data: { tags }\n },\n update: (cache, updated) => {\n const newFileData: FileItem = get(\n updated,\n \"data.fileManager.updateFile.data\"\n );\n\n // 1. Update files list cache\n const data = cloneDeep(\n cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n })\n );\n\n if (data) {\n data.fileManager.listFiles.data.forEach(item => {\n if (item.key === newFileData.key) {\n item.tags = newFileData.tags;\n }\n });\n }\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data\n });\n // 2. Update \"LIST_TAGS\" cache\n if (Array.isArray(newFileData.tags)) {\n // Get list tags data\n const listTagsData = cloneDeep(\n cache.readQuery<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) }\n })\n );\n if (!listTagsData) {\n return;\n }\n // Add new tag in list\n const updatedTagsList = [...newFileData.tags];\n\n if (Array.isArray(listTagsData.fileManager.listTags)) {\n listTagsData.fileManager.listTags.forEach(tag => {\n if (!updatedTagsList.includes(tag)) {\n updatedTagsList.push(tag);\n }\n });\n }\n\n set(listTagsData, \"fileManager.listTags\", updatedTagsList);\n // Write it to cache\n cache.writeQuery({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) },\n data: listTagsData\n });\n }\n }\n })\n .then(() => {\n setInitialTags(tags);\n setSaving(false);\n setEdit(false);\n showSnackbar(\"Tags successfully updated.\");\n });\n }}\n >\n {({ Bind, data, setValue, submit }) => (\n <React.Fragment>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={<LabelIcon />} />\n {renderHeaderContent({\n // TODO @ts-refactor\n // @ts-ignore\n data\n })}\n </li-title>\n {editing && (\n <li-content>\n <Bind\n name={\"tags\"}\n beforeChange={(\n tags: string[],\n baseOnChange: (tags: string[]) => void\n ) => {\n const formattedTags = tags.map(tag => {\n const tagInLowerCase = tag.toLowerCase();\n /**\n * If \"scope\" exists, prefix tag with \"scope\" if not already.\n */\n if (\n queryParams.scope &&\n !tagInLowerCase.startsWith(queryParams.scope)\n ) {\n return `${queryParams.scope}${SCOPE_SEPARATOR}${tagInLowerCase}`;\n }\n return tagInLowerCase;\n });\n baseOnChange(formattedTags);\n }}\n >\n {({ value, ...bindProps }) => (\n <MultiAutoComplete\n {...bindProps}\n value={tagWithoutScopePrefix(value, queryParams.scope)}\n options={allTags}\n placeholder={\"homepage asset\"}\n description={\"Type in a new tag or select an existing one.\"}\n unique={true}\n allowFreeInput={true}\n useSimpleValues={true}\n disabled={saving}\n />\n )}\n </Bind>\n <div className={actionWrapperStyle}>\n <ButtonPrimary\n small\n onClick={ev => {\n submit(ev);\n }}\n data-testid={\"fm.tags.submit\"}\n >\n Submit\n </ButtonPrimary>\n <ButtonSecondary\n small\n onClick={() => {\n setValue(\"tags\", initialTags);\n setEdit(false);\n }}\n >\n Cancel\n </ButtonSecondary>\n </div>\n </li-content>\n )}\n </React.Fragment>\n )}\n </Form>\n );\n};\n\nexport default Tags;\n"]}
1
+ {"version":3,"names":["SCOPE_SEPARATOR","formatTagAsLabel","tag","scope","replace","tagWithoutScopePrefix","tags","filter","map","chipsStyle","css","padding","marginLeft","backgroundColor","iconButtonStyle","width","height","addTagsStyle","color","textTransform","letterSpacing","actionWrapperStyle","marginTop","marginRight","Tags","file","canEdit","client","useApolloClient","useState","editing","setEdit","saving","setSaving","Array","isArray","initialTags","setInitialTags","useSnackbar","showSnackbar","useFileManager","queryParams","handleEdit","useCallback","listTagsQuery","useQuery","LIST_TAGS","variables","where","getWhere","listTags","get","allTags","isEditingAllowed","renderHeaderContent","data","hasTags","length","classNames","index","label","name","mutate","mutation","UPDATE_FILE","id","update","cache","updated","newFileData","cloneDeep","readQuery","query","LIST_FILES","fileManager","listFiles","forEach","item","key","writeQuery","listTagsData","updatedTagsList","includes","push","set","then","Bind","setValue","submit","baseOnChange","formattedTags","tagInLowerCase","toLowerCase","startsWith","value","bindProps","ev"],"sources":["Tags.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { useApolloClient, useQuery } from \"@apollo/react-hooks\";\nimport set from \"lodash/set\";\nimport get from \"lodash/get\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { Chips, Chip } from \"@webiny/ui/Chips\";\nimport { ButtonSecondary, ButtonPrimary, ButtonDefault, IconButton } from \"@webiny/ui/Button\";\nimport { MultiAutoComplete } from \"@webiny/ui/AutoComplete\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Form } from \"@webiny/form\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { getWhere, useFileManager } from \"./../FileManagerContext\";\nimport {\n UPDATE_FILE,\n LIST_FILES,\n LIST_TAGS,\n ListFilesQueryResponse,\n ListFileTagsQueryResponse\n} from \"./../graphql\";\nimport { ReactComponent as EditIcon } from \"./../icons/round-edit-24px.svg\";\nimport { ReactComponent as LabelIcon } from \"./../icons/round-label-24px.svg\";\nimport { FileItem } from \"../types\";\n\nconst SCOPE_SEPARATOR = \":\";\n\nexport const formatTagAsLabel = (tag: string, scope: string | undefined) => {\n if (!scope) {\n return tag;\n }\n return tag.replace(`${scope}${SCOPE_SEPARATOR}`, \"\");\n};\n\nexport const tagWithoutScopePrefix = (tags: string[], scope: string) => {\n return tags.filter(tag => tag !== scope).map(tag => formatTagAsLabel(tag, scope));\n};\n\nconst chipsStyle = css({\n \"&.mdc-chip-set\": {\n padding: 0,\n marginLeft: -4,\n \"& .mdc-chip\": {\n backgroundColor: \"var(--mdc-theme-background)\"\n }\n }\n});\nconst iconButtonStyle = css({\n \"&.mdc-icon-button svg\": {\n width: 20,\n height: 20\n }\n});\nconst addTagsStyle = css({\n \"&.mdc-button:not(:disabled)\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n textTransform: \"capitalize\",\n letterSpacing: \"initial\",\n marginLeft: -8\n }\n});\nconst actionWrapperStyle = css({\n marginTop: 16,\n \"& button:first-child\": {\n marginRight: 16\n }\n});\n\ninterface TagsProps {\n file: FileItem;\n canEdit: (file: FileItem) => boolean;\n}\n\nconst Tags: React.FC<TagsProps> = ({ file, canEdit }) => {\n const client = useApolloClient();\n\n const [editing, setEdit] = useState(false);\n const [saving, setSaving] = useState(false);\n const [initialTags, setInitialTags] = useState(Array.isArray(file.tags) ? [...file.tags] : []);\n const { showSnackbar } = useSnackbar();\n const { queryParams } = useFileManager();\n const handleEdit = useCallback(() => setEdit(true), []);\n const listTagsQuery = useQuery(LIST_TAGS, {\n variables: { where: getWhere(queryParams.scope) }\n });\n const listTags = get(listTagsQuery, \"data.fileManager.listTags\", []);\n const allTags = tagWithoutScopePrefix(listTags, queryParams.scope);\n\n const isEditingAllowed = canEdit(file);\n\n const renderHeaderContent = useCallback(\n ({ data }: { data: { tags: { name: string }[] } }) => {\n if (editing) {\n return null;\n }\n const hasTags = data.tags.length > 0;\n\n if (hasTags) {\n // Render existing tags and \"edit tags\" action.\n return (\n <>\n <Chips className={classNames(\"list-item__content\", chipsStyle)}>\n {data.tags\n .filter(tag => tag !== queryParams.scope)\n .map((tag, index) => {\n const label = typeof tag === \"string\" ? tag : tag.name;\n return (\n <Chip\n key={label + index}\n label={formatTagAsLabel(label, queryParams.scope)}\n />\n );\n })}\n </Chips>\n {isEditingAllowed && (\n <IconButton\n className={iconButtonStyle}\n icon={<EditIcon />}\n onClick={handleEdit}\n />\n )}\n </>\n );\n }\n // Render \"add tags\" action.\n return (\n <ButtonDefault\n className={addTagsStyle}\n onClick={handleEdit}\n disabled={!isEditingAllowed}\n >\n Add tags...\n </ButtonDefault>\n );\n },\n [editing, isEditingAllowed]\n );\n\n return (\n <Form\n data={{\n tags: initialTags\n }}\n onSubmit={async ({ tags }) => {\n setSaving(true);\n client\n .mutate({\n mutation: UPDATE_FILE,\n variables: {\n id: file.id,\n data: { tags }\n },\n update: (cache, updated) => {\n const newFileData: FileItem = get(\n updated,\n \"data.fileManager.updateFile.data\"\n );\n\n // 1. Update files list cache\n const data = cloneDeep(\n cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n })\n );\n\n if (data) {\n data.fileManager.listFiles.data.forEach(item => {\n if (item.key === newFileData.key) {\n item.tags = newFileData.tags;\n }\n });\n }\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data\n });\n // 2. Update \"LIST_TAGS\" cache\n if (Array.isArray(newFileData.tags)) {\n // Get list tags data\n const listTagsData = cloneDeep(\n cache.readQuery<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) }\n })\n );\n if (!listTagsData) {\n return;\n }\n // Add new tag in list\n const updatedTagsList = [...newFileData.tags];\n\n if (Array.isArray(listTagsData.fileManager.listTags)) {\n listTagsData.fileManager.listTags.forEach(tag => {\n if (!updatedTagsList.includes(tag)) {\n updatedTagsList.push(tag);\n }\n });\n }\n\n set(listTagsData, \"fileManager.listTags\", updatedTagsList);\n // Write it to cache\n cache.writeQuery({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) },\n data: listTagsData\n });\n }\n }\n })\n .then(() => {\n setInitialTags(tags);\n setSaving(false);\n setEdit(false);\n showSnackbar(\"Tags successfully updated.\");\n });\n }}\n >\n {({ Bind, data, setValue, submit }) => (\n <React.Fragment>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={<LabelIcon />} />\n {renderHeaderContent({\n // TODO @ts-refactor\n // @ts-ignore\n data\n })}\n </li-title>\n {editing && (\n <li-content>\n <Bind\n name={\"tags\"}\n beforeChange={(\n tags: string[],\n baseOnChange: (tags: string[]) => void\n ) => {\n const formattedTags = tags.map(tag => {\n const tagInLowerCase = tag.toLowerCase();\n /**\n * If \"scope\" exists, prefix tag with \"scope\" if not already.\n */\n if (\n queryParams.scope &&\n !tagInLowerCase.startsWith(queryParams.scope)\n ) {\n return `${queryParams.scope}${SCOPE_SEPARATOR}${tagInLowerCase}`;\n }\n return tagInLowerCase;\n });\n baseOnChange(formattedTags);\n }}\n >\n {({ value, ...bindProps }) => (\n <MultiAutoComplete\n {...bindProps}\n value={tagWithoutScopePrefix(value, queryParams.scope)}\n options={allTags}\n placeholder={\"homepage asset\"}\n description={\"Type in a new tag or select an existing one.\"}\n unique={true}\n allowFreeInput={true}\n useSimpleValues={true}\n disabled={saving}\n />\n )}\n </Bind>\n <div className={actionWrapperStyle}>\n <ButtonPrimary\n small\n onClick={ev => {\n submit(ev);\n }}\n data-testid={\"fm.tags.submit\"}\n >\n Submit\n </ButtonPrimary>\n <ButtonSecondary\n small\n onClick={() => {\n setValue(\"tags\", initialTags);\n setEdit(false);\n }}\n >\n Cancel\n </ButtonSecondary>\n </div>\n </li-content>\n )}\n </React.Fragment>\n )}\n </Form>\n );\n};\n\nexport default Tags;\n"],"mappings":"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"}