@blaze-cms/plugin-media-ui 0.146.0-translations.6 → 0.147.0-rc-eagle.2

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 (287) hide show
  1. package/lib/components/CardMedia/CardMedia.js +168 -221
  2. package/lib/components/CardMedia/CardMedia.js.map +1 -1
  3. package/lib/components/CardMedia/index.js +2 -3
  4. package/lib/components/CardMedia/index.js.map +1 -1
  5. package/lib/components/EditMediaFile/EditMediaFile.js +162 -113
  6. package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
  7. package/lib/components/EditMediaFile/EditMediaFilePage.js +81 -97
  8. package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  9. package/lib/components/EditMediaFile/index.js +2 -3
  10. package/lib/components/EditMediaFile/index.js.map +1 -1
  11. package/lib/components/EditorAdapter/EditorAdapter.js +43 -22
  12. package/lib/components/EditorAdapter/EditorAdapter.js.map +1 -1
  13. package/lib/components/EditorAdapter/index.js +2 -3
  14. package/lib/components/EditorAdapter/index.js.map +1 -1
  15. package/lib/components/FileList/FilesListContext/index.js +3 -4
  16. package/lib/components/FileList/FilesListContext/index.js.map +1 -1
  17. package/lib/components/FileList/FilesListProvider/index.js +27 -29
  18. package/lib/components/FileList/FilesListProvider/index.js.map +1 -1
  19. package/lib/components/FileList/useFileList/index.js +3 -6
  20. package/lib/components/FileList/useFileList/index.js.map +1 -1
  21. package/lib/components/FileList/useGetFiles/getFiles.js +164 -184
  22. package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
  23. package/lib/components/FileList/useGetFiles/index.js +2 -3
  24. package/lib/components/FileList/useGetFiles/index.js.map +1 -1
  25. package/lib/components/FileList/useGetFiles/useGetFiles.js +88 -132
  26. package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  27. package/lib/components/FileList/useGetFilesList/getCounters.js +10 -30
  28. package/lib/components/FileList/useGetFilesList/getCounters.js.map +1 -1
  29. package/lib/components/FileList/useGetFilesList/index.js +2 -3
  30. package/lib/components/FileList/useGetFilesList/index.js.map +1 -1
  31. package/lib/components/FileList/useGetFilesList/useGetFilesList.js +89 -109
  32. package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  33. package/lib/components/FilePreview/Actions/index.js +24 -38
  34. package/lib/components/FilePreview/Actions/index.js.map +1 -1
  35. package/lib/components/FilePreview/Image/Image.js +35 -24
  36. package/lib/components/FilePreview/Image/Image.js.map +1 -1
  37. package/lib/components/FilePreview/Image/RawImage.js +25 -27
  38. package/lib/components/FilePreview/Image/RawImage.js.map +1 -1
  39. package/lib/components/FilePreview/Image/imageSchema.js +2 -3
  40. package/lib/components/FilePreview/Image/imageSchema.js.map +1 -1
  41. package/lib/components/FilePreview/Image/index.js +1 -2
  42. package/lib/components/FilePreview/Image/index.js.map +1 -1
  43. package/lib/components/FilePreview/ModalContext.js +9 -0
  44. package/lib/components/FilePreview/ModalContext.js.map +1 -0
  45. package/lib/components/FilePreview/PDF/PDF.js +44 -31
  46. package/lib/components/FilePreview/PDF/PDF.js.map +1 -1
  47. package/lib/components/FilePreview/PDF/RawPDF.js +27 -29
  48. package/lib/components/FilePreview/PDF/RawPDF.js.map +1 -1
  49. package/lib/components/FilePreview/PDF/index.js +1 -2
  50. package/lib/components/FilePreview/PDF/index.js.map +1 -1
  51. package/lib/components/FilePreview/PDF/schema.js +1 -2
  52. package/lib/components/FilePreview/PDF/schema.js.map +1 -1
  53. package/lib/components/FilePreview/get-preview.js +12 -10
  54. package/lib/components/FilePreview/get-preview.js.map +1 -1
  55. package/lib/components/FilePreview/index.js +66 -57
  56. package/lib/components/FilePreview/index.js.map +1 -1
  57. package/lib/components/FilePreview/previewDefault/PreviewDefault.js +35 -23
  58. package/lib/components/FilePreview/previewDefault/PreviewDefault.js.map +1 -1
  59. package/lib/components/FilePreview/previewDefault/RawPreviewDefault.js +33 -27
  60. package/lib/components/FilePreview/previewDefault/RawPreviewDefault.js.map +1 -1
  61. package/lib/components/FilePreview/previewDefault/icons/DefaultIcon.js +120 -123
  62. package/lib/components/FilePreview/previewDefault/icons/DefaultIcon.js.map +1 -1
  63. package/lib/components/FilePreview/previewDefault/icons/index.js +2 -3
  64. package/lib/components/FilePreview/previewDefault/icons/index.js.map +1 -1
  65. package/lib/components/FilePreview/previewDefault/index.js +1 -2
  66. package/lib/components/FilePreview/previewDefault/index.js.map +1 -1
  67. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js +1 -2
  68. package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  69. package/lib/components/FilePreviewReadOnly/FileList.js +10 -12
  70. package/lib/components/FilePreviewReadOnly/FileList.js.map +1 -1
  71. package/lib/components/FilePreviewReadOnly/FilePreviewList.js +14 -19
  72. package/lib/components/FilePreviewReadOnly/FilePreviewList.js.map +1 -1
  73. package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js +52 -98
  74. package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
  75. package/lib/components/FilePreviewReadOnly/index.js +2 -3
  76. package/lib/components/FilePreviewReadOnly/index.js.map +1 -1
  77. package/lib/components/FilePreviewReadOnly/mappers/format-initial-value.js +7 -8
  78. package/lib/components/FilePreviewReadOnly/mappers/format-initial-value.js.map +1 -1
  79. package/lib/components/FilePreviewReadOnly/mappers/index.js +1 -2
  80. package/lib/components/FilePreviewReadOnly/mappers/index.js.map +1 -1
  81. package/lib/components/FileUploadAdapter/FileList.js +26 -39
  82. package/lib/components/FileUploadAdapter/FileList.js.map +1 -1
  83. package/lib/components/FileUploadAdapter/FilePreviewList.js +14 -19
  84. package/lib/components/FileUploadAdapter/FilePreviewList.js.map +1 -1
  85. package/lib/components/FileUploadAdapter/FileReorderList.js +18 -21
  86. package/lib/components/FileUploadAdapter/FileReorderList.js.map +1 -1
  87. package/lib/components/FileUploadAdapter/FileReorderListItem.js +20 -23
  88. package/lib/components/FileUploadAdapter/FileReorderListItem.js.map +1 -1
  89. package/lib/components/FileUploadAdapter/FileUploadAdapter.js +233 -337
  90. package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  91. package/lib/components/FileUploadAdapter/index.js +2 -3
  92. package/lib/components/FileUploadAdapter/index.js.map +1 -1
  93. package/lib/components/FileUploadAdapter/mappers/format-initial-value.js +7 -8
  94. package/lib/components/FileUploadAdapter/mappers/format-initial-value.js.map +1 -1
  95. package/lib/components/FileUploadAdapter/mappers/get-button-text.js +9 -10
  96. package/lib/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -1
  97. package/lib/components/FileUploadAdapter/mappers/get-format.js +7 -13
  98. package/lib/components/FileUploadAdapter/mappers/get-format.js.map +1 -1
  99. package/lib/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +6 -5
  100. package/lib/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js.map +1 -1
  101. package/lib/components/FileUploadAdapter/mappers/index.js +6 -7
  102. package/lib/components/FileUploadAdapter/mappers/index.js.map +1 -1
  103. package/lib/components/FileUploadAdapter/mappers/is-unselecting.js +2 -10
  104. package/lib/components/FileUploadAdapter/mappers/is-unselecting.js.map +1 -1
  105. package/lib/components/FileUploadAdapter/mappers/transform-to-array.js +2 -5
  106. package/lib/components/FileUploadAdapter/mappers/transform-to-array.js.map +1 -1
  107. package/lib/components/FileUploadAdapter/useLimit.js +4 -10
  108. package/lib/components/FileUploadAdapter/useLimit.js.map +1 -1
  109. package/lib/components/FileUploadModal/FileUploadModal.js +150 -145
  110. package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
  111. package/lib/components/FileUploadModal/index.js +2 -3
  112. package/lib/components/FileUploadModal/index.js.map +1 -1
  113. package/lib/components/FilterPanel/FilterPanel.js +68 -88
  114. package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
  115. package/lib/components/FilterPanel/index.js +2 -3
  116. package/lib/components/FilterPanel/index.js.map +1 -1
  117. package/lib/components/ListingContainer/Listing/Listing.js +58 -48
  118. package/lib/components/ListingContainer/Listing/Listing.js.map +1 -1
  119. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +75 -92
  120. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  121. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js +2 -3
  122. package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js.map +1 -1
  123. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js +22 -26
  124. package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
  125. package/lib/components/ListingContainer/Listing/MediaListing/index.js +2 -3
  126. package/lib/components/ListingContainer/Listing/MediaListing/index.js.map +1 -1
  127. package/lib/components/ListingContainer/Listing/index.js +2 -3
  128. package/lib/components/ListingContainer/Listing/index.js.map +1 -1
  129. package/lib/components/ListingContainer/ListingContainer.js +69 -92
  130. package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
  131. package/lib/components/ListingContainer/index.js +2 -3
  132. package/lib/components/ListingContainer/index.js.map +1 -1
  133. package/lib/components/ListingContainer/mappers/exist-previous.js +3 -10
  134. package/lib/components/ListingContainer/mappers/exist-previous.js.map +1 -1
  135. package/lib/components/ListingContainer/mappers/index.js +2 -3
  136. package/lib/components/ListingContainer/mappers/index.js.map +1 -1
  137. package/lib/components/MediaListing.js +14 -26
  138. package/lib/components/MediaListing.js.map +1 -1
  139. package/lib/constants.js +15 -16
  140. package/lib/constants.js.map +1 -1
  141. package/lib/icons/MediaLibraryIcon.js +17 -20
  142. package/lib/icons/MediaLibraryIcon.js.map +1 -1
  143. package/lib/icons/index.js +2 -3
  144. package/lib/icons/index.js.map +1 -1
  145. package/lib/index.js +67 -92
  146. package/lib/index.js.map +1 -1
  147. package/lib/utils/available-filters/available-filters.js +1 -2
  148. package/lib/utils/available-filters/available-filters.js.map +1 -1
  149. package/lib/utils/bustUrl.js +13 -0
  150. package/lib/utils/bustUrl.js.map +1 -0
  151. package/lib/utils/media-context/index.js +4 -5
  152. package/lib/utils/media-context/index.js.map +1 -1
  153. package/lib/utils/media-context/media-context.js +3 -4
  154. package/lib/utils/media-context/media-context.js.map +1 -1
  155. package/lib/utils/media-context/useMediaContext.js +2 -4
  156. package/lib/utils/media-context/useMediaContext.js.map +1 -1
  157. package/lib-es/components/CardMedia/CardMedia.js +22 -8
  158. package/lib-es/components/CardMedia/CardMedia.js.map +1 -1
  159. package/lib-es/components/CardMedia/index.js.map +1 -1
  160. package/lib-es/components/EditMediaFile/EditMediaFile.js +106 -34
  161. package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -1
  162. package/lib-es/components/EditMediaFile/EditMediaFilePage.js +37 -14
  163. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
  164. package/lib-es/components/EditMediaFile/index.js.map +1 -1
  165. package/lib-es/components/EditorAdapter/EditorAdapter.js +26 -6
  166. package/lib-es/components/EditorAdapter/EditorAdapter.js.map +1 -1
  167. package/lib-es/components/EditorAdapter/index.js.map +1 -1
  168. package/lib-es/components/FileList/FilesListContext/index.js.map +1 -1
  169. package/lib-es/components/FileList/FilesListProvider/index.js.map +1 -1
  170. package/lib-es/components/FileList/useFileList/index.js.map +1 -1
  171. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -1
  172. package/lib-es/components/FileList/useGetFiles/index.js.map +1 -1
  173. package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
  174. package/lib-es/components/FileList/useGetFilesList/getCounters.js.map +1 -1
  175. package/lib-es/components/FileList/useGetFilesList/index.js.map +1 -1
  176. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
  177. package/lib-es/components/FilePreview/Actions/index.js +2 -2
  178. package/lib-es/components/FilePreview/Actions/index.js.map +1 -1
  179. package/lib-es/components/FilePreview/Image/Image.js +16 -3
  180. package/lib-es/components/FilePreview/Image/Image.js.map +1 -1
  181. package/lib-es/components/FilePreview/Image/RawImage.js.map +1 -1
  182. package/lib-es/components/FilePreview/Image/imageSchema.js +1 -1
  183. package/lib-es/components/FilePreview/Image/imageSchema.js.map +1 -1
  184. package/lib-es/components/FilePreview/Image/index.js.map +1 -1
  185. package/lib-es/components/FilePreview/ModalContext.js +3 -0
  186. package/lib-es/components/FilePreview/ModalContext.js.map +1 -0
  187. package/lib-es/components/FilePreview/PDF/PDF.js +19 -4
  188. package/lib-es/components/FilePreview/PDF/PDF.js.map +1 -1
  189. package/lib-es/components/FilePreview/PDF/RawPDF.js.map +1 -1
  190. package/lib-es/components/FilePreview/PDF/index.js.map +1 -1
  191. package/lib-es/components/FilePreview/PDF/schema.js.map +1 -1
  192. package/lib-es/components/FilePreview/get-preview.js.map +1 -1
  193. package/lib-es/components/FilePreview/index.js +26 -7
  194. package/lib-es/components/FilePreview/index.js.map +1 -1
  195. package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js +18 -4
  196. package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js.map +1 -1
  197. package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js +12 -4
  198. package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js.map +1 -1
  199. package/lib-es/components/FilePreview/previewDefault/icons/DefaultIcon.js.map +1 -1
  200. package/lib-es/components/FilePreview/previewDefault/icons/index.js.map +1 -1
  201. package/lib-es/components/FilePreview/previewDefault/index.js.map +1 -1
  202. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
  203. package/lib-es/components/FilePreviewReadOnly/FileList.js +2 -2
  204. package/lib-es/components/FilePreviewReadOnly/FileList.js.map +1 -1
  205. package/lib-es/components/FilePreviewReadOnly/FilePreviewList.js.map +1 -1
  206. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js +14 -12
  207. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
  208. package/lib-es/components/FilePreviewReadOnly/index.js.map +1 -1
  209. package/lib-es/components/FilePreviewReadOnly/mappers/format-initial-value.js.map +1 -1
  210. package/lib-es/components/FilePreviewReadOnly/mappers/index.js.map +1 -1
  211. package/lib-es/components/FileUploadAdapter/FileList.js.map +1 -1
  212. package/lib-es/components/FileUploadAdapter/FilePreviewList.js.map +1 -1
  213. package/lib-es/components/FileUploadAdapter/FileReorderList.js.map +1 -1
  214. package/lib-es/components/FileUploadAdapter/FileReorderListItem.js.map +1 -1
  215. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +41 -21
  216. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
  217. package/lib-es/components/FileUploadAdapter/index.js.map +1 -1
  218. package/lib-es/components/FileUploadAdapter/mappers/format-initial-value.js.map +1 -1
  219. package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -1
  220. package/lib-es/components/FileUploadAdapter/mappers/get-format.js.map +1 -1
  221. package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +5 -4
  222. package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js.map +1 -1
  223. package/lib-es/components/FileUploadAdapter/mappers/index.js.map +1 -1
  224. package/lib-es/components/FileUploadAdapter/mappers/is-unselecting.js.map +1 -1
  225. package/lib-es/components/FileUploadAdapter/mappers/transform-to-array.js.map +1 -1
  226. package/lib-es/components/FileUploadAdapter/useLimit.js.map +1 -1
  227. package/lib-es/components/FileUploadModal/FileUploadModal.js +90 -25
  228. package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
  229. package/lib-es/components/FileUploadModal/index.js.map +1 -1
  230. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -1
  231. package/lib-es/components/FilterPanel/index.js.map +1 -1
  232. package/lib-es/components/ListingContainer/Listing/Listing.js +17 -5
  233. package/lib-es/components/ListingContainer/Listing/Listing.js.map +1 -1
  234. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +14 -6
  235. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
  236. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js.map +1 -1
  237. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js +12 -3
  238. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
  239. package/lib-es/components/ListingContainer/Listing/MediaListing/index.js.map +1 -1
  240. package/lib-es/components/ListingContainer/Listing/index.js.map +1 -1
  241. package/lib-es/components/ListingContainer/ListingContainer.js +14 -5
  242. package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -1
  243. package/lib-es/components/ListingContainer/index.js.map +1 -1
  244. package/lib-es/components/ListingContainer/mappers/exist-previous.js.map +1 -1
  245. package/lib-es/components/ListingContainer/mappers/index.js.map +1 -1
  246. package/lib-es/components/MediaListing.js.map +1 -1
  247. package/lib-es/constants.js.map +1 -1
  248. package/lib-es/icons/MediaLibraryIcon.js.map +1 -1
  249. package/lib-es/icons/index.js.map +1 -1
  250. package/lib-es/index.js +20 -4
  251. package/lib-es/index.js.map +1 -1
  252. package/lib-es/utils/available-filters/available-filters.js.map +1 -1
  253. package/lib-es/utils/bustUrl.js +7 -0
  254. package/lib-es/utils/bustUrl.js.map +1 -0
  255. package/lib-es/utils/media-context/index.js.map +1 -1
  256. package/lib-es/utils/media-context/media-context.js.map +1 -1
  257. package/lib-es/utils/media-context/useMediaContext.js.map +1 -1
  258. package/package.json +26 -18
  259. package/src/components/CardMedia/CardMedia.js +28 -14
  260. package/src/components/EditMediaFile/EditMediaFile.js +117 -42
  261. package/src/components/EditMediaFile/EditMediaFilePage.js +35 -14
  262. package/src/components/EditorAdapter/EditorAdapter.js +31 -4
  263. package/src/components/FileList/useGetFilesList/useGetFilesList.js +15 -14
  264. package/src/components/FilePreview/Actions/index.js +25 -27
  265. package/src/components/FilePreview/Image/Image.js +15 -2
  266. package/src/components/FilePreview/Image/imageSchema.js +1 -1
  267. package/src/components/FilePreview/ModalContext.js +3 -0
  268. package/src/components/FilePreview/PDF/PDF.js +17 -4
  269. package/src/components/FilePreview/index.js +35 -6
  270. package/src/components/FilePreview/previewDefault/PreviewDefault.js +16 -3
  271. package/src/components/FilePreview/previewDefault/RawPreviewDefault.js +17 -7
  272. package/src/components/FilePreviewReadOnly/FileList.js +1 -3
  273. package/src/components/FilePreviewReadOnly/FilePreviewReadOnly.js +17 -29
  274. package/src/components/FileUploadAdapter/FileUploadAdapter.js +81 -69
  275. package/src/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +6 -4
  276. package/src/components/FileUploadAdapter/useLimit.js +5 -8
  277. package/src/components/FileUploadModal/FileUploadModal.js +88 -42
  278. package/src/components/FilterPanel/FilterPanel.js +18 -23
  279. package/src/components/ListingContainer/Listing/Listing.js +15 -5
  280. package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +30 -38
  281. package/src/components/ListingContainer/Listing/MediaListing/MediaListing.js +10 -2
  282. package/src/components/ListingContainer/ListingContainer.js +13 -4
  283. package/src/index.js +17 -10
  284. package/src/utils/bustUrl.js +6 -0
  285. package/CHANGELOG.md +0 -1235
  286. package/babel.config.js +0 -3
  287. package/jest.config.js +0 -5
@@ -2,24 +2,34 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Actions from '../Actions';
4
4
 
5
- const RawPreviewDefault = ({ url, name, file }) => (
5
+ const RawPreviewDefault = ({ url, name, file, disableFilePreview }) => (
6
6
  <div className="FilePreview">
7
- <div className="FilePreviewItem">
8
- <div className="FilePreviewItem__wrapper">
9
- <img className="FilePreviewItem__wrapper__default" src={url} alt={name} />
7
+ {!disableFilePreview ? (
8
+ <div className="FilePreviewItem">
9
+ <div className="FilePreviewItem__wrapper">
10
+ <img className="FilePreviewItem__wrapper__default" src={url} alt={name} />
11
+ </div>
12
+ <div className="FilePreviewItem__info">
13
+ <p className="FilePreviewItem__info__fileName">{name}</p>
14
+ <Actions file={file} />
15
+ </div>
10
16
  </div>
17
+ ) : (
11
18
  <div className="FilePreviewItem__info">
12
- <p className="FilePreviewItem__info__fileName">{name}</p>
19
+ <p className="FilePreviewItem__info__fileName FilePreviewItem__info--disablePreview">
20
+ {name}
21
+ </p>
13
22
  <Actions file={file} />
14
23
  </div>
15
- </div>
24
+ )}
16
25
  </div>
17
26
  );
18
27
 
19
28
  RawPreviewDefault.propTypes = {
20
29
  url: PropTypes.string.isRequired,
21
30
  name: PropTypes.string.isRequired,
22
- file: PropTypes.object.isRequired
31
+ file: PropTypes.object.isRequired,
32
+ disableFilePreview: PropTypes.bool.isRequired
23
33
  };
24
34
 
25
35
  export { RawPreviewDefault };
@@ -3,9 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import FilePreviewList from './FilePreviewList';
4
4
 
5
5
  const FileList = ({ selectedFiles, children }) => (
6
- <>
7
- <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>
8
- </>
6
+ <FilePreviewList selectedFiles={selectedFiles}>{children}</FilePreviewList>
9
7
  );
10
8
 
11
9
  FileList.propTypes = {
@@ -11,49 +11,37 @@ const FilePreviewReadOnly = ({ label, id, type, value }) => {
11
11
  const client = useApolloClient();
12
12
 
13
13
  const getFiles = async (offset, ids) => {
14
- const {
15
- data: { files: newFiles }
16
- } = await client.query({
14
+ if (!ids.length) return [];
15
+ const { data: { files = [] } = {} } = await client.query({
17
16
  query: getQuery('GET_FILES'),
18
17
  variables: {
19
18
  offset,
20
19
  where: {
21
- id: {
22
- _in: ids
23
- }
20
+ id: { _in: ids }
24
21
  }
25
22
  },
26
- skip: !initialValue.length,
27
23
  fetchPolicy: 'network-only'
28
24
  });
29
- return newFiles;
25
+ return files;
30
26
  };
31
27
 
32
- useEffect(
33
- () => {
34
- (async () => {
35
- const files = await getFiles(0, initialValue);
36
- const orderedFiles = orderFiles(files, initialValue);
37
- setSelectedFiles(orderedFiles);
38
- })();
39
- },
40
- [] //eslint-disable-line
41
- );
42
-
43
28
  const orderFiles = (files, ids) =>
44
29
  ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);
45
30
 
31
+ useEffect(() => {
32
+ (async () => {
33
+ const files = await getFiles(0, initialValue);
34
+ const orderedFiles = orderFiles(files, initialValue);
35
+ setSelectedFiles(orderedFiles);
36
+ })();
37
+ // eslint-disable-next-line react-hooks/exhaustive-deps
38
+ }, []);
39
+
46
40
  return (
47
- <>
48
- <div className="form-field form-field--button">
49
- <label>{label}</label>
50
- {selectedFiles && (
51
- <>
52
- <FileList selectedFiles={selectedFiles} />
53
- </>
54
- )}
55
- </div>
56
- </>
41
+ <div className="form-field form-field--button">
42
+ <label htmlFor={id}>{label}</label>
43
+ {selectedFiles.length > 0 && <FileList selectedFiles={selectedFiles} />}
44
+ </div>
57
45
  );
58
46
  };
59
47
 
@@ -5,6 +5,7 @@ import { useApolloClient } from '@apollo/client';
5
5
  import { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';
6
6
  import { parseFormValues } from '@blaze-cms/react-form-builder';
7
7
  import { useToasts } from '@blaze-react/toaster';
8
+ import Tooltip from '@blaze-react/tooltip';
8
9
  import { MORE } from '../../constants';
9
10
  import ListingContainer from '../ListingContainer';
10
11
  import { MediaContextProvider } from '../../utils/media-context';
@@ -30,8 +31,11 @@ const FileUploadAdapter = ({
30
31
  shouldRenderInPreview,
31
32
  canDragAndDrop,
32
33
  simpleLayout,
34
+ tooltip,
33
35
  previewAllFiles,
34
- fileType
36
+ disableFilePreview,
37
+ fileType,
38
+ storeKey
35
39
  }) => {
36
40
  const { InjectPreview } = useContext(FileUploadAdapter.FormContext);
37
41
  const [currentLimit] = useLimit(maxItems);
@@ -39,9 +43,9 @@ const FileUploadAdapter = ({
39
43
  const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);
40
44
  const initialValue = formatInitialValue({ value, type });
41
45
  const [currentValue, setCurrentValue] = useState(initialValue);
42
- const [currentOffset, setCurrentOffset] = useState(0);
43
46
  const [selectedFiles, setSelectedFiles] = useState([]);
44
47
  const [editFile, setEditFile] = useState(null);
48
+ const [allFilesLoaded, setAllFilesLoaded] = useState(false);
45
49
  const client = useApolloClient();
46
50
  const { addToast } = useToasts();
47
51
 
@@ -68,6 +72,13 @@ const FileUploadAdapter = ({
68
72
  useEffect(
69
73
  () => {
70
74
  (async () => {
75
+ if (allFilesLoaded) {
76
+ const loadedFiles = await getFiles(0, currentValue, true);
77
+ const loadedOrderedFiles = orderFiles(loadedFiles, currentValue);
78
+ setSelectedFiles(loadedOrderedFiles);
79
+ return;
80
+ }
81
+
71
82
  const initialFiles =
72
83
  !selectedFiles.length && !previewAllFiles
73
84
  ? currentValue.filter((_, i) => i <= 3)
@@ -75,8 +86,8 @@ const FileUploadAdapter = ({
75
86
 
76
87
  const files = await getFiles(0, initialFiles);
77
88
  const orderedFiles = orderFiles(files, currentValue);
78
- setCurrentOffset(0);
79
89
  setSelectedFiles(orderedFiles);
90
+ setAllFilesLoaded(false);
80
91
  })();
81
92
  },
82
93
  [currentValue] //eslint-disable-line
@@ -84,14 +95,10 @@ const FileUploadAdapter = ({
84
95
 
85
96
  const fetchMore = async shouldFetchAll => {
86
97
  if (selectedFiles.length === currentValue.length) return;
87
- const newOffset = currentOffset + 4;
88
- const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;
89
- const offsetToUse = shouldFetchAll ? 0 : updatedOffset;
90
- const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);
91
- const newFiles = [...selectedFiles, ...files];
92
- const orderedFiles = orderFiles(newFiles, currentValue);
93
- setSelectedFiles(orderedFiles);
94
- setCurrentOffset(newOffset);
98
+ const newFiles = await getFiles(0, currentValue, true);
99
+ const newOrderedFiles = orderFiles(newFiles, currentValue);
100
+ setSelectedFiles(newOrderedFiles);
101
+ setAllFilesLoaded(true);
95
102
  };
96
103
 
97
104
  const handleSelectedFiles = (files, checkIsUnselecting = true) => {
@@ -160,7 +167,7 @@ const FileUploadAdapter = ({
160
167
 
161
168
  const filesPending = previewAllFiles
162
169
  ? 0
163
- : getNumberFilesPendingToFetch(currentOffset, currentValue);
170
+ : getNumberFilesPendingToFetch(selectedFiles.length, currentValue);
164
171
  const onOpenLibrary = () => setDisplayModal(true);
165
172
  const handleEditModal = file => {
166
173
  const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);
@@ -195,7 +202,7 @@ const FileUploadAdapter = ({
195
202
  modifiers: ['cancel']
196
203
  },
197
204
  {
198
- textButton: 'Save',
205
+ textButton: 'Apply',
199
206
  callback: () => {
200
207
  closeModalAndSetValue(true);
201
208
  },
@@ -212,7 +219,7 @@ const FileUploadAdapter = ({
212
219
  modifiers: ['cancel']
213
220
  },
214
221
  {
215
- textButton: 'Save',
222
+ textButton: 'Apply',
216
223
  callback: async () => {
217
224
  const { name, id: editedFileId, data } = editFile;
218
225
  const updatedSelectedFiles = selectedFiles.map(selectedFile => {
@@ -233,12 +240,7 @@ const FileUploadAdapter = ({
233
240
  id: editedFileId
234
241
  }
235
242
  },
236
- update(
237
- cache,
238
- {
239
- data: { updateFile: fileUpdated }
240
- }
241
- ) {
243
+ update(cache, { data: { updateFile: fileUpdated } }) {
242
244
  cache.writeQuery({
243
245
  query: getQuery('GET_FILE_BY_ID'),
244
246
  variables: { id },
@@ -275,33 +277,34 @@ const FileUploadAdapter = ({
275
277
  return (
276
278
  <>
277
279
  <div className="form-field form-field--button">
278
- <label>{label}</label>
280
+ <label>
281
+ {label} <Tooltip tooltipContent={tooltip} />
282
+ </label>
279
283
  {selectedFiles && (
280
- <>
281
- <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>
282
- {shouldRenderInPreview ? (
283
- <InjectPreview selector={FileUploadAdapter.previewerId}>
284
- <FileList
285
- selectedFiles={selectedFiles}
286
- allFiles={currentValue}
287
- handleReorderFiles={handleReorderFiles}
288
- canDragAndDrop={canDragAndDrop}
289
- fetchMore={fetchMore}>
290
- {fileListSpan}
291
- </FileList>
292
- </InjectPreview>
293
- ) : (
284
+ <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>
285
+ {shouldRenderInPreview ? (
286
+ <InjectPreview selector={FileUploadAdapter.previewerId}>
294
287
  <FileList
295
288
  selectedFiles={selectedFiles}
289
+ allFiles={currentValue}
296
290
  handleReorderFiles={handleReorderFiles}
297
- fetchMore={fetchMore}
298
- />
299
- )}
300
- </MediaContextProvider>
301
- </>
291
+ canDragAndDrop={canDragAndDrop}
292
+ fetchMore={fetchMore}>
293
+ {fileListSpan}
294
+ </FileList>
295
+ </InjectPreview>
296
+ ) : (
297
+ <FileList
298
+ selectedFiles={selectedFiles}
299
+ handleReorderFiles={handleReorderFiles}
300
+ fetchMore={fetchMore}
301
+ />
302
+ )}
303
+ </MediaContextProvider>
302
304
  )}
303
305
  <FileUpload
304
306
  actionText={fileUploadButtonText}
307
+ storeKey={storeKey}
305
308
  handleLibraryClick={() => {
306
309
  if (simpleLayout) {
307
310
  setDisplayFileUploadModal(true);
@@ -320,44 +323,47 @@ const FileUploadAdapter = ({
320
323
  handleFormChange={handleEditFileForm}
321
324
  displayForm
322
325
  previewType="card"
326
+ disableFilePreview={disableFilePreview}
323
327
  />
324
328
  </Modal>
325
329
  )}
326
330
 
327
- {displayFileUploadModal &&
328
- simpleLayout && (
329
- <div className="file-upload-modal-wrapper">
331
+ {displayFileUploadModal && simpleLayout && (
332
+ <div className="file-upload-modal-wrapper">
333
+ <ListingContainer
334
+ displayFileUploadModal={displayFileUploadModal}
335
+ closeModalAndSetValue={closeModalAndSetValue}
336
+ setDisplayFileUploadModal={setDisplayFileUploadModal}
337
+ handleSelectedFiles={handleSelectedFiles}
338
+ maxItems={currentLimit}
339
+ simpleLayout={simpleLayout}
340
+ filesSelected={currentValue.length > 1 ? currentValue : []}
341
+ openEditInModal
342
+ storeKey={storeKey}
343
+ />
344
+ </div>
345
+ )}
346
+
347
+ {displayModal && !simpleLayout && (
348
+ <div className="file-upload-modal-wrapper">
349
+ <Modal
350
+ actions={modalActions}
351
+ className="file-upload-modal"
352
+ title="Media library"
353
+ onClose={() => closeModalAndSetValue()}>
330
354
  <ListingContainer
331
- displayFileUploadModal={displayFileUploadModal}
332
355
  closeModalAndSetValue={closeModalAndSetValue}
356
+ displayFileUploadModal={displayFileUploadModal}
333
357
  setDisplayFileUploadModal={setDisplayFileUploadModal}
334
358
  handleSelectedFiles={handleSelectedFiles}
335
359
  maxItems={currentLimit}
336
- simpleLayout={simpleLayout}
337
360
  filesSelected={currentValue.length > 1 ? currentValue : []}
361
+ openEditInModal
362
+ storeKey={storeKey}
338
363
  />
339
- </div>
340
- )}
341
-
342
- {displayModal &&
343
- !simpleLayout && (
344
- <div className="file-upload-modal-wrapper">
345
- <Modal
346
- actions={modalActions}
347
- className="file-upload-modal"
348
- title="Media library"
349
- onClose={() => closeModalAndSetValue()}>
350
- <ListingContainer
351
- closeModalAndSetValue={closeModalAndSetValue}
352
- displayFileUploadModal={displayFileUploadModal}
353
- setDisplayFileUploadModal={setDisplayFileUploadModal}
354
- handleSelectedFiles={handleSelectedFiles}
355
- maxItems={currentLimit}
356
- filesSelected={currentValue.length > 1 ? currentValue : []}
357
- />
358
- </Modal>
359
- </div>
360
- )}
364
+ </Modal>
365
+ </div>
366
+ )}
361
367
  </>
362
368
  );
363
369
  };
@@ -373,7 +379,10 @@ FileUploadAdapter.propTypes = {
373
379
  canDragAndDrop: PropTypes.bool,
374
380
  simpleLayout: PropTypes.bool,
375
381
  previewAllFiles: PropTypes.bool,
376
- fileType: PropTypes.string
382
+ tooltip: PropTypes.string,
383
+ fileType: PropTypes.string,
384
+ disableFilePreview: PropTypes.bool,
385
+ storeKey: PropTypes.string
377
386
  };
378
387
 
379
388
  FileUploadAdapter.defaultProps = {
@@ -383,7 +392,10 @@ FileUploadAdapter.defaultProps = {
383
392
  canDragAndDrop: false,
384
393
  simpleLayout: false,
385
394
  previewAllFiles: false,
386
- fileType: 'file'
395
+ tooltip: '',
396
+ fileType: 'file',
397
+ disableFilePreview: true,
398
+ storeKey: null
387
399
  };
388
400
 
389
401
  export default FileUploadAdapter;
@@ -1,5 +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
+
6
+ return currentValue.length - loadedFilesCount;
5
7
  };
@@ -3,14 +3,11 @@ import { ONE_FILE_AS_LIMIT } from '../../constants';
3
3
 
4
4
  function useLimit(initialLimit) {
5
5
  const [currentLimit, setCurrentLimit] = useState(initialLimit);
6
- useEffect(
7
- () => {
8
- if (initialLimit && currentLimit !== ONE_FILE_AS_LIMIT) {
9
- setCurrentLimit(ONE_FILE_AS_LIMIT);
10
- }
11
- },
12
- [currentLimit, initialLimit]
13
- );
6
+ useEffect(() => {
7
+ if (initialLimit && currentLimit !== ONE_FILE_AS_LIMIT) {
8
+ setCurrentLimit(ONE_FILE_AS_LIMIT);
9
+ }
10
+ }, [currentLimit, initialLimit]);
14
11
 
15
12
  return [currentLimit, setCurrentLimit];
16
13
  }
@@ -6,57 +6,94 @@ import { useToasts } from '@blaze-react/toaster';
6
6
  import { useApolloClient, useQuery } from '@apollo/client';
7
7
  import useFileList from '../FileList/useFileList';
8
8
 
9
- const FileUploadModal = ({ onClose, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {
9
+ const FileUploadModal = ({
10
+ onClose,
11
+ getSelectedFiles,
12
+ closeModalAndSetValue,
13
+ simpleLayout,
14
+ fileId,
15
+ storeKey,
16
+ selectedStoreKey
17
+ }) => {
10
18
  const [files, setFiles] = useState([]);
11
19
  const { addToast } = useToasts();
12
20
  const client = useApolloClient();
13
21
  const { addNewFile } = useFileList();
14
22
 
15
23
  const fileStoresType = getQuery('GET_FILE_STORES');
16
-
17
24
  const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {
18
25
  variables: { visibleInAdmin: true }
19
26
  });
20
27
 
21
28
  const handleFiles = filesToUpload => {
29
+ if (fileId && filesToUpload && filesToUpload.length) {
30
+ setFiles([filesToUpload[0]]);
31
+ return;
32
+ }
22
33
  setFiles(filesToUpload);
23
34
  };
24
35
 
25
36
  const uploadFiles = async () => {
37
+ const filesToProcess = fileId && files.length ? [files[0]] : files;
38
+
26
39
  const response = await Promise.all(
27
- files.map(({ file, name, data: fileData, storeKey }) =>
28
- client.mutate({
40
+ filesToProcess.map(({ file, name, data, storeKey: fileStoreKey }) => {
41
+ const payload = {
42
+ name,
43
+ storeKey: fileStoreKey || selectedStoreKey || storeKey,
44
+ data
45
+ };
46
+ if (fileId) {
47
+ payload.id = fileId;
48
+ } else if (!name) {
49
+ payload.name = file.filename;
50
+ }
51
+ return client.mutate({
29
52
  mutation: getMutation('UPLOAD_FILE'),
30
- variables: {
31
- input: {
32
- file,
33
- name: name || file.filename,
34
- storeKey,
35
- data: fileData
36
- }
37
- }
38
- })
39
- )
53
+ variables: { input: { file, ...payload } }
54
+ });
55
+ })
40
56
  ).catch(error => {
41
57
  addToast(error.message, {
42
58
  appearance: 'error',
43
59
  autoDismiss: true
44
60
  });
61
+ return [];
45
62
  });
46
63
 
47
- const parsedResponse = response.map(({ data: { file } }) => file.result);
64
+ const parsedResponse = response.map(({ data: { file } }) => {
65
+ const { message, ...rest } = file.result || {};
66
+ return rest;
67
+ });
48
68
 
49
69
  const fileNames = files.map(({ file }) => file.name);
50
- addNewFile(parsedResponse);
51
- const toastMessage = `Uploaded: ${fileNames.join(', ')}`;
52
70
 
53
71
  if (simpleLayout) {
54
- const filesToSelect = parsedResponse.map(file => file.id);
72
+ if (fileId && parsedResponse && parsedResponse.length) {
73
+ const { message, ...updatedFile } = parsedResponse[0];
74
+ try {
75
+ client.writeQuery({
76
+ query: getQuery('GET_FILE_BY_ID'),
77
+ variables: { id: fileId },
78
+ data: { file: updatedFile }
79
+ });
80
+ } catch (e) {
81
+ console.error(e); //eslint-disable-line
82
+ }
83
+ const updateMessage = `Updated: ${updatedFile.filename || fileNames[0]}`;
84
+ closeModalAndSetValue(simpleLayout, updatedFile, updateMessage);
85
+ return;
86
+ }
87
+ const filesToSelect = parsedResponse.map(({ id }) => id);
88
+ const uploadMessage = `Uploaded: ${fileNames.join(', ')}`;
55
89
  getSelectedFiles(null, filesToSelect);
56
- closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);
90
+ closeModalAndSetValue(simpleLayout, filesToSelect, uploadMessage);
57
91
  return;
58
92
  }
59
93
 
94
+ addNewFile && addNewFile(parsedResponse);
95
+ const toastMessage = fileId ? `Updated: ${fileNames[0]}` : `Uploaded: ${fileNames.join(', ')}`;
96
+
60
97
  addToast(toastMessage, {
61
98
  appearance: 'success',
62
99
  autoDismiss: true
@@ -68,43 +105,52 @@ const FileUploadModal = ({ onClose, getSelectedFiles, closeModalAndSetValue, sim
68
105
  onClose();
69
106
  };
70
107
 
71
- const storeOptions = storeType.map(type => [type.key, type.name]);
108
+ let storeOptions = storeType.map(type => [type.key, type.name]);
109
+ storeOptions = storeKey ? storeOptions.filter(([key]) => key === storeKey) : storeOptions;
72
110
 
73
111
  return (
74
- <>
75
- <Modal
76
- onClose={onClose}
77
- title="Add media"
78
- actions={[
79
- {
80
- textButton: 'Cancel',
81
- callback: onClose,
82
- modifiers: ['cancel']
83
- },
84
- {
85
- textButton: 'Save',
86
- callback: handleOnSave,
87
- modifiers: []
88
- }
89
- ]}
90
- upload>
91
- <FileUpload onChange={handleFiles} selectOptions={storeOptions} />
92
- </Modal>
93
- </>
112
+ <Modal
113
+ onClose={onClose}
114
+ title="Add media"
115
+ actions={[
116
+ {
117
+ textButton: 'Cancel',
118
+ callback: onClose,
119
+ modifiers: ['cancel']
120
+ },
121
+ {
122
+ textButton: 'Upload',
123
+ callback: handleOnSave,
124
+ modifiers: []
125
+ }
126
+ ]}
127
+ upload>
128
+ <FileUpload
129
+ storeKey={selectedStoreKey || storeKey}
130
+ onChange={handleFiles}
131
+ selectOptions={storeOptions}
132
+ />
133
+ </Modal>
94
134
  );
95
135
  };
96
136
 
97
137
  FileUploadModal.propTypes = {
138
+ fileId: PropTypes.string,
98
139
  getSelectedFiles: PropTypes.func.isRequired,
99
140
  onClose: PropTypes.func,
100
141
  simpleLayout: PropTypes.bool,
101
- closeModalAndSetValue: PropTypes.func
142
+ closeModalAndSetValue: PropTypes.func,
143
+ storeKey: PropTypes.string,
144
+ selectedStoreKey: PropTypes.string
102
145
  };
103
146
 
104
147
  FileUploadModal.defaultProps = {
105
148
  onClose: () => {},
106
149
  closeModalAndSetValue: () => {},
107
- simpleLayout: false
150
+ simpleLayout: false,
151
+ fileId: null,
152
+ storeKey: null,
153
+ selectedStoreKey: null
108
154
  };
109
155
 
110
156
  export default FileUploadModal;
@@ -9,20 +9,16 @@ import useFileList from '../FileList/useFileList';
9
9
 
10
10
  const FilterPanel = () => {
11
11
  const [searchTerm, setSearchTerm] = useState('');
12
- const { filters, selectedFilter, changeSelectedFilter, fileStores } = useMediaContext(
13
- MediaContext
14
- );
12
+ const { filters, selectedFilter, changeSelectedFilter, fileStores } =
13
+ useMediaContext(MediaContext);
15
14
  const { queryParams, data } = useFileList();
16
15
  const [active, setActive] = useState(filters[0].id);
17
16
 
18
- useEffect(
19
- () => {
20
- if (queryParams.searchTerm === null) {
21
- setSearchTerm('');
22
- }
23
- },
24
- [queryParams.searchTerm]
25
- );
17
+ useEffect(() => {
18
+ if (queryParams.searchTerm === null) {
19
+ setSearchTerm('');
20
+ }
21
+ }, [queryParams.searchTerm]);
26
22
 
27
23
  const handleSearchTerm = ({ target: { value } }) => {
28
24
  setSearchTerm(value);
@@ -92,19 +88,18 @@ const FilterPanel = () => {
92
88
  <div className="filter-panel">
93
89
  <div className="filter-panel__wrapper">
94
90
  <ul className="filter-panel__list">
95
- {filters.map(
96
- ({ label, id }) =>
97
- selectedFilter.filter !== id ? (
98
- <li key={label} className="filter-panel__list-item">
99
- <a onClick={() => onChangeFilter(id)}>
100
- {label} ({data[id]})
101
- </a>
102
- </li>
103
- ) : (
104
- <li key={label} className="filter-panel__list-item active">
91
+ {filters.map(({ label, id }) =>
92
+ selectedFilter.filter !== id ? (
93
+ <li key={label} className="filter-panel__list-item">
94
+ <a onClick={() => onChangeFilter(id)}>
105
95
  {label} ({data[id]})
106
- </li>
107
- )
96
+ </a>
97
+ </li>
98
+ ) : (
99
+ <li key={label} className="filter-panel__list-item active">
100
+ {label} ({data[id]})
101
+ </li>
102
+ )
108
103
  )}
109
104
  </ul>
110
105
  <div className="filter-panel__barWrapper">