@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,15 +1,20 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import Button from '@blaze-react/button';
3
4
  const PDF = ({
4
5
  mimetype,
5
6
  url,
6
7
  name,
7
- children
8
+ children,
9
+ handleChangeFile,
10
+ showChangeButton
8
11
  }) => /*#__PURE__*/React.createElement("div", {
9
- className: "preview"
12
+ className: "preview",
13
+ key: `pdf-${url}`
10
14
  }, /*#__PURE__*/React.createElement("div", {
11
15
  className: "preview__file preview__file--pdf"
12
16
  }, /*#__PURE__*/React.createElement("object", {
17
+ key: url,
13
18
  data: url,
14
19
  type: mimetype,
15
20
  className: "preview__file--pdf"
@@ -23,12 +28,22 @@ const PDF = ({
23
28
  href: url,
24
29
  rel: "noopener noreferrer",
25
30
  target: "_blank"
26
- }, "Original")))), children);
31
+ }, "Original")), showChangeButton && /*#__PURE__*/React.createElement("div", {
32
+ className: "preview__change-button"
33
+ }, /*#__PURE__*/React.createElement(Button, {
34
+ onClick: handleChangeFile
35
+ }, "Change file")))), children);
27
36
  PDF.propTypes = {
28
37
  mimetype: PropTypes.string.isRequired,
29
38
  url: PropTypes.string.isRequired,
30
39
  name: PropTypes.string.isRequired,
31
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
40
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
41
+ handleChangeFile: PropTypes.func,
42
+ showChangeButton: PropTypes.bool
43
+ };
44
+ PDF.defaultProps = {
45
+ handleChangeFile: () => {},
46
+ showChangeButton: false
32
47
  };
33
48
  export { PDF };
34
49
  //# sourceMappingURL=PDF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PDF.js","names":["React","PropTypes","PDF","mimetype","url","name","children","createElement","className","data","type","href","rel","target","propTypes","string","isRequired","oneOfType","arrayOf","node"],"sources":["../../../../src/components/FilePreview/PDF/PDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst PDF = ({ mimetype, url, name, children }) => (\n <div className=\"preview\">\n <div className=\"preview__file preview__file--pdf\">\n <object data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n </div>\n </div>\n {children}\n </div>\n);\n\nPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport { PDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,MAAMC,GAAG,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAS,CAAC,kBAC5CN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAS,gBACtBR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAkC,gBAC/CR,KAAA,CAAAO,aAAA;EAAQE,IAAI,EAAEL,GAAI;EAACM,IAAI,EAAEP,QAAS;EAACK,SAAS,EAAC;AAAoB,gBAC/DR,KAAA,CAAAO,aAAA,yBACEP,KAAA,CAAAO,aAAA;EAAGI,IAAI,EAAEP,GAAI;EAACQ,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,WAC7C,EAACR,IACT,CACF,CACG,CAAC,eACTL,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAyC,gBACtDR,KAAA,CAAAO,aAAA,yBACEP,KAAA,CAAAO,aAAA,iBAAQ,cAAoB,CAAC,eAC7BP,KAAA,CAAAO,aAAA;EAAGI,IAAI,EAAEP,GAAI;EAACQ,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,UAErD,CACF,CACA,CACF,CAAC,EACLP,QACE,CACN;AAEDJ,GAAG,CAACY,SAAS,GAAG;EACdX,QAAQ,EAAEF,SAAS,CAACc,MAAM,CAACC,UAAU;EACrCZ,GAAG,EAAEH,SAAS,CAACc,MAAM,CAACC,UAAU;EAChCX,IAAI,EAAEJ,SAAS,CAACc,MAAM,CAACC,UAAU;EACjCV,QAAQ,EAAEL,SAAS,CAACgB,SAAS,CAAC,CAAChB,SAAS,CAACiB,OAAO,CAACjB,SAAS,CAACkB,IAAI,CAAC,EAAElB,SAAS,CAACkB,IAAI,CAAC,CAAC,CAACH;AACrF,CAAC;AAED,SAASd,GAAG","ignoreList":[]}
1
+ {"version":3,"file":"PDF.js","names":["React","PropTypes","Button","PDF","mimetype","url","name","children","handleChangeFile","showChangeButton","createElement","className","key","data","type","href","rel","target","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","func","bool","defaultProps"],"sources":["../../../../src/components/FilePreview/PDF/PDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\n\nconst PDF = ({ mimetype, url, name, children, handleChangeFile, showChangeButton }) => (\n <div className=\"preview\" key={`pdf-${url}`}>\n <div className=\"preview__file preview__file--pdf\">\n <object key={url} data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n {showChangeButton && (\n <div className=\"preview__change-button\">\n <Button onClick={handleChangeFile}>Change file</Button>\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n);\n\nPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n handleChangeFile: PropTypes.func,\n showChangeButton: PropTypes.bool\n};\n\nPDF.defaultProps = {\n handleChangeFile: () => {},\n showChangeButton: false\n};\n\nexport { PDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AAExC,MAAMC,GAAG,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,gBAAgB;EAAEC;AAAiB,CAAC,kBAChFT,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC,SAAS;EAACC,GAAG,EAAE,OAAOP,GAAG;AAAG,gBACzCL,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAkC,gBAC/CX,KAAA,CAAAU,aAAA;EAAQE,GAAG,EAAEP,GAAI;EAACQ,IAAI,EAAER,GAAI;EAACS,IAAI,EAAEV,QAAS;EAACO,SAAS,EAAC;AAAoB,gBACzEX,KAAA,CAAAU,aAAA,yBACEV,KAAA,CAAAU,aAAA;EAAGK,IAAI,EAAEV,GAAI;EAACW,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,WAC7C,EAACX,IACT,CACF,CACG,CAAC,eACTN,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAyC,gBACtDX,KAAA,CAAAU,aAAA,yBACEV,KAAA,CAAAU,aAAA,iBAAQ,cAAoB,CAAC,eAC7BV,KAAA,CAAAU,aAAA;EAAGK,IAAI,EAAEV,GAAI;EAACW,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,UAErD,CACF,CAAC,EACHR,gBAAgB,iBACfT,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAwB,gBACrCX,KAAA,CAAAU,aAAA,CAACR,MAAM;EAACgB,OAAO,EAAEV;AAAiB,GAAC,aAAmB,CACnD,CAEJ,CACF,CAAC,EACLD,QACE,CACN;AAEDJ,GAAG,CAACgB,SAAS,GAAG;EACdf,QAAQ,EAAEH,SAAS,CAACmB,MAAM,CAACC,UAAU;EACrChB,GAAG,EAAEJ,SAAS,CAACmB,MAAM,CAACC,UAAU;EAChCf,IAAI,EAAEL,SAAS,CAACmB,MAAM,CAACC,UAAU;EACjCd,QAAQ,EAAEN,SAAS,CAACqB,SAAS,CAAC,CAACrB,SAAS,CAACsB,OAAO,CAACtB,SAAS,CAACuB,IAAI,CAAC,EAAEvB,SAAS,CAACuB,IAAI,CAAC,CAAC,CAACH,UAAU;EAC7Fb,gBAAgB,EAAEP,SAAS,CAACwB,IAAI;EAChChB,gBAAgB,EAAER,SAAS,CAACyB;AAC9B,CAAC;AAEDvB,GAAG,CAACwB,YAAY,GAAG;EACjBnB,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC1BC,gBAAgB,EAAE;AACpB,CAAC;AAED,SAASN,GAAG","ignoreList":[]}
@@ -11,7 +11,8 @@ const PDFSchema = {
11
11
  caption: {
12
12
  type: 'string',
13
13
  showInForm: true,
14
- formFieldType: 'text'
14
+ formFieldType: 'text',
15
+ isDataPropery: true
15
16
  }
16
17
  },
17
18
  required: ['name']
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","names":["PDFSchema","settings","formSchema","properties","name","type","showInForm","label","formFieldType","caption","required"],"sources":["../../../../src/components/FilePreview/PDF/schema.js"],"sourcesContent":["const PDFSchema = {\n settings: {},\n formSchema: {\n properties: {\n name: {\n type: 'string',\n showInForm: true,\n label: 'File name',\n formFieldType: 'text'\n },\n caption: {\n type: 'string',\n showInForm: true,\n formFieldType: 'text'\n }\n },\n required: ['name']\n }\n};\n\nexport { PDFSchema };\n"],"mappings":"AAAA,MAAMA,SAAS,GAAG;EAChBC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACVC,UAAU,EAAE;MACVC,IAAI,EAAE;QACJC,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,WAAW;QAClBC,aAAa,EAAE;MACjB,CAAC;MACDC,OAAO,EAAE;QACPJ,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE;MACjB;IACF,CAAC;IACDE,QAAQ,EAAE,CAAC,MAAM;EACnB;AACF,CAAC;AAED,SAASV,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"schema.js","names":["PDFSchema","settings","formSchema","properties","name","type","showInForm","label","formFieldType","caption","isDataPropery","required"],"sources":["../../../../src/components/FilePreview/PDF/schema.js"],"sourcesContent":["const PDFSchema = {\n settings: {},\n formSchema: {\n properties: {\n name: {\n type: 'string',\n showInForm: true,\n label: 'File name',\n formFieldType: 'text'\n },\n caption: {\n type: 'string',\n showInForm: true,\n formFieldType: 'text',\n isDataPropery: true\n }\n },\n required: ['name']\n }\n};\n\nexport { PDFSchema };\n"],"mappings":"AAAA,MAAMA,SAAS,GAAG;EAChBC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACVC,UAAU,EAAE;MACVC,IAAI,EAAE;QACJC,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,WAAW;QAClBC,aAAa,EAAE;MACjB,CAAC;MACDC,OAAO,EAAE;QACPJ,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE,MAAM;QACrBE,aAAa,EAAE;MACjB;IACF,CAAC;IACDC,QAAQ,EAAE,CAAC,MAAM;EACnB;AACF,CAAC;AAED,SAASX,SAAS","ignoreList":[]}
@@ -1,30 +1,84 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
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"];
3
5
  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; }
4
6
  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; }
5
7
  import React from 'react';
6
8
  import { FormBuilder } from '@blaze-cms/react-form-builder';
7
9
  import PropTypes from 'prop-types';
10
+ import { useQuery } from '@apollo/client';
11
+ import { getQuery, getDynamicQuery } from '@blaze-cms/admin-ui-utils';
8
12
  import { getPreview } from './get-preview';
13
+ import { FILE_DEFAULT_PROPS } from '../../constants';
9
14
  const FilePreview = ({
10
15
  file,
11
16
  handleFormChange,
12
17
  displayForm,
13
18
  previewType,
14
- children
19
+ children,
20
+ handleChangeFile,
21
+ showChangeButton,
22
+ disableFilePreview
15
23
  }) => {
24
+ const {
25
+ data: schemaData = {
26
+ getEntitySchemas: [{
27
+ properties: {},
28
+ actions: {
29
+ get: 'getFile'
30
+ }
31
+ }]
32
+ },
33
+ loading: schemaLoading
34
+ } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {
35
+ variables: {
36
+ identifier: 'file'
37
+ }
38
+ });
39
+ const [fileSchema] = schemaData && schemaData.getEntitySchemas ? schemaData.getEntitySchemas : [];
40
+ const fileQuery = getDynamicQuery('DATA_QUERY')(fileSchema, file.id, null, FILE_DEFAULT_PROPS);
41
+ const {
42
+ loading,
43
+ data: {
44
+ entityData: fileData
45
+ } = {}
46
+ } = useQuery(fileQuery, {
47
+ variables: {
48
+ id: file.id
49
+ },
50
+ fetchPolicy: 'cache-and-network',
51
+ skip: !fileSchema || !fileSchema.id
52
+ });
53
+ if (!fileSchema || schemaLoading || loading) return null;
16
54
  const {
17
55
  name,
18
56
  url,
19
57
  mimetype,
20
58
  data,
21
- store
22
- } = file;
59
+ store,
60
+ updated
61
+ } = fileData;
62
+ const bustUrl = (srcUrl, version) => {
63
+ if (!srcUrl) return srcUrl;
64
+ const sep = srcUrl.includes('?') ? '&' : '?';
65
+ return `${srcUrl}${sep}v=${version || Date.now()}`;
66
+ };
67
+ const displayUrl = bustUrl(url, updated);
23
68
  const [Preview, schema] = getPreview({
24
69
  mimetype,
25
70
  previewType
26
71
  });
27
72
  const shouldRenderForm = schema && displayForm;
73
+ const {
74
+ properties
75
+ } = fileSchema;
76
+ const {
77
+ name: nameProp,
78
+ storeKey: storeKeyProp
79
+ } = properties,
80
+ restProperties = _objectWithoutProperties(properties, _excluded);
81
+ _extends(schema.formSchema.properties, restProperties);
28
82
  if (shouldRenderForm && store) {
29
83
  const {
30
84
  defaultStore = {},
@@ -41,14 +95,17 @@ const FilePreview = ({
41
95
  }
42
96
  }
43
97
  const formBuilderData = {
44
- values: _objectSpread(_objectSpread({}, file), data)
98
+ values: _objectSpread(_objectSpread({}, data), fileData)
45
99
  };
46
100
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Preview, _extends({
47
101
  mimetype: mimetype,
48
- url: url,
102
+ url: displayUrl,
49
103
  name: name
50
104
  }, data, {
51
- file: file
105
+ file: file,
106
+ handleChangeFile: handleChangeFile,
107
+ disableFilePreview: disableFilePreview,
108
+ showChangeButton: showChangeButton
52
109
  }), shouldRenderForm && /*#__PURE__*/React.createElement("div", {
53
110
  className: "preview__details"
54
111
  }, /*#__PURE__*/React.createElement("div", {
@@ -68,10 +125,13 @@ FilePreview.propTypes = {
68
125
  file: PropTypes.object.isRequired,
69
126
  fileName: PropTypes.string,
70
127
  handleFormChange: PropTypes.func,
128
+ handleChangeFile: PropTypes.func,
71
129
  displayForm: PropTypes.bool,
72
130
  handlers: PropTypes.object,
73
131
  previewType: PropTypes.oneOf(Object.keys(FilePreview.availablePreviewTypes)),
74
- children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])
132
+ children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string]),
133
+ showChangeButton: PropTypes.bool,
134
+ disableFilePreview: PropTypes.bool
75
135
  };
76
136
  FilePreview.defaultProps = {
77
137
  displayForm: false,
@@ -79,7 +139,10 @@ FilePreview.defaultProps = {
79
139
  handlers: {},
80
140
  previewType: FilePreview.availablePreviewTypes.card,
81
141
  handleFormChange: () => {},
82
- children: []
142
+ handleChangeFile: () => {},
143
+ children: [],
144
+ showChangeButton: false,
145
+ disableFilePreview: true
83
146
  };
84
147
  export default FilePreview;
85
148
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","FormBuilder","PropTypes","getPreview","FilePreview","file","handleFormChange","displayForm","previewType","children","name","url","mimetype","data","store","Preview","schema","shouldRenderForm","defaultStore","storeOptions","formSchema","properties","storeKey","options","key","selected","formBuilderData","values","_objectSpread","createElement","Fragment","_extends","className","filename","formClassName","onChange","availablePreviewTypes","card","raw","propTypes","object","isRequired","fileName","string","func","bool","handlers","oneOf","Object","keys","oneOfType","array","defaultProps"],"sources":["../../../src/components/FilePreview/index.js"],"sourcesContent":["import React from 'react';\nimport { FormBuilder } from '@blaze-cms/react-form-builder';\nimport PropTypes from 'prop-types';\nimport { getPreview } from './get-preview';\n\nconst FilePreview = ({ file, handleFormChange, displayForm, previewType, children }) => {\n const { name, url, mimetype, data, store } = file;\n const [Preview, schema] = getPreview({ mimetype, previewType });\n const shouldRenderForm = schema && displayForm;\n\n if (shouldRenderForm && store) {\n const { defaultStore = {}, storeOptions = [] } = store;\n if (schema.formSchema.properties.storeKey) {\n schema.formSchema.properties.storeKey.options = storeOptions;\n if (defaultStore) {\n const { key } = defaultStore;\n schema.formSchema.properties.storeKey.selected = key;\n }\n }\n }\n\n const formBuilderData = { values: { ...file, ...data } };\n\n return (\n <>\n <Preview mimetype={mimetype} url={url} name={name} {...data} file={file}>\n {shouldRenderForm && (\n <div className=\"preview__details\">\n <div className=\"preview__filename\">{file.filename}</div>\n <FormBuilder\n formClassName=\"preview__form\"\n onChange={handleFormChange}\n data={formBuilderData}\n schema={schema.formSchema}\n />\n </div>\n )}\n </Preview>\n {children}\n </>\n );\n};\n\nFilePreview.availablePreviewTypes = {\n card: 'card',\n raw: 'raw'\n};\n\nFilePreview.propTypes = {\n file: PropTypes.object.isRequired,\n fileName: PropTypes.string,\n handleFormChange: PropTypes.func,\n displayForm: PropTypes.bool,\n handlers: PropTypes.object,\n previewType: PropTypes.oneOf(Object.keys(FilePreview.availablePreviewTypes)),\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFilePreview.defaultProps = {\n displayForm: false,\n fileName: '',\n handlers: {},\n previewType: FilePreview.availablePreviewTypes.card,\n handleFormChange: () => {},\n children: []\n};\n\nexport default FilePreview;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","FormBuilder","PropTypes","useQuery","getQuery","getDynamicQuery","getPreview","FILE_DEFAULT_PROPS","FilePreview","file","handleFormChange","displayForm","previewType","children","handleChangeFile","showChangeButton","disableFilePreview","data","schemaData","getEntitySchemas","properties","actions","get","loading","schemaLoading","variables","identifier","fileSchema","fileQuery","id","entityData","fileData","fetchPolicy","skip","name","url","mimetype","store","updated","bustUrl","srcUrl","version","sep","includes","Date","now","displayUrl","Preview","schema","shouldRenderForm","nameProp","storeKey","storeKeyProp","restProperties","_objectWithoutProperties","_excluded","_extends","formSchema","defaultStore","storeOptions","options","key","selected","formBuilderData","values","_objectSpread","createElement","Fragment","className","filename","formClassName","onChange","availablePreviewTypes","card","raw","propTypes","object","isRequired","fileName","string","func","bool","handlers","oneOf","Object","keys","oneOfType","array","defaultProps"],"sources":["../../../src/components/FilePreview/index.js"],"sourcesContent":["import React from 'react';\nimport { FormBuilder } from '@blaze-cms/react-form-builder';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getQuery, getDynamicQuery } from '@blaze-cms/admin-ui-utils';\nimport { getPreview } from './get-preview';\nimport { FILE_DEFAULT_PROPS } from '../../constants';\n\nconst FilePreview = ({\n file,\n handleFormChange,\n displayForm,\n previewType,\n children,\n handleChangeFile,\n showChangeButton,\n disableFilePreview\n}) => {\n const {\n data: schemaData = {\n getEntitySchemas: [\n {\n properties: {},\n actions: {\n get: 'getFile'\n }\n }\n ]\n },\n loading: schemaLoading\n } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {\n variables: { identifier: 'file' }\n });\n\n const [fileSchema] = schemaData && schemaData.getEntitySchemas ? schemaData.getEntitySchemas : [];\n\n const fileQuery = getDynamicQuery('DATA_QUERY')(fileSchema, file.id, null, FILE_DEFAULT_PROPS);\n const { loading, data: { entityData: fileData } = {} } = useQuery(fileQuery, {\n variables: { id: file.id },\n fetchPolicy: 'cache-and-network',\n skip: !fileSchema || !fileSchema.id\n });\n\n if (!fileSchema || schemaLoading || loading) return null;\n\n const { name, url, mimetype, data, store, updated } = fileData;\n const bustUrl = (srcUrl, version) => {\n if (!srcUrl) return srcUrl;\n const sep = srcUrl.includes('?') ? '&' : '?';\n return `${srcUrl}${sep}v=${version || Date.now()}`;\n };\n const displayUrl = bustUrl(url, updated);\n const [Preview, schema] = getPreview({ mimetype, previewType });\n const shouldRenderForm = schema && displayForm;\n\n const { properties } = fileSchema;\n const { name: nameProp, storeKey: storeKeyProp, ...restProperties } = properties;\n Object.assign(schema.formSchema.properties, restProperties);\n\n if (shouldRenderForm && store) {\n const { defaultStore = {}, storeOptions = [] } = store;\n if (schema.formSchema.properties.storeKey) {\n schema.formSchema.properties.storeKey.options = storeOptions;\n if (defaultStore) {\n const { key } = defaultStore;\n schema.formSchema.properties.storeKey.selected = key;\n }\n }\n }\n\n const formBuilderData = { values: { ...data, ...fileData } };\n\n return (\n <>\n <Preview\n mimetype={mimetype}\n url={displayUrl}\n name={name}\n {...data}\n file={file}\n handleChangeFile={handleChangeFile}\n disableFilePreview={disableFilePreview}\n showChangeButton={showChangeButton}>\n {shouldRenderForm && (\n <div className=\"preview__details\">\n <div className=\"preview__filename\">{file.filename}</div>\n <FormBuilder\n formClassName=\"preview__form\"\n onChange={handleFormChange}\n data={formBuilderData}\n schema={schema.formSchema}\n />\n </div>\n )}\n </Preview>\n {children}\n </>\n );\n};\n\nFilePreview.availablePreviewTypes = {\n card: 'card',\n raw: 'raw'\n};\n\nFilePreview.propTypes = {\n file: PropTypes.object.isRequired,\n fileName: PropTypes.string,\n handleFormChange: PropTypes.func,\n handleChangeFile: PropTypes.func,\n displayForm: PropTypes.bool,\n handlers: PropTypes.object,\n previewType: PropTypes.oneOf(Object.keys(FilePreview.availablePreviewTypes)),\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string]),\n showChangeButton: PropTypes.bool,\n disableFilePreview: PropTypes.bool\n};\n\nFilePreview.defaultProps = {\n displayForm: false,\n fileName: '',\n handlers: {},\n previewType: FilePreview.availablePreviewTypes.card,\n handleFormChange: () => {},\n handleChangeFile: () => {},\n children: [],\n showChangeButton: false,\n disableFilePreview: true\n};\n\nexport default FilePreview;\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,16 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import Button from '@blaze-react/button';
3
4
  import { DefaultIcon } from './icons';
4
5
  const PreviewDefault = ({
5
6
  url,
6
7
  name,
7
- children
8
+ children,
9
+ handleChangeFile,
10
+ showChangeButton
8
11
  }) => /*#__PURE__*/React.createElement("div", {
9
- className: "preview"
12
+ className: "preview",
13
+ key: `default-${url}`
10
14
  }, /*#__PURE__*/React.createElement("div", {
11
15
  className: "preview__file preview__file--default"
12
16
  }, /*#__PURE__*/React.createElement("div", {
@@ -17,11 +21,21 @@ const PreviewDefault = ({
17
21
  href: url,
18
22
  rel: "noopener noreferrer",
19
23
  target: "_blank"
20
- }, "Original")))), children);
24
+ }, "Original")), showChangeButton && /*#__PURE__*/React.createElement("div", {
25
+ className: "preview__change-button"
26
+ }, /*#__PURE__*/React.createElement(Button, {
27
+ onClick: handleChangeFile
28
+ }, "Change file")))), children);
21
29
  PreviewDefault.propTypes = {
22
30
  url: PropTypes.string.isRequired,
23
31
  name: PropTypes.string.isRequired,
24
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
32
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
33
+ handleChangeFile: PropTypes.func,
34
+ showChangeButton: PropTypes.bool
35
+ };
36
+ PreviewDefault.defaultProps = {
37
+ handleChangeFile: () => {},
38
+ showChangeButton: false
25
39
  };
26
40
  export { PreviewDefault };
27
41
  //# sourceMappingURL=PreviewDefault.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewDefault.js","names":["React","PropTypes","DefaultIcon","PreviewDefault","url","name","children","createElement","className","href","rel","target","propTypes","string","isRequired","oneOfType","arrayOf","node"],"sources":["../../../../src/components/FilePreview/previewDefault/PreviewDefault.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DefaultIcon } from './icons';\n\nconst PreviewDefault = ({ url, name, children }) => (\n <div className=\"preview\">\n <div className=\"preview__file preview__file--default\">\n <div className=\"preview__file--icon\">\n <DefaultIcon />\n <span>Preview not available</span>\n </div>\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n </div>\n </div>\n {children}\n </div>\n);\n\nPreviewDefault.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport { PreviewDefault };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,SAAS;AAErC,MAAMC,cAAc,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAS,CAAC,kBAC7CN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAS,gBACtBR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAsC,gBACnDR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAqB,gBAClCR,KAAA,CAAAO,aAAA,CAACL,WAAW,MAAE,CAAC,eACfF,KAAA,CAAAO,aAAA,eAAM,uBAA2B,CAC9B,CAAC,eACNP,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAyC,gBACtDR,KAAA,CAAAO,aAAA,yBACEP,KAAA,CAAAO,aAAA,iBAAQ,cAAoB,CAAC,eAC7BP,KAAA,CAAAO,aAAA;EAAGE,IAAI,EAAEL,GAAI;EAACM,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,UAErD,CACF,CACA,CACF,CAAC,EACLL,QACE,CACN;AAEDH,cAAc,CAACS,SAAS,GAAG;EACzBR,GAAG,EAAEH,SAAS,CAACY,MAAM,CAACC,UAAU;EAChCT,IAAI,EAAEJ,SAAS,CAACY,MAAM,CAACC,UAAU;EACjCR,QAAQ,EAAEL,SAAS,CAACc,SAAS,CAAC,CAACd,SAAS,CAACe,OAAO,CAACf,SAAS,CAACgB,IAAI,CAAC,EAAEhB,SAAS,CAACgB,IAAI,CAAC,CAAC,CAACH;AACrF,CAAC;AAED,SAASX,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"PreviewDefault.js","names":["React","PropTypes","Button","DefaultIcon","PreviewDefault","url","name","children","handleChangeFile","showChangeButton","createElement","className","key","href","rel","target","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","func","bool","defaultProps"],"sources":["../../../../src/components/FilePreview/previewDefault/PreviewDefault.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { DefaultIcon } from './icons';\n\nconst PreviewDefault = ({ url, name, children, handleChangeFile, showChangeButton }) => (\n <div className=\"preview\" key={`default-${url}`}>\n <div className=\"preview__file preview__file--default\">\n <div className=\"preview__file--icon\">\n <DefaultIcon />\n <span>Preview not available</span>\n </div>\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n {showChangeButton && (\n <div className=\"preview__change-button\">\n <Button onClick={handleChangeFile}>Change file</Button>\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n);\n\nPreviewDefault.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n handleChangeFile: PropTypes.func,\n showChangeButton: PropTypes.bool\n};\n\nPreviewDefault.defaultProps = {\n handleChangeFile: () => {},\n showChangeButton: false\n};\n\nexport { PreviewDefault };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,WAAW,QAAQ,SAAS;AAErC,MAAMC,cAAc,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,gBAAgB;EAAEC;AAAiB,CAAC,kBACjFT,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC,SAAS;EAACC,GAAG,EAAE,WAAWP,GAAG;AAAG,gBAC7CL,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAsC,gBACnDX,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAqB,gBAClCX,KAAA,CAAAU,aAAA,CAACP,WAAW,MAAE,CAAC,eACfH,KAAA,CAAAU,aAAA,eAAM,uBAA2B,CAC9B,CAAC,eACNV,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAyC,gBACtDX,KAAA,CAAAU,aAAA,yBACEV,KAAA,CAAAU,aAAA,iBAAQ,cAAoB,CAAC,eAC7BV,KAAA,CAAAU,aAAA;EAAGG,IAAI,EAAER,GAAI;EAACS,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,UAErD,CACF,CAAC,EACHN,gBAAgB,iBACfT,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAwB,gBACrCX,KAAA,CAAAU,aAAA,CAACR,MAAM;EAACc,OAAO,EAAER;AAAiB,GAAC,aAAmB,CACnD,CAEJ,CACF,CAAC,EACLD,QACE,CACN;AAEDH,cAAc,CAACa,SAAS,GAAG;EACzBZ,GAAG,EAAEJ,SAAS,CAACiB,MAAM,CAACC,UAAU;EAChCb,IAAI,EAAEL,SAAS,CAACiB,MAAM,CAACC,UAAU;EACjCZ,QAAQ,EAAEN,SAAS,CAACmB,SAAS,CAAC,CAACnB,SAAS,CAACoB,OAAO,CAACpB,SAAS,CAACqB,IAAI,CAAC,EAAErB,SAAS,CAACqB,IAAI,CAAC,CAAC,CAACH,UAAU;EAC7FX,gBAAgB,EAAEP,SAAS,CAACsB,IAAI;EAChCd,gBAAgB,EAAER,SAAS,CAACuB;AAC9B,CAAC;AAEDpB,cAAc,CAACqB,YAAY,GAAG;EAC5BjB,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC1BC,gBAAgB,EAAE;AACpB,CAAC;AAED,SAASL,cAAc","ignoreList":[]}
@@ -4,10 +4,11 @@ import Actions from '../Actions';
4
4
  const RawPreviewDefault = ({
5
5
  url,
6
6
  name,
7
- file
7
+ file,
8
+ disableFilePreview
8
9
  }) => /*#__PURE__*/React.createElement("div", {
9
10
  className: "FilePreview"
10
- }, /*#__PURE__*/React.createElement("div", {
11
+ }, !disableFilePreview ? /*#__PURE__*/React.createElement("div", {
11
12
  className: "FilePreviewItem"
12
13
  }, /*#__PURE__*/React.createElement("div", {
13
14
  className: "FilePreviewItem__wrapper"
@@ -21,11 +22,18 @@ const RawPreviewDefault = ({
21
22
  className: "FilePreviewItem__info__fileName"
22
23
  }, name), /*#__PURE__*/React.createElement(Actions, {
23
24
  file: file
24
- }))));
25
+ }))) : /*#__PURE__*/React.createElement("div", {
26
+ className: "FilePreviewItem__info"
27
+ }, /*#__PURE__*/React.createElement("p", {
28
+ className: "FilePreviewItem__info__fileName FilePreviewItem__info--disablePreview"
29
+ }, name), /*#__PURE__*/React.createElement(Actions, {
30
+ file: file
31
+ })));
25
32
  RawPreviewDefault.propTypes = {
26
33
  url: PropTypes.string.isRequired,
27
34
  name: PropTypes.string.isRequired,
28
- file: PropTypes.object.isRequired
35
+ file: PropTypes.object.isRequired,
36
+ disableFilePreview: PropTypes.bool.isRequired
29
37
  };
30
38
  export { RawPreviewDefault };
31
39
  //# sourceMappingURL=RawPreviewDefault.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RawPreviewDefault.js","names":["React","PropTypes","Actions","RawPreviewDefault","url","name","file","createElement","className","src","alt","propTypes","string","isRequired","object"],"sources":["../../../../src/components/FilePreview/previewDefault/RawPreviewDefault.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Actions from '../Actions';\n\nconst RawPreviewDefault = ({ url, name, file }) => (\n <div className=\"FilePreview\">\n <div className=\"FilePreviewItem\">\n <div className=\"FilePreviewItem__wrapper\">\n <img className=\"FilePreviewItem__wrapper__default\" src={url} alt={name} />\n </div>\n <div className=\"FilePreviewItem__info\">\n <p className=\"FilePreviewItem__info__fileName\">{name}</p>\n <Actions file={file} />\n </div>\n </div>\n </div>\n);\n\nRawPreviewDefault.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n file: PropTypes.object.isRequired\n};\n\nexport { RawPreviewDefault };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,YAAY;AAEhC,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAK,CAAC,kBAC5CN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAa,gBAC1BR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAiB,gBAC9BR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAA0B,gBACvCR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC,mCAAmC;EAACC,GAAG,EAAEL,GAAI;EAACM,GAAG,EAAEL;AAAK,CAAE,CACtE,CAAC,eACNL,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAuB,gBACpCR,KAAA,CAAAO,aAAA;EAAGC,SAAS,EAAC;AAAiC,GAAEH,IAAQ,CAAC,eACzDL,KAAA,CAAAO,aAAA,CAACL,OAAO;EAACI,IAAI,EAAEA;AAAK,CAAE,CACnB,CACF,CACF,CACN;AAEDH,iBAAiB,CAACQ,SAAS,GAAG;EAC5BP,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,IAAI,EAAEJ,SAAS,CAACW,MAAM,CAACC,UAAU;EACjCP,IAAI,EAAEL,SAAS,CAACa,MAAM,CAACD;AACzB,CAAC;AAED,SAASV,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"RawPreviewDefault.js","names":["React","PropTypes","Actions","RawPreviewDefault","url","name","file","disableFilePreview","createElement","className","src","alt","propTypes","string","isRequired","object","bool"],"sources":["../../../../src/components/FilePreview/previewDefault/RawPreviewDefault.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Actions from '../Actions';\n\nconst RawPreviewDefault = ({ url, name, file, disableFilePreview }) => (\n <div className=\"FilePreview\">\n {!disableFilePreview ? (\n <div className=\"FilePreviewItem\">\n <div className=\"FilePreviewItem__wrapper\">\n <img className=\"FilePreviewItem__wrapper__default\" src={url} alt={name} />\n </div>\n <div className=\"FilePreviewItem__info\">\n <p className=\"FilePreviewItem__info__fileName\">{name}</p>\n <Actions file={file} />\n </div>\n </div>\n ) : (\n <div className=\"FilePreviewItem__info\">\n <p className=\"FilePreviewItem__info__fileName FilePreviewItem__info--disablePreview\">\n {name}\n </p>\n <Actions file={file} />\n </div>\n )}\n </div>\n);\n\nRawPreviewDefault.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n file: PropTypes.object.isRequired,\n disableFilePreview: PropTypes.bool.isRequired\n};\n\nexport { RawPreviewDefault };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,YAAY;AAEhC,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC,IAAI;EAAEC;AAAmB,CAAC,kBAChEP,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAAa,GACzB,CAACF,kBAAkB,gBAClBP,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAAiB,gBAC9BT,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAA0B,gBACvCT,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC,mCAAmC;EAACC,GAAG,EAAEN,GAAI;EAACO,GAAG,EAAEN;AAAK,CAAE,CACtE,CAAC,eACNL,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAAuB,gBACpCT,KAAA,CAAAQ,aAAA;EAAGC,SAAS,EAAC;AAAiC,GAAEJ,IAAQ,CAAC,eACzDL,KAAA,CAAAQ,aAAA,CAACN,OAAO;EAACI,IAAI,EAAEA;AAAK,CAAE,CACnB,CACF,CAAC,gBAENN,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAAuB,gBACpCT,KAAA,CAAAQ,aAAA;EAAGC,SAAS,EAAC;AAAuE,GACjFJ,IACA,CAAC,eACJL,KAAA,CAAAQ,aAAA,CAACN,OAAO;EAACI,IAAI,EAAEA;AAAK,CAAE,CACnB,CAEJ,CACN;AAEDH,iBAAiB,CAACS,SAAS,GAAG;EAC5BR,GAAG,EAAEH,SAAS,CAACY,MAAM,CAACC,UAAU;EAChCT,IAAI,EAAEJ,SAAS,CAACY,MAAM,CAACC,UAAU;EACjCR,IAAI,EAAEL,SAAS,CAACc,MAAM,CAACD,UAAU;EACjCP,kBAAkB,EAAEN,SAAS,CAACe,IAAI,CAACF;AACrC,CAAC;AAED,SAASX,iBAAiB","ignoreList":[]}
@@ -15,7 +15,8 @@ const previewDefaultSchema = {
15
15
  label: 'url',
16
16
  showInForm: true,
17
17
  formFieldType: 'text',
18
- description: 'Url format is not valid'
18
+ description: 'Url format is not valid',
19
+ isDataPropery: true
19
20
  }
20
21
  },
21
22
  required: ['name']
@@ -1 +1 @@
1
- {"version":3,"file":"previewDefaultSchema.js","names":["previewDefaultSchema","settings","formSchema","properties","name","type","showInForm","label","formFieldType","formPriority","hrefUrl","format","description","required"],"sources":["../../../../src/components/FilePreview/previewDefault/previewDefaultSchema.js"],"sourcesContent":["const previewDefaultSchema = {\n settings: {},\n formSchema: {\n properties: {\n name: {\n type: 'string',\n showInForm: true,\n label: 'File name',\n formFieldType: 'text',\n formPriority: 1.0\n },\n hrefUrl: {\n type: 'string',\n format: 'uri-template',\n label: 'url',\n showInForm: true,\n formFieldType: 'text',\n description: 'Url format is not valid'\n }\n },\n required: ['name']\n }\n};\n\nexport { previewDefaultSchema };\n"],"mappings":"AAAA,MAAMA,oBAAoB,GAAG;EAC3BC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACVC,UAAU,EAAE;MACVC,IAAI,EAAE;QACJC,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,WAAW;QAClBC,aAAa,EAAE,MAAM;QACrBC,YAAY,EAAE;MAChB,CAAC;MACDC,OAAO,EAAE;QACPL,IAAI,EAAE,QAAQ;QACdM,MAAM,EAAE,cAAc;QACtBJ,KAAK,EAAE,KAAK;QACZD,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE,MAAM;QACrBI,WAAW,EAAE;MACf;IACF,CAAC;IACDC,QAAQ,EAAE,CAAC,MAAM;EACnB;AACF,CAAC;AAED,SAASb,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"previewDefaultSchema.js","names":["previewDefaultSchema","settings","formSchema","properties","name","type","showInForm","label","formFieldType","formPriority","hrefUrl","format","description","isDataPropery","required"],"sources":["../../../../src/components/FilePreview/previewDefault/previewDefaultSchema.js"],"sourcesContent":["const previewDefaultSchema = {\n settings: {},\n formSchema: {\n properties: {\n name: {\n type: 'string',\n showInForm: true,\n label: 'File name',\n formFieldType: 'text',\n formPriority: 1.0\n },\n hrefUrl: {\n type: 'string',\n format: 'uri-template',\n label: 'url',\n showInForm: true,\n formFieldType: 'text',\n description: 'Url format is not valid',\n isDataPropery: true\n }\n },\n required: ['name']\n }\n};\n\nexport { previewDefaultSchema };\n"],"mappings":"AAAA,MAAMA,oBAAoB,GAAG;EAC3BC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACVC,UAAU,EAAE;MACVC,IAAI,EAAE;QACJC,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,WAAW;QAClBC,aAAa,EAAE,MAAM;QACrBC,YAAY,EAAE;MAChB,CAAC;MACDC,OAAO,EAAE;QACPL,IAAI,EAAE,QAAQ;QACdM,MAAM,EAAE,cAAc;QACtBJ,KAAK,EAAE,KAAK;QACZD,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE,MAAM;QACrBI,WAAW,EAAE,yBAAyB;QACtCC,aAAa,EAAE;MACjB;IACF,CAAC;IACDC,QAAQ,EAAE,CAAC,MAAM;EACnB;AACF,CAAC;AAED,SAASd,oBAAoB","ignoreList":[]}
@@ -4,9 +4,9 @@ import FilePreviewList from './FilePreviewList';
4
4
  const FileList = ({
5
5
  selectedFiles,
6
6
  children
7
- }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FilePreviewList, {
7
+ }) => /*#__PURE__*/React.createElement(FilePreviewList, {
8
8
  selectedFiles: selectedFiles
9
- }, children));
9
+ }, children);
10
10
  FileList.propTypes = {
11
11
  selectedFiles: PropTypes.array.isRequired,
12
12
  children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])
@@ -1 +1 @@
1
- {"version":3,"file":"FileList.js","names":["React","PropTypes","FilePreviewList","FileList","selectedFiles","children","createElement","Fragment","propTypes","array","isRequired","oneOfType","object","string","defaultProps"],"sources":["../../../src/components/FilePreviewReadOnly/FileList.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport FilePreviewList from './FilePreviewList';\n\nconst FileList = ({ selectedFiles, children }) => (\n <>\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n </>\n);\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: []\n};\n\nexport default FileList;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,aAAa;EAAEC;AAAS,CAAC,kBAC3CL,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAO,QAAA,qBACEP,KAAA,CAAAM,aAAA,CAACJ,eAAe;EAACE,aAAa,EAAEA;AAAc,GAAEC,QAA0B,CAC1E,CACH;AAEDF,QAAQ,CAACK,SAAS,GAAG;EACnBJ,aAAa,EAAEH,SAAS,CAACQ,KAAK,CAACC,UAAU;EACzCL,QAAQ,EAAEJ,SAAS,CAACU,SAAS,CAAC,CAACV,SAAS,CAACQ,KAAK,EAAER,SAAS,CAACW,MAAM,EAAEX,SAAS,CAACY,MAAM,CAAC;AACrF,CAAC;AAEDV,QAAQ,CAACW,YAAY,GAAG;EACtBT,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,QAAQ","ignoreList":[]}
1
+ {"version":3,"file":"FileList.js","names":["React","PropTypes","FilePreviewList","FileList","selectedFiles","children","createElement","propTypes","array","isRequired","oneOfType","object","string","defaultProps"],"sources":["../../../src/components/FilePreviewReadOnly/FileList.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport FilePreviewList from './FilePreviewList';\n\nconst FileList = ({ selectedFiles, children }) => (\n <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>\n);\n\nFileList.propTypes = {\n selectedFiles: PropTypes.array.isRequired,\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.string])\n};\n\nFileList.defaultProps = {\n children: []\n};\n\nexport default FileList;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,eAAe,MAAM,mBAAmB;AAE/C,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,aAAa;EAAEC;AAAS,CAAC,kBAC3CL,KAAA,CAAAM,aAAA,CAACJ,eAAe;EAACE,aAAa,EAAEA;AAAc,GAAEC,QAA0B,CAC3E;AAEDF,QAAQ,CAACI,SAAS,GAAG;EACnBH,aAAa,EAAEH,SAAS,CAACO,KAAK,CAACC,UAAU;EACzCJ,QAAQ,EAAEJ,SAAS,CAACS,SAAS,CAAC,CAACT,SAAS,CAACO,KAAK,EAAEP,SAAS,CAACU,MAAM,EAAEV,SAAS,CAACW,MAAM,CAAC;AACrF,CAAC;AAEDT,QAAQ,CAACU,YAAY,GAAG;EACtBR,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,QAAQ","ignoreList":[]}
@@ -17,10 +17,11 @@ const FilePreviewReadOnly = ({
17
17
  const [selectedFiles, setSelectedFiles] = useState([]);
18
18
  const client = useApolloClient();
19
19
  const getFiles = async (offset, ids) => {
20
+ if (!ids.length) return [];
20
21
  const {
21
22
  data: {
22
- files: newFiles
23
- }
23
+ files = []
24
+ } = {}
24
25
  } = await client.query({
25
26
  query: getQuery('GET_FILES'),
26
27
  variables: {
@@ -31,27 +32,28 @@ const FilePreviewReadOnly = ({
31
32
  }
32
33
  }
33
34
  },
34
- skip: !initialValue.length,
35
35
  fetchPolicy: 'network-only'
36
36
  });
37
- return newFiles;
37
+ return files;
38
38
  };
39
+ const orderFiles = (files, ids) => ids.map(currentId => files.find(({
40
+ id: fileId
41
+ }) => fileId === currentId)).filter(Boolean);
39
42
  useEffect(() => {
40
43
  (async () => {
41
44
  const files = await getFiles(0, initialValue);
42
45
  const orderedFiles = orderFiles(files, initialValue);
43
46
  setSelectedFiles(orderedFiles);
44
47
  })();
45
- }, [] //eslint-disable-line
46
- );
47
- const orderFiles = (files, ids) => ids.map(currentId => files.find(({
48
- id: fileId
49
- }) => fileId === currentId)).filter(Boolean);
50
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
48
+ // eslint-disable-next-line react-hooks/exhaustive-deps
49
+ }, []);
50
+ return /*#__PURE__*/React.createElement("div", {
51
51
  className: "form-field form-field--button"
52
- }, /*#__PURE__*/React.createElement("label", null, label), selectedFiles && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FileList, {
52
+ }, /*#__PURE__*/React.createElement("label", {
53
+ htmlFor: id
54
+ }, label), selectedFiles.length > 0 && /*#__PURE__*/React.createElement(FileList, {
53
55
  selectedFiles: selectedFiles
54
- }))));
56
+ }));
55
57
  };
56
58
  FilePreviewReadOnly.propTypes = {
57
59
  label: PropTypes.string.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"FilePreviewReadOnly.js","names":["React","useState","useEffect","PropTypes","useApolloClient","getQuery","FileList","formatInitialValue","FilePreviewReadOnly","label","id","type","value","initialValue","selectedFiles","setSelectedFiles","client","getFiles","offset","ids","data","files","newFiles","query","variables","where","_in","skip","length","fetchPolicy","orderedFiles","orderFiles","map","currentId","find","fileId","filter","Boolean","createElement","Fragment","className","propTypes","string","isRequired","oneOfType","array","defaultProps"],"sources":["../../../src/components/FilePreviewReadOnly/FilePreviewReadOnly.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileList from './FileList';\nimport { formatInitialValue } from './mappers';\n\nconst FilePreviewReadOnly = ({ label, id, type, value }) => {\n const initialValue = formatInitialValue({ value, type });\n const [selectedFiles, setSelectedFiles] = useState([]);\n const client = useApolloClient();\n\n const getFiles = async (offset, ids) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !initialValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const files = await getFiles(0, initialValue);\n const orderedFiles = orderFiles(files, initialValue);\n setSelectedFiles(orderedFiles);\n })();\n },\n [] //eslint-disable-line\n );\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <>\n <FileList selectedFiles={selectedFiles} />\n </>\n )}\n </div>\n </>\n );\n};\n\nFilePreviewReadOnly.propTypes = {\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n};\n\nFilePreviewReadOnly.defaultProps = {\n value: ''\n};\n\nexport default FilePreviewReadOnly;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,QAAQ,QAAQ,2BAA2B;AACpD,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,EAAE;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EAC1D,MAAMC,YAAY,GAAGN,kBAAkB,CAAC;IAAEK,KAAK;IAAED;EAAK,CAAC,CAAC;EACxD,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGd,QAAQ,CAAC,EAAE,CAAC;EACtD,MAAMe,MAAM,GAAGZ,eAAe,CAAC,CAAC;EAEhC,MAAMa,QAAQ,GAAG,MAAAA,CAAOC,MAAM,EAAEC,GAAG,KAAK;IACtC,MAAM;MACJC,IAAI,EAAE;QAAEC,KAAK,EAAEC;MAAS;IAC1B,CAAC,GAAG,MAAMN,MAAM,CAACO,KAAK,CAAC;MACrBA,KAAK,EAAElB,QAAQ,CAAC,WAAW,CAAC;MAC5BmB,SAAS,EAAE;QACTN,MAAM;QACNO,KAAK,EAAE;UACLf,EAAE,EAAE;YACFgB,GAAG,EAAEP;UACP;QACF;MACF,CAAC;MACDQ,IAAI,EAAE,CAACd,YAAY,CAACe,MAAM;MAC1BC,WAAW,EAAE;IACf,CAAC,CAAC;IACF,OAAOP,QAAQ;EACjB,CAAC;EAEDpB,SAAS,CACP,MAAM;IACJ,CAAC,YAAY;MACX,MAAMmB,KAAK,GAAG,MAAMJ,QAAQ,CAAC,CAAC,EAAEJ,YAAY,CAAC;MAC7C,MAAMiB,YAAY,GAAGC,UAAU,CAACV,KAAK,EAAER,YAAY,CAAC;MACpDE,gBAAgB,CAACe,YAAY,CAAC;IAChC,CAAC,EAAE,CAAC;EACN,CAAC,EACD,EAAE,CAAC;EACL,CAAC;EAED,MAAMC,UAAU,GAAGA,CAACV,KAAK,EAAEF,GAAG,KAC5BA,GAAG,CAACa,GAAG,CAACC,SAAS,IAAIZ,KAAK,CAACa,IAAI,CAAC,CAAC;IAAExB,EAAE,EAAEyB;EAAO,CAAC,KAAKA,MAAM,KAAKF,SAAS,CAAC,CAAC,CAACG,MAAM,CAACC,OAAO,CAAC;EAE5F,oBACErC,KAAA,CAAAsC,aAAA,CAAAtC,KAAA,CAAAuC,QAAA,qBACEvC,KAAA,CAAAsC,aAAA;IAAKE,SAAS,EAAC;EAA+B,gBAC5CxC,KAAA,CAAAsC,aAAA,gBAAQ7B,KAAa,CAAC,EACrBK,aAAa,iBACZd,KAAA,CAAAsC,aAAA,CAAAtC,KAAA,CAAAuC,QAAA,qBACEvC,KAAA,CAAAsC,aAAA,CAAChC,QAAQ;IAACQ,aAAa,EAAEA;EAAc,CAAE,CACzC,CAED,CACL,CAAC;AAEP,CAAC;AAEDN,mBAAmB,CAACiC,SAAS,GAAG;EAC9BhC,KAAK,EAAEN,SAAS,CAACuC,MAAM,CAACC,UAAU;EAClCjC,EAAE,EAAEP,SAAS,CAACuC,MAAM,CAACC,UAAU;EAC/BhC,IAAI,EAAER,SAAS,CAACuC,MAAM,CAACC,UAAU;EACjC/B,KAAK,EAAET,SAAS,CAACyC,SAAS,CAAC,CAACzC,SAAS,CAACuC,MAAM,EAAEvC,SAAS,CAAC0C,KAAK,CAAC;AAChE,CAAC;AAEDrC,mBAAmB,CAACsC,YAAY,GAAG;EACjClC,KAAK,EAAE;AACT,CAAC;AAED,eAAeJ,mBAAmB","ignoreList":[]}
1
+ {"version":3,"file":"FilePreviewReadOnly.js","names":["React","useState","useEffect","PropTypes","useApolloClient","getQuery","FileList","formatInitialValue","FilePreviewReadOnly","label","id","type","value","initialValue","selectedFiles","setSelectedFiles","client","getFiles","offset","ids","length","data","files","query","variables","where","_in","fetchPolicy","orderFiles","map","currentId","find","fileId","filter","Boolean","orderedFiles","createElement","className","htmlFor","propTypes","string","isRequired","oneOfType","array","defaultProps"],"sources":["../../../src/components/FilePreviewReadOnly/FilePreviewReadOnly.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileList from './FileList';\nimport { formatInitialValue } from './mappers';\n\nconst FilePreviewReadOnly = ({ label, id, type, value }) => {\n const initialValue = formatInitialValue({ value, type });\n const [selectedFiles, setSelectedFiles] = useState([]);\n const client = useApolloClient();\n\n const getFiles = async (offset, ids) => {\n if (!ids.length) return [];\n const { data: { files = [] } = {} } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n offset,\n where: {\n id: { _in: ids }\n }\n },\n fetchPolicy: 'network-only'\n });\n return files;\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n useEffect(() => {\n (async () => {\n const files = await getFiles(0, initialValue);\n const orderedFiles = orderFiles(files, initialValue);\n setSelectedFiles(orderedFiles);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div className=\"form-field form-field--button\">\n <label htmlFor={id}>{label}</label>\n {selectedFiles.length > 0 && <FileList selectedFiles={selectedFiles} />}\n </div>\n );\n};\n\nFilePreviewReadOnly.propTypes = {\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n};\n\nFilePreviewReadOnly.defaultProps = {\n value: ''\n};\n\nexport default FilePreviewReadOnly;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,QAAQ,QAAQ,2BAA2B;AACpD,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,KAAK;EAAEC,EAAE;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EAC1D,MAAMC,YAAY,GAAGN,kBAAkB,CAAC;IAAEK,KAAK;IAAED;EAAK,CAAC,CAAC;EACxD,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGd,QAAQ,CAAC,EAAE,CAAC;EACtD,MAAMe,MAAM,GAAGZ,eAAe,CAAC,CAAC;EAEhC,MAAMa,QAAQ,GAAG,MAAAA,CAAOC,MAAM,EAAEC,GAAG,KAAK;IACtC,IAAI,CAACA,GAAG,CAACC,MAAM,EAAE,OAAO,EAAE;IAC1B,MAAM;MAAEC,IAAI,EAAE;QAAEC,KAAK,GAAG;MAAG,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,MAAMN,MAAM,CAACO,KAAK,CAAC;MACvDA,KAAK,EAAElB,QAAQ,CAAC,WAAW,CAAC;MAC5BmB,SAAS,EAAE;QACTN,MAAM;QACNO,KAAK,EAAE;UACLf,EAAE,EAAE;YAAEgB,GAAG,EAAEP;UAAI;QACjB;MACF,CAAC;MACDQ,WAAW,EAAE;IACf,CAAC,CAAC;IACF,OAAOL,KAAK;EACd,CAAC;EAED,MAAMM,UAAU,GAAGA,CAACN,KAAK,EAAEH,GAAG,KAC5BA,GAAG,CAACU,GAAG,CAACC,SAAS,IAAIR,KAAK,CAACS,IAAI,CAAC,CAAC;IAAErB,EAAE,EAAEsB;EAAO,CAAC,KAAKA,MAAM,KAAKF,SAAS,CAAC,CAAC,CAACG,MAAM,CAACC,OAAO,CAAC;EAE5FhC,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX,MAAMoB,KAAK,GAAG,MAAML,QAAQ,CAAC,CAAC,EAAEJ,YAAY,CAAC;MAC7C,MAAMsB,YAAY,GAAGP,UAAU,CAACN,KAAK,EAAET,YAAY,CAAC;MACpDE,gBAAgB,CAACoB,YAAY,CAAC;IAChC,CAAC,EAAE,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEnC,KAAA,CAAAoC,aAAA;IAAKC,SAAS,EAAC;EAA+B,gBAC5CrC,KAAA,CAAAoC,aAAA;IAAOE,OAAO,EAAE5B;EAAG,GAAED,KAAa,CAAC,EAClCK,aAAa,CAACM,MAAM,GAAG,CAAC,iBAAIpB,KAAA,CAAAoC,aAAA,CAAC9B,QAAQ;IAACQ,aAAa,EAAEA;EAAc,CAAE,CACnE,CAAC;AAEV,CAAC;AAEDN,mBAAmB,CAAC+B,SAAS,GAAG;EAC9B9B,KAAK,EAAEN,SAAS,CAACqC,MAAM,CAACC,UAAU;EAClC/B,EAAE,EAAEP,SAAS,CAACqC,MAAM,CAACC,UAAU;EAC/B9B,IAAI,EAAER,SAAS,CAACqC,MAAM,CAACC,UAAU;EACjC7B,KAAK,EAAET,SAAS,CAACuC,SAAS,CAAC,CAACvC,SAAS,CAACqC,MAAM,EAAErC,SAAS,CAACwC,KAAK,CAAC;AAChE,CAAC;AAEDnC,mBAAmB,CAACoC,YAAY,GAAG;EACjChC,KAAK,EAAE;AACT,CAAC;AAED,eAAeJ,mBAAmB","ignoreList":[]}