@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
@@ -4,10 +4,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
4
4
  import React, { useState, useContext, useEffect } from 'react';
5
5
  import FileUpload from '@blaze-react/file-upload';
6
6
  import PropTypes from 'prop-types';
7
- import { useApolloClient } from '@apollo/client';
7
+ import { useApolloClient, useQuery } from '@apollo/client';
8
8
  import { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';
9
- import { parseFormValues } from '@blaze-cms/react-form-builder';
10
9
  import { useToasts } from '@blaze-react/toaster';
10
+ import Tooltip from '@blaze-react/tooltip';
11
11
  import { MORE } from '../../constants';
12
12
  import ListingContainer from '../ListingContainer';
13
13
  import { MediaContextProvider } from '../../utils/media-context';
@@ -25,7 +25,11 @@ const FileUploadAdapter = ({
25
25
  shouldRenderInPreview,
26
26
  canDragAndDrop,
27
27
  simpleLayout,
28
- previewAllFiles
28
+ tooltip,
29
+ previewAllFiles,
30
+ disableFilePreview,
31
+ fileType,
32
+ storeKey
29
33
  }) => {
30
34
  const {
31
35
  InjectPreview
@@ -38,13 +42,22 @@ const FileUploadAdapter = ({
38
42
  type
39
43
  });
40
44
  const [currentValue, setCurrentValue] = useState(initialValue);
41
- const [currentOffset, setCurrentOffset] = useState(0);
42
45
  const [selectedFiles, setSelectedFiles] = useState([]);
43
46
  const [editFile, setEditFile] = useState(null);
47
+ const [allFilesLoaded, setAllFilesLoaded] = useState(false);
44
48
  const client = useApolloClient();
45
49
  const {
46
50
  addToast
47
51
  } = useToasts();
52
+ const {
53
+ data: {
54
+ getEntitySchemas: [schemaData] = []
55
+ } = {}
56
+ } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {
57
+ variables: {
58
+ identifier: 'file'
59
+ }
60
+ });
48
61
  const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {
49
62
  const {
50
63
  data: {
@@ -68,24 +81,26 @@ const FileUploadAdapter = ({
68
81
  };
69
82
  useEffect(() => {
70
83
  (async () => {
84
+ if (allFilesLoaded) {
85
+ const loadedFiles = await getFiles(0, currentValue, true);
86
+ const loadedOrderedFiles = orderFiles(loadedFiles, currentValue);
87
+ setSelectedFiles(loadedOrderedFiles);
88
+ return;
89
+ }
71
90
  const initialFiles = !selectedFiles.length && !previewAllFiles ? currentValue.filter((_, i) => i <= 3) : currentValue;
72
91
  const files = await getFiles(0, initialFiles);
73
92
  const orderedFiles = orderFiles(files, currentValue);
74
- setCurrentOffset(0);
75
93
  setSelectedFiles(orderedFiles);
94
+ setAllFilesLoaded(false);
76
95
  })();
77
96
  }, [currentValue] //eslint-disable-line
78
97
  );
79
98
  const fetchMore = async shouldFetchAll => {
80
99
  if (selectedFiles.length === currentValue.length) return;
81
- const newOffset = currentOffset + 4;
82
- const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;
83
- const offsetToUse = shouldFetchAll ? 0 : updatedOffset;
84
- const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);
85
- const newFiles = [...selectedFiles, ...files];
86
- const orderedFiles = orderFiles(newFiles, currentValue);
87
- setSelectedFiles(orderedFiles);
88
- setCurrentOffset(newOffset);
100
+ const newFiles = await getFiles(0, currentValue, true);
101
+ const newOrderedFiles = orderFiles(newFiles, currentValue);
102
+ setSelectedFiles(newOrderedFiles);
103
+ setAllFilesLoaded(true);
89
104
  };
90
105
  const handleSelectedFiles = (files, checkIsUnselecting = true) => {
91
106
  const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);
@@ -159,9 +174,10 @@ const FileUploadAdapter = ({
159
174
  };
160
175
  const fileUploadButtonText = getButtonText({
161
176
  maxItems,
162
- value: initialValue
177
+ value: initialValue,
178
+ fileType
163
179
  });
164
- const filesPending = previewAllFiles ? 0 : getNumberFilesPendingToFetch(currentOffset, currentValue);
180
+ const filesPending = previewAllFiles ? 0 : getNumberFilesPendingToFetch(selectedFiles.length, currentValue);
165
181
  const onOpenLibrary = () => setDisplayModal(true);
166
182
  const handleEditModal = file => {
167
183
  const selectedEditFile = selectedFiles.find(({
@@ -170,22 +186,25 @@ const FileUploadAdapter = ({
170
186
  setEditFile(selectedEditFile);
171
187
  };
172
188
  const handleEditFileForm = editedFile => {
173
- const values = parseFormValues(editedFile.valuesChecked);
174
- const {
175
- altText,
176
- caption,
177
- credits,
178
- hrefUrl,
179
- name
180
- } = values;
181
- setEditFile(_objectSpread(_objectSpread({}, editFile), {}, {
182
- name,
183
- data: {
184
- altText,
185
- caption,
186
- credits,
187
- hrefUrl
189
+ const dataValues = editedFile.valuesChecked.reduce((acc, {
190
+ id: formValueId,
191
+ value: formValue,
192
+ isDataPropery
193
+ }) => {
194
+ if (isDataPropery) {
195
+ acc.data[formValueId] = formValue;
196
+ } else {
197
+ acc[formValueId] = formValue;
188
198
  }
199
+ return acc;
200
+ }, {
201
+ id: editFile.id,
202
+ data: _objectSpread({}, editFile.data)
203
+ });
204
+ delete dataValues.data.__typename; // Remove __typename if it exists in data to avoid issues with Apollo cache.
205
+
206
+ setEditFile(_objectSpread(_objectSpread({}, editFile), {}, {
207
+ formData: dataValues
189
208
  }));
190
209
  };
191
210
  const orderFiles = (files, ids) => ids.map(currentId => files.find(({
@@ -198,7 +217,7 @@ const FileUploadAdapter = ({
198
217
  },
199
218
  modifiers: ['cancel']
200
219
  }, {
201
- textButton: 'Save',
220
+ textButton: 'Apply',
202
221
  callback: () => {
203
222
  closeModalAndSetValue(true);
204
223
  },
@@ -211,12 +230,13 @@ const FileUploadAdapter = ({
211
230
  },
212
231
  modifiers: ['cancel']
213
232
  }, {
214
- textButton: 'Save',
233
+ textButton: 'Apply',
215
234
  callback: async () => {
216
235
  const {
217
236
  name,
218
237
  id: editedFileId,
219
- data
238
+ data,
239
+ formData
220
240
  } = editFile;
221
241
  const updatedSelectedFiles = selectedFiles.map(selectedFile => {
222
242
  if (selectedFile.id === editedFileId) {
@@ -232,11 +252,9 @@ const FileUploadAdapter = ({
232
252
  await client.mutate({
233
253
  mutation: getMutation('UPDATE_FILE'),
234
254
  variables: {
235
- input: {
236
- name,
237
- data,
255
+ input: _objectSpread(_objectSpread({}, formData), {}, {
238
256
  id: editedFileId
239
- }
257
+ })
240
258
  },
241
259
  update(cache, {
242
260
  data: {
@@ -280,7 +298,9 @@ const FileUploadAdapter = ({
280
298
  }, "+ ", filesPendingString) : null;
281
299
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
282
300
  className: "form-field form-field--button"
283
- }, /*#__PURE__*/React.createElement("label", null, label), selectedFiles && /*#__PURE__*/React.createElement(MediaContextProvider, {
301
+ }, /*#__PURE__*/React.createElement("label", null, label, " ", /*#__PURE__*/React.createElement(Tooltip, {
302
+ tooltipContent: tooltip
303
+ })), selectedFiles && /*#__PURE__*/React.createElement(MediaContextProvider, {
284
304
  value: {
285
305
  handleEditModal,
286
306
  onUnselectFile: handleSelectedFiles
@@ -299,6 +319,7 @@ const FileUploadAdapter = ({
299
319
  fetchMore: fetchMore
300
320
  })), /*#__PURE__*/React.createElement(FileUpload, {
301
321
  actionText: fileUploadButtonText,
322
+ storeKey: storeKey,
302
323
  handleLibraryClick: () => {
303
324
  if (simpleLayout) {
304
325
  setDisplayFileUploadModal(true);
@@ -316,7 +337,9 @@ const FileUploadAdapter = ({
316
337
  fileName: editFile.fileName,
317
338
  handleFormChange: handleEditFileForm,
318
339
  displayForm: true,
319
- previewType: "card"
340
+ previewType: "card",
341
+ disableFilePreview: disableFilePreview,
342
+ schemaData: schemaData
320
343
  })), displayFileUploadModal && simpleLayout && /*#__PURE__*/React.createElement("div", {
321
344
  className: "file-upload-modal-wrapper"
322
345
  }, /*#__PURE__*/React.createElement(ListingContainer, {
@@ -326,7 +349,9 @@ const FileUploadAdapter = ({
326
349
  handleSelectedFiles: handleSelectedFiles,
327
350
  maxItems: currentLimit,
328
351
  simpleLayout: simpleLayout,
329
- filesSelected: currentValue.length > 1 ? currentValue : []
352
+ filesSelected: currentValue.length > 1 ? currentValue : [],
353
+ openEditInModal: true,
354
+ storeKey: storeKey
330
355
  })), displayModal && !simpleLayout && /*#__PURE__*/React.createElement("div", {
331
356
  className: "file-upload-modal-wrapper"
332
357
  }, /*#__PURE__*/React.createElement(Modal, {
@@ -340,7 +365,9 @@ const FileUploadAdapter = ({
340
365
  setDisplayFileUploadModal: setDisplayFileUploadModal,
341
366
  handleSelectedFiles: handleSelectedFiles,
342
367
  maxItems: currentLimit,
343
- filesSelected: currentValue.length > 1 ? currentValue : []
368
+ filesSelected: currentValue.length > 1 ? currentValue : [],
369
+ openEditInModal: true,
370
+ storeKey: storeKey
344
371
  }))));
345
372
  };
346
373
  FileUploadAdapter.propTypes = {
@@ -353,7 +380,11 @@ FileUploadAdapter.propTypes = {
353
380
  shouldRenderInPreview: PropTypes.bool,
354
381
  canDragAndDrop: PropTypes.bool,
355
382
  simpleLayout: PropTypes.bool,
356
- previewAllFiles: PropTypes.bool
383
+ previewAllFiles: PropTypes.bool,
384
+ tooltip: PropTypes.string,
385
+ fileType: PropTypes.string,
386
+ disableFilePreview: PropTypes.bool,
387
+ storeKey: PropTypes.string
357
388
  };
358
389
  FileUploadAdapter.defaultProps = {
359
390
  value: '',
@@ -361,7 +392,11 @@ FileUploadAdapter.defaultProps = {
361
392
  shouldRenderInPreview: false,
362
393
  canDragAndDrop: false,
363
394
  simpleLayout: false,
364
- previewAllFiles: false
395
+ previewAllFiles: false,
396
+ tooltip: '',
397
+ fileType: 'file',
398
+ disableFilePreview: true,
399
+ storeKey: null
365
400
  };
366
401
  export default FileUploadAdapter;
367
402
  //# sourceMappingURL=FileUploadAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadAdapter.js","names":["React","useState","useContext","useEffect","FileUpload","PropTypes","useApolloClient","getQuery","getMutation","ModalAdapter","Modal","parseFormValues","useToasts","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","displayFileUploadModal","setDisplayFileUploadModal","initialValue","currentValue","setCurrentValue","currentOffset","setCurrentOffset","selectedFiles","setSelectedFiles","editFile","setEditFile","client","addToast","getFiles","offset","ids","fetchAll","data","files","newFiles","query","variables","limit","where","_in","skip","length","fetchPolicy","initialFiles","filter","_","i","orderedFiles","orderFiles","fetchMore","shouldFetchAll","newOffset","updatedOffset","offsetToUse","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","valuesChecked","altText","caption","credits","hrefUrl","_objectSpread","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","e","console","error","filesPendingString","fileListSpan","createElement","className","onClick","Fragment","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport { useToasts } from '@blaze-react/toaster';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop,\n simpleLayout,\n previewAllFiles\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles =\n !selectedFiles.length && !previewAllFiles\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue });\n\n const filesPending = previewAllFiles\n ? 0\n : getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(cache, { data: { updateFile: fileUpdated } }) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n\n {displayFileUploadModal && simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </div>\n )}\n\n {displayModal && !simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool,\n simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileUploadAdapter.js","names":["React","useState","useContext","useEffect","FileUpload","PropTypes","useApolloClient","useQuery","getQuery","getMutation","ModalAdapter","Modal","useToasts","Tooltip","MORE","ListingContainer","MediaContextProvider","FileList","useLimit","getFormat","formatInitialValue","transformToArray","isUnselecting","getButtonText","getNumberFilesPendingToFetch","FilePreview","FileUploadAdapter","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","tooltip","previewAllFiles","disableFilePreview","fileType","storeKey","InjectPreview","FormContext","currentLimit","displayModal","setDisplayModal","displayFileUploadModal","setDisplayFileUploadModal","initialValue","currentValue","setCurrentValue","selectedFiles","setSelectedFiles","editFile","setEditFile","allFilesLoaded","setAllFilesLoaded","client","addToast","data","getEntitySchemas","schemaData","variables","identifier","getFiles","offset","ids","fetchAll","files","newFiles","query","limit","where","_in","skip","length","fetchPolicy","loadedFiles","loadedOrderedFiles","orderFiles","initialFiles","filter","_","i","orderedFiles","fetchMore","shouldFetchAll","newOrderedFiles","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","valueArray","selectedFilesIds","valueId","includes","parsedValue","filesIds","event","target","name","fileData","handleReorderFiles","map","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","filesPending","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_id","handleEditFileForm","editedFile","dataValues","valuesChecked","reduce","acc","formValueId","formValue","isDataPropery","_objectSpread","__typename","formData","currentId","Boolean","modalActions","textButton","callback","modifiers","editModalActions","editedFileId","updatedSelectedFiles","selectedFile","mutate","mutation","input","update","cache","updateFile","fileUpdated","writeQuery","result","e","console","error","filesPendingString","fileListSpan","createElement","className","onClick","Fragment","tooltipContent","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","openEditInModal","propTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { useToasts } from '@blaze-react/toaster';\nimport Tooltip from '@blaze-react/tooltip';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop,\n simpleLayout,\n tooltip,\n previewAllFiles,\n disableFilePreview,\n fileType,\n storeKey\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const [allFilesLoaded, setAllFilesLoaded] = useState(false);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const { data: { getEntitySchemas: [schemaData] = [] } = {} } = useQuery(\n getQuery('GET_ENTITY_SCHEMA'),\n {\n variables: { identifier: 'file' }\n }\n );\n\n const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n if (allFilesLoaded) {\n const loadedFiles = await getFiles(0, currentValue, true);\n const loadedOrderedFiles = orderFiles(loadedFiles, currentValue);\n setSelectedFiles(loadedOrderedFiles);\n return;\n }\n\n const initialFiles =\n !selectedFiles.length && !previewAllFiles\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setSelectedFiles(orderedFiles);\n setAllFilesLoaded(false);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newFiles = await getFiles(0, currentValue, true);\n const newOrderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(newOrderedFiles);\n setAllFilesLoaded(true);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue, fileType });\n\n const filesPending = previewAllFiles\n ? 0\n : getNumberFilesPendingToFetch(selectedFiles.length, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const dataValues = editedFile.valuesChecked.reduce(\n (acc, { id: formValueId, value: formValue, isDataPropery }) => {\n if (isDataPropery) {\n acc.data[formValueId] = formValue;\n } else {\n acc[formValueId] = formValue;\n }\n return acc;\n },\n { id: editFile.id, data: { ...editFile.data } }\n );\n delete dataValues.data.__typename; // Remove __typename if it exists in data to avoid issues with Apollo cache.\n\n setEditFile({\n ...editFile,\n formData: dataValues\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Apply',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Apply',\n callback: async () => {\n const { name, id: editedFileId, data, formData } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n ...formData,\n id: editedFileId\n }\n },\n update(cache, { data: { updateFile: fileUpdated } }) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>\n {label} <Tooltip tooltipContent={tooltip} />\n </label>\n {selectedFiles && (\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n storeKey={storeKey}\n handleLibraryClick={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n disableFilePreview={disableFilePreview}\n schemaData={schemaData}\n />\n </Modal>\n )}\n\n {displayFileUploadModal && simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n openEditInModal\n storeKey={storeKey}\n />\n </div>\n )}\n\n {displayModal && !simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n openEditInModal\n storeKey={storeKey}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool,\n simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool,\n tooltip: PropTypes.string,\n fileType: PropTypes.string,\n disableFilePreview: PropTypes.bool,\n storeKey: PropTypes.string\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false,\n tooltip: '',\n fileType: 'file',\n disableFilePreview: true,\n storeKey: null\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,11 @@
1
1
  const getButtonText = ({
2
2
  maxItems,
3
- value
3
+ value,
4
+ fileType = 'file'
4
5
  }) => {
5
- const fileLabel = maxItems > 1 ? 'Add File/s' : 'Add file';
6
- return value && value.length ? 'Change file' : fileLabel;
6
+ const pluralSuffix = maxItems > 1 ? 's' : '';
7
+ const fileLabel = `Add ${fileType}${pluralSuffix}`;
8
+ return value && value.length > 0 ? `Change ${fileType}${pluralSuffix}` : fileLabel;
7
9
  };
8
10
  export { getButtonText };
9
11
  //# sourceMappingURL=get-button-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-button-text.js","names":["getButtonText","maxItems","value","fileLabel","length"],"sources":["../../../../src/components/FileUploadAdapter/mappers/get-button-text.js"],"sourcesContent":["const getButtonText = ({ maxItems, value }) => {\n const fileLabel = maxItems > 1 ? 'Add File/s' : 'Add file';\n return value && value.length ? 'Change file' : fileLabel;\n};\n\nexport { getButtonText };\n"],"mappings":"AAAA,MAAMA,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC7C,MAAMC,SAAS,GAAGF,QAAQ,GAAG,CAAC,GAAG,YAAY,GAAG,UAAU;EAC1D,OAAOC,KAAK,IAAIA,KAAK,CAACE,MAAM,GAAG,aAAa,GAAGD,SAAS;AAC1D,CAAC;AAED,SAASH,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"get-button-text.js","names":["getButtonText","maxItems","value","fileType","pluralSuffix","fileLabel","length"],"sources":["../../../../src/components/FileUploadAdapter/mappers/get-button-text.js"],"sourcesContent":["const getButtonText = ({ maxItems, value, fileType = 'file' }) => {\n const pluralSuffix = maxItems > 1 ? 's' : '';\n const fileLabel = `Add ${fileType}${pluralSuffix}`;\n return value && value.length > 0 ? `Change ${fileType}${pluralSuffix}` : fileLabel;\n};\n\nexport { getButtonText };\n"],"mappings":"AAAA,MAAMA,aAAa,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,QAAQ,GAAG;AAAO,CAAC,KAAK;EAChE,MAAMC,YAAY,GAAGH,QAAQ,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE;EAC5C,MAAMI,SAAS,GAAG,OAAOF,QAAQ,GAAGC,YAAY,EAAE;EAClD,OAAOF,KAAK,IAAIA,KAAK,CAACI,MAAM,GAAG,CAAC,GAAG,UAAUH,QAAQ,GAAGC,YAAY,EAAE,GAAGC,SAAS;AACpF,CAAC;AAED,SAASL,aAAa","ignoreList":[]}
@@ -1,6 +1,7 @@
1
- export const getNumberFilesPendingToFetch = (currentOffset, currentValue) => {
2
- const offsetSet = currentOffset + 4;
3
- const offset = currentValue.length < offsetSet ? currentValue.length : offsetSet;
4
- return currentValue.length - offset;
1
+ export const getNumberFilesPendingToFetch = (loadedFilesCount, currentValue) => {
2
+ if (loadedFilesCount >= currentValue.length) {
3
+ return 0;
4
+ }
5
+ return currentValue.length - loadedFilesCount;
5
6
  };
6
7
  //# sourceMappingURL=get-number-files-pending-to-fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-number-files-pending-to-fetch.js","names":["getNumberFilesPendingToFetch","currentOffset","currentValue","offsetSet","offset","length"],"sources":["../../../../src/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js"],"sourcesContent":["export const getNumberFilesPendingToFetch = (currentOffset, currentValue) => {\n const offsetSet = currentOffset + 4;\n const offset = currentValue.length < offsetSet ? currentValue.length : offsetSet;\n return currentValue.length - offset;\n};\n"],"mappings":"AAAA,OAAO,MAAMA,4BAA4B,GAAGA,CAACC,aAAa,EAAEC,YAAY,KAAK;EAC3E,MAAMC,SAAS,GAAGF,aAAa,GAAG,CAAC;EACnC,MAAMG,MAAM,GAAGF,YAAY,CAACG,MAAM,GAAGF,SAAS,GAAGD,YAAY,CAACG,MAAM,GAAGF,SAAS;EAChF,OAAOD,YAAY,CAACG,MAAM,GAAGD,MAAM;AACrC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"get-number-files-pending-to-fetch.js","names":["getNumberFilesPendingToFetch","loadedFilesCount","currentValue","length"],"sources":["../../../../src/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js"],"sourcesContent":["export const getNumberFilesPendingToFetch = (loadedFilesCount, currentValue) => {\n if (loadedFilesCount >= currentValue.length) {\n return 0;\n }\n\n return currentValue.length - loadedFilesCount;\n};\n"],"mappings":"AAAA,OAAO,MAAMA,4BAA4B,GAAGA,CAACC,gBAAgB,EAAEC,YAAY,KAAK;EAC9E,IAAID,gBAAgB,IAAIC,YAAY,CAACC,MAAM,EAAE;IAC3C,OAAO,CAAC;EACV;EAEA,OAAOD,YAAY,CAACC,MAAM,GAAGF,gBAAgB;AAC/C,CAAC","ignoreList":[]}