@blaze-cms/plugin-media-ui 0.146.0-node18.1 → 0.146.0-rc-eagle-3.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 (258) hide show
  1. package/CHANGELOG.md +13 -12
  2. package/lib/components/CardMedia/CardMedia.js +235 -244
  3. package/lib/components/CardMedia/CardMedia.js.map +1 -1
  4. package/lib/components/CardMedia/index.js +2 -3
  5. package/lib/components/CardMedia/index.js.map +1 -1
  6. package/lib/components/EditMediaFile/EditMediaFile.js +149 -115
  7. package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
  8. package/lib/components/EditMediaFile/EditMediaFilePage.js +89 -97
  9. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  10. package/lib/components/EditMediaFile/index.js +2 -3
  11. package/lib/components/EditMediaFile/index.js.map +1 -1
  12. package/lib/components/EditorAdapter/EditorAdapter.js +43 -22
  13. package/lib/components/EditorAdapter/EditorAdapter.js.map +1 -1
  14. package/lib/components/EditorAdapter/index.js +2 -3
  15. package/lib/components/EditorAdapter/index.js.map +1 -1
  16. package/lib/components/FileList/FilesListContext/index.js +3 -4
  17. package/lib/components/FileList/FilesListContext/index.js.map +1 -1
  18. package/lib/components/FileList/FilesListProvider/index.js +27 -29
  19. package/lib/components/FileList/FilesListProvider/index.js.map +1 -1
  20. package/lib/components/FileList/useFileList/index.js +3 -6
  21. package/lib/components/FileList/useFileList/index.js.map +1 -1
  22. package/lib/components/FileList/useGetFiles/getFiles.js +167 -185
  23. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  24. package/lib/components/FileList/useGetFiles/index.js +2 -3
  25. package/lib/components/FileList/useGetFiles/index.js.map +1 -1
  26. package/lib/components/FileList/useGetFiles/useGetFiles.js +93 -133
  27. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  28. package/lib/components/FileList/useGetFilesList/getCounters.js +10 -30
  29. package/lib/components/FileList/useGetFilesList/getCounters.js.map +1 -1
  30. package/lib/components/FileList/useGetFilesList/index.js +2 -3
  31. package/lib/components/FileList/useGetFilesList/index.js.map +1 -1
  32. package/lib/components/FileList/useGetFilesList/useGetFilesList.js +92 -110
  33. package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  34. package/lib/components/FilePreview/Actions/index.js +25 -38
  35. package/lib/components/FilePreview/Actions/index.js.map +1 -1
  36. package/lib/components/FilePreview/Image/Image.js +35 -24
  37. package/lib/components/FilePreview/Image/Image.js.map +1 -1
  38. package/lib/components/FilePreview/Image/RawImage.js +25 -27
  39. package/lib/components/FilePreview/Image/RawImage.js.map +1 -1
  40. package/lib/components/FilePreview/Image/imageSchema.js +10 -7
  41. package/lib/components/FilePreview/Image/imageSchema.js.map +1 -1
  42. package/lib/components/FilePreview/Image/index.js +1 -2
  43. package/lib/components/FilePreview/Image/index.js.map +1 -1
  44. package/lib/components/FilePreview/ModalContext.js +9 -0
  45. package/lib/components/FilePreview/ModalContext.js.map +1 -0
  46. package/lib/components/FilePreview/PDF/PDF.js +44 -31
  47. package/lib/components/FilePreview/PDF/PDF.js.map +1 -1
  48. package/lib/components/FilePreview/PDF/RawPDF.js +27 -29
  49. package/lib/components/FilePreview/PDF/RawPDF.js.map +1 -1
  50. package/lib/components/FilePreview/PDF/index.js +1 -2
  51. package/lib/components/FilePreview/PDF/index.js.map +1 -1
  52. package/lib/components/FilePreview/PDF/schema.js +3 -3
  53. package/lib/components/FilePreview/PDF/schema.js.map +1 -1
  54. package/lib/components/FilePreview/get-preview.js +12 -10
  55. package/lib/components/FilePreview/get-preview.js.map +1 -1
  56. package/lib/components/FilePreview/index.js +111 -58
  57. package/lib/components/FilePreview/index.js.map +1 -1
  58. package/lib/components/FilePreview/previewDefault/PreviewDefault.js +35 -23
  59. package/lib/components/FilePreview/previewDefault/PreviewDefault.js.map +1 -1
  60. package/lib/components/FilePreview/previewDefault/RawPreviewDefault.js +33 -27
  61. package/lib/components/FilePreview/previewDefault/RawPreviewDefault.js.map +1 -1
  62. package/lib/components/FilePreview/previewDefault/icons/DefaultIcon.js +120 -123
  63. package/lib/components/FilePreview/previewDefault/icons/DefaultIcon.js.map +1 -1
  64. package/lib/components/FilePreview/previewDefault/icons/index.js +2 -3
  65. package/lib/components/FilePreview/previewDefault/icons/index.js.map +1 -1
  66. package/lib/components/FilePreview/previewDefault/index.js +1 -2
  67. package/lib/components/FilePreview/previewDefault/index.js.map +1 -1
  68. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js +3 -3
  69. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  70. package/lib/components/FilePreviewReadOnly/FileList.js +10 -12
  71. package/lib/components/FilePreviewReadOnly/FileList.js.map +1 -1
  72. package/lib/components/FilePreviewReadOnly/FilePreviewList.js +14 -20
  73. package/lib/components/FilePreviewReadOnly/FilePreviewList.js.map +1 -1
  74. package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js +53 -98
  75. package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
  76. package/lib/components/FilePreviewReadOnly/index.js +2 -3
  77. package/lib/components/FilePreviewReadOnly/index.js.map +1 -1
  78. package/lib/components/FilePreviewReadOnly/mappers/format-initial-value.js +7 -8
  79. package/lib/components/FilePreviewReadOnly/mappers/format-initial-value.js.map +1 -1
  80. package/lib/components/FilePreviewReadOnly/mappers/index.js +1 -2
  81. package/lib/components/FilePreviewReadOnly/mappers/index.js.map +1 -1
  82. package/lib/components/FileUploadAdapter/FileList.js +27 -39
  83. package/lib/components/FileUploadAdapter/FileList.js.map +1 -1
  84. package/lib/components/FileUploadAdapter/FilePreviewList.js +14 -20
  85. package/lib/components/FileUploadAdapter/FilePreviewList.js.map +1 -1
  86. package/lib/components/FileUploadAdapter/FileReorderList.js +18 -21
  87. package/lib/components/FileUploadAdapter/FileReorderList.js.map +1 -1
  88. package/lib/components/FileUploadAdapter/FileReorderListItem.js +20 -23
  89. package/lib/components/FileUploadAdapter/FileReorderListItem.js.map +1 -1
  90. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +253 -341
  91. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  92. package/lib/components/FileUploadAdapter/index.js +2 -3
  93. package/lib/components/FileUploadAdapter/index.js.map +1 -1
  94. package/lib/components/FileUploadAdapter/mappers/format-initial-value.js +7 -8
  95. package/lib/components/FileUploadAdapter/mappers/format-initial-value.js.map +1 -1
  96. package/lib/components/FileUploadAdapter/mappers/get-button-text.js +9 -6
  97. package/lib/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -1
  98. package/lib/components/FileUploadAdapter/mappers/get-format.js +7 -13
  99. package/lib/components/FileUploadAdapter/mappers/get-format.js.map +1 -1
  100. package/lib/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +6 -5
  101. package/lib/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js.map +1 -1
  102. package/lib/components/FileUploadAdapter/mappers/index.js +6 -7
  103. package/lib/components/FileUploadAdapter/mappers/index.js.map +1 -1
  104. package/lib/components/FileUploadAdapter/mappers/is-unselecting.js +2 -10
  105. package/lib/components/FileUploadAdapter/mappers/is-unselecting.js.map +1 -1
  106. package/lib/components/FileUploadAdapter/mappers/transform-to-array.js +2 -5
  107. package/lib/components/FileUploadAdapter/mappers/transform-to-array.js.map +1 -1
  108. package/lib/components/FileUploadAdapter/useLimit.js +4 -10
  109. package/lib/components/FileUploadAdapter/useLimit.js.map +1 -1
  110. package/lib/components/FileUploadModal/FileUploadModal.js +215 -146
  111. package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
  112. package/lib/components/FileUploadModal/index.js +2 -3
  113. package/lib/components/FileUploadModal/index.js.map +1 -1
  114. package/lib/components/FilterPanel/FilterPanel.js +49 -151
  115. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  116. package/lib/components/FilterPanel/MediaSearchFilter.js +41 -0
  117. package/lib/components/FilterPanel/MediaSearchFilter.js.map +1 -0
  118. package/lib/components/FilterPanel/index.js +2 -3
  119. package/lib/components/FilterPanel/index.js.map +1 -1
  120. package/lib/components/ListingContainer/Listing/Listing.js +58 -48
  121. package/lib/components/ListingContainer/Listing/Listing.js.map +1 -1
  122. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +83 -96
  123. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  124. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js +2 -3
  125. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js.map +1 -1
  126. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js +23 -26
  127. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
  128. package/lib/components/ListingContainer/Listing/MediaListing/index.js +2 -3
  129. package/lib/components/ListingContainer/Listing/MediaListing/index.js.map +1 -1
  130. package/lib/components/ListingContainer/Listing/index.js +2 -3
  131. package/lib/components/ListingContainer/Listing/index.js.map +1 -1
  132. package/lib/components/ListingContainer/ListingContainer.js +74 -93
  133. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  134. package/lib/components/ListingContainer/index.js +2 -3
  135. package/lib/components/ListingContainer/index.js.map +1 -1
  136. package/lib/components/ListingContainer/mappers/exist-previous.js +3 -10
  137. package/lib/components/ListingContainer/mappers/exist-previous.js.map +1 -1
  138. package/lib/components/ListingContainer/mappers/index.js +2 -3
  139. package/lib/components/ListingContainer/mappers/index.js.map +1 -1
  140. package/lib/components/MediaListing.js +15 -26
  141. package/lib/components/MediaListing.js.map +1 -1
  142. package/lib/constants.js +17 -17
  143. package/lib/constants.js.map +1 -1
  144. package/lib/icons/MediaLibraryIcon.js +17 -20
  145. package/lib/icons/MediaLibraryIcon.js.map +1 -1
  146. package/lib/icons/index.js +2 -3
  147. package/lib/icons/index.js.map +1 -1
  148. package/lib/index.js +67 -92
  149. package/lib/index.js.map +1 -1
  150. package/lib/utils/available-filters/available-filters.js +1 -2
  151. package/lib/utils/available-filters/available-filters.js.map +1 -1
  152. package/lib/utils/bustUrl.js +13 -0
  153. package/lib/utils/bustUrl.js.map +1 -0
  154. package/lib/utils/media-context/index.js +4 -5
  155. package/lib/utils/media-context/index.js.map +1 -1
  156. package/lib/utils/media-context/media-context.js +3 -4
  157. package/lib/utils/media-context/media-context.js.map +1 -1
  158. package/lib/utils/media-context/useMediaContext.js +2 -4
  159. package/lib/utils/media-context/useMediaContext.js.map +1 -1
  160. package/lib-es/components/CardMedia/CardMedia.js +109 -52
  161. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  162. package/lib-es/components/EditMediaFile/EditMediaFile.js +109 -53
  163. package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -1
  164. package/lib-es/components/EditMediaFile/EditMediaFilePage.js +45 -15
  165. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  166. package/lib-es/components/EditorAdapter/EditorAdapter.js +26 -6
  167. package/lib-es/components/EditorAdapter/EditorAdapter.js.map +1 -1
  168. package/lib-es/components/FileList/useGetFiles/getFiles.js +6 -3
  169. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
  170. package/lib-es/components/FileList/useGetFiles/useGetFiles.js +7 -2
  171. package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  172. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js +4 -1
  173. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  174. package/lib-es/components/FilePreview/Actions/index.js +2 -2
  175. package/lib-es/components/FilePreview/Actions/index.js.map +1 -1
  176. package/lib-es/components/FilePreview/Image/Image.js +16 -3
  177. package/lib-es/components/FilePreview/Image/Image.js.map +1 -1
  178. package/lib-es/components/FilePreview/Image/imageSchema.js +9 -5
  179. package/lib-es/components/FilePreview/Image/imageSchema.js.map +1 -1
  180. package/lib-es/components/FilePreview/ModalContext.js +3 -0
  181. package/lib-es/components/FilePreview/ModalContext.js.map +1 -0
  182. package/lib-es/components/FilePreview/PDF/PDF.js +19 -4
  183. package/lib-es/components/FilePreview/PDF/PDF.js.map +1 -1
  184. package/lib-es/components/FilePreview/PDF/schema.js +2 -1
  185. package/lib-es/components/FilePreview/PDF/schema.js.map +1 -1
  186. package/lib-es/components/FilePreview/index.js +72 -9
  187. package/lib-es/components/FilePreview/index.js.map +1 -1
  188. package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js +18 -4
  189. package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js.map +1 -1
  190. package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js +12 -4
  191. package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js.map +1 -1
  192. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  193. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  194. package/lib-es/components/FilePreviewReadOnly/FileList.js +2 -2
  195. package/lib-es/components/FilePreviewReadOnly/FileList.js.map +1 -1
  196. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js +14 -12
  197. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
  198. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +78 -43
  199. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  200. package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js +5 -3
  201. package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -1
  202. package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +5 -4
  203. package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js.map +1 -1
  204. package/lib-es/components/FileUploadModal/FileUploadModal.js +157 -29
  205. package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
  206. package/lib-es/components/FilterPanel/FilterPanel.js +43 -123
  207. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  208. package/lib-es/components/FilterPanel/MediaSearchFilter.js +34 -0
  209. package/lib-es/components/FilterPanel/MediaSearchFilter.js.map +1 -0
  210. package/lib-es/components/ListingContainer/Listing/Listing.js +17 -5
  211. package/lib-es/components/ListingContainer/Listing/Listing.js.map +1 -1
  212. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +21 -10
  213. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  214. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js +12 -3
  215. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
  216. package/lib-es/components/ListingContainer/ListingContainer.js +18 -6
  217. package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -1
  218. package/lib-es/constants.js +3 -2
  219. package/lib-es/constants.js.map +1 -1
  220. package/lib-es/index.js +20 -4
  221. package/lib-es/index.js.map +1 -1
  222. package/lib-es/utils/bustUrl.js +7 -0
  223. package/lib-es/utils/bustUrl.js.map +1 -0
  224. package/package.json +20 -13
  225. package/src/components/CardMedia/CardMedia.js +131 -82
  226. package/src/components/EditMediaFile/EditMediaFile.js +123 -46
  227. package/src/components/EditMediaFile/EditMediaFilePage.js +41 -10
  228. package/src/components/EditorAdapter/EditorAdapter.js +31 -4
  229. package/src/components/FileList/useGetFiles/getFiles.js +12 -4
  230. package/src/components/FileList/useGetFiles/useGetFiles.js +3 -4
  231. package/src/components/FileList/useGetFilesList/useGetFilesList.js +2 -1
  232. package/src/components/FilePreview/Actions/index.js +25 -27
  233. package/src/components/FilePreview/Image/Image.js +15 -2
  234. package/src/components/FilePreview/Image/imageSchema.js +9 -5
  235. package/src/components/FilePreview/ModalContext.js +3 -0
  236. package/src/components/FilePreview/PDF/PDF.js +17 -4
  237. package/src/components/FilePreview/PDF/schema.js +2 -1
  238. package/src/components/FilePreview/index.js +69 -6
  239. package/src/components/FilePreview/previewDefault/PreviewDefault.js +16 -3
  240. package/src/components/FilePreview/previewDefault/RawPreviewDefault.js +17 -7
  241. package/src/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
  242. package/src/components/FilePreviewReadOnly/FileList.js +1 -3
  243. package/src/components/FilePreviewReadOnly/FilePreviewReadOnly.js +17 -29
  244. package/src/components/FileUploadAdapter/FileUploadAdapter.js +66 -32
  245. package/src/components/FileUploadAdapter/mappers/get-button-text.js +4 -3
  246. package/src/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +6 -4
  247. package/src/components/FileUploadModal/FileUploadModal.js +156 -45
  248. package/src/components/FilterPanel/FilterPanel.js +44 -129
  249. package/src/components/FilterPanel/MediaSearchFilter.js +32 -0
  250. package/src/components/ListingContainer/Listing/Listing.js +15 -5
  251. package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +18 -7
  252. package/src/components/ListingContainer/Listing/MediaListing/MediaListing.js +10 -2
  253. package/src/components/ListingContainer/ListingContainer.js +17 -5
  254. package/src/constants.js +16 -2
  255. package/src/index.js +17 -14
  256. package/src/utils/bustUrl.js +6 -0
  257. package/babel.config.js +0 -3
  258. package/jest.config.js +0 -5
@@ -1,6 +1,15 @@
1
- import React, { useState } from 'react';
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ const _excluded = ["name", "storeKey"],
5
+ _excluded2 = ["message"],
6
+ _excluded3 = ["message"];
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ import React, { useState, useMemo } from 'react';
2
10
  import { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';
3
11
  import FileUpload from '@blaze-react/file-upload';
12
+ import { getFormBuilderLookup } from '@blaze-cms/react-form-builder';
4
13
  import PropTypes from 'prop-types';
5
14
  import { useToasts } from '@blaze-react/toaster';
6
15
  import { useApolloClient, useQuery } from '@apollo/client';
@@ -9,7 +18,10 @@ const FileUploadModal = ({
9
18
  onClose,
10
19
  getSelectedFiles,
11
20
  closeModalAndSetValue,
12
- simpleLayout
21
+ simpleLayout,
22
+ fileId,
23
+ storeKey,
24
+ selectedStoreKey
13
25
  }) => {
14
26
  const [files, setFiles] = useState([]);
15
27
  const {
@@ -19,57 +31,164 @@ const FileUploadModal = ({
19
31
  const {
20
32
  addNewFile
21
33
  } = useFileList();
34
+ const {
35
+ data: {
36
+ getEntitySchemas: [schemaData] = []
37
+ } = {},
38
+ loading: schemaLoading
39
+ } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {
40
+ variables: {
41
+ identifier: 'file'
42
+ }
43
+ });
44
+ const customFields = useMemo(() => {
45
+ if (schemaData && schemaData.properties) {
46
+ const _schemaData$propertie = schemaData.properties,
47
+ {
48
+ name: _name,
49
+ storeKey: _storeKey
50
+ } = _schemaData$propertie,
51
+ restProperties = _objectWithoutProperties(_schemaData$propertie, _excluded);
52
+ return Object.entries(restProperties).filter(([, field]) => field && field.showInForm === true).map(([key, field]) => {
53
+ const Component = getFormBuilderLookup.getFormField(field.formFieldType);
54
+ return {
55
+ name: key,
56
+ label: field.label || key,
57
+ component: props => /*#__PURE__*/React.createElement(Component, _extends({}, field, props, {
58
+ onChange: (...args) => {
59
+ const [event] = args;
60
+ if (!event.value) {
61
+ event.value = event.event.target ? event.event.target.value : event.value;
62
+ }
63
+ if (event.event.target && !event.event.target.id) {
64
+ event.event.target.id = props.id || key;
65
+ }
66
+ if (event.event.target) {
67
+ event.event.target.name = key;
68
+ }
69
+ return props.onChange(...args);
70
+ }
71
+ }))
72
+ };
73
+ });
74
+ }
75
+ return [];
76
+ }, [schemaData]);
22
77
  const fileStoresType = getQuery('GET_FILE_STORES');
23
78
  const {
24
79
  data: {
25
80
  getFileStores: storeType = []
26
- } = {}
81
+ } = {},
82
+ loading: storeLoading
27
83
  } = useQuery(fileStoresType, {
28
84
  variables: {
29
85
  visibleInAdmin: true
30
86
  }
31
87
  });
88
+ if (schemaLoading || storeLoading) return null;
32
89
  const handleFiles = filesToUpload => {
90
+ if (fileId && filesToUpload && filesToUpload.length) {
91
+ setFiles([filesToUpload[0]]);
92
+ return;
93
+ }
33
94
  setFiles(filesToUpload);
34
95
  };
35
96
  const uploadFiles = async () => {
36
- const response = await Promise.all(files.map(({
37
- file,
38
- name,
39
- data: fileData,
40
- storeKey
41
- }) => client.mutate({
42
- mutation: getMutation('UPLOAD_FILE'),
43
- variables: {
44
- input: {
45
- file,
46
- name: name || file.filename,
47
- storeKey,
48
- data: fileData
97
+ const filesToProcess = fileId && files.length ? [files[0]] : files;
98
+ const response = await Promise.all(filesToProcess.map(fileData => {
99
+ const {
100
+ file,
101
+ name,
102
+ data: dataProperties = {},
103
+ storeKey: fileStoreKey
104
+ } = fileData;
105
+ const customProperties = customFields.map(({
106
+ name: customPropertyName
107
+ }) => customPropertyName);
108
+ const otherProperties = Object.entries(dataProperties).reduce((acc, [key, value]) => {
109
+ if (customProperties.includes(key)) {
110
+ acc.fileProperties[key] = value;
111
+ } else {
112
+ acc.data[key] = value;
49
113
  }
114
+ return acc;
115
+ }, {
116
+ data: {},
117
+ fileProperties: {}
118
+ });
119
+ const payload = _objectSpread({
120
+ name,
121
+ storeKey: fileStoreKey || selectedStoreKey || storeKey
122
+ }, otherProperties);
123
+ if (fileId) {
124
+ payload.id = fileId;
125
+ } else if (!name) {
126
+ payload.name = file.filename;
50
127
  }
51
- }))).catch(error => {
128
+ return client.mutate({
129
+ mutation: getMutation('UPLOAD_FILE'),
130
+ variables: {
131
+ input: _objectSpread({
132
+ file
133
+ }, payload)
134
+ }
135
+ });
136
+ })).catch(error => {
52
137
  addToast(error.message, {
53
138
  appearance: 'error',
54
139
  autoDismiss: true
55
140
  });
141
+ return [];
56
142
  });
57
143
  const parsedResponse = response.map(({
58
144
  data: {
59
145
  file
60
146
  }
61
- }) => file.result);
147
+ }) => {
148
+ const _ref = file.result || {},
149
+ {
150
+ message
151
+ } = _ref,
152
+ rest = _objectWithoutProperties(_ref, _excluded2);
153
+ return rest;
154
+ });
62
155
  const fileNames = files.map(({
63
156
  file
64
157
  }) => file.name);
65
- addNewFile(parsedResponse);
66
- const toastMessage = `Uploaded: ${fileNames.join(', ')}`;
67
158
  if (simpleLayout) {
68
- const filesToSelect = parsedResponse.map(file => file.id);
159
+ if (fileId && parsedResponse && parsedResponse.length) {
160
+ const _parsedResponse$ = parsedResponse[0],
161
+ {
162
+ message
163
+ } = _parsedResponse$,
164
+ updatedFile = _objectWithoutProperties(_parsedResponse$, _excluded3);
165
+ try {
166
+ client.writeQuery({
167
+ query: getQuery('GET_FILE_BY_ID'),
168
+ variables: {
169
+ id: fileId
170
+ },
171
+ data: {
172
+ file: updatedFile
173
+ }
174
+ });
175
+ } catch (e) {
176
+ console.error(e); //eslint-disable-line
177
+ }
178
+ const updateMessage = `Updated: ${updatedFile.filename || fileNames[0]}`;
179
+ closeModalAndSetValue(simpleLayout, updatedFile, updateMessage);
180
+ return;
181
+ }
182
+ const filesToSelect = parsedResponse.map(({
183
+ id
184
+ }) => id);
185
+ const uploadMessage = `Uploaded: ${fileNames.join(', ')}`;
69
186
  getSelectedFiles(null, filesToSelect);
70
- closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);
187
+ closeModalAndSetValue(simpleLayout, filesToSelect, uploadMessage);
71
188
  return;
72
189
  }
190
+ addNewFile && addNewFile(parsedResponse);
191
+ const toastMessage = fileId ? `Updated: ${fileNames[0]}` : `Uploaded: ${fileNames.join(', ')}`;
73
192
  addToast(toastMessage, {
74
193
  appearance: 'success',
75
194
  autoDismiss: true
@@ -79,8 +198,9 @@ const FileUploadModal = ({
79
198
  if (files.length) await uploadFiles();
80
199
  onClose();
81
200
  };
82
- const storeOptions = storeType.map(type => [type.key, type.name]);
83
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Modal, {
201
+ let storeOptions = storeType.map(type => [type.key, type.name]);
202
+ storeOptions = storeKey ? storeOptions.filter(([key]) => key === storeKey) : storeOptions;
203
+ return /*#__PURE__*/React.createElement(Modal, {
84
204
  onClose: onClose,
85
205
  title: "Add media",
86
206
  actions: [{
@@ -88,26 +208,34 @@ const FileUploadModal = ({
88
208
  callback: onClose,
89
209
  modifiers: ['cancel']
90
210
  }, {
91
- textButton: 'Save',
211
+ textButton: 'Upload',
92
212
  callback: handleOnSave,
93
213
  modifiers: []
94
214
  }],
95
215
  upload: true
96
216
  }, /*#__PURE__*/React.createElement(FileUpload, {
217
+ storeKey: selectedStoreKey || storeKey,
97
218
  onChange: handleFiles,
98
- selectOptions: storeOptions
99
- })));
219
+ selectOptions: storeOptions,
220
+ customFields: customFields
221
+ }));
100
222
  };
101
223
  FileUploadModal.propTypes = {
224
+ fileId: PropTypes.string,
102
225
  getSelectedFiles: PropTypes.func.isRequired,
103
226
  onClose: PropTypes.func,
104
227
  simpleLayout: PropTypes.bool,
105
- closeModalAndSetValue: PropTypes.func
228
+ closeModalAndSetValue: PropTypes.func,
229
+ storeKey: PropTypes.string,
230
+ selectedStoreKey: PropTypes.string
106
231
  };
107
232
  FileUploadModal.defaultProps = {
108
233
  onClose: () => {},
109
234
  closeModalAndSetValue: () => {},
110
- simpleLayout: false
235
+ simpleLayout: false,
236
+ fileId: null,
237
+ storeKey: null,
238
+ selectedStoreKey: null
111
239
  };
112
240
  export default FileUploadModal;
113
241
  //# sourceMappingURL=FileUploadModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadModal.js","names":["React","useState","ModalAdapter","Modal","getMutation","getQuery","FileUpload","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","files","setFiles","addToast","client","addNewFile","fileStoresType","data","getFileStores","storeType","variables","visibleInAdmin","handleFiles","filesToUpload","uploadFiles","response","Promise","all","map","file","name","fileData","storeKey","mutate","mutation","input","filename","catch","error","message","appearance","autoDismiss","parsedResponse","result","fileNames","toastMessage","join","filesToSelect","id","handleOnSave","length","storeOptions","type","key","createElement","Fragment","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","func","isRequired","bool","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({ onClose, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n const toastMessage = `Uploaded: ${fileNames.join(', ')}`;\n\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);\n return;\n }\n\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n if (files.length) await uploadFiles();\n onClose();\n };\n\n const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false\n};\n\nexport default FileUploadModal;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,YAAY,IAAIC,KAAK,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,2BAA2B;AACxF,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,sBAAsB;AAChD,SAASC,eAAe,EAAEC,QAAQ,QAAQ,gBAAgB;AAC1D,OAAOC,WAAW,MAAM,yBAAyB;AAEjD,MAAMC,eAAe,GAAGA,CAAC;EAAEC,OAAO;EAAEC,gBAAgB;EAAEC,qBAAqB;EAAEC;AAAa,CAAC,KAAK;EAC9F,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGjB,QAAQ,CAAC,EAAE,CAAC;EACtC,MAAM;IAAEkB;EAAS,CAAC,GAAGX,SAAS,CAAC,CAAC;EAChC,MAAMY,MAAM,GAAGX,eAAe,CAAC,CAAC;EAChC,MAAM;IAAEY;EAAW,CAAC,GAAGV,WAAW,CAAC,CAAC;EAEpC,MAAMW,cAAc,GAAGjB,QAAQ,CAAC,iBAAiB,CAAC;EAElD,MAAM;IAAEkB,IAAI,EAAE;MAAEC,aAAa,EAAEC,SAAS,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGf,QAAQ,CAACY,cAAc,EAAE;IAChFI,SAAS,EAAE;MAAEC,cAAc,EAAE;IAAK;EACpC,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGC,aAAa,IAAI;IACnCX,QAAQ,CAACW,aAAa,CAAC;EACzB,CAAC;EAED,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,MAAMC,QAAQ,GAAG,MAAMC,OAAO,CAACC,GAAG,CAChChB,KAAK,CAACiB,GAAG,CAAC,CAAC;MAAEC,IAAI;MAAEC,IAAI;MAAEb,IAAI,EAAEc,QAAQ;MAAEC;IAAS,CAAC,KACjDlB,MAAM,CAACmB,MAAM,CAAC;MACZC,QAAQ,EAAEpC,WAAW,CAAC,aAAa,CAAC;MACpCsB,SAAS,EAAE;QACTe,KAAK,EAAE;UACLN,IAAI;UACJC,IAAI,EAAEA,IAAI,IAAID,IAAI,CAACO,QAAQ;UAC3BJ,QAAQ;UACRf,IAAI,EAAEc;QACR;MACF;IACF,CAAC,CACH,CACF,CAAC,CAACM,KAAK,CAACC,KAAK,IAAI;MACfzB,QAAQ,CAACyB,KAAK,CAACC,OAAO,EAAE;QACtBC,UAAU,EAAE,OAAO;QACnBC,WAAW,EAAE;MACf,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAMC,cAAc,GAAGjB,QAAQ,CAACG,GAAG,CAAC,CAAC;MAAEX,IAAI,EAAE;QAAEY;MAAK;IAAE,CAAC,KAAKA,IAAI,CAACc,MAAM,CAAC;IAExE,MAAMC,SAAS,GAAGjC,KAAK,CAACiB,GAAG,CAAC,CAAC;MAAEC;IAAK,CAAC,KAAKA,IAAI,CAACC,IAAI,CAAC;IACpDf,UAAU,CAAC2B,cAAc,CAAC;IAC1B,MAAMG,YAAY,GAAG,aAAaD,SAAS,CAACE,IAAI,CAAC,IAAI,CAAC,EAAE;IAExD,IAAIpC,YAAY,EAAE;MAChB,MAAMqC,aAAa,GAAGL,cAAc,CAACd,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACmB,EAAE,CAAC;MACzDxC,gBAAgB,CAAC,IAAI,EAAEuC,aAAa,CAAC;MACrCtC,qBAAqB,CAACC,YAAY,EAAEqC,aAAa,EAAEF,YAAY,CAAC;MAChE;IACF;IAEAhC,QAAQ,CAACgC,YAAY,EAAE;MACrBL,UAAU,EAAE,SAAS;MACrBC,WAAW,EAAE;IACf,CAAC,CAAC;EACJ,CAAC;EAED,MAAMQ,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,IAAItC,KAAK,CAACuC,MAAM,EAAE,MAAM1B,WAAW,CAAC,CAAC;IACrCjB,OAAO,CAAC,CAAC;EACX,CAAC;EAED,MAAM4C,YAAY,GAAGhC,SAAS,CAACS,GAAG,CAACwB,IAAI,IAAI,CAACA,IAAI,CAACC,GAAG,EAAED,IAAI,CAACtB,IAAI,CAAC,CAAC;EAEjE,oBACEpC,KAAA,CAAA4D,aAAA,CAAA5D,KAAA,CAAA6D,QAAA,qBACE7D,KAAA,CAAA4D,aAAA,CAACzD,KAAK;IACJU,OAAO,EAAEA,OAAQ;IACjBiD,KAAK,EAAC,WAAW;IACjBC,OAAO,EAAE,CACP;MACEC,UAAU,EAAE,QAAQ;MACpBC,QAAQ,EAAEpD,OAAO;MACjBqD,SAAS,EAAE,CAAC,QAAQ;IACtB,CAAC,EACD;MACEF,UAAU,EAAE,MAAM;MAClBC,QAAQ,EAAEV,YAAY;MACtBW,SAAS,EAAE;IACb,CAAC,CACD;IACFC,MAAM;EAAA,gBACNnE,KAAA,CAAA4D,aAAA,CAACtD,UAAU;IAAC8D,QAAQ,EAAExC,WAAY;IAACyC,aAAa,EAAEZ;EAAa,CAAE,CAC5D,CACP,CAAC;AAEP,CAAC;AAED7C,eAAe,CAAC0D,SAAS,GAAG;EAC1BxD,gBAAgB,EAAEP,SAAS,CAACgE,IAAI,CAACC,UAAU;EAC3C3D,OAAO,EAAEN,SAAS,CAACgE,IAAI;EACvBvD,YAAY,EAAET,SAAS,CAACkE,IAAI;EAC5B1D,qBAAqB,EAAER,SAAS,CAACgE;AACnC,CAAC;AAED3D,eAAe,CAAC8D,YAAY,GAAG;EAC7B7D,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBE,qBAAqB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC/BC,YAAY,EAAE;AAChB,CAAC;AAED,eAAeJ,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"FileUploadModal.js","names":["React","useState","useMemo","ModalAdapter","Modal","getMutation","getQuery","FileUpload","getFormBuilderLookup","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","fileId","storeKey","selectedStoreKey","files","setFiles","addToast","client","addNewFile","data","getEntitySchemas","schemaData","loading","schemaLoading","variables","identifier","customFields","properties","_schemaData$propertie","name","_name","_storeKey","restProperties","_objectWithoutProperties","_excluded","Object","entries","filter","field","showInForm","map","key","Component","getFormField","formFieldType","label","component","props","createElement","_extends","onChange","args","event","value","target","id","fileStoresType","getFileStores","storeType","storeLoading","visibleInAdmin","handleFiles","filesToUpload","length","uploadFiles","filesToProcess","response","Promise","all","fileData","file","dataProperties","fileStoreKey","customProperties","customPropertyName","otherProperties","reduce","acc","includes","fileProperties","payload","_objectSpread","filename","mutate","mutation","input","catch","error","message","appearance","autoDismiss","parsedResponse","_ref","result","rest","_excluded2","fileNames","_parsedResponse$","updatedFile","_excluded3","writeQuery","query","e","console","updateMessage","filesToSelect","uploadMessage","join","toastMessage","handleOnSave","storeOptions","type","title","actions","textButton","callback","modifiers","upload","selectOptions","propTypes","string","func","isRequired","bool","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport { getFormBuilderLookup } from '@blaze-cms/react-form-builder';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({\n onClose,\n getSelectedFiles,\n closeModalAndSetValue,\n simpleLayout,\n fileId,\n storeKey,\n selectedStoreKey\n}) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const { data: { getEntitySchemas: [schemaData] = [] } = {}, loading: schemaLoading } = useQuery(\n getQuery('GET_ENTITY_SCHEMA'),\n {\n variables: { identifier: 'file' }\n }\n );\n\n const customFields = useMemo(() => {\n if (schemaData && schemaData.properties) {\n const { name: _name, storeKey: _storeKey, ...restProperties } = schemaData.properties;\n return Object.entries(restProperties)\n .filter(([, field]) => field && field.showInForm === true)\n .map(([key, field]) => {\n const Component = getFormBuilderLookup.getFormField(field.formFieldType);\n return {\n name: key,\n label: field.label || key,\n component: props => (\n <Component\n {...field}\n {...props}\n onChange={(...args) => {\n const [event] = args;\n if (!event.value) {\n event.value = event.event.target ? event.event.target.value : event.value;\n }\n if (event.event.target && !event.event.target.id) {\n event.event.target.id = props.id || key;\n }\n if (event.event.target) {\n event.event.target.name = key;\n }\n return props.onChange(...args);\n }}\n />\n )\n };\n });\n }\n return [];\n }, [schemaData]);\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { data: { getFileStores: storeType = [] } = {}, loading: storeLoading } = useQuery(\n fileStoresType,\n {\n variables: { visibleInAdmin: true }\n }\n );\n\n if (schemaLoading || storeLoading) return null;\n\n const handleFiles = filesToUpload => {\n if (fileId && filesToUpload && filesToUpload.length) {\n setFiles([filesToUpload[0]]);\n return;\n }\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const filesToProcess = fileId && files.length ? [files[0]] : files;\n\n const response = await Promise.all(\n filesToProcess.map(fileData => {\n const { file, name, data: dataProperties = {}, storeKey: fileStoreKey } = fileData;\n const customProperties = customFields.map(\n ({ name: customPropertyName }) => customPropertyName\n );\n const otherProperties = Object.entries(dataProperties).reduce(\n (acc, [key, value]) => {\n if (customProperties.includes(key)) {\n acc.fileProperties[key] = value;\n } else {\n acc.data[key] = value;\n }\n return acc;\n },\n { data: {}, fileProperties: {} }\n );\n const payload = {\n name,\n storeKey: fileStoreKey || selectedStoreKey || storeKey,\n ...otherProperties\n };\n\n if (fileId) {\n payload.id = fileId;\n } else if (!name) {\n payload.name = file.filename;\n }\n return client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: { input: { file, ...payload } }\n });\n })\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n return [];\n });\n\n const parsedResponse = response.map(({ data: { file } }) => {\n const { message, ...rest } = file.result || {};\n return rest;\n });\n\n const fileNames = files.map(({ file }) => file.name);\n\n if (simpleLayout) {\n if (fileId && parsedResponse && parsedResponse.length) {\n const { message, ...updatedFile } = parsedResponse[0];\n try {\n client.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: fileId },\n data: { file: updatedFile }\n });\n } catch (e) {\n console.error(e); //eslint-disable-line\n }\n const updateMessage = `Updated: ${updatedFile.filename || fileNames[0]}`;\n closeModalAndSetValue(simpleLayout, updatedFile, updateMessage);\n return;\n }\n const filesToSelect = parsedResponse.map(({ id }) => id);\n const uploadMessage = `Uploaded: ${fileNames.join(', ')}`;\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, uploadMessage);\n return;\n }\n\n addNewFile && addNewFile(parsedResponse);\n const toastMessage = fileId ? `Updated: ${fileNames[0]}` : `Uploaded: ${fileNames.join(', ')}`;\n\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n if (files.length) await uploadFiles();\n onClose();\n };\n\n let storeOptions = storeType.map(type => [type.key, type.name]);\n storeOptions = storeKey ? storeOptions.filter(([key]) => key === storeKey) : storeOptions;\n\n return (\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Upload',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload\n storeKey={selectedStoreKey || storeKey}\n onChange={handleFiles}\n selectOptions={storeOptions}\n customFields={customFields}\n />\n </Modal>\n );\n};\n\nFileUploadModal.propTypes = {\n fileId: PropTypes.string,\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func,\n storeKey: PropTypes.string,\n selectedStoreKey: PropTypes.string\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false,\n fileId: null,\n storeKey: null,\n selectedStoreKey: null\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
@@ -1,135 +1,55 @@
1
- /* eslint-disable jsx-a11y/no-static-element-interactions */
2
- /* eslint-disable jsx-a11y/anchor-is-valid */
3
- import React, { useState, useEffect } from 'react';
4
- import { SearchBar } from '@blaze-cms/plugin-search-ui';
5
- import classnames from 'classnames';
6
- import Select from '@blaze-react/select';
1
+ import React from 'react';
2
+ import MediaSearchFilter from './MediaSearchFilter';
7
3
  import { useMediaContext, MediaContext } from '../../utils/media-context';
8
- import useFileList from '../FileList/useFileList';
9
4
  const FilterPanel = () => {
10
- const [searchTerm, setSearchTerm] = useState('');
11
5
  const {
12
6
  filters,
13
7
  selectedFilter,
14
- changeSelectedFilter,
15
- fileStores
8
+ changeSelectedFilter
16
9
  } = useMediaContext(MediaContext);
17
- const {
18
- queryParams,
19
- data
20
- } = useFileList();
21
- const [active, setActive] = useState(filters[0].id);
22
- useEffect(() => {
23
- if (queryParams.searchTerm === null) {
24
- setSearchTerm('');
25
- }
26
- }, [queryParams.searchTerm]);
27
- const handleSearchTerm = ({
28
- target: {
29
- value
30
- }
31
- }) => {
32
- setSearchTerm(value);
33
- };
34
- const storeKey = selectedFilter.storeKey || '';
35
- const onChangeFilter = id => {
36
- setActive(id);
37
- searchTerm ? changeSelectedFilter({
38
- filter: id,
39
- isSearch: true,
40
- searchTerm,
41
- storeKey
42
- }) : changeSelectedFilter({
43
- filter: id,
44
- isSearch: false,
45
- searchTerm: null,
46
- storeKey
10
+ const handleOnSelectFilter = (esFilters = []) => {
11
+ let nextSearchTerm = null;
12
+ let nextFilterId = selectedFilter.filter;
13
+ let nextStoreKey = selectedFilter.storeKey || '';
14
+ esFilters.forEach(filterObj => {
15
+ const {
16
+ simple_query_string: simpleQueryString,
17
+ match
18
+ } = filterObj || {};
19
+ if (simpleQueryString) {
20
+ const {
21
+ query
22
+ } = simpleQueryString;
23
+ if (query != null) {
24
+ nextSearchTerm = String(query).trim();
25
+ }
26
+ }
27
+ if (match) {
28
+ const {
29
+ 'type.keyword': typeKeyword,
30
+ 'storeKey.keyword': storeKeyKeyword
31
+ } = match;
32
+ if (typeKeyword && typeKeyword.query != null) {
33
+ nextFilterId = typeKeyword.query;
34
+ }
35
+ if (storeKeyKeyword && storeKeyKeyword.query != null) {
36
+ nextStoreKey = storeKeyKeyword.query;
37
+ }
38
+ }
47
39
  });
48
- };
49
- const handleKeyDown = ({
50
- key
51
- }) => {
52
- if (key === 'Enter') {
53
- searchTerm ? changeSelectedFilter({
54
- filter: selectedFilter.filter,
55
- isSearch: true,
56
- searchTerm: searchTerm.trim(),
57
- storeKey
58
- }) : changeSelectedFilter({
59
- filter: selectedFilter.filter,
60
- isSearch: false,
61
- searchTerm: null,
62
- storeKey
63
- });
64
- }
65
- };
66
- const onSelectFilter = ({
67
- value
68
- }) => {
69
- searchTerm ? changeSelectedFilter({
70
- filter: selectedFilter.filter,
71
- isSearch: true,
72
- searchTerm: searchTerm.trim(),
73
- storeKey: value
74
- }) : changeSelectedFilter({
75
- filter: selectedFilter.filter,
76
- isSearch: false,
77
- searchTerm: null,
78
- storeKey: value
40
+ changeSelectedFilter({
41
+ filter: nextFilterId,
42
+ isSearch: Boolean(nextSearchTerm),
43
+ searchTerm: nextSearchTerm || null,
44
+ storeKey: nextStoreKey,
45
+ esFilters
79
46
  });
80
47
  };
81
- const activeSegements = filters.reduce((acc, {
82
- id
83
- }, index) => {
84
- acc[`active-${index}`] = active === id;
85
- return acc;
86
- }, {});
87
- const activeBarSegment = classnames('filter-panel__barWrapper--active', activeSegements);
88
- const storeOptions = (fileStores || []).map(type => [type.key, type.name]);
89
- return /*#__PURE__*/React.createElement("div", {
90
- className: "filter-panel"
91
- }, /*#__PURE__*/React.createElement("div", {
92
- className: "filter-panel__wrapper"
93
- }, /*#__PURE__*/React.createElement("ul", {
94
- className: "filter-panel__list"
95
- }, filters.map(({
96
- label,
97
- id
98
- }) => selectedFilter.filter !== id ? /*#__PURE__*/React.createElement("li", {
99
- key: label,
100
- className: "filter-panel__list-item"
101
- }, /*#__PURE__*/React.createElement("a", {
102
- onClick: () => onChangeFilter(id)
103
- }, label, " (", data[id], ")")) : /*#__PURE__*/React.createElement("li", {
104
- key: label,
105
- className: "filter-panel__list-item active"
106
- }, label, " (", data[id], ")"))), /*#__PURE__*/React.createElement("div", {
107
- className: "filter-panel__barWrapper"
108
- }, /*#__PURE__*/React.createElement("div", {
109
- className: activeBarSegment
110
- }))), /*#__PURE__*/React.createElement("div", {
111
- className: "filter-panel__searchBarWrapper"
112
- }, /*#__PURE__*/React.createElement("div", {
113
- className: "select__wrapper"
114
- }, /*#__PURE__*/React.createElement(Select, {
115
- name: "filter",
116
- defaultTextValue: "Any",
117
- options: storeOptions,
118
- onChange: onSelectFilter,
119
- selected: selectedFilter.storeKey
120
- })), /*#__PURE__*/React.createElement(SearchBar, {
121
- search: () => changeSelectedFilter({
122
- filter: selectedFilter.filter,
123
- isSearch: true,
124
- searchTerm,
125
- storeKey: selectedFilter.storeKey
126
- }),
127
- handleKeyDown: handleKeyDown,
128
- searchTerm: searchTerm,
129
- handleSearchTerm: handleSearchTerm,
130
- placeholder: "Search term here...",
131
- close: false
132
- })));
48
+ return /*#__PURE__*/React.createElement(MediaSearchFilter, {
49
+ selectedFilter: selectedFilter,
50
+ listFilters: filters,
51
+ updateListingFilters: handleOnSelectFilter
52
+ });
133
53
  };
134
54
  export default FilterPanel;
135
55
  //# sourceMappingURL=FilterPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterPanel.js","names":["React","useState","useEffect","SearchBar","classnames","Select","useMediaContext","MediaContext","useFileList","FilterPanel","searchTerm","setSearchTerm","filters","selectedFilter","changeSelectedFilter","fileStores","queryParams","data","active","setActive","id","handleSearchTerm","target","value","storeKey","onChangeFilter","filter","isSearch","handleKeyDown","key","trim","onSelectFilter","activeSegements","reduce","acc","index","activeBarSegment","storeOptions","map","type","name","createElement","className","label","onClick","defaultTextValue","options","onChange","selected","search","placeholder","close"],"sources":["../../../src/components/FilterPanel/FilterPanel.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState, useEffect } from 'react';\nimport { SearchBar } from '@blaze-cms/plugin-search-ui';\nimport classnames from 'classnames';\nimport Select from '@blaze-react/select';\nimport { useMediaContext, MediaContext } from '../../utils/media-context';\nimport useFileList from '../FileList/useFileList';\n\nconst FilterPanel = () => {\n const [searchTerm, setSearchTerm] = useState('');\n const { filters, selectedFilter, changeSelectedFilter, fileStores } =\n useMediaContext(MediaContext);\n const { queryParams, data } = useFileList();\n const [active, setActive] = useState(filters[0].id);\n\n useEffect(() => {\n if (queryParams.searchTerm === null) {\n setSearchTerm('');\n }\n }, [queryParams.searchTerm]);\n\n const handleSearchTerm = ({ target: { value } }) => {\n setSearchTerm(value);\n };\n\n const storeKey = selectedFilter.storeKey || '';\n\n const onChangeFilter = id => {\n setActive(id);\n searchTerm\n ? changeSelectedFilter({\n filter: id,\n isSearch: true,\n searchTerm,\n storeKey\n })\n : changeSelectedFilter({\n filter: id,\n isSearch: false,\n searchTerm: null,\n storeKey\n });\n };\n\n const handleKeyDown = ({ key }) => {\n if (key === 'Enter') {\n searchTerm\n ? changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm: searchTerm.trim(),\n storeKey\n })\n : changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: false,\n searchTerm: null,\n storeKey\n });\n }\n };\n\n const onSelectFilter = ({ value }) => {\n searchTerm\n ? changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm: searchTerm.trim(),\n storeKey: value\n })\n : changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: false,\n searchTerm: null,\n storeKey: value\n });\n };\n\n const activeSegements = filters.reduce((acc, { id }, index) => {\n acc[`active-${index}`] = active === id;\n return acc;\n }, {});\n const activeBarSegment = classnames('filter-panel__barWrapper--active', activeSegements);\n const storeOptions = (fileStores || []).map(type => [type.key, type.name]);\n\n return (\n <div className=\"filter-panel\">\n <div className=\"filter-panel__wrapper\">\n <ul className=\"filter-panel__list\">\n {filters.map(({ label, id }) =>\n selectedFilter.filter !== id ? (\n <li key={label} className=\"filter-panel__list-item\">\n <a onClick={() => onChangeFilter(id)}>\n {label} ({data[id]})\n </a>\n </li>\n ) : (\n <li key={label} className=\"filter-panel__list-item active\">\n {label} ({data[id]})\n </li>\n )\n )}\n </ul>\n <div className=\"filter-panel__barWrapper\">\n <div className={activeBarSegment} />\n </div>\n </div>\n <div className=\"filter-panel__searchBarWrapper\">\n <div className=\"select__wrapper\">\n <Select\n name=\"filter\"\n defaultTextValue=\"Any\"\n options={storeOptions}\n onChange={onSelectFilter}\n selected={selectedFilter.storeKey}\n />\n </div>\n <SearchBar\n search={() =>\n changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm,\n storeKey: selectedFilter.storeKey\n })\n }\n handleKeyDown={handleKeyDown}\n searchTerm={searchTerm}\n handleSearchTerm={handleSearchTerm}\n placeholder=\"Search term here...\"\n close={false}\n />\n </div>\n </div>\n );\n};\n\nexport default FilterPanel;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FilterPanel.js","names":["React","MediaSearchFilter","useMediaContext","MediaContext","FilterPanel","filters","selectedFilter","changeSelectedFilter","handleOnSelectFilter","esFilters","nextSearchTerm","nextFilterId","filter","nextStoreKey","storeKey","forEach","filterObj","simple_query_string","simpleQueryString","match","query","String","trim","typeKeyword","storeKeyKeyword","isSearch","Boolean","searchTerm","createElement","listFilters","updateListingFilters"],"sources":["../../../src/components/FilterPanel/FilterPanel.js"],"sourcesContent":["import React from 'react';\nimport MediaSearchFilter from './MediaSearchFilter';\nimport { useMediaContext, MediaContext } from '../../utils/media-context';\n\nconst FilterPanel = () => {\n const { filters, selectedFilter, changeSelectedFilter } = useMediaContext(MediaContext);\n\n const handleOnSelectFilter = (esFilters = []) => {\n let nextSearchTerm = null;\n let nextFilterId = selectedFilter.filter;\n let nextStoreKey = selectedFilter.storeKey || '';\n\n esFilters.forEach(filterObj => {\n const { simple_query_string: simpleQueryString, match } = filterObj || {};\n\n if (simpleQueryString) {\n const { query } = simpleQueryString;\n if (query != null) {\n nextSearchTerm = String(query).trim();\n }\n }\n\n if (match) {\n const { 'type.keyword': typeKeyword, 'storeKey.keyword': storeKeyKeyword } = match;\n\n if (typeKeyword && typeKeyword.query != null) {\n nextFilterId = typeKeyword.query;\n }\n\n if (storeKeyKeyword && storeKeyKeyword.query != null) {\n nextStoreKey = storeKeyKeyword.query;\n }\n }\n });\n\n changeSelectedFilter({\n filter: nextFilterId,\n isSearch: Boolean(nextSearchTerm),\n searchTerm: nextSearchTerm || null,\n storeKey: nextStoreKey,\n esFilters\n });\n };\n\n return (\n <MediaSearchFilter\n selectedFilter={selectedFilter}\n listFilters={filters}\n updateListingFilters={handleOnSelectFilter}\n />\n );\n};\n\nexport default FilterPanel;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,eAAe,EAAEC,YAAY,QAAQ,2BAA2B;AAEzE,MAAMC,WAAW,GAAGA,CAAA,KAAM;EACxB,MAAM;IAAEC,OAAO;IAAEC,cAAc;IAAEC;EAAqB,CAAC,GAAGL,eAAe,CAACC,YAAY,CAAC;EAEvF,MAAMK,oBAAoB,GAAGA,CAACC,SAAS,GAAG,EAAE,KAAK;IAC/C,IAAIC,cAAc,GAAG,IAAI;IACzB,IAAIC,YAAY,GAAGL,cAAc,CAACM,MAAM;IACxC,IAAIC,YAAY,GAAGP,cAAc,CAACQ,QAAQ,IAAI,EAAE;IAEhDL,SAAS,CAACM,OAAO,CAACC,SAAS,IAAI;MAC7B,MAAM;QAAEC,mBAAmB,EAAEC,iBAAiB;QAAEC;MAAM,CAAC,GAAGH,SAAS,IAAI,CAAC,CAAC;MAEzE,IAAIE,iBAAiB,EAAE;QACrB,MAAM;UAAEE;QAAM,CAAC,GAAGF,iBAAiB;QACnC,IAAIE,KAAK,IAAI,IAAI,EAAE;UACjBV,cAAc,GAAGW,MAAM,CAACD,KAAK,CAAC,CAACE,IAAI,CAAC,CAAC;QACvC;MACF;MAEA,IAAIH,KAAK,EAAE;QACT,MAAM;UAAE,cAAc,EAAEI,WAAW;UAAE,kBAAkB,EAAEC;QAAgB,CAAC,GAAGL,KAAK;QAElF,IAAII,WAAW,IAAIA,WAAW,CAACH,KAAK,IAAI,IAAI,EAAE;UAC5CT,YAAY,GAAGY,WAAW,CAACH,KAAK;QAClC;QAEA,IAAII,eAAe,IAAIA,eAAe,CAACJ,KAAK,IAAI,IAAI,EAAE;UACpDP,YAAY,GAAGW,eAAe,CAACJ,KAAK;QACtC;MACF;IACF,CAAC,CAAC;IAEFb,oBAAoB,CAAC;MACnBK,MAAM,EAAED,YAAY;MACpBc,QAAQ,EAAEC,OAAO,CAAChB,cAAc,CAAC;MACjCiB,UAAU,EAAEjB,cAAc,IAAI,IAAI;MAClCI,QAAQ,EAAED,YAAY;MACtBJ;IACF,CAAC,CAAC;EACJ,CAAC;EAED,oBACET,KAAA,CAAA4B,aAAA,CAAC3B,iBAAiB;IAChBK,cAAc,EAAEA,cAAe;IAC/BuB,WAAW,EAAExB,OAAQ;IACrByB,oBAAoB,EAAEtB;EAAqB,CAC5C,CAAC;AAEN,CAAC;AAED,eAAeJ,WAAW","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import { useQuery } from '@apollo/client';
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { getQuery } from '@blaze-cms/admin-ui-utils';
5
+ import { SearchFilter } from '@blaze-cms/plugin-data-ui';
6
+ const MediaSearchFilter = ({
7
+ selectedFilter,
8
+ listFilters,
9
+ updateListingFilters
10
+ }) => {
11
+ var _data$getEntitySchema;
12
+ const {
13
+ data
14
+ } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {
15
+ variables: {
16
+ identifier: 'file'
17
+ }
18
+ });
19
+ const getEntitySchemas = (_data$getEntitySchema = data === null || data === void 0 ? void 0 : data.getEntitySchemas) !== null && _data$getEntitySchema !== void 0 ? _data$getEntitySchema : [];
20
+ if (!getEntitySchemas.length) return null;
21
+ return /*#__PURE__*/React.createElement(SearchFilter, {
22
+ schema: getEntitySchemas[0],
23
+ listFilters: listFilters,
24
+ setListFilters: updateListingFilters,
25
+ values: selectedFilter.defaultFilters
26
+ });
27
+ };
28
+ MediaSearchFilter.propTypes = {
29
+ selectedFilter: PropTypes.object.isRequired,
30
+ updateListingFilters: PropTypes.func.isRequired,
31
+ listFilters: PropTypes.array.isRequired
32
+ };
33
+ export default MediaSearchFilter;
34
+ //# sourceMappingURL=MediaSearchFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaSearchFilter.js","names":["useQuery","React","PropTypes","getQuery","SearchFilter","MediaSearchFilter","selectedFilter","listFilters","updateListingFilters","_data$getEntitySchema","data","variables","identifier","getEntitySchemas","length","createElement","schema","setListFilters","values","defaultFilters","propTypes","object","isRequired","func","array"],"sources":["../../../src/components/FilterPanel/MediaSearchFilter.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { SearchFilter } from '@blaze-cms/plugin-data-ui';\n\nconst MediaSearchFilter = ({ selectedFilter, listFilters, updateListingFilters }) => {\n const { data } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {\n variables: { identifier: 'file' }\n });\n\n const getEntitySchemas = data?.getEntitySchemas ?? [];\n\n if (!getEntitySchemas.length) return null;\n\n return (\n <SearchFilter\n schema={getEntitySchemas[0]}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n values={selectedFilter.defaultFilters}\n />\n );\n};\n\nMediaSearchFilter.propTypes = {\n selectedFilter: PropTypes.object.isRequired,\n updateListingFilters: PropTypes.func.isRequired,\n listFilters: PropTypes.array.isRequired\n};\n\nexport default MediaSearchFilter;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,2BAA2B;AACpD,SAASC,YAAY,QAAQ,2BAA2B;AAExD,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,cAAc;EAAEC,WAAW;EAAEC;AAAqB,CAAC,KAAK;EAAA,IAAAC,qBAAA;EACnF,MAAM;IAAEC;EAAK,CAAC,GAAGV,QAAQ,CAACG,QAAQ,CAAC,mBAAmB,CAAC,EAAE;IACvDQ,SAAS,EAAE;MAAEC,UAAU,EAAE;IAAO;EAClC,CAAC,CAAC;EAEF,MAAMC,gBAAgB,IAAAJ,qBAAA,GAAGC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,gBAAgB,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAErD,IAAI,CAACI,gBAAgB,CAACC,MAAM,EAAE,OAAO,IAAI;EAEzC,oBACEb,KAAA,CAAAc,aAAA,CAACX,YAAY;IACXY,MAAM,EAAEH,gBAAgB,CAAC,CAAC,CAAE;IAC5BN,WAAW,EAAEA,WAAY;IACzBU,cAAc,EAAET,oBAAqB;IACrCU,MAAM,EAAEZ,cAAc,CAACa;EAAe,CACvC,CAAC;AAEN,CAAC;AAEDd,iBAAiB,CAACe,SAAS,GAAG;EAC5Bd,cAAc,EAAEJ,SAAS,CAACmB,MAAM,CAACC,UAAU;EAC3Cd,oBAAoB,EAAEN,SAAS,CAACqB,IAAI,CAACD,UAAU;EAC/Cf,WAAW,EAAEL,SAAS,CAACsB,KAAK,CAACF;AAC/B,CAAC;AAED,eAAejB,iBAAiB","ignoreList":[]}
@@ -12,10 +12,15 @@ const Listing = ({
12
12
  getSelectedFiles,
13
13
  setDisplayFileUploadModal,
14
14
  closeModalAndSetValue,
15
- simpleLayout
15
+ simpleLayout,
16
+ openEditInModal,
17
+ storeKey,
18
+ selectedStoreKey
16
19
  }) => /*#__PURE__*/React.createElement("div", {
17
20
  className: "page"
18
21
  }, displayFileUploadModal && /*#__PURE__*/React.createElement(FileUploadModal, {
22
+ selectedStoreKey: selectedStoreKey,
23
+ storeKey: storeKey,
19
24
  onClose: () => {
20
25
  handleDisplayFileUploadModal(false);
21
26
  setDisplayFileUploadModal(false);
@@ -30,7 +35,7 @@ const Listing = ({
30
35
  onClick: () => {
31
36
  handleDisplayFileUploadModal(true);
32
37
  }
33
- }, "Add"), /*#__PURE__*/React.createElement(More, {
38
+ }, "Upload"), /*#__PURE__*/React.createElement(More, {
34
39
  displayBg: true
35
40
  }, /*#__PURE__*/React.createElement(More.Avatar, {
36
41
  isMoreMenu: true
@@ -40,19 +45,26 @@ const Listing = ({
40
45
  isMoreMenu: true
41
46
  })))), /*#__PURE__*/React.createElement("div", {
42
47
  className: "page__content page__content--with-side-panel"
43
- }, /*#__PURE__*/React.createElement(FilterPanel, null), /*#__PURE__*/React.createElement(MediaListing, null))));
48
+ }, /*#__PURE__*/React.createElement(FilterPanel, null), /*#__PURE__*/React.createElement(MediaListing, {
49
+ openEditInModal: openEditInModal
50
+ }))));
44
51
  Listing.propTypes = {
45
52
  getSelectedFiles: PropTypes.func.isRequired,
46
53
  handleDisplayFileUploadModal: PropTypes.func,
47
54
  simpleLayout: PropTypes.bool,
48
55
  setDisplayFileUploadModal: PropTypes.func.isRequired,
49
56
  displayFileUploadModal: PropTypes.bool.isRequired,
50
- closeModalAndSetValue: PropTypes.func
57
+ closeModalAndSetValue: PropTypes.func,
58
+ openEditInModal: PropTypes.bool,
59
+ storeKey: PropTypes.string.isRequired,
60
+ selectedStoreKey: PropTypes.string
51
61
  };
52
62
  Listing.defaultProps = {
53
63
  closeModalAndSetValue: () => {},
54
64
  handleDisplayFileUploadModal: () => {},
55
- simpleLayout: false
65
+ simpleLayout: false,
66
+ openEditInModal: false,
67
+ selectedStoreKey: null
56
68
  };
57
69
  export default Listing;
58
70
  //# sourceMappingURL=Listing.js.map