@webiny/app-admin 0.0.0-unstable.97a151f74d → 0.0.0-unstable.99666aeb00

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 (368) hide show
  1. package/assets/icons/add-18px.svg +1 -1
  2. package/assets/icons/arrow_drop_down-24px.svg +1 -1
  3. package/assets/icons/filter-24px.svg +1 -1
  4. package/assets/icons/highlight-24px.svg +1 -1
  5. package/assets/icons/info.svg +1 -1
  6. package/assets/icons/insert_drive_file-24px.svg +1 -1
  7. package/assets/icons/insert_photo-24px.svg +1 -1
  8. package/assets/icons/label-24px.svg +1 -1
  9. package/assets/icons/round-account_circle-24px.svg +1 -1
  10. package/assets/icons/round-arrow_drop_down-24px.svg +1 -1
  11. package/assets/icons/round-help-24px.svg +1 -1
  12. package/assets/icons/round-settings-24px.svg +1 -1
  13. package/assets/icons/today-24px.svg +1 -1
  14. package/assets/icons/touch_app.svg +1 -1
  15. package/base/Admin.js +10 -23
  16. package/base/Admin.js.map +1 -1
  17. package/base/Base.js +13 -48
  18. package/base/Base.js.map +1 -1
  19. package/base/plugins/AddGraphQLQuerySelection.js +5 -9
  20. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  21. package/base/providers/ApolloProvider.js +0 -5
  22. package/base/providers/ApolloProvider.js.map +1 -1
  23. package/base/providers/TelemetryProvider.js +1 -7
  24. package/base/providers/TelemetryProvider.js.map +1 -1
  25. package/base/providers/UiStateProvider.js +0 -5
  26. package/base/providers/UiStateProvider.js.map +1 -1
  27. package/base/providers/ViewCompositionProvider.js +3 -16
  28. package/base/providers/ViewCompositionProvider.js.map +1 -1
  29. package/base/ui/Brand.d.ts +2 -2
  30. package/base/ui/Brand.js +3 -7
  31. package/base/ui/Brand.js.map +1 -1
  32. package/base/ui/CenteredView.js +2 -7
  33. package/base/ui/CenteredView.js.map +1 -1
  34. package/base/ui/Dashboard.d.ts +2 -2
  35. package/base/ui/Dashboard.js +3 -7
  36. package/base/ui/Dashboard.js.map +1 -1
  37. package/{components → base/ui}/FileManager.d.ts +7 -6
  38. package/base/ui/FileManager.js +62 -0
  39. package/base/ui/FileManager.js.map +1 -0
  40. package/base/ui/Layout.d.ts +2 -2
  41. package/base/ui/Layout.js +4 -9
  42. package/base/ui/Layout.js.map +1 -1
  43. package/base/ui/LocaleSelector.d.ts +2 -2
  44. package/base/ui/LocaleSelector.js +3 -7
  45. package/base/ui/LocaleSelector.js.map +1 -1
  46. package/base/ui/LoginScreen.d.ts +1 -1
  47. package/base/ui/LoginScreen.js +2 -8
  48. package/base/ui/LoginScreen.js.map +1 -1
  49. package/base/ui/Logo.d.ts +2 -2
  50. package/base/ui/Logo.js +4 -10
  51. package/base/ui/Logo.js.map +1 -1
  52. package/base/ui/Menu.js +2 -31
  53. package/base/ui/Menu.js.map +1 -1
  54. package/base/ui/Navigation.d.ts +3 -3
  55. package/base/ui/Navigation.js +16 -49
  56. package/base/ui/Navigation.js.map +1 -1
  57. package/base/ui/NotFound.d.ts +2 -2
  58. package/base/ui/NotFound.js +3 -7
  59. package/base/ui/NotFound.js.map +1 -1
  60. package/base/ui/Search.d.ts +2 -2
  61. package/base/ui/Search.js +8 -26
  62. package/base/ui/Search.js.map +1 -1
  63. package/base/ui/Tags.js +1 -8
  64. package/base/ui/Tags.js.map +1 -1
  65. package/base/ui/UserMenu.d.ts +7 -7
  66. package/base/ui/UserMenu.js +13 -37
  67. package/base/ui/UserMenu.js.map +1 -1
  68. package/components/AdminLayout.js +1 -6
  69. package/components/AdminLayout.js.map +1 -1
  70. package/components/AppInstaller/AppInstaller.js +18 -84
  71. package/components/AppInstaller/AppInstaller.js.map +1 -1
  72. package/components/AppInstaller/Sidebar.js +11 -44
  73. package/components/AppInstaller/Sidebar.js.map +1 -1
  74. package/components/AppInstaller/index.js +0 -7
  75. package/components/AppInstaller/index.js.map +1 -1
  76. package/components/AppInstaller/styled.d.ts +17 -5
  77. package/components/AppInstaller/styled.js +0 -4
  78. package/components/AppInstaller/styled.js.map +1 -1
  79. package/components/AppInstaller/useInstaller.d.ts +1 -7
  80. package/components/AppInstaller/useInstaller.js +72 -183
  81. package/components/AppInstaller/useInstaller.js.map +1 -1
  82. package/components/EmptyView.js +4 -12
  83. package/components/EmptyView.js.map +1 -1
  84. package/components/FloatingActionButton.js +2 -8
  85. package/components/FloatingActionButton.js.map +1 -1
  86. package/components/LexicalEditor/LexicalEditor.d.ts +8 -0
  87. package/components/LexicalEditor/LexicalEditor.js +28 -0
  88. package/components/LexicalEditor/LexicalEditor.js.map +1 -0
  89. package/components/LexicalEditor/index.d.ts +1 -0
  90. package/components/LexicalEditor/index.js +12 -0
  91. package/components/LexicalEditor/index.js.map +1 -0
  92. package/components/MultiImageUpload.js +1 -10
  93. package/components/MultiImageUpload.js.map +1 -1
  94. package/components/OverlayLayout/OverlayLayout.js +9 -38
  95. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  96. package/components/OverlayLayout/index.js +0 -2
  97. package/components/OverlayLayout/index.js.map +1 -1
  98. package/components/Permissions/CannotUseAaclAlert.d.ts +2 -0
  99. package/components/Permissions/CannotUseAaclAlert.js +20 -0
  100. package/components/Permissions/CannotUseAaclAlert.js.map +1 -0
  101. package/components/Permissions/Permissions.d.ts +2 -0
  102. package/components/Permissions/Permissions.js +25 -27
  103. package/components/Permissions/Permissions.js.map +1 -1
  104. package/components/Permissions/StyledComponents.js +0 -7
  105. package/components/Permissions/StyledComponents.js.map +1 -1
  106. package/components/Permissions/index.d.ts +1 -0
  107. package/components/Permissions/index.js +10 -5
  108. package/components/Permissions/index.js.map +1 -1
  109. package/components/RichTextEditor/RichTextEditor.js +0 -7
  110. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  111. package/components/RichTextEditor/index.js +0 -2
  112. package/components/RichTextEditor/index.js.map +1 -1
  113. package/components/RichTextEditor/tools/header/index.js +62 -102
  114. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  115. package/components/RichTextEditor/tools/image/index.js +15 -36
  116. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  117. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  118. package/components/RichTextEditor/tools/image/tunes.js +5 -22
  119. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  120. package/components/RichTextEditor/tools/image/ui.js +16 -39
  121. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  122. package/components/RichTextEditor/tools/paragraph/index.js +55 -81
  123. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  124. package/components/RichTextEditor/tools/textColor/index.js +15 -41
  125. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  126. package/components/RichTextEditor/tools/utils.js +0 -2
  127. package/components/RichTextEditor/tools/utils.js.map +1 -1
  128. package/components/Routes.js +6 -13
  129. package/components/Routes.js.map +1 -1
  130. package/components/SearchUI.d.ts +1 -0
  131. package/components/SearchUI.js +14 -14
  132. package/components/SearchUI.js.map +1 -1
  133. package/components/SimpleForm/SimpleForm.js +3 -32
  134. package/components/SimpleForm/SimpleForm.js.map +1 -1
  135. package/components/SimpleForm/index.js +0 -1
  136. package/components/SimpleForm/index.js.map +1 -1
  137. package/components/SimpleUI/InputField.d.ts +2 -0
  138. package/components/SimpleUI/InputField.js +16 -30
  139. package/components/SimpleUI/InputField.js.map +1 -1
  140. package/components/SingleImageUpload.d.ts +1 -1
  141. package/components/SingleImageUpload.js +14 -30
  142. package/components/SingleImageUpload.js.map +1 -1
  143. package/components/SplitView/SplitView.js +1 -20
  144. package/components/SplitView/SplitView.js.map +1 -1
  145. package/components/SplitView/index.js +0 -1
  146. package/components/SplitView/index.js.map +1 -1
  147. package/components/index.d.ts +1 -1
  148. package/components/index.js +1 -2
  149. package/components/index.js.map +1 -1
  150. package/hooks/useConfirmationDialog.d.ts +5 -3
  151. package/hooks/useConfirmationDialog.js +16 -22
  152. package/hooks/useConfirmationDialog.js.map +1 -1
  153. package/hooks/useDialog.js +0 -5
  154. package/hooks/useDialog.js.map +1 -1
  155. package/hooks/useSnackbar.js +0 -5
  156. package/hooks/useSnackbar.js.map +1 -1
  157. package/index.d.ts +7 -5
  158. package/index.js +38 -67
  159. package/index.js.map +1 -1
  160. package/package.json +37 -46
  161. package/plugins/MenuPlugin.js +0 -15
  162. package/plugins/MenuPlugin.js.map +1 -1
  163. package/plugins/PermissionRendererPlugin.js +0 -15
  164. package/plugins/PermissionRendererPlugin.js.map +1 -1
  165. package/plugins/globalSearch/SearchBar.js +5 -53
  166. package/plugins/globalSearch/SearchBar.js.map +1 -1
  167. package/plugins/globalSearch/SearchBarDropdown.js +15 -33
  168. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  169. package/plugins/globalSearch/index.js.map +1 -1
  170. package/plugins/globalSearch/styled.d.ts +13 -4
  171. package/plugins/globalSearch/styled.js +1 -5
  172. package/plugins/globalSearch/styled.js.map +1 -1
  173. package/plugins/uiLayoutRenderer/index.js +2 -16
  174. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  175. package/styles/theme.scss +31 -1
  176. package/types.d.ts +34 -27
  177. package/types.js.map +1 -1
  178. package/ui/UIElement.js +0 -1
  179. package/ui/UIElement.js.map +1 -1
  180. package/ui/UILayout.js +0 -1
  181. package/ui/UILayout.js.map +1 -1
  182. package/ui/UIRenderer.js +0 -1
  183. package/ui/UIRenderer.js.map +1 -1
  184. package/ui/UIView.js +0 -1
  185. package/ui/UIView.js.map +1 -1
  186. package/ui/elements/AccordionElement.js +2 -28
  187. package/ui/elements/AccordionElement.js.map +1 -1
  188. package/ui/elements/ButtonElement.js +0 -19
  189. package/ui/elements/ButtonElement.js.map +1 -1
  190. package/ui/elements/ButtonGroupElement.js +0 -19
  191. package/ui/elements/ButtonGroupElement.js.map +1 -1
  192. package/ui/elements/GenericElement.js +0 -2
  193. package/ui/elements/GenericElement.js.map +1 -1
  194. package/ui/elements/LabelElement.js +0 -14
  195. package/ui/elements/LabelElement.js.map +1 -1
  196. package/ui/elements/NavigationMenuElement.js +3 -36
  197. package/ui/elements/NavigationMenuElement.js.map +1 -1
  198. package/ui/elements/PanelElement.js +0 -11
  199. package/ui/elements/PanelElement.js.map +1 -1
  200. package/ui/elements/PlaceholderElement.js +0 -11
  201. package/ui/elements/PlaceholderElement.js.map +1 -1
  202. package/ui/elements/SmallButtonElement.js +0 -19
  203. package/ui/elements/SmallButtonElement.js.map +1 -1
  204. package/ui/elements/TypographyElement.js +0 -19
  205. package/ui/elements/TypographyElement.js.map +1 -1
  206. package/ui/elements/ViewElement.js +0 -2
  207. package/ui/elements/ViewElement.js.map +1 -1
  208. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +0 -16
  209. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  210. package/ui/elements/form/DynamicFieldsetElement.js +11 -34
  211. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  212. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +0 -15
  213. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  214. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +5 -27
  215. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  216. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +4 -23
  217. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  218. package/ui/elements/form/FileManagerElement/styled.d.ts +23 -16
  219. package/ui/elements/form/FileManagerElement/styled.js +0 -5
  220. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  221. package/ui/elements/form/FileManagerElement.js +0 -20
  222. package/ui/elements/form/FileManagerElement.js.map +1 -1
  223. package/ui/elements/form/FormElement.js +0 -21
  224. package/ui/elements/form/FormElement.js.map +1 -1
  225. package/ui/elements/form/FormFieldElement.js +0 -33
  226. package/ui/elements/form/FormFieldElement.js.map +1 -1
  227. package/ui/elements/form/HiddenElement.js +0 -17
  228. package/ui/elements/form/HiddenElement.js.map +1 -1
  229. package/ui/elements/form/InputElement.js +0 -18
  230. package/ui/elements/form/InputElement.js.map +1 -1
  231. package/ui/elements/form/PasswordElement.js +0 -15
  232. package/ui/elements/form/PasswordElement.js.map +1 -1
  233. package/ui/elements/form/SelectElement.js +1 -19
  234. package/ui/elements/form/SelectElement.js.map +1 -1
  235. package/ui/elements/form/TextareaElement.js +0 -17
  236. package/ui/elements/form/TextareaElement.js.map +1 -1
  237. package/ui/views/AdminView/ContentElement.js +1 -25
  238. package/ui/views/AdminView/ContentElement.js.map +1 -1
  239. package/ui/views/AdminView/HeaderElement.js +0 -40
  240. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  241. package/ui/views/AdminView/HeaderSectionCenterElement.js +0 -20
  242. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  243. package/ui/views/AdminView/HeaderSectionLeftElement.js +0 -20
  244. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  245. package/ui/views/AdminView/HeaderSectionRightElement.js +0 -20
  246. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  247. package/ui/views/AdminView/components/Dialog.js +10 -21
  248. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  249. package/ui/views/AdminView/components/Hamburger.js +2 -10
  250. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  251. package/ui/views/AdminView/components/Snackbar.js +0 -9
  252. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  253. package/ui/views/FormView/FormContainerElement.js +0 -21
  254. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  255. package/ui/views/FormView/FormContentElement.js +0 -11
  256. package/ui/views/FormView/FormContentElement.js.map +1 -1
  257. package/ui/views/FormView/FormFooterElement.js +0 -19
  258. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  259. package/ui/views/FormView/FormHeaderElement.js +2 -24
  260. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  261. package/ui/views/FormView.js +0 -41
  262. package/ui/views/FormView.js.map +1 -1
  263. package/ui/views/OverlayView/ContentElement.js +0 -19
  264. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  265. package/ui/views/OverlayView/HeaderElement.js +4 -26
  266. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  267. package/ui/views/OverlayView/HeaderTitleElement.js +0 -22
  268. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  269. package/ui/views/OverlayView/useOverlayView.js +3 -13
  270. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  271. package/ui/views/OverlayView.js +4 -38
  272. package/ui/views/OverlayView.js.map +1 -1
  273. package/ui/views/SplitView/SplitViewPanelElement.js +2 -22
  274. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  275. package/ui/views/SplitView.js +0 -40
  276. package/ui/views/SplitView.js.map +1 -1
  277. package/assets/images/icons.png +0 -0
  278. package/assets/images/icons_retina.png +0 -0
  279. package/assets/images/swich.png +0 -0
  280. package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
  281. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -55
  282. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
  283. package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +0 -6
  284. package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -60
  285. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
  286. package/components/FileManager/BottomInfoBar.d.ts +0 -5
  287. package/components/FileManager/BottomInfoBar.js +0 -60
  288. package/components/FileManager/BottomInfoBar.js.map +0 -1
  289. package/components/FileManager/DropFilesHere.d.ts +0 -10
  290. package/components/FileManager/DropFilesHere.js +0 -76
  291. package/components/FileManager/DropFilesHere.js.map +0 -1
  292. package/components/FileManager/File.d.ts +0 -17
  293. package/components/FileManager/File.js +0 -155
  294. package/components/FileManager/File.js.map +0 -1
  295. package/components/FileManager/FileDetails/Name.d.ts +0 -8
  296. package/components/FileManager/FileDetails/Name.js +0 -138
  297. package/components/FileManager/FileDetails/Name.js.map +0 -1
  298. package/components/FileManager/FileDetails/Tags.d.ts +0 -10
  299. package/components/FileManager/FileDetails/Tags.js +0 -339
  300. package/components/FileManager/FileDetails/Tags.js.map +0 -1
  301. package/components/FileManager/FileDetails.d.ts +0 -24
  302. package/components/FileManager/FileDetails.js +0 -474
  303. package/components/FileManager/FileDetails.js.map +0 -1
  304. package/components/FileManager/FileManagerContext.d.ts +0 -42
  305. package/components/FileManager/FileManagerContext.js +0 -224
  306. package/components/FileManager/FileManagerContext.js.map +0 -1
  307. package/components/FileManager/FileManagerView.d.ts +0 -18
  308. package/components/FileManager/FileManagerView.js +0 -728
  309. package/components/FileManager/FileManagerView.js.map +0 -1
  310. package/components/FileManager/LeftSidebar.d.ts +0 -10
  311. package/components/FileManager/LeftSidebar.js +0 -127
  312. package/components/FileManager/LeftSidebar.js.map +0 -1
  313. package/components/FileManager/NoPermissionView.d.ts +0 -3
  314. package/components/FileManager/NoPermissionView.js +0 -87
  315. package/components/FileManager/NoPermissionView.js.map +0 -1
  316. package/components/FileManager/NoResults.d.ts +0 -3
  317. package/components/FileManager/NoResults.js +0 -28
  318. package/components/FileManager/NoResults.js.map +0 -1
  319. package/components/FileManager/getFileTypePlugin.d.ts +0 -4
  320. package/components/FileManager/getFileTypePlugin.js +0 -57
  321. package/components/FileManager/getFileTypePlugin.js.map +0 -1
  322. package/components/FileManager/getFileUploader.d.ts +0 -3
  323. package/components/FileManager/getFileUploader.js +0 -20
  324. package/components/FileManager/getFileUploader.js.map +0 -1
  325. package/components/FileManager/graphql.d.ts +0 -96
  326. package/components/FileManager/graphql.js +0 -58
  327. package/components/FileManager/graphql.js.map +0 -1
  328. package/components/FileManager/icons/content_copy-black-24px.svg +0 -1
  329. package/components/FileManager/icons/delete.svg +0 -12
  330. package/components/FileManager/icons/privacy_tip-24px.svg +0 -10
  331. package/components/FileManager/icons/round-check_box-24px.svg +0 -4
  332. package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +0 -4
  333. package/components/FileManager/icons/round-cloud_download-24px.svg +0 -4
  334. package/components/FileManager/icons/round-cloud_upload-24px.svg +0 -4
  335. package/components/FileManager/icons/round-description-24px.svg +0 -4
  336. package/components/FileManager/icons/round-edit-24px.svg +0 -4
  337. package/components/FileManager/icons/round-info-24px.svg +0 -4
  338. package/components/FileManager/icons/round-label-24px.svg +0 -4
  339. package/components/FileManager/icons/round-more_vert-24px.svg +0 -4
  340. package/components/FileManager/icons/round-search-24px.svg +0 -20
  341. package/components/FileManager/outputFileSelectionError.d.ts +0 -7
  342. package/components/FileManager/outputFileSelectionError.js +0 -54
  343. package/components/FileManager/outputFileSelectionError.js.map +0 -1
  344. package/components/FileManager/types.d.ts +0 -21
  345. package/components/FileManager/types.js +0 -5
  346. package/components/FileManager/types.js.map +0 -1
  347. package/components/FileManager.js +0 -144
  348. package/components/FileManager.js.map +0 -1
  349. package/plugins/FileManagerFileTypePlugin.d.ts +0 -33
  350. package/plugins/FileManagerFileTypePlugin.js +0 -63
  351. package/plugins/FileManagerFileTypePlugin.js.map +0 -1
  352. package/plugins/fileManager/fileDefault.d.ts +0 -2
  353. package/plugins/fileManager/fileDefault.js +0 -34
  354. package/plugins/fileManager/fileDefault.js.map +0 -1
  355. package/plugins/fileManager/fileImage/DeleteAction.d.ts +0 -7
  356. package/plugins/fileManager/fileImage/DeleteAction.js +0 -83
  357. package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
  358. package/plugins/fileManager/fileImage/EditAction.d.ts +0 -10
  359. package/plugins/fileManager/fileImage/EditAction.js +0 -179
  360. package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
  361. package/plugins/fileManager/fileImage/index.d.ts +0 -2
  362. package/plugins/fileManager/fileImage/index.js +0 -46
  363. package/plugins/fileManager/fileImage/index.js.map +0 -1
  364. package/plugins/fileManager/icons/edit.svg +0 -17
  365. package/plugins/fileManager/icons/round-description-24px.svg +0 -1
  366. package/plugins/fileManager/index.d.ts +0 -2
  367. package/plugins/fileManager/index.js +0 -21
  368. package/plugins/fileManager/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["COMPONENT_WIDTH","COMPONENT_HEIGHT","grow","keyframes","styles","css","display","float","position","zIndex","margin","cursor","width","maxWidth","border","borderRadius","transition","height","overflow","color","top","left","opacity","right","animationName","animationDuration","animationTimingFunction","animationDelay","textAlign","backgroundColor","padding","whiteSpace","textOverflow","fontSize","File","props","file","selected","onSelect","children","showFileDetails","classNames","name","MemoizedFile","React","memo","prev","next","displayName"],"sources":["File.tsx"],"sourcesContent":["import React from \"react\";\n/**\n * Package react-lazy-load has no types.\n */\n// @ts-ignore\nimport LazyLoad from \"react-lazy-load\";\nimport classNames from \"classnames\";\nimport { css, keyframes } from \"emotion\";\nimport { Ripple } from \"@webiny/ui/Ripple\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport { ReactComponent as Checked } from \"./icons/round-check_box-24px.svg\";\nimport { ReactComponent as SettingsIcon } from \"../../assets/icons/round-settings-24px.svg\";\n\nconst COMPONENT_WIDTH = 200;\nconst COMPONENT_HEIGHT = 200;\n\nconst grow = keyframes`\n 0% {\n transform: scale(1)\n }\n 50% {\n transform: scale(1.2)\n }\n 100% {\n transform: scale(1)\n }\n`;\nconst styles = css({\n display: \"inline-block\",\n float: \"left\",\n position: \"relative\",\n zIndex: 1,\n margin: 10,\n cursor: \"pointer\",\n width: \"100%\",\n maxWidth: COMPONENT_WIDTH,\n border: \"1px solid var(--mdc-theme-on-background)\",\n borderRadius: 2,\n \"> .body\": {\n transition: \"200ms ease-in opacity\",\n width: COMPONENT_WIDTH,\n height: COMPONENT_HEIGHT,\n overflow: \"hidden\",\n \"--icon-color\": \"var(--mdc-theme-on-background)\",\n \".checkedIcon\": {\n color: \"var(--mdc-theme-secondary)\",\n position: \"absolute\",\n top: 4,\n left: 4,\n zIndex: 11\n },\n \".infoIcon\": {\n opacity: 0,\n position: \"absolute\",\n top: 0,\n right: 0,\n zIndex: 10,\n transition: \"all 150ms ease-in\",\n \"& .mdc-icon-button svg\": {\n color: \"var(--mdc-theme-secondary)\"\n },\n \"&:hover\": {\n animationName: grow,\n animationDuration: \".4s\",\n animationTimingFunction: \"ease-in\",\n animationDelay: \".2s\"\n }\n },\n \".filePreview\": {\n textAlign: \"center\",\n position: \"relative\",\n backgroundColor: \"#fff\",\n width: \"100%\",\n height: \"100%\",\n \".clickableArea\": {\n position: \"absolute\",\n top: 30,\n left: 0,\n width: \"100%\",\n height: 170,\n zIndex: 2\n }\n },\n \"&:hover .infoIcon\": {\n opacity: 1\n }\n },\n \"> .label\": {\n padding: \"15px 10px\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n fontSize: \"0.8rem\",\n color: \"var(--mdc-theme-on-surface)\",\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&.disable-select\": {\n cursor: \"auto\"\n }\n});\n\nexport interface FileProps {\n file: FileItem;\n selected: boolean;\n uploadFile: (item: FileItem[] | FileItem) => Promise<number | null>;\n onSelect: (event?: React.MouseEvent) => void;\n onClick?: (event?: React.MouseEvent) => void;\n options?: Array<{ label: string; onClick: (file: Object) => void }>;\n children: React.ReactNode;\n showFileDetails: (event?: React.MouseEvent) => void;\n}\n\nconst File: React.FC<FileProps> = props => {\n const { file, selected, onSelect, children, showFileDetails } = props;\n\n return (\n <div\n className={classNames(styles, { \"disable-select\": !onSelect })}\n data-testid={\"fm-list-wrapper-file\"}\n >\n <div className={\"body\"}>\n <div className={\"checkedIcon\"} onClick={onSelect}>\n {selected ? <Checked /> : null}\n </div>\n <div className={\"infoIcon\"}>\n <IconButton\n icon={<SettingsIcon />}\n onClick={showFileDetails}\n data-testid={\"fm-file-wrapper-file-info-icon\"}\n />\n </div>\n <LazyLoad height={200} offsetVertical={300}>\n <Ripple>\n <div className={\"filePreview\"}>\n <div className=\"clickableArea\" onClick={onSelect} />\n {children}\n </div>\n </Ripple>\n </LazyLoad>\n </div>\n <div className={\"label\"} onClick={onSelect}>\n {file.name}\n </div>\n </div>\n );\n};\n\nconst MemoizedFile = React.memo(File, (prev, next) => {\n if (prev.selected !== next.selected) {\n return false;\n } else if (prev.file.name !== next.file.name) {\n return false;\n }\n\n return true;\n});\n\nMemoizedFile.displayName = \"MemoizedFile\";\nexport default MemoizedFile;\n"],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { FileItem } from "../types";
3
- interface NameProps {
4
- file: FileItem;
5
- canEdit: (file: FileItem) => boolean;
6
- }
7
- declare const Name: React.FC<NameProps>;
8
- export default Name;
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.default = void 0;
11
-
12
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
-
14
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
-
16
- var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
17
-
18
- var _get2 = _interopRequireDefault(require("lodash/get"));
19
-
20
- var _react = _interopRequireWildcard(require("react"));
21
-
22
- var _reactHooks = require("@apollo/react-hooks");
23
-
24
- var _Input = require("@webiny/ui/Input");
25
-
26
- var _form = require("@webiny/form");
27
-
28
- var _validation = require("@webiny/validation");
29
-
30
- var _useSnackbar2 = require("../../../hooks/useSnackbar");
31
-
32
- var _graphql = require("./../graphql");
33
-
34
- var _FileManagerContext = require("./../FileManagerContext");
35
-
36
- var Name = function Name(_ref) {
37
- var file = _ref.file,
38
- canEdit = _ref.canEdit;
39
- var name = file.name || "";
40
-
41
- var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
42
- showSnackbar = _useSnackbar.showSnackbar;
43
-
44
- var client = (0, _reactHooks.useApolloClient)();
45
-
46
- var _useFileManager = (0, _FileManagerContext.useFileManager)(),
47
- queryParams = _useFileManager.queryParams;
48
-
49
- var editContent = (0, _react.useMemo)(function () {
50
- return /*#__PURE__*/_react.default.createElement(_form.Form, {
51
- data: {
52
- name: name
53
- },
54
- onSubmit: /*#__PURE__*/function () {
55
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_ref2) {
56
- var name;
57
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
58
- while (1) {
59
- switch (_context.prev = _context.next) {
60
- case 0:
61
- name = _ref2.name;
62
-
63
- if (!(name === file.name)) {
64
- _context.next = 3;
65
- break;
66
- }
67
-
68
- return _context.abrupt("return");
69
-
70
- case 3:
71
- _context.next = 5;
72
- return client.mutate({
73
- mutation: _graphql.UPDATE_FILE,
74
- variables: {
75
- id: file.id,
76
- data: {
77
- name: name
78
- }
79
- },
80
- update: function update(cache, updated) {
81
- var newFileData = (0, _get2.default)(updated, "data.fileManager.updateFile.data");
82
- var data = (0, _cloneDeep2.default)(cache.readQuery({
83
- query: _graphql.LIST_FILES,
84
- variables: queryParams
85
- }));
86
-
87
- if (data) {
88
- data.fileManager.listFiles.data.forEach(function (item) {
89
- if (item.src === newFileData.src) {
90
- item.name = newFileData.name;
91
- }
92
- });
93
- }
94
-
95
- cache.writeQuery({
96
- query: _graphql.LIST_FILES,
97
- variables: queryParams,
98
- data: data
99
- });
100
- }
101
- });
102
-
103
- case 5:
104
- showSnackbar("Name successfully updated.");
105
-
106
- case 6:
107
- case "end":
108
- return _context.stop();
109
- }
110
- }
111
- }, _callee);
112
- }));
113
-
114
- return function (_x) {
115
- return _ref3.apply(this, arguments);
116
- };
117
- }()
118
- }, function (_ref4) {
119
- var Bind = _ref4.Bind,
120
- submit = _ref4.submit;
121
- return /*#__PURE__*/_react.default.createElement(Bind, {
122
- name: "name",
123
- validators: _validation.validation.create("required")
124
- }, /*#__PURE__*/_react.default.createElement(_Input.Input, {
125
- disabled: !canEdit(file),
126
- autoFocus: true,
127
- placeholder: "Enter name",
128
- fullwidth: true,
129
- onBlur: submit,
130
- description: "A descriptive name is easier to remember."
131
- }));
132
- });
133
- }, [name, file.name, canEdit]);
134
- return /*#__PURE__*/_react.default.createElement("li-content", null, editContent);
135
- };
136
-
137
- var _default = Name;
138
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["Name","file","canEdit","name","useSnackbar","showSnackbar","client","useApolloClient","useFileManager","queryParams","editContent","useMemo","mutate","mutation","UPDATE_FILE","variables","id","data","update","cache","updated","newFileData","readQuery","query","LIST_FILES","fileManager","listFiles","forEach","item","src","writeQuery","Bind","submit","validation","create"],"sources":["Name.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { get, cloneDeep } from \"lodash\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport {\n UPDATE_FILE,\n LIST_FILES,\n UpdateFileMutationResponse,\n UpdateFileMutationVariables,\n ListFilesQueryResponse\n} from \"./../graphql\";\nimport { useFileManager } from \"./../FileManagerContext\";\nimport { FileItem } from \"../types\";\n\ninterface NameProps {\n file: FileItem;\n canEdit: (file: FileItem) => boolean;\n}\nconst Name: React.FC<NameProps> = ({ file, canEdit }) => {\n const name = file.name || \"\";\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n\n const { queryParams } = useFileManager();\n\n const editContent = useMemo(() => {\n return (\n <Form\n data={{\n name\n }}\n onSubmit={async ({ name }) => {\n // Bail out if name is same as the current file name.\n if (name === file.name) {\n return;\n }\n // Update file.\n await client.mutate<UpdateFileMutationResponse, UpdateFileMutationVariables>({\n mutation: UPDATE_FILE,\n variables: {\n id: file.id,\n data: { name }\n },\n update: (cache, updated) => {\n const newFileData = get(\n updated,\n \"data.fileManager.updateFile.data\"\n ) as unknown as FileItem;\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.src === newFileData.src) {\n item.name = newFileData.name;\n }\n });\n }\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: data\n });\n }\n });\n\n showSnackbar(\"Name successfully updated.\");\n }}\n >\n {({ Bind, submit }) => (\n <Bind name={\"name\"} validators={validation.create(\"required\")}>\n <Input\n disabled={!canEdit(file)}\n autoFocus\n placeholder={\"Enter name\"}\n fullwidth={true}\n onBlur={submit}\n description={\"A descriptive name is easier to remember.\"}\n />\n </Bind>\n )}\n </Form>\n );\n }, [name, file.name, canEdit]);\n\n return <li-content>{editContent}</li-content>;\n};\n\nexport default Name;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOA;;AAOA,IAAMA,IAAyB,GAAG,SAA5BA,IAA4B,OAAuB;EAAA,IAApBC,IAAoB,QAApBA,IAAoB;EAAA,IAAdC,OAAc,QAAdA,OAAc;EACrD,IAAMC,IAAI,GAAGF,IAAI,CAACE,IAAL,IAAa,EAA1B;;EACA,mBAAyB,IAAAC,yBAAA,GAAzB;EAAA,IAAQC,YAAR,gBAAQA,YAAR;;EACA,IAAMC,MAAM,GAAG,IAAAC,2BAAA,GAAf;;EAEA,sBAAwB,IAAAC,kCAAA,GAAxB;EAAA,IAAQC,WAAR,mBAAQA,WAAR;;EAEA,IAAMC,WAAW,GAAG,IAAAC,cAAA,EAAQ,YAAM;IAC9B,oBACI,6BAAC,UAAD;MACI,IAAI,EAAE;QACFR,IAAI,EAAJA;MADE,CADV;MAII,QAAQ;QAAA,mGAAE;UAAA;UAAA;YAAA;cAAA;gBAAA;kBAASA,IAAT,SAASA,IAAT;;kBAAA,MAEFA,IAAI,KAAKF,IAAI,CAACE,IAFZ;oBAAA;oBAAA;kBAAA;;kBAAA;;gBAAA;kBAAA;kBAAA,OAMAG,MAAM,CAACM,MAAP,CAAuE;oBACzEC,QAAQ,EAAEC,oBAD+D;oBAEzEC,SAAS,EAAE;sBACPC,EAAE,EAAEf,IAAI,CAACe,EADF;sBAEPC,IAAI,EAAE;wBAAEd,IAAI,EAAJA;sBAAF;oBAFC,CAF8D;oBAMzEe,MAAM,EAAE,gBAACC,KAAD,EAAQC,OAAR,EAAoB;sBACxB,IAAMC,WAAW,GAAG,mBAChBD,OADgB,EAEhB,kCAFgB,CAApB;sBAIA,IAAMH,IAAI,GAAG,yBACTE,KAAK,CAACG,SAAN,CAAwC;wBACpCC,KAAK,EAAEC,mBAD6B;wBAEpCT,SAAS,EAAEN;sBAFyB,CAAxC,CADS,CAAb;;sBAOA,IAAIQ,IAAJ,EAAU;wBACNA,IAAI,CAACQ,WAAL,CAAiBC,SAAjB,CAA2BT,IAA3B,CAAgCU,OAAhC,CAAwC,UAAAC,IAAI,EAAI;0BAC5C,IAAIA,IAAI,CAACC,GAAL,KAAaR,WAAW,CAACQ,GAA7B,EAAkC;4BAC9BD,IAAI,CAACzB,IAAL,GAAYkB,WAAW,CAAClB,IAAxB;0BACH;wBACJ,CAJD;sBAKH;;sBAEDgB,KAAK,CAACW,UAAN,CAAiB;wBACbP,KAAK,EAAEC,mBADM;wBAEbT,SAAS,EAAEN,WAFE;wBAGbQ,IAAI,EAAEA;sBAHO,CAAjB;oBAKH;kBA/BwE,CAAvE,CANA;;gBAAA;kBAwCNZ,YAAY,CAAC,4BAAD,CAAZ;;gBAxCM;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAF;;QAAA;UAAA;QAAA;MAAA;IAJZ,GA+CK;MAAA,IAAG0B,IAAH,SAAGA,IAAH;MAAA,IAASC,MAAT,SAASA,MAAT;MAAA,oBACG,6BAAC,IAAD;QAAM,IAAI,EAAE,MAAZ;QAAoB,UAAU,EAAEC,sBAAA,CAAWC,MAAX,CAAkB,UAAlB;MAAhC,gBACI,6BAAC,YAAD;QACI,QAAQ,EAAE,CAAChC,OAAO,CAACD,IAAD,CADtB;QAEI,SAAS,MAFb;QAGI,WAAW,EAAE,YAHjB;QAII,SAAS,EAAE,IAJf;QAKI,MAAM,EAAE+B,MALZ;QAMI,WAAW,EAAE;MANjB,EADJ,CADH;IAAA,CA/CL,CADJ;EA8DH,CA/DmB,EA+DjB,CAAC7B,IAAD,EAAOF,IAAI,CAACE,IAAZ,EAAkBD,OAAlB,CA/DiB,CAApB;EAiEA,oBAAO,iDAAaQ,WAAb,CAAP;AACH,CAzED;;eA2EeV,I"}
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import { FileItem } from "../types";
3
- export declare const formatTagAsLabel: (tag: string, scope: string | undefined) => string;
4
- export declare const tagWithoutScopePrefix: (tags: string[], scope: string) => string[];
5
- interface TagsProps {
6
- file: FileItem;
7
- canEdit: (file: FileItem) => boolean;
8
- }
9
- declare const Tags: React.FC<TagsProps>;
10
- export default Tags;
@@ -1,339 +0,0 @@
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
-
56
- var _excluded = ["value"];
57
- var SCOPE_SEPARATOR = ":";
58
-
59
- var formatTagAsLabel = function formatTagAsLabel(tag, scope) {
60
- if (!scope) {
61
- return tag;
62
- }
63
-
64
- return tag.replace("".concat(scope).concat(SCOPE_SEPARATOR), "");
65
- };
66
-
67
- exports.formatTagAsLabel = formatTagAsLabel;
68
-
69
- var tagWithoutScopePrefix = function tagWithoutScopePrefix(tags, scope) {
70
- return tags.filter(function (tag) {
71
- return tag !== scope;
72
- }).map(function (tag) {
73
- return formatTagAsLabel(tag, scope);
74
- });
75
- };
76
-
77
- exports.tagWithoutScopePrefix = tagWithoutScopePrefix;
78
- var chipsStyle = /*#__PURE__*/(0, _emotion.css)({
79
- "&.mdc-chip-set": {
80
- padding: 0,
81
- marginLeft: -4,
82
- "& .mdc-chip": {
83
- backgroundColor: "var(--mdc-theme-background)"
84
- }
85
- }
86
- }, "label:chipsStyle;");
87
- var iconButtonStyle = /*#__PURE__*/(0, _emotion.css)({
88
- "&.mdc-icon-button svg": {
89
- width: 20,
90
- height: 20
91
- }
92
- }, "label:iconButtonStyle;");
93
- var addTagsStyle = /*#__PURE__*/(0, _emotion.css)({
94
- "&.mdc-button:not(:disabled)": {
95
- color: "var(--mdc-theme-text-secondary-on-background)",
96
- textTransform: "capitalize",
97
- letterSpacing: "initial",
98
- marginLeft: -8
99
- }
100
- }, "label:addTagsStyle;");
101
- var actionWrapperStyle = /*#__PURE__*/(0, _emotion.css)({
102
- marginTop: 16,
103
- "& button:first-child": {
104
- marginRight: 16
105
- }
106
- }, "label:actionWrapperStyle;");
107
-
108
- var Tags = function Tags(_ref) {
109
- var file = _ref.file,
110
- canEdit = _ref.canEdit;
111
- var client = (0, _reactHooks.useApolloClient)();
112
-
113
- var _useState = (0, _react.useState)(false),
114
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
115
- editing = _useState2[0],
116
- setEdit = _useState2[1];
117
-
118
- var _useState3 = (0, _react.useState)(false),
119
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
120
- saving = _useState4[0],
121
- setSaving = _useState4[1];
122
-
123
- var _useState5 = (0, _react.useState)(Array.isArray(file.tags) ? (0, _toConsumableArray2.default)(file.tags) : []),
124
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
125
- initialTags = _useState6[0],
126
- setInitialTags = _useState6[1];
127
-
128
- var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
129
- showSnackbar = _useSnackbar.showSnackbar;
130
-
131
- var _useFileManager = (0, _FileManagerContext.useFileManager)(),
132
- queryParams = _useFileManager.queryParams;
133
-
134
- var handleEdit = (0, _react.useCallback)(function () {
135
- return setEdit(true);
136
- }, []);
137
- var listTagsQuery = (0, _reactHooks.useQuery)(_graphql.LIST_TAGS, {
138
- variables: {
139
- where: (0, _FileManagerContext.getWhere)(queryParams.scope)
140
- }
141
- });
142
- var listTags = (0, _get.default)(listTagsQuery, "data.fileManager.listTags", []);
143
- var allTags = tagWithoutScopePrefix(listTags, queryParams.scope);
144
- var isEditingAllowed = canEdit(file);
145
- var renderHeaderContent = (0, _react.useCallback)(function (_ref2) {
146
- var data = _ref2.data;
147
-
148
- if (editing) {
149
- return null;
150
- }
151
-
152
- var hasTags = data.tags.length > 0;
153
-
154
- if (hasTags) {
155
- // Render existing tags and "edit tags" action.
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)
158
- }, data.tags.filter(function (tag) {
159
- return tag !== queryParams.scope;
160
- }).map(function (tag, index) {
161
- var label = typeof tag === "string" ? tag : tag.name;
162
- return /*#__PURE__*/_react.default.createElement(_Chips.Chip, {
163
- key: label + index,
164
- label: formatTagAsLabel(label, queryParams.scope)
165
- });
166
- })), isEditingAllowed && /*#__PURE__*/_react.default.createElement(_Button.IconButton, {
167
- className: iconButtonStyle,
168
- icon: /*#__PURE__*/_react.default.createElement(_roundEdit24px.ReactComponent, null),
169
- onClick: handleEdit
170
- }));
171
- } // Render "add tags" action.
172
-
173
-
174
- return /*#__PURE__*/_react.default.createElement(_Button.ButtonDefault, {
175
- className: addTagsStyle,
176
- onClick: handleEdit,
177
- disabled: !isEditingAllowed,
178
- "data-testid": "fm.tags.add"
179
- }, "Add tags...");
180
- }, [editing, isEditingAllowed]);
181
- return /*#__PURE__*/_react.default.createElement(_form.Form, {
182
- data: {
183
- tags: initialTags
184
- },
185
- onSubmit: /*#__PURE__*/function () {
186
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(_ref3) {
187
- var tags;
188
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
189
- while (1) {
190
- switch (_context.prev = _context.next) {
191
- case 0:
192
- tags = _ref3.tags;
193
- setSaving(true);
194
- client.mutate({
195
- mutation: _graphql.UPDATE_FILE,
196
- variables: {
197
- id: file.id,
198
- data: {
199
- tags: tags
200
- }
201
- },
202
- update: function update(cache, updated) {
203
- var newFileData = (0, _get.default)(updated, "data.fileManager.updateFile.data"); // 1. Update files list cache
204
-
205
- var data = (0, _cloneDeep.default)(cache.readQuery({
206
- query: _graphql.LIST_FILES,
207
- variables: queryParams
208
- }));
209
-
210
- if (data) {
211
- data.fileManager.listFiles.data.forEach(function (item) {
212
- if (item.key === newFileData.key) {
213
- item.tags = newFileData.tags;
214
- }
215
- });
216
- }
217
-
218
- cache.writeQuery({
219
- query: _graphql.LIST_FILES,
220
- variables: queryParams,
221
- data: data
222
- }); // 2. Update "LIST_TAGS" cache
223
-
224
- if (Array.isArray(newFileData.tags)) {
225
- // Get list tags data
226
- var listTagsData = (0, _cloneDeep.default)(cache.readQuery({
227
- query: _graphql.LIST_TAGS,
228
- variables: {
229
- where: (0, _FileManagerContext.getWhere)(queryParams.scope)
230
- }
231
- }));
232
-
233
- if (!listTagsData) {
234
- return;
235
- } // Add new tag in list
236
-
237
-
238
- var updatedTagsList = (0, _toConsumableArray2.default)(newFileData.tags);
239
-
240
- if (Array.isArray(listTagsData.fileManager.listTags)) {
241
- listTagsData.fileManager.listTags.forEach(function (tag) {
242
- if (!updatedTagsList.includes(tag)) {
243
- updatedTagsList.push(tag);
244
- }
245
- });
246
- }
247
-
248
- (0, _set.default)(listTagsData, "fileManager.listTags", updatedTagsList); // Write it to cache
249
-
250
- cache.writeQuery({
251
- query: _graphql.LIST_TAGS,
252
- variables: {
253
- where: (0, _FileManagerContext.getWhere)(queryParams.scope)
254
- },
255
- data: listTagsData
256
- });
257
- }
258
- }
259
- }).then(function () {
260
- setInitialTags(tags);
261
- setSaving(false);
262
- setEdit(false);
263
- showSnackbar("Tags successfully updated.");
264
- });
265
-
266
- case 3:
267
- case "end":
268
- return _context.stop();
269
- }
270
- }
271
- }, _callee);
272
- }));
273
-
274
- return function (_x) {
275
- return _ref4.apply(this, arguments);
276
- };
277
- }()
278
- }, function (_ref5) {
279
- var Bind = _ref5.Bind,
280
- data = _ref5.data,
281
- setValue = _ref5.setValue,
282
- submit = _ref5.submit;
283
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("li-title", null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
284
- className: "list-item__icon",
285
- icon: /*#__PURE__*/_react.default.createElement(_roundLabel24px.ReactComponent, null)
286
- }), renderHeaderContent({
287
- // TODO @ts-refactor
288
- // @ts-ignore
289
- data: data
290
- })), editing && /*#__PURE__*/_react.default.createElement("li-content", null, /*#__PURE__*/_react.default.createElement(Bind, {
291
- name: "tags",
292
- beforeChange: function beforeChange(tags, baseOnChange) {
293
- var formattedTags = tags.map(function (tag) {
294
- var tagInLowerCase = tag.toLowerCase();
295
- /**
296
- * If "scope" exists, prefix tag with "scope" if not already.
297
- */
298
-
299
- if (queryParams.scope && !tagInLowerCase.startsWith(queryParams.scope)) {
300
- return "".concat(queryParams.scope).concat(SCOPE_SEPARATOR).concat(tagInLowerCase);
301
- }
302
-
303
- return tagInLowerCase;
304
- });
305
- baseOnChange(formattedTags);
306
- }
307
- }, function (_ref6) {
308
- var value = _ref6.value,
309
- bindProps = (0, _objectWithoutProperties2.default)(_ref6, _excluded);
310
- return /*#__PURE__*/_react.default.createElement(_AutoComplete.MultiAutoComplete, Object.assign({}, bindProps, {
311
- value: tagWithoutScopePrefix(value, queryParams.scope),
312
- options: allTags,
313
- placeholder: "homepage asset",
314
- description: "Type in a new tag or select an existing one.",
315
- unique: true,
316
- allowFreeInput: true,
317
- useSimpleValues: true,
318
- disabled: saving
319
- }));
320
- }), /*#__PURE__*/_react.default.createElement("div", {
321
- className: actionWrapperStyle
322
- }, /*#__PURE__*/_react.default.createElement(_Button.ButtonPrimary, {
323
- small: true,
324
- onClick: function onClick(ev) {
325
- submit(ev);
326
- },
327
- "data-testid": "fm.tags.submit"
328
- }, "Submit"), /*#__PURE__*/_react.default.createElement(_Button.ButtonSecondary, {
329
- small: true,
330
- onClick: function onClick() {
331
- setValue("tags", initialTags);
332
- setEdit(false);
333
- }
334
- }, "Cancel"))));
335
- });
336
- };
337
-
338
- var _default = Tags;
339
- exports.default = _default;
@@ -1 +0,0 @@
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 data-testid=\"fm.tags.add\"\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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"}
@@ -1,24 +0,0 @@
1
- import React from "react";
2
- import { FileItem } from "./types";
3
- import { FilesRenderChildren } from "react-butterfiles";
4
- declare global {
5
- namespace JSX {
6
- interface IntrinsicElements {
7
- "li-title": {
8
- children?: React.ReactNode;
9
- };
10
- "li-content": {
11
- children?: React.ReactNode;
12
- };
13
- }
14
- }
15
- }
16
- interface FileDetailsProps {
17
- canEdit: (item: any) => boolean;
18
- file: FileItem;
19
- uploadFile: (files: FileItem[] | FileItem) => Promise<number | null>;
20
- validateFiles: FilesRenderChildren["validateFiles"];
21
- [key: string]: any;
22
- }
23
- declare const FileDetails: React.FC<FileDetailsProps>;
24
- export default FileDetails;