@blaze-cms/plugin-media-ui 0.146.0-node18-core-styles-tooltips.45 → 0.146.0-node18-core-styles-tooltips.46

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 (158) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib-es/components/CardMedia/CardMedia.js +233 -0
  3. package/lib-es/components/CardMedia/CardMedia.js.map +1 -0
  4. package/lib-es/components/CardMedia/index.js +3 -0
  5. package/lib-es/components/CardMedia/index.js.map +1 -0
  6. package/lib-es/components/EditMediaFile/EditMediaFile.js +187 -0
  7. package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -0
  8. package/lib-es/components/EditMediaFile/EditMediaFilePage.js +109 -0
  9. package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -0
  10. package/lib-es/components/EditMediaFile/index.js +3 -0
  11. package/lib-es/components/EditMediaFile/index.js.map +1 -0
  12. package/lib-es/components/EditorAdapter/EditorAdapter.js +48 -0
  13. package/lib-es/components/EditorAdapter/EditorAdapter.js.map +1 -0
  14. package/lib-es/components/EditorAdapter/index.js +3 -0
  15. package/lib-es/components/EditorAdapter/index.js.map +1 -0
  16. package/lib-es/components/FileList/FilesListContext/index.js +4 -0
  17. package/lib-es/components/FileList/FilesListContext/index.js.map +1 -0
  18. package/lib-es/components/FileList/FilesListProvider/index.js +36 -0
  19. package/lib-es/components/FileList/FilesListProvider/index.js.map +1 -0
  20. package/lib-es/components/FileList/useFileList/index.js +5 -0
  21. package/lib-es/components/FileList/useFileList/index.js.map +1 -0
  22. package/lib-es/components/FileList/useGetFiles/getFiles.js +179 -0
  23. package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -0
  24. package/lib-es/components/FileList/useGetFiles/index.js +3 -0
  25. package/lib-es/components/FileList/useGetFiles/index.js.map +1 -0
  26. package/lib-es/components/FileList/useGetFiles/useGetFiles.js +114 -0
  27. package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -0
  28. package/lib-es/components/FileList/useGetFilesList/getCounters.js +11 -0
  29. package/lib-es/components/FileList/useGetFilesList/getCounters.js.map +1 -0
  30. package/lib-es/components/FileList/useGetFilesList/index.js +3 -0
  31. package/lib-es/components/FileList/useGetFilesList/index.js.map +1 -0
  32. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js +172 -0
  33. package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -0
  34. package/lib-es/components/FilePreview/Actions/index.js +38 -0
  35. package/lib-es/components/FilePreview/Actions/index.js.map +1 -0
  36. package/lib-es/components/FilePreview/Image/Image.js +40 -0
  37. package/lib-es/components/FilePreview/Image/Image.js.map +1 -0
  38. package/lib-es/components/FilePreview/Image/RawImage.js +31 -0
  39. package/lib-es/components/FilePreview/Image/RawImage.js.map +1 -0
  40. package/lib-es/components/FilePreview/Image/imageSchema.js +53 -0
  41. package/lib-es/components/FilePreview/Image/imageSchema.js.map +1 -0
  42. package/lib-es/components/FilePreview/Image/index.js +12 -0
  43. package/lib-es/components/FilePreview/Image/index.js.map +1 -0
  44. package/lib-es/components/FilePreview/ModalContext.js +3 -0
  45. package/lib-es/components/FilePreview/ModalContext.js.map +1 -0
  46. package/lib-es/components/FilePreview/PDF/PDF.js +49 -0
  47. package/lib-es/components/FilePreview/PDF/PDF.js.map +1 -0
  48. package/lib-es/components/FilePreview/PDF/RawPDF.js +33 -0
  49. package/lib-es/components/FilePreview/PDF/RawPDF.js.map +1 -0
  50. package/lib-es/components/FilePreview/PDF/index.js +12 -0
  51. package/lib-es/components/FilePreview/PDF/index.js.map +1 -0
  52. package/lib-es/components/FilePreview/PDF/schema.js +21 -0
  53. package/lib-es/components/FilePreview/PDF/schema.js.map +1 -0
  54. package/lib-es/components/FilePreview/get-preview.js +28 -0
  55. package/lib-es/components/FilePreview/get-preview.js.map +1 -0
  56. package/lib-es/components/FilePreview/index.js +104 -0
  57. package/lib-es/components/FilePreview/index.js.map +1 -0
  58. package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js +41 -0
  59. package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js.map +1 -0
  60. package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js +39 -0
  61. package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js.map +1 -0
  62. package/lib-es/components/FilePreview/previewDefault/icons/DefaultIcon.js +121 -0
  63. package/lib-es/components/FilePreview/previewDefault/icons/DefaultIcon.js.map +1 -0
  64. package/lib-es/components/FilePreview/previewDefault/icons/index.js +3 -0
  65. package/lib-es/components/FilePreview/previewDefault/icons/index.js.map +1 -0
  66. package/lib-es/components/FilePreview/previewDefault/index.js +12 -0
  67. package/lib-es/components/FilePreview/previewDefault/index.js.map +1 -0
  68. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js +25 -0
  69. package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -0
  70. package/lib-es/components/FilePreviewReadOnly/FileList.js +18 -0
  71. package/lib-es/components/FilePreviewReadOnly/FileList.js.map +1 -0
  72. package/lib-es/components/FilePreviewReadOnly/FilePreviewList.js +22 -0
  73. package/lib-es/components/FilePreviewReadOnly/FilePreviewList.js.map +1 -0
  74. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js +68 -0
  75. package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -0
  76. package/lib-es/components/FilePreviewReadOnly/index.js +3 -0
  77. package/lib-es/components/FilePreviewReadOnly/index.js.map +1 -0
  78. package/lib-es/components/FilePreviewReadOnly/mappers/format-initial-value.js +11 -0
  79. package/lib-es/components/FilePreviewReadOnly/mappers/format-initial-value.js.map +1 -0
  80. package/lib-es/components/FilePreviewReadOnly/mappers/index.js +3 -0
  81. package/lib-es/components/FilePreviewReadOnly/mappers/index.js.map +1 -0
  82. package/lib-es/components/FileUploadAdapter/FileList.js +52 -0
  83. package/lib-es/components/FileUploadAdapter/FileList.js.map +1 -0
  84. package/lib-es/components/FileUploadAdapter/FilePreviewList.js +22 -0
  85. package/lib-es/components/FileUploadAdapter/FilePreviewList.js.map +1 -0
  86. package/lib-es/components/FileUploadAdapter/FileReorderList.js +32 -0
  87. package/lib-es/components/FileUploadAdapter/FileReorderList.js.map +1 -0
  88. package/lib-es/components/FileUploadAdapter/FileReorderListItem.js +24 -0
  89. package/lib-es/components/FileUploadAdapter/FileReorderListItem.js.map +1 -0
  90. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +391 -0
  91. package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -0
  92. package/lib-es/components/FileUploadAdapter/index.js +3 -0
  93. package/lib-es/components/FileUploadAdapter/index.js.map +1 -0
  94. package/lib-es/components/FileUploadAdapter/mappers/format-initial-value.js +11 -0
  95. package/lib-es/components/FileUploadAdapter/mappers/format-initial-value.js.map +1 -0
  96. package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js +11 -0
  97. package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -0
  98. package/lib-es/components/FileUploadAdapter/mappers/get-format.js +12 -0
  99. package/lib-es/components/FileUploadAdapter/mappers/get-format.js.map +1 -0
  100. package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +7 -0
  101. package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js.map +1 -0
  102. package/lib-es/components/FileUploadAdapter/mappers/index.js +8 -0
  103. package/lib-es/components/FileUploadAdapter/mappers/index.js.map +1 -0
  104. package/lib-es/components/FileUploadAdapter/mappers/is-unselecting.js +2 -0
  105. package/lib-es/components/FileUploadAdapter/mappers/is-unselecting.js.map +1 -0
  106. package/lib-es/components/FileUploadAdapter/mappers/transform-to-array.js +2 -0
  107. package/lib-es/components/FileUploadAdapter/mappers/transform-to-array.js.map +1 -0
  108. package/lib-es/components/FileUploadAdapter/useLimit.js +13 -0
  109. package/lib-es/components/FileUploadAdapter/useLimit.js.map +1 -0
  110. package/lib-es/components/FileUploadModal/FileUploadModal.js +178 -0
  111. package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -0
  112. package/lib-es/components/FileUploadModal/index.js +3 -0
  113. package/lib-es/components/FileUploadModal/index.js.map +1 -0
  114. package/lib-es/components/FilterPanel/FilterPanel.js +135 -0
  115. package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -0
  116. package/lib-es/components/FilterPanel/index.js +3 -0
  117. package/lib-es/components/FilterPanel/index.js.map +1 -0
  118. package/lib-es/components/ListingContainer/Listing/Listing.js +70 -0
  119. package/lib-es/components/ListingContainer/Listing/Listing.js.map +1 -0
  120. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +153 -0
  121. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -0
  122. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js +3 -0
  123. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js.map +1 -0
  124. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js +33 -0
  125. package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -0
  126. package/lib-es/components/ListingContainer/Listing/MediaListing/index.js +3 -0
  127. package/lib-es/components/ListingContainer/Listing/MediaListing/index.js.map +1 -0
  128. package/lib-es/components/ListingContainer/Listing/index.js +3 -0
  129. package/lib-es/components/ListingContainer/Listing/index.js.map +1 -0
  130. package/lib-es/components/ListingContainer/ListingContainer.js +115 -0
  131. package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -0
  132. package/lib-es/components/ListingContainer/index.js +3 -0
  133. package/lib-es/components/ListingContainer/index.js.map +1 -0
  134. package/lib-es/components/ListingContainer/mappers/exist-previous.js +3 -0
  135. package/lib-es/components/ListingContainer/mappers/exist-previous.js.map +1 -0
  136. package/lib-es/components/ListingContainer/mappers/index.js +3 -0
  137. package/lib-es/components/ListingContainer/mappers/index.js.map +1 -0
  138. package/lib-es/components/MediaListing.js +29 -0
  139. package/lib-es/components/MediaListing.js.map +1 -0
  140. package/lib-es/constants.js +36 -0
  141. package/lib-es/constants.js.map +1 -0
  142. package/lib-es/icons/MediaLibraryIcon.js +70 -0
  143. package/lib-es/icons/MediaLibraryIcon.js.map +1 -0
  144. package/lib-es/icons/index.js +3 -0
  145. package/lib-es/icons/index.js.map +1 -0
  146. package/lib-es/index.js +61 -0
  147. package/lib-es/index.js.map +1 -0
  148. package/lib-es/utils/available-filters/available-filters.js +26 -0
  149. package/lib-es/utils/available-filters/available-filters.js.map +1 -0
  150. package/lib-es/utils/bustUrl.js +7 -0
  151. package/lib-es/utils/bustUrl.js.map +1 -0
  152. package/lib-es/utils/media-context/index.js +4 -0
  153. package/lib-es/utils/media-context/index.js.map +1 -0
  154. package/lib-es/utils/media-context/media-context.js +6 -0
  155. package/lib-es/utils/media-context/media-context.js.map +1 -0
  156. package/lib-es/utils/media-context/useMediaContext.js +4 -0
  157. package/lib-es/utils/media-context/useMediaContext.js.map +1 -0
  158. package/package.json +9 -8
@@ -0,0 +1,48 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ const _excluded = ["id", "value", "onChange", "error", "validationMessage", "label", "tooltip"];
3
+ import React from 'react';
4
+ import DraftEditor from '@blaze-react/drafteditor';
5
+ import PropTypes from 'prop-types';
6
+ import Tooltip from '@blaze-react/tooltip';
7
+ const DraftEditorAdapter = _ref => {
8
+ let {
9
+ id,
10
+ value,
11
+ onChange,
12
+ error,
13
+ validationMessage,
14
+ label,
15
+ tooltip
16
+ } = _ref,
17
+ props = _objectWithoutProperties(_ref, _excluded);
18
+ return /*#__PURE__*/React.createElement("div", {
19
+ className: "form-field form-field--full-width"
20
+ }, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement(Tooltip, {
21
+ tooltipContent: tooltip
22
+ })), /*#__PURE__*/React.createElement(DraftEditor, {
23
+ name: id,
24
+ value: value,
25
+ onChange: onChange,
26
+ error: error,
27
+ validationMessage: validationMessage,
28
+ tooltip: {
29
+ tooltipContent: tooltip
30
+ }
31
+ }));
32
+ };
33
+ DraftEditorAdapter.propTypes = {
34
+ id: PropTypes.string.isRequired,
35
+ value: PropTypes.string.isRequired,
36
+ onChange: PropTypes.func.isRequired,
37
+ error: PropTypes.bool,
38
+ validationMessage: PropTypes.string,
39
+ label: PropTypes.string.isRequired,
40
+ tooltip: PropTypes.string
41
+ };
42
+ DraftEditorAdapter.defaultProps = {
43
+ error: false,
44
+ validationMessage: undefined,
45
+ tooltip: ''
46
+ };
47
+ export default DraftEditorAdapter;
48
+ //# sourceMappingURL=EditorAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorAdapter.js","names":["React","DraftEditor","PropTypes","Tooltip","DraftEditorAdapter","_ref","id","value","onChange","error","validationMessage","label","tooltip","props","_objectWithoutProperties","_excluded","createElement","className","tooltipContent","name","propTypes","string","isRequired","func","bool","defaultProps","undefined"],"sources":["../../../src/components/EditorAdapter/EditorAdapter.js"],"sourcesContent":["import React from 'react';\nimport DraftEditor from '@blaze-react/drafteditor';\nimport PropTypes from 'prop-types';\nimport Tooltip from '@blaze-react/tooltip';\n\nconst DraftEditorAdapter = ({\n id,\n value,\n onChange,\n error,\n validationMessage,\n label,\n tooltip,\n ...props\n}) => (\n <div className=\"form-field form-field--full-width\">\n <label>\n <Tooltip tooltipContent={tooltip} />\n </label>\n <DraftEditor\n name={id}\n value={value}\n onChange={onChange}\n error={error}\n validationMessage={validationMessage}\n tooltip={{ tooltipContent: tooltip }}\n />\n </div>\n);\n\nDraftEditorAdapter.propTypes = {\n id: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n error: PropTypes.bool,\n validationMessage: PropTypes.string,\n label: PropTypes.string.isRequired,\n tooltip: PropTypes.string\n};\n\nDraftEditorAdapter.defaultProps = {\n error: false,\n validationMessage: undefined,\n tooltip: ''\n};\n\nexport default DraftEditorAdapter;\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,0BAA0B;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,sBAAsB;AAE1C,MAAMC,kBAAkB,GAAGC,IAAA;EAAA,IAAC;MAC1BC,EAAE;MACFC,KAAK;MACLC,QAAQ;MACRC,KAAK;MACLC,iBAAiB;MACjBC,KAAK;MACLC;IAEF,CAAC,GAAAP,IAAA;IADIQ,KAAK,GAAAC,wBAAA,CAAAT,IAAA,EAAAU,SAAA;EAAA,oBAERf,KAAA,CAAAgB,aAAA;IAAKC,SAAS,EAAC;EAAmC,gBAChDjB,KAAA,CAAAgB,aAAA,6BACEhB,KAAA,CAAAgB,aAAA,CAACb,OAAO;IAACe,cAAc,EAAEN;EAAQ,CAAE,CAC9B,CAAC,eACRZ,KAAA,CAAAgB,aAAA,CAACf,WAAW;IACVkB,IAAI,EAAEb,EAAG;IACTC,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBC,KAAK,EAAEA,KAAM;IACbC,iBAAiB,EAAEA,iBAAkB;IACrCE,OAAO,EAAE;MAAEM,cAAc,EAAEN;IAAQ;EAAE,CACtC,CACE,CAAC;AAAA,CACP;AAEDR,kBAAkB,CAACgB,SAAS,GAAG;EAC7Bd,EAAE,EAAEJ,SAAS,CAACmB,MAAM,CAACC,UAAU;EAC/Bf,KAAK,EAAEL,SAAS,CAACmB,MAAM,CAACC,UAAU;EAClCd,QAAQ,EAAEN,SAAS,CAACqB,IAAI,CAACD,UAAU;EACnCb,KAAK,EAAEP,SAAS,CAACsB,IAAI;EACrBd,iBAAiB,EAAER,SAAS,CAACmB,MAAM;EACnCV,KAAK,EAAET,SAAS,CAACmB,MAAM,CAACC,UAAU;EAClCV,OAAO,EAAEV,SAAS,CAACmB;AACrB,CAAC;AAEDjB,kBAAkB,CAACqB,YAAY,GAAG;EAChChB,KAAK,EAAE,KAAK;EACZC,iBAAiB,EAAEgB,SAAS;EAC5Bd,OAAO,EAAE;AACX,CAAC;AAED,eAAeR,kBAAkB","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import EditorAdapter from './EditorAdapter';
2
+ export default EditorAdapter;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["EditorAdapter"],"sources":["../../../src/components/EditorAdapter/index.js"],"sourcesContent":["import EditorAdapter from './EditorAdapter';\n\nexport default EditorAdapter;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,iBAAiB;AAE3C,eAAeA,aAAa","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ const FilesListContext = React.createContext({});
3
+ export default FilesListContext;
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","FilesListContext","createContext"],"sources":["../../../../src/components/FileList/FilesListContext/index.js"],"sourcesContent":["import React from 'react';\n\nconst FilesListContext = React.createContext({});\n\nexport default FilesListContext;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,MAAMC,gBAAgB,GAAGD,KAAK,CAACE,aAAa,CAAC,CAAC,CAAC,CAAC;AAEhD,eAAeD,gBAAgB","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import useGetFilesList from '../useGetFilesList/useGetFilesList';
4
+ import FilesListContext from '../FilesListContext';
5
+ const FilesListProvider = ({
6
+ children
7
+ }) => {
8
+ const [{
9
+ queryParams,
10
+ data,
11
+ loading
12
+ }, {
13
+ setQueryParams,
14
+ clearList,
15
+ removeFile,
16
+ addNewFile,
17
+ updateFile
18
+ }] = useGetFilesList();
19
+ return /*#__PURE__*/React.createElement(FilesListContext.Provider, {
20
+ value: {
21
+ queryParams,
22
+ data,
23
+ loading,
24
+ setQueryParams,
25
+ clearList,
26
+ removeFile,
27
+ addNewFile,
28
+ updateFile
29
+ }
30
+ }, children);
31
+ };
32
+ FilesListProvider.propTypes = {
33
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired
34
+ };
35
+ export default FilesListProvider;
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","useGetFilesList","FilesListContext","FilesListProvider","children","queryParams","data","loading","setQueryParams","clearList","removeFile","addNewFile","updateFile","createElement","Provider","value","propTypes","oneOfType","arrayOf","node","isRequired"],"sources":["../../../../src/components/FileList/FilesListProvider/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport useGetFilesList from '../useGetFilesList/useGetFilesList';\nimport FilesListContext from '../FilesListContext';\n\nconst FilesListProvider = ({ children }) => {\n const [\n { queryParams, data, loading },\n { setQueryParams, clearList, removeFile, addNewFile, updateFile }\n ] = useGetFilesList();\n return (\n <FilesListContext.Provider\n value={{\n queryParams,\n data,\n loading,\n setQueryParams,\n clearList,\n removeFile,\n addNewFile,\n updateFile\n }}>\n {children}\n </FilesListContext.Provider>\n );\n};\n\nFilesListProvider.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired\n};\n\nexport default FilesListProvider;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,eAAe,MAAM,oCAAoC;AAChE,OAAOC,gBAAgB,MAAM,qBAAqB;AAElD,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAAS,CAAC,KAAK;EAC1C,MAAM,CACJ;IAAEC,WAAW;IAAEC,IAAI;IAAEC;EAAQ,CAAC,EAC9B;IAAEC,cAAc;IAAEC,SAAS;IAAEC,UAAU;IAAEC,UAAU;IAAEC;EAAW,CAAC,CAClE,GAAGX,eAAe,CAAC,CAAC;EACrB,oBACEF,KAAA,CAAAc,aAAA,CAACX,gBAAgB,CAACY,QAAQ;IACxBC,KAAK,EAAE;MACLV,WAAW;MACXC,IAAI;MACJC,OAAO;MACPC,cAAc;MACdC,SAAS;MACTC,UAAU;MACVC,UAAU;MACVC;IACF;EAAE,GACDR,QACwB,CAAC;AAEhC,CAAC;AAEDD,iBAAiB,CAACa,SAAS,GAAG;EAC5BZ,QAAQ,EAAEJ,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,OAAO,CAAClB,SAAS,CAACmB,IAAI,CAAC,EAAEnB,SAAS,CAACmB,IAAI,CAAC,CAAC,CAACC;AACrF,CAAC;AAED,eAAejB,iBAAiB","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import { useContext } from 'react';
2
+ import FilesListContext from '../FilesListContext';
3
+ const useFileList = () => useContext(FilesListContext);
4
+ export default useFileList;
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useContext","FilesListContext","useFileList"],"sources":["../../../../src/components/FileList/useFileList/index.js"],"sourcesContent":["import { useContext } from 'react';\nimport FilesListContext from '../FilesListContext';\n\nconst useFileList = () => useContext(FilesListContext);\n\nexport default useFileList;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,OAAOC,gBAAgB,MAAM,qBAAqB;AAElD,MAAMC,WAAW,GAAGA,CAAA,KAAMF,UAAU,CAACC,gBAAgB,CAAC;AAEtD,eAAeC,WAAW","ignoreList":[]}
@@ -0,0 +1,179 @@
1
+ import { getQuery } from '@blaze-cms/admin-ui-utils';
2
+ import { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';
3
+ const getFromSearch = async ({
4
+ searchTerm,
5
+ offset,
6
+ limit,
7
+ where,
8
+ client,
9
+ fileStores = []
10
+ }) => {
11
+ const allTypesMatches = [{
12
+ match: {
13
+ type: 'image'
14
+ }
15
+ }, {
16
+ match: {
17
+ type: 'video'
18
+ }
19
+ }, {
20
+ match: {
21
+ type: 'text'
22
+ }
23
+ }];
24
+ const matchSpecificType = [{
25
+ match: {
26
+ type: where.type
27
+ }
28
+ }];
29
+ const match = !where.type || where.type === ALL ? allTypesMatches : matchSpecificType;
30
+ const mustMatch = [];
31
+ if (searchTerm) {
32
+ mustMatch.push({
33
+ simple_query_string: {
34
+ query: `${searchTerm}*`,
35
+ analyze_wildcard: true,
36
+ fields: ['name', 'filename', 'data.altText', 'data.caption', 'data.title', 'data.credits']
37
+ }
38
+ });
39
+ }
40
+ const storeKeys = [];
41
+ if (INVALID_STORE_KEY_VALUES.includes(where.storeKey)) {
42
+ storeKeys.push(...fileStores.map(({
43
+ key
44
+ }) => key));
45
+ } else if (where.storeKey) {
46
+ storeKeys.push(where.storeKey);
47
+ }
48
+ mustMatch.push({
49
+ bool: {
50
+ should: storeKeys.map(storeKey => ({
51
+ match: {
52
+ storeKey
53
+ }
54
+ })),
55
+ minimum_should_match: 1
56
+ }
57
+ });
58
+ const {
59
+ data: {
60
+ files: {
61
+ results: files
62
+ },
63
+ all,
64
+ image,
65
+ video,
66
+ text
67
+ }
68
+ } = await client.query({
69
+ query: getQuery('SEARCH_ADMIN_MEDIA'),
70
+ fetchPolicy: 'network-only',
71
+ variables: {
72
+ offset,
73
+ limit,
74
+ sort: searchTerm ? null : 'updated:desc',
75
+ rawQuery: {
76
+ query: {
77
+ bool: {
78
+ must: [...mustMatch, {
79
+ bool: {
80
+ should: match
81
+ }
82
+ }]
83
+ }
84
+ }
85
+ },
86
+ rawQueryAllResults: {
87
+ query: {
88
+ bool: {
89
+ must: [...mustMatch, {
90
+ bool: {
91
+ should: [{
92
+ match: {
93
+ type: 'image'
94
+ }
95
+ }, {
96
+ match: {
97
+ type: 'video'
98
+ }
99
+ }, {
100
+ match: {
101
+ type: 'text'
102
+ }
103
+ }]
104
+ }
105
+ }]
106
+ }
107
+ }
108
+ },
109
+ rawQueryImages: {
110
+ query: {
111
+ bool: {
112
+ must: [...mustMatch, {
113
+ bool: {
114
+ should: [{
115
+ match: {
116
+ type: 'image'
117
+ }
118
+ }]
119
+ }
120
+ }]
121
+ }
122
+ }
123
+ },
124
+ rawQueryVideos: {
125
+ query: {
126
+ bool: {
127
+ must: [...mustMatch, {
128
+ bool: {
129
+ should: [{
130
+ match: {
131
+ type: 'video'
132
+ }
133
+ }]
134
+ }
135
+ }]
136
+ }
137
+ }
138
+ },
139
+ rawQueryDocs: {
140
+ query: {
141
+ bool: {
142
+ must: [...mustMatch, {
143
+ bool: {
144
+ should: [{
145
+ match: {
146
+ type: 'text'
147
+ }
148
+ }]
149
+ }
150
+ }]
151
+ }
152
+ }
153
+ }
154
+ }
155
+ });
156
+ return {
157
+ files,
158
+ all,
159
+ image,
160
+ video,
161
+ text
162
+ };
163
+ };
164
+ const getFiles = ({
165
+ offset,
166
+ limit,
167
+ where,
168
+ searchTerm,
169
+ fileStores
170
+ }, client) => getFromSearch({
171
+ searchTerm,
172
+ offset,
173
+ limit,
174
+ where,
175
+ client,
176
+ fileStores
177
+ });
178
+ export default getFiles;
179
+ //# sourceMappingURL=getFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getFiles.js","names":["getQuery","ALL","INVALID_STORE_KEY_VALUES","getFromSearch","searchTerm","offset","limit","where","client","fileStores","allTypesMatches","match","type","matchSpecificType","mustMatch","push","simple_query_string","query","analyze_wildcard","fields","storeKeys","includes","storeKey","map","key","bool","should","minimum_should_match","data","files","results","all","image","video","text","fetchPolicy","variables","sort","rawQuery","must","rawQueryAllResults","rawQueryImages","rawQueryVideos","rawQueryDocs","getFiles"],"sources":["../../../../src/components/FileList/useGetFiles/getFiles.js"],"sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';\n\nconst getFromSearch = async ({ searchTerm, offset, limit, where, client, fileStores = [] }) => {\n const allTypesMatches = [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ];\n const matchSpecificType = [\n {\n match: { type: where.type }\n }\n ];\n const match = !where.type || where.type === ALL ? allTypesMatches : matchSpecificType;\n const mustMatch = [];\n\n if (searchTerm) {\n mustMatch.push({\n simple_query_string: {\n query: `${searchTerm}*`,\n analyze_wildcard: true,\n fields: ['name', 'filename', 'data.altText', 'data.caption', 'data.title', 'data.credits']\n }\n });\n }\n\n const storeKeys = [];\n if (INVALID_STORE_KEY_VALUES.includes(where.storeKey)) {\n storeKeys.push(...fileStores.map(({ key }) => key));\n } else if (where.storeKey) {\n storeKeys.push(where.storeKey);\n }\n\n mustMatch.push({\n bool: {\n should: storeKeys.map(storeKey => ({\n match: { storeKey }\n })),\n minimum_should_match: 1\n }\n });\n\n const {\n data: {\n files: { results: files },\n all,\n image,\n video,\n text\n }\n } = await client.query({\n query: getQuery('SEARCH_ADMIN_MEDIA'),\n fetchPolicy: 'network-only',\n variables: {\n offset,\n limit,\n sort: searchTerm ? null : 'updated:desc',\n rawQuery: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: match\n }\n }\n ]\n }\n }\n },\n rawQueryAllResults: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n },\n {\n match: { type: 'video' }\n },\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryImages: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'image' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryVideos: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'video' }\n }\n ]\n }\n }\n ]\n }\n }\n },\n rawQueryDocs: {\n query: {\n bool: {\n must: [\n ...mustMatch,\n {\n bool: {\n should: [\n {\n match: { type: 'text' }\n }\n ]\n }\n }\n ]\n }\n }\n }\n }\n });\n\n return { files, all, image, video, text };\n};\n\nconst getFiles = ({ offset, limit, where, searchTerm, fileStores }, client) =>\n getFromSearch({ searchTerm, offset, limit, where, client, fileStores });\n\nexport default getFiles;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import useGetFiles from './useGetFiles';
2
+ export default useGetFiles;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useGetFiles"],"sources":["../../../../src/components/FileList/useGetFiles/index.js"],"sourcesContent":["import useGetFiles from './useGetFiles';\n\nexport default useGetFiles;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AAEvC,eAAeA,WAAW","ignoreList":[]}
@@ -0,0 +1,114 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { useState, useEffect, useContext } from 'react';
5
+ import { useApolloClient } from '@apollo/client';
6
+ import getFiles from './getFiles';
7
+ import { MediaContext } from '../../../utils/media-context';
8
+ function useGetFiles() {
9
+ const [queryParams, setQueryParams] = useState({
10
+ limit: 20,
11
+ offset: 0,
12
+ where: null,
13
+ sort: [{
14
+ property: 'updated',
15
+ direction: 'desc'
16
+ }]
17
+ });
18
+ const {
19
+ fileStores
20
+ } = useContext(MediaContext) || {};
21
+ const [previousFilter, setPreviousFilter] = useState(null);
22
+ const [previousOffset, setPreviousOffset] = useState(null);
23
+ const [previousSearchTerm, setPreviousSearchTerm] = useState(null);
24
+ const [data, setData] = useState({
25
+ files: [],
26
+ total: 0
27
+ });
28
+ const [isLoading, setIsLoading] = useState(true);
29
+ const client = useApolloClient();
30
+ const setParams = newQueryParams => {
31
+ setQueryParams(_objectSpread(_objectSpread({}, queryParams), newQueryParams));
32
+ };
33
+ useEffect(() => {
34
+ const {
35
+ offset,
36
+ limit,
37
+ where,
38
+ sort,
39
+ searchTerm,
40
+ isSearch
41
+ } = queryParams;
42
+ const newFilter = JSON.stringify(where);
43
+ const isNewFilterSet = newFilter !== previousFilter;
44
+ const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;
45
+ const isNewSearchTermSet = searchTerm && previousSearchTerm !== searchTerm;
46
+ const isResetSearch = searchTerm === null && !isSearch && previousFilter;
47
+ const shouldRequest = where && (isNewOffsetSet || isNewFilterSet || isNewSearchTermSet || isResetSearch);
48
+ async function fetchData() {
49
+ if (data.files.length) {
50
+ setData({
51
+ files: []
52
+ });
53
+ }
54
+ const {
55
+ files,
56
+ total,
57
+ all,
58
+ image,
59
+ video,
60
+ text
61
+ } = await getFiles({
62
+ offset,
63
+ limit,
64
+ where,
65
+ sort,
66
+ searchTerm,
67
+ isSearch,
68
+ fileStores
69
+ }, client);
70
+ setData({
71
+ files,
72
+ total,
73
+ all,
74
+ image,
75
+ video,
76
+ text
77
+ });
78
+ }
79
+ if (shouldRequest) {
80
+ setIsLoading(true);
81
+ fetchData().then(() => {
82
+ setIsLoading(false);
83
+ });
84
+ setPreviousFilter(newFilter);
85
+ setPreviousOffset(offset);
86
+ setPreviousSearchTerm(searchTerm);
87
+ }
88
+ }, [queryParams, previousOffset, previousFilter] //eslint-disable-line
89
+ );
90
+ const {
91
+ files,
92
+ total,
93
+ all,
94
+ image,
95
+ video,
96
+ text
97
+ } = data;
98
+ return [{
99
+ queryParams,
100
+ previousFilter,
101
+ previousSearchTerm,
102
+ loading: isLoading,
103
+ data: {
104
+ files,
105
+ total,
106
+ all,
107
+ image,
108
+ video,
109
+ text
110
+ }
111
+ }, setParams];
112
+ }
113
+ export default useGetFiles;
114
+ //# sourceMappingURL=useGetFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGetFiles.js","names":["useState","useEffect","useContext","useApolloClient","getFiles","MediaContext","useGetFiles","queryParams","setQueryParams","limit","offset","where","sort","property","direction","fileStores","previousFilter","setPreviousFilter","previousOffset","setPreviousOffset","previousSearchTerm","setPreviousSearchTerm","data","setData","files","total","isLoading","setIsLoading","client","setParams","newQueryParams","_objectSpread","searchTerm","isSearch","newFilter","JSON","stringify","isNewFilterSet","isNewOffsetSet","isNewSearchTermSet","isResetSearch","shouldRequest","fetchData","length","all","image","video","text","then","loading"],"sources":["../../../../src/components/FileList/useGetFiles/useGetFiles.js"],"sourcesContent":["import { useState, useEffect, useContext } from 'react';\nimport { useApolloClient } from '@apollo/client';\nimport getFiles from './getFiles';\nimport { MediaContext } from '../../../utils/media-context';\n\nfunction useGetFiles() {\n const [queryParams, setQueryParams] = useState({\n limit: 20,\n offset: 0,\n where: null,\n sort: [\n {\n property: 'updated',\n direction: 'desc'\n }\n ]\n });\n const { fileStores } = useContext(MediaContext) || {};\n const [previousFilter, setPreviousFilter] = useState(null);\n const [previousOffset, setPreviousOffset] = useState(null);\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const [data, setData] = useState({ files: [], total: 0 });\n const [isLoading, setIsLoading] = useState(true);\n const client = useApolloClient();\n\n const setParams = newQueryParams => {\n setQueryParams({ ...queryParams, ...newQueryParams });\n };\n\n useEffect(\n () => {\n const { offset, limit, where, sort, searchTerm, isSearch } = queryParams;\n const newFilter = JSON.stringify(where);\n const isNewFilterSet = newFilter !== previousFilter;\n const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;\n const isNewSearchTermSet = searchTerm && previousSearchTerm !== searchTerm;\n const isResetSearch = searchTerm === null && !isSearch && previousFilter;\n const shouldRequest =\n where && (isNewOffsetSet || isNewFilterSet || isNewSearchTermSet || isResetSearch);\n async function fetchData() {\n if (data.files.length) {\n setData({ files: [] });\n }\n\n const { files, total, all, image, video, text } = await getFiles(\n { offset, limit, where, sort, searchTerm, isSearch, fileStores },\n client\n );\n setData({ files, total, all, image, video, text });\n }\n\n if (shouldRequest) {\n setIsLoading(true);\n fetchData().then(() => {\n setIsLoading(false);\n });\n setPreviousFilter(newFilter);\n setPreviousOffset(offset);\n setPreviousSearchTerm(searchTerm);\n }\n },\n [queryParams, previousOffset, previousFilter] //eslint-disable-line\n );\n\n const { files, total, all, image, video, text } = data;\n return [\n {\n queryParams,\n previousFilter,\n previousSearchTerm,\n loading: isLoading,\n data: { files, total, all, image, video, text }\n },\n setParams\n ];\n}\n\nexport default useGetFiles;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { getQuery } from '@blaze-cms/admin-ui-utils';
2
+ const getCounters = async client => {
3
+ const {
4
+ data
5
+ } = await client.query({
6
+ query: getQuery('GET_COUNT_ALL_FILES')
7
+ });
8
+ return data;
9
+ };
10
+ export default getCounters;
11
+ //# sourceMappingURL=getCounters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCounters.js","names":["getQuery","getCounters","client","data","query"],"sources":["../../../../src/components/FileList/useGetFilesList/getCounters.js"],"sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\n\nconst getCounters = async client => {\n const { data } = await client.query({ query: getQuery('GET_COUNT_ALL_FILES') });\n return data;\n};\n\nexport default getCounters;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,2BAA2B;AAEpD,MAAMC,WAAW,GAAG,MAAMC,MAAM,IAAI;EAClC,MAAM;IAAEC;EAAK,CAAC,GAAG,MAAMD,MAAM,CAACE,KAAK,CAAC;IAAEA,KAAK,EAAEJ,QAAQ,CAAC,qBAAqB;EAAE,CAAC,CAAC;EAC/E,OAAOG,IAAI;AACb,CAAC;AAED,eAAeF,WAAW","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import useGetFilesList from './useGetFilesList';
2
+ export default useGetFilesList;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useGetFilesList"],"sources":["../../../../src/components/FileList/useGetFilesList/index.js"],"sourcesContent":["import useGetFilesList from './useGetFilesList';\n\nexport default useGetFilesList;\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,mBAAmB;AAE/C,eAAeA,eAAe","ignoreList":[]}
@@ -0,0 +1,172 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ import { useState, useEffect } from 'react';
5
+ import differenceWith from 'lodash.differencewith';
6
+ import isEqual from 'lodash.isequal';
7
+ import useGetFiles from '../useGetFiles';
8
+ function useGetFilesList() {
9
+ const [{
10
+ queryParams,
11
+ previousFilter,
12
+ previousSearchTerm,
13
+ loading,
14
+ data: {
15
+ files: results,
16
+ all,
17
+ image,
18
+ video,
19
+ text
20
+ }
21
+ }, setParams] = useGetFiles();
22
+ const [currentResults, setCurrentResults] = useState([]);
23
+ const [allResults, setAllResults] = useState([]);
24
+ const [currentFilter, setCurrentFilter] = useState(null);
25
+ const [allFilesCounter, setAllFilesCounter] = useState({
26
+ all: 0,
27
+ text: 0,
28
+ image: 0,
29
+ video: 0
30
+ });
31
+ const [counters, setCounters] = useState(null);
32
+ useEffect(() => {
33
+ if (all && image && video && text) {
34
+ setCounters({
35
+ all: all.total,
36
+ image: image.total,
37
+ video: video.total,
38
+ text: text.total
39
+ });
40
+ }
41
+ }, [all, image, video, text]);
42
+ useEffect(() => {
43
+ if (!currentFilter && previousFilter) {
44
+ setCurrentFilter(previousFilter);
45
+ }
46
+ if (currentFilter !== previousFilter) {
47
+ setAllResults([]);
48
+ setCurrentResults([]);
49
+ return;
50
+ }
51
+ const isContentDifferent = !!differenceWith(results, currentResults, isEqual).length;
52
+ if (isContentDifferent) {
53
+ setAllResults([...allResults, ...results]);
54
+ setCurrentResults(results);
55
+ }
56
+ const shouldSetContentIfListIsVoid = !isContentDifferent && !allResults.length && results.length;
57
+ if (shouldSetContentIfListIsVoid) {
58
+ setAllResults(results);
59
+ setCurrentResults(results);
60
+ }
61
+ }, [currentFilter, currentResults, currentResults.length, previousFilter, results] //eslint-disable-line
62
+ );
63
+ const removeFile = ({
64
+ index
65
+ }) => {
66
+ const resultsToUpdate = [...allResults];
67
+ resultsToUpdate.splice(index, 1);
68
+ const currentFileType = resultsToUpdate[index].type;
69
+ const updatedFileTypeCounterValue = allFilesCounter[currentFileType] - 1;
70
+ const updateAllFilesCounter = allFilesCounter.all - 1;
71
+ if (queryParams.isSearch) {
72
+ setCounters(_objectSpread(_objectSpread({}, counters), {}, {
73
+ [currentFileType]: counters[currentFileType] - 1,
74
+ all: counters.all - 1
75
+ }));
76
+ setAllFilesCounter(_objectSpread(_objectSpread({}, allFilesCounter), {}, {
77
+ [currentFileType]: updatedFileTypeCounterValue,
78
+ all: updateAllFilesCounter
79
+ }));
80
+ }
81
+ if (!queryParams.isSearch) {
82
+ const updatedCounters = _objectSpread(_objectSpread({}, allFilesCounter), {}, {
83
+ [currentFileType]: updatedFileTypeCounterValue,
84
+ all: updateAllFilesCounter
85
+ });
86
+ setCounters(updatedCounters);
87
+ setAllFilesCounter(updatedCounters);
88
+ }
89
+ setAllResults(resultsToUpdate);
90
+ };
91
+ const updateFile = ({
92
+ file,
93
+ index
94
+ }) => {
95
+ const resultsToUpdate = [...allResults];
96
+ resultsToUpdate[index] = file;
97
+ setAllResults(resultsToUpdate);
98
+ };
99
+ const addNewFile = newFiles => {
100
+ const {
101
+ image: _image,
102
+ video: _video,
103
+ text: _text
104
+ } = newFiles.reduce((acc, {
105
+ type
106
+ }) => {
107
+ acc[type] += 1;
108
+ return acc;
109
+ }, {
110
+ image: 0,
111
+ video: 0,
112
+ text: 0
113
+ });
114
+ if (queryParams.isSearch) {
115
+ setAllResults([]);
116
+ setParams({
117
+ queryParams,
118
+ isSearch: false,
119
+ searchTerm: null
120
+ });
121
+ }
122
+ const updatedCounters = {
123
+ all: allFilesCounter.all + _image + _video + _text,
124
+ image: allFilesCounter.image + _image,
125
+ video: allFilesCounter.video + _video,
126
+ text: allFilesCounter.text + _text
127
+ };
128
+ setCounters(updatedCounters);
129
+ setAllFilesCounter(updatedCounters);
130
+ setAllResults([...newFiles, ...allResults]);
131
+ };
132
+ const clearList = params => {
133
+ setAllResults([]);
134
+ setParams(_objectSpread(_objectSpread({}, params), {}, {
135
+ offset: 0
136
+ }));
137
+ setCounters(allFilesCounter);
138
+ };
139
+ const setQueryParams = params => {
140
+ const isNewSearchTerm = params.isSearch && previousSearchTerm !== params.searchTerm;
141
+ const hasDeletedSearchTerm = previousSearchTerm && params.searchTerm === null;
142
+ const newFilter = JSON.stringify(params.where);
143
+ const isNewFilter = newFilter !== previousFilter;
144
+ const shouldClearList = hasDeletedSearchTerm || isNewFilter || isNewSearchTerm;
145
+ shouldClearList ? clearList(params) : setParams(params);
146
+ setCurrentFilter(newFilter);
147
+ };
148
+ const parsedQueryParams = _objectSpread(_objectSpread({}, queryParams), {}, {
149
+ where: _objectSpread({}, queryParams.where)
150
+ });
151
+ if (parsedQueryParams.where.type === 'all') delete parsedQueryParams.where.type;
152
+ return [{
153
+ queryParams: parsedQueryParams,
154
+ loading,
155
+ data: {
156
+ files: allResults,
157
+ all: counters ? formatCounterNumber(counters.all) : 0,
158
+ images: counters ? formatCounterNumber(counters.image) : 0,
159
+ videos: counters ? formatCounterNumber(counters.video) : 0,
160
+ documents: counters ? formatCounterNumber(counters.text) : 0
161
+ }
162
+ }, {
163
+ setQueryParams,
164
+ clearList,
165
+ removeFile,
166
+ addNewFile,
167
+ updateFile
168
+ }];
169
+ }
170
+ const formatCounterNumber = n => n === 10000 ? '10000+' : n;
171
+ export default useGetFilesList;
172
+ //# sourceMappingURL=useGetFilesList.js.map