@blaze-cms/plugin-media-ui 0.146.0-rc-eagle.0 → 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.
- package/CHANGELOG.md +8 -1
- package/lib/components/CardMedia/CardMedia.js +96 -52
- package/lib/components/CardMedia/CardMedia.js.map +1 -1
- package/lib/components/EditMediaFile/EditMediaFile.js +24 -39
- package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
- package/lib/components/EditMediaFile/EditMediaFilePage.js +16 -8
- package/lib/components/EditMediaFile/EditMediaFilePage.js.map +1 -1
- package/lib/components/FileList/useGetFiles/getFiles.js +6 -3
- package/lib/components/FileList/useGetFiles/getFiles.js.map +1 -1
- package/lib/components/FileList/useGetFiles/useGetFiles.js +7 -2
- package/lib/components/FileList/useGetFiles/useGetFiles.js.map +1 -1
- package/lib/components/FileList/useGetFilesList/useGetFilesList.js +4 -1
- package/lib/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -1
- package/lib/components/FilePreview/Actions/index.js +2 -1
- package/lib/components/FilePreview/Actions/index.js.map +1 -1
- package/lib/components/FilePreview/Image/imageSchema.js +8 -4
- package/lib/components/FilePreview/Image/imageSchema.js.map +1 -1
- package/lib/components/FilePreview/PDF/schema.js +2 -1
- package/lib/components/FilePreview/PDF/schema.js.map +1 -1
- package/lib/components/FilePreview/index.js +47 -3
- package/lib/components/FilePreview/index.js.map +1 -1
- package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
- package/lib/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -1
- package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js +2 -1
- package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
- package/lib/components/FileUploadAdapter/FileList.js +2 -1
- package/lib/components/FileUploadAdapter/FileList.js.map +1 -1
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js +35 -23
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib/components/FileUploadModal/FileUploadModal.js +82 -18
- package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
- package/lib/components/FilterPanel/FilterPanel.js +43 -125
- package/lib/components/FilterPanel/FilterPanel.js.map +1 -1
- package/lib/components/FilterPanel/MediaSearchFilter.js +41 -0
- package/lib/components/FilterPanel/MediaSearchFilter.js.map +1 -0
- package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +9 -5
- package/lib/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -1
- package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js +2 -1
- package/lib/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -1
- package/lib/components/ListingContainer/ListingContainer.js +6 -2
- package/lib/components/ListingContainer/ListingContainer.js.map +1 -1
- package/lib/components/MediaListing.js +2 -1
- package/lib/components/MediaListing.js.map +1 -1
- package/lib/constants.js +3 -2
- package/lib/constants.js.map +1 -1
- package/lib-es/components/CardMedia/CardMedia.js +276 -0
- package/lib-es/components/CardMedia/CardMedia.js.map +1 -0
- package/lib-es/components/CardMedia/index.js +3 -0
- package/lib-es/components/CardMedia/index.js.map +1 -0
- package/lib-es/components/EditMediaFile/EditMediaFile.js +171 -0
- package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -0
- package/lib-es/components/EditMediaFile/EditMediaFilePage.js +116 -0
- package/lib-es/components/EditMediaFile/EditMediaFilePage.js.map +1 -0
- package/lib-es/components/EditMediaFile/index.js +3 -0
- package/lib-es/components/EditMediaFile/index.js.map +1 -0
- package/lib-es/components/EditorAdapter/EditorAdapter.js +59 -0
- package/lib-es/components/EditorAdapter/EditorAdapter.js.map +1 -0
- package/lib-es/components/EditorAdapter/index.js +3 -0
- package/lib-es/components/EditorAdapter/index.js.map +1 -0
- package/lib-es/components/FileList/FilesListContext/index.js +4 -0
- package/lib-es/components/FileList/FilesListContext/index.js.map +1 -0
- package/lib-es/components/FileList/FilesListProvider/index.js +36 -0
- package/lib-es/components/FileList/FilesListProvider/index.js.map +1 -0
- package/lib-es/components/FileList/useFileList/index.js +5 -0
- package/lib-es/components/FileList/useFileList/index.js.map +1 -0
- package/lib-es/components/FileList/useGetFiles/getFiles.js +182 -0
- package/lib-es/components/FileList/useGetFiles/getFiles.js.map +1 -0
- package/lib-es/components/FileList/useGetFiles/index.js +3 -0
- package/lib-es/components/FileList/useGetFiles/index.js.map +1 -0
- package/lib-es/components/FileList/useGetFiles/useGetFiles.js +119 -0
- package/lib-es/components/FileList/useGetFiles/useGetFiles.js.map +1 -0
- package/lib-es/components/FileList/useGetFilesList/getCounters.js +11 -0
- package/lib-es/components/FileList/useGetFilesList/getCounters.js.map +1 -0
- package/lib-es/components/FileList/useGetFilesList/index.js +3 -0
- package/lib-es/components/FileList/useGetFilesList/index.js.map +1 -0
- package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js +175 -0
- package/lib-es/components/FileList/useGetFilesList/useGetFilesList.js.map +1 -0
- package/lib-es/components/FilePreview/Actions/index.js +38 -0
- package/lib-es/components/FilePreview/Actions/index.js.map +1 -0
- package/lib-es/components/FilePreview/Image/Image.js +40 -0
- package/lib-es/components/FilePreview/Image/Image.js.map +1 -0
- package/lib-es/components/FilePreview/Image/RawImage.js +31 -0
- package/lib-es/components/FilePreview/Image/RawImage.js.map +1 -0
- package/lib-es/components/FilePreview/Image/imageSchema.js +57 -0
- package/lib-es/components/FilePreview/Image/imageSchema.js.map +1 -0
- package/lib-es/components/FilePreview/Image/index.js +12 -0
- package/lib-es/components/FilePreview/Image/index.js.map +1 -0
- package/lib-es/components/FilePreview/ModalContext.js +3 -0
- package/lib-es/components/FilePreview/ModalContext.js.map +1 -0
- package/lib-es/components/FilePreview/PDF/PDF.js +49 -0
- package/lib-es/components/FilePreview/PDF/PDF.js.map +1 -0
- package/lib-es/components/FilePreview/PDF/RawPDF.js +33 -0
- package/lib-es/components/FilePreview/PDF/RawPDF.js.map +1 -0
- package/lib-es/components/FilePreview/PDF/index.js +12 -0
- package/lib-es/components/FilePreview/PDF/index.js.map +1 -0
- package/lib-es/components/FilePreview/PDF/schema.js +22 -0
- package/lib-es/components/FilePreview/PDF/schema.js.map +1 -0
- package/lib-es/components/FilePreview/get-preview.js +28 -0
- package/lib-es/components/FilePreview/get-preview.js.map +1 -0
- package/lib-es/components/FilePreview/index.js +148 -0
- package/lib-es/components/FilePreview/index.js.map +1 -0
- package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js +41 -0
- package/lib-es/components/FilePreview/previewDefault/PreviewDefault.js.map +1 -0
- package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js +39 -0
- package/lib-es/components/FilePreview/previewDefault/RawPreviewDefault.js.map +1 -0
- package/lib-es/components/FilePreview/previewDefault/icons/DefaultIcon.js +121 -0
- package/lib-es/components/FilePreview/previewDefault/icons/DefaultIcon.js.map +1 -0
- package/lib-es/components/FilePreview/previewDefault/icons/index.js +3 -0
- package/lib-es/components/FilePreview/previewDefault/icons/index.js.map +1 -0
- package/lib-es/components/FilePreview/previewDefault/index.js +12 -0
- package/lib-es/components/FilePreview/previewDefault/index.js.map +1 -0
- package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js +26 -0
- package/lib-es/components/FilePreview/previewDefault/previewDefaultSchema.js.map +1 -0
- package/lib-es/components/FilePreviewReadOnly/FileList.js +18 -0
- package/lib-es/components/FilePreviewReadOnly/FileList.js.map +1 -0
- package/lib-es/components/FilePreviewReadOnly/FilePreviewList.js +22 -0
- package/lib-es/components/FilePreviewReadOnly/FilePreviewList.js.map +1 -0
- package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js +68 -0
- package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -0
- package/lib-es/components/FilePreviewReadOnly/index.js +3 -0
- package/lib-es/components/FilePreviewReadOnly/index.js.map +1 -0
- package/lib-es/components/FilePreviewReadOnly/mappers/format-initial-value.js +11 -0
- package/lib-es/components/FilePreviewReadOnly/mappers/format-initial-value.js.map +1 -0
- package/lib-es/components/FilePreviewReadOnly/mappers/index.js +3 -0
- package/lib-es/components/FilePreviewReadOnly/mappers/index.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/FileList.js +52 -0
- package/lib-es/components/FileUploadAdapter/FileList.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/FilePreviewList.js +22 -0
- package/lib-es/components/FileUploadAdapter/FilePreviewList.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/FileReorderList.js +32 -0
- package/lib-es/components/FileUploadAdapter/FileReorderList.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/FileReorderListItem.js +24 -0
- package/lib-es/components/FileUploadAdapter/FileReorderListItem.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +402 -0
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/index.js +3 -0
- package/lib-es/components/FileUploadAdapter/index.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/mappers/format-initial-value.js +11 -0
- package/lib-es/components/FileUploadAdapter/mappers/format-initial-value.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js +11 -0
- package/lib-es/components/FileUploadAdapter/mappers/get-button-text.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/mappers/get-format.js +12 -0
- package/lib-es/components/FileUploadAdapter/mappers/get-format.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js +7 -0
- package/lib-es/components/FileUploadAdapter/mappers/get-number-files-pending-to-fetch.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/mappers/index.js +8 -0
- package/lib-es/components/FileUploadAdapter/mappers/index.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/mappers/is-unselecting.js +2 -0
- package/lib-es/components/FileUploadAdapter/mappers/is-unselecting.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/mappers/transform-to-array.js +2 -0
- package/lib-es/components/FileUploadAdapter/mappers/transform-to-array.js.map +1 -0
- package/lib-es/components/FileUploadAdapter/useLimit.js +13 -0
- package/lib-es/components/FileUploadAdapter/useLimit.js.map +1 -0
- package/lib-es/components/FileUploadModal/FileUploadModal.js +241 -0
- package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -0
- package/lib-es/components/FileUploadModal/index.js +3 -0
- package/lib-es/components/FileUploadModal/index.js.map +1 -0
- package/lib-es/components/FilterPanel/FilterPanel.js +55 -0
- package/lib-es/components/FilterPanel/FilterPanel.js.map +1 -0
- package/lib-es/components/FilterPanel/MediaSearchFilter.js +34 -0
- package/lib-es/components/FilterPanel/MediaSearchFilter.js.map +1 -0
- package/lib-es/components/FilterPanel/index.js +3 -0
- package/lib-es/components/FilterPanel/index.js.map +1 -0
- package/lib-es/components/ListingContainer/Listing/Listing.js +70 -0
- package/lib-es/components/ListingContainer/Listing/Listing.js.map +1 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +156 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map +1 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js +3 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js.map +1 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js +33 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/MediaListing.js.map +1 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/index.js +3 -0
- package/lib-es/components/ListingContainer/Listing/MediaListing/index.js.map +1 -0
- package/lib-es/components/ListingContainer/Listing/index.js +3 -0
- package/lib-es/components/ListingContainer/Listing/index.js.map +1 -0
- package/lib-es/components/ListingContainer/ListingContainer.js +118 -0
- package/lib-es/components/ListingContainer/ListingContainer.js.map +1 -0
- package/lib-es/components/ListingContainer/index.js +3 -0
- package/lib-es/components/ListingContainer/index.js.map +1 -0
- package/lib-es/components/ListingContainer/mappers/exist-previous.js +3 -0
- package/lib-es/components/ListingContainer/mappers/exist-previous.js.map +1 -0
- package/lib-es/components/ListingContainer/mappers/index.js +3 -0
- package/lib-es/components/ListingContainer/mappers/index.js.map +1 -0
- package/lib-es/components/MediaListing.js +29 -0
- package/lib-es/components/MediaListing.js.map +1 -0
- package/lib-es/constants.js +37 -0
- package/lib-es/constants.js.map +1 -0
- package/lib-es/icons/MediaLibraryIcon.js +70 -0
- package/lib-es/icons/MediaLibraryIcon.js.map +1 -0
- package/lib-es/icons/index.js +3 -0
- package/lib-es/icons/index.js.map +1 -0
- package/lib-es/index.js +77 -0
- package/lib-es/index.js.map +1 -0
- package/lib-es/utils/available-filters/available-filters.js +26 -0
- package/lib-es/utils/available-filters/available-filters.js.map +1 -0
- package/lib-es/utils/bustUrl.js +7 -0
- package/lib-es/utils/bustUrl.js.map +1 -0
- package/lib-es/utils/media-context/index.js +4 -0
- package/lib-es/utils/media-context/index.js.map +1 -0
- package/lib-es/utils/media-context/media-context.js +6 -0
- package/lib-es/utils/media-context/media-context.js.map +1 -0
- package/lib-es/utils/media-context/useMediaContext.js +4 -0
- package/lib-es/utils/media-context/useMediaContext.js.map +1 -0
- package/package.json +16 -9
- package/src/components/CardMedia/CardMedia.js +119 -89
- package/src/components/EditMediaFile/EditMediaFile.js +20 -21
- package/src/components/EditMediaFile/EditMediaFilePage.js +12 -7
- package/src/components/FileList/useGetFiles/getFiles.js +12 -4
- package/src/components/FileList/useGetFiles/useGetFiles.js +3 -4
- package/src/components/FileList/useGetFilesList/useGetFilesList.js +2 -1
- package/src/components/FilePreview/Image/imageSchema.js +8 -4
- package/src/components/FilePreview/PDF/schema.js +2 -1
- package/src/components/FilePreview/index.js +36 -2
- package/src/components/FilePreview/previewDefault/previewDefaultSchema.js +2 -1
- package/src/components/FileUploadAdapter/FileUploadAdapter.js +24 -14
- package/src/components/FileUploadModal/FileUploadModal.js +71 -6
- package/src/components/FilterPanel/FilterPanel.js +44 -129
- package/src/components/FilterPanel/MediaSearchFilter.js +32 -0
- package/src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js +7 -2
- package/src/components/ListingContainer/ListingContainer.js +4 -1
- package/src/constants.js +16 -2
- package/babel.config.js +0 -3
- package/jest.config.js +0 -5
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { getQuery } from '@blaze-cms/admin-ui-utils';
|
|
2
2
|
import { ALL, INVALID_STORE_KEY_VALUES } from '../../../constants';
|
|
3
3
|
|
|
4
|
-
const getFromSearch = async ({
|
|
4
|
+
const getFromSearch = async ({
|
|
5
|
+
searchTerm,
|
|
6
|
+
offset,
|
|
7
|
+
limit,
|
|
8
|
+
where,
|
|
9
|
+
client,
|
|
10
|
+
fileStores = [],
|
|
11
|
+
esFilters = []
|
|
12
|
+
}) => {
|
|
5
13
|
const allTypesMatches = [
|
|
6
14
|
{
|
|
7
15
|
match: { type: 'image' }
|
|
@@ -19,7 +27,7 @@ const getFromSearch = async ({ searchTerm, offset, limit, where, client, fileSto
|
|
|
19
27
|
}
|
|
20
28
|
];
|
|
21
29
|
const match = !where.type || where.type === ALL ? allTypesMatches : matchSpecificType;
|
|
22
|
-
const mustMatch = [];
|
|
30
|
+
const mustMatch = [...esFilters];
|
|
23
31
|
|
|
24
32
|
if (searchTerm) {
|
|
25
33
|
mustMatch.push({
|
|
@@ -160,7 +168,7 @@ const getFromSearch = async ({ searchTerm, offset, limit, where, client, fileSto
|
|
|
160
168
|
return { files, all, image, video, text };
|
|
161
169
|
};
|
|
162
170
|
|
|
163
|
-
const getFiles = ({ offset, limit, where,
|
|
164
|
-
getFromSearch({ searchTerm, offset, limit, where, client, fileStores });
|
|
171
|
+
const getFiles = ({ searchTerm, offset, limit, where, esFilters, fileStores }, client) =>
|
|
172
|
+
getFromSearch({ searchTerm, offset, limit, where, esFilters, client, fileStores });
|
|
165
173
|
|
|
166
174
|
export default getFiles;
|
|
@@ -29,8 +29,8 @@ function useGetFiles() {
|
|
|
29
29
|
|
|
30
30
|
useEffect(
|
|
31
31
|
() => {
|
|
32
|
-
const { offset, limit, where, sort, searchTerm, isSearch } = queryParams;
|
|
33
|
-
const newFilter = JSON.stringify(where);
|
|
32
|
+
const { offset, limit, where, sort, searchTerm, isSearch, esFilters } = queryParams;
|
|
33
|
+
const newFilter = JSON.stringify({ where, esFilters });
|
|
34
34
|
const isNewFilterSet = newFilter !== previousFilter;
|
|
35
35
|
const isNewOffsetSet = previousOffset !== null && offset !== previousOffset;
|
|
36
36
|
const isNewSearchTermSet = searchTerm && previousSearchTerm !== searchTerm;
|
|
@@ -41,9 +41,8 @@ function useGetFiles() {
|
|
|
41
41
|
if (data.files.length) {
|
|
42
42
|
setData({ files: [] });
|
|
43
43
|
}
|
|
44
|
-
|
|
45
44
|
const { files, total, all, image, video, text } = await getFiles(
|
|
46
|
-
{ offset, limit, where, sort, searchTerm, isSearch, fileStores },
|
|
45
|
+
{ offset, limit, where, sort, searchTerm, isSearch, esFilters, fileStores },
|
|
47
46
|
client
|
|
48
47
|
);
|
|
49
48
|
setData({ files, total, all, image, video, text });
|
|
@@ -137,8 +137,9 @@ function useGetFilesList() {
|
|
|
137
137
|
const setQueryParams = params => {
|
|
138
138
|
const isNewSearchTerm = params.isSearch && previousSearchTerm !== params.searchTerm;
|
|
139
139
|
const hasDeletedSearchTerm = previousSearchTerm && params.searchTerm === null;
|
|
140
|
-
const newFilter = JSON.stringify(params.where);
|
|
140
|
+
const newFilter = JSON.stringify({ where: params.where, esFilters: params.esFilters });
|
|
141
141
|
const isNewFilter = newFilter !== previousFilter;
|
|
142
|
+
|
|
142
143
|
const shouldClearList = hasDeletedSearchTerm || isNewFilter || isNewSearchTerm;
|
|
143
144
|
shouldClearList ? clearList(params) : setParams(params);
|
|
144
145
|
setCurrentFilter(newFilter);
|
|
@@ -23,19 +23,22 @@ const imageSchema = {
|
|
|
23
23
|
showInForm: true,
|
|
24
24
|
label: 'Alt text',
|
|
25
25
|
formFieldType: 'text',
|
|
26
|
-
formPriority: 3.0
|
|
26
|
+
formPriority: 3.0,
|
|
27
|
+
isDataPropery: true
|
|
27
28
|
},
|
|
28
29
|
caption: {
|
|
29
30
|
type: 'string',
|
|
30
31
|
showInForm: true,
|
|
31
32
|
formFieldType: 'text',
|
|
32
|
-
formPriority: 4.0
|
|
33
|
+
formPriority: 4.0,
|
|
34
|
+
isDataPropery: true
|
|
33
35
|
},
|
|
34
36
|
credits: {
|
|
35
37
|
type: 'string',
|
|
36
38
|
showInForm: true,
|
|
37
39
|
formFieldType: 'text',
|
|
38
|
-
formPriority: 5.0
|
|
40
|
+
formPriority: 5.0,
|
|
41
|
+
isDataPropery: true
|
|
39
42
|
},
|
|
40
43
|
hrefUrl: {
|
|
41
44
|
type: 'string',
|
|
@@ -43,7 +46,8 @@ const imageSchema = {
|
|
|
43
46
|
label: 'Image hyperlink',
|
|
44
47
|
showInForm: true,
|
|
45
48
|
formFieldType: 'text',
|
|
46
|
-
description: 'Url format is not valid'
|
|
49
|
+
description: 'Url format is not valid',
|
|
50
|
+
isDataPropery: true
|
|
47
51
|
}
|
|
48
52
|
},
|
|
49
53
|
required: ['name']
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FormBuilder } from '@blaze-cms/react-form-builder';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
+
import { useQuery } from '@apollo/client';
|
|
5
|
+
import { getQuery, getDynamicQuery } from '@blaze-cms/admin-ui-utils';
|
|
4
6
|
import { getPreview } from './get-preview';
|
|
7
|
+
import { FILE_DEFAULT_PROPS } from '../../constants';
|
|
5
8
|
|
|
6
9
|
const FilePreview = ({
|
|
7
10
|
file,
|
|
@@ -13,7 +16,34 @@ const FilePreview = ({
|
|
|
13
16
|
showChangeButton,
|
|
14
17
|
disableFilePreview
|
|
15
18
|
}) => {
|
|
16
|
-
const {
|
|
19
|
+
const {
|
|
20
|
+
data: schemaData = {
|
|
21
|
+
getEntitySchemas: [
|
|
22
|
+
{
|
|
23
|
+
properties: {},
|
|
24
|
+
actions: {
|
|
25
|
+
get: 'getFile'
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
loading: schemaLoading
|
|
31
|
+
} = useQuery(getQuery('GET_ENTITY_SCHEMA'), {
|
|
32
|
+
variables: { identifier: 'file' }
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const [fileSchema] = schemaData && schemaData.getEntitySchemas ? schemaData.getEntitySchemas : [];
|
|
36
|
+
|
|
37
|
+
const fileQuery = getDynamicQuery('DATA_QUERY')(fileSchema, file.id, null, FILE_DEFAULT_PROPS);
|
|
38
|
+
const { loading, data: { entityData: fileData } = {} } = useQuery(fileQuery, {
|
|
39
|
+
variables: { id: file.id },
|
|
40
|
+
fetchPolicy: 'cache-and-network',
|
|
41
|
+
skip: !fileSchema || !fileSchema.id
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
if (!fileSchema || schemaLoading || loading) return null;
|
|
45
|
+
|
|
46
|
+
const { name, url, mimetype, data, store, updated } = fileData;
|
|
17
47
|
const bustUrl = (srcUrl, version) => {
|
|
18
48
|
if (!srcUrl) return srcUrl;
|
|
19
49
|
const sep = srcUrl.includes('?') ? '&' : '?';
|
|
@@ -23,6 +53,10 @@ const FilePreview = ({
|
|
|
23
53
|
const [Preview, schema] = getPreview({ mimetype, previewType });
|
|
24
54
|
const shouldRenderForm = schema && displayForm;
|
|
25
55
|
|
|
56
|
+
const { properties } = fileSchema;
|
|
57
|
+
const { name: nameProp, storeKey: storeKeyProp, ...restProperties } = properties;
|
|
58
|
+
Object.assign(schema.formSchema.properties, restProperties);
|
|
59
|
+
|
|
26
60
|
if (shouldRenderForm && store) {
|
|
27
61
|
const { defaultStore = {}, storeOptions = [] } = store;
|
|
28
62
|
if (schema.formSchema.properties.storeKey) {
|
|
@@ -34,7 +68,7 @@ const FilePreview = ({
|
|
|
34
68
|
}
|
|
35
69
|
}
|
|
36
70
|
|
|
37
|
-
const formBuilderData = { values: { ...data, ...
|
|
71
|
+
const formBuilderData = { values: { ...data, ...fileData } };
|
|
38
72
|
|
|
39
73
|
return (
|
|
40
74
|
<>
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import React, { useState, useContext, useEffect } from 'react';
|
|
2
2
|
import FileUpload from '@blaze-react/file-upload';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { useApolloClient } from '@apollo/client';
|
|
4
|
+
import { useApolloClient, useQuery } from '@apollo/client';
|
|
5
5
|
import { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';
|
|
6
|
-
import { parseFormValues } from '@blaze-cms/react-form-builder';
|
|
7
6
|
import { useToasts } from '@blaze-react/toaster';
|
|
8
7
|
import Tooltip from '@blaze-react/tooltip';
|
|
9
8
|
import { MORE } from '../../constants';
|
|
@@ -49,6 +48,13 @@ const FileUploadAdapter = ({
|
|
|
49
48
|
const client = useApolloClient();
|
|
50
49
|
const { addToast } = useToasts();
|
|
51
50
|
|
|
51
|
+
const { data: { getEntitySchemas: [schemaData] = [] } = {} } = useQuery(
|
|
52
|
+
getQuery('GET_ENTITY_SCHEMA'),
|
|
53
|
+
{
|
|
54
|
+
variables: { identifier: 'file' }
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
|
|
52
58
|
const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {
|
|
53
59
|
const {
|
|
54
60
|
data: { files: newFiles }
|
|
@@ -175,18 +181,22 @@ const FileUploadAdapter = ({
|
|
|
175
181
|
};
|
|
176
182
|
|
|
177
183
|
const handleEditFileForm = editedFile => {
|
|
178
|
-
const
|
|
184
|
+
const dataValues = editedFile.valuesChecked.reduce(
|
|
185
|
+
(acc, { id: formValueId, value: formValue, isDataPropery }) => {
|
|
186
|
+
if (isDataPropery) {
|
|
187
|
+
acc.data[formValueId] = formValue;
|
|
188
|
+
} else {
|
|
189
|
+
acc[formValueId] = formValue;
|
|
190
|
+
}
|
|
191
|
+
return acc;
|
|
192
|
+
},
|
|
193
|
+
{ id: editFile.id, data: { ...editFile.data } }
|
|
194
|
+
);
|
|
195
|
+
delete dataValues.data.__typename; // Remove __typename if it exists in data to avoid issues with Apollo cache.
|
|
179
196
|
|
|
180
|
-
const { altText, caption, credits, hrefUrl, name } = values;
|
|
181
197
|
setEditFile({
|
|
182
198
|
...editFile,
|
|
183
|
-
|
|
184
|
-
data: {
|
|
185
|
-
altText,
|
|
186
|
-
caption,
|
|
187
|
-
credits,
|
|
188
|
-
hrefUrl
|
|
189
|
-
}
|
|
199
|
+
formData: dataValues
|
|
190
200
|
});
|
|
191
201
|
};
|
|
192
202
|
|
|
@@ -221,7 +231,7 @@ const FileUploadAdapter = ({
|
|
|
221
231
|
{
|
|
222
232
|
textButton: 'Apply',
|
|
223
233
|
callback: async () => {
|
|
224
|
-
const { name, id: editedFileId, data } = editFile;
|
|
234
|
+
const { name, id: editedFileId, data, formData } = editFile;
|
|
225
235
|
const updatedSelectedFiles = selectedFiles.map(selectedFile => {
|
|
226
236
|
if (selectedFile.id === editedFileId) {
|
|
227
237
|
return { ...selectedFile, name, data };
|
|
@@ -235,8 +245,7 @@ const FileUploadAdapter = ({
|
|
|
235
245
|
mutation: getMutation('UPDATE_FILE'),
|
|
236
246
|
variables: {
|
|
237
247
|
input: {
|
|
238
|
-
|
|
239
|
-
data,
|
|
248
|
+
...formData,
|
|
240
249
|
id: editedFileId
|
|
241
250
|
}
|
|
242
251
|
},
|
|
@@ -324,6 +333,7 @@ const FileUploadAdapter = ({
|
|
|
324
333
|
displayForm
|
|
325
334
|
previewType="card"
|
|
326
335
|
disableFilePreview={disableFilePreview}
|
|
336
|
+
schemaData={schemaData}
|
|
327
337
|
/>
|
|
328
338
|
</Modal>
|
|
329
339
|
)}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useState, useMemo } from 'react';
|
|
2
2
|
import { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';
|
|
3
3
|
import FileUpload from '@blaze-react/file-upload';
|
|
4
|
+
import { getFormBuilderLookup } from '@blaze-cms/react-form-builder';
|
|
4
5
|
import PropTypes from 'prop-types';
|
|
5
6
|
import { useToasts } from '@blaze-react/toaster';
|
|
6
7
|
import { useApolloClient, useQuery } from '@apollo/client';
|
|
@@ -20,10 +21,57 @@ const FileUploadModal = ({
|
|
|
20
21
|
const client = useApolloClient();
|
|
21
22
|
const { addNewFile } = useFileList();
|
|
22
23
|
|
|
24
|
+
const { data: { getEntitySchemas: [schemaData] = [] } = {}, loading: schemaLoading } = useQuery(
|
|
25
|
+
getQuery('GET_ENTITY_SCHEMA'),
|
|
26
|
+
{
|
|
27
|
+
variables: { identifier: 'file' }
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
const customFields = useMemo(() => {
|
|
32
|
+
if (schemaData && schemaData.properties) {
|
|
33
|
+
const { name: _name, storeKey: _storeKey, ...restProperties } = schemaData.properties;
|
|
34
|
+
return Object.entries(restProperties)
|
|
35
|
+
.filter(([, field]) => field && field.showInForm === true)
|
|
36
|
+
.map(([key, field]) => {
|
|
37
|
+
const Component = getFormBuilderLookup.getFormField(field.formFieldType);
|
|
38
|
+
return {
|
|
39
|
+
name: key,
|
|
40
|
+
label: field.label || key,
|
|
41
|
+
component: props => (
|
|
42
|
+
<Component
|
|
43
|
+
{...field}
|
|
44
|
+
{...props}
|
|
45
|
+
onChange={(...args) => {
|
|
46
|
+
const [event] = args;
|
|
47
|
+
if (!event.value) {
|
|
48
|
+
event.value = event.event.target ? event.event.target.value : event.value;
|
|
49
|
+
}
|
|
50
|
+
if (event.event.target && !event.event.target.id) {
|
|
51
|
+
event.event.target.id = props.id || key;
|
|
52
|
+
}
|
|
53
|
+
if (event.event.target) {
|
|
54
|
+
event.event.target.name = key;
|
|
55
|
+
}
|
|
56
|
+
return props.onChange(...args);
|
|
57
|
+
}}
|
|
58
|
+
/>
|
|
59
|
+
)
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return [];
|
|
64
|
+
}, [schemaData]);
|
|
65
|
+
|
|
23
66
|
const fileStoresType = getQuery('GET_FILE_STORES');
|
|
24
|
-
const { data: { getFileStores: storeType = [] } = {} } = useQuery(
|
|
25
|
-
|
|
26
|
-
|
|
67
|
+
const { data: { getFileStores: storeType = [] } = {}, loading: storeLoading } = useQuery(
|
|
68
|
+
fileStoresType,
|
|
69
|
+
{
|
|
70
|
+
variables: { visibleInAdmin: true }
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
if (schemaLoading || storeLoading) return null;
|
|
27
75
|
|
|
28
76
|
const handleFiles = filesToUpload => {
|
|
29
77
|
if (fileId && filesToUpload && filesToUpload.length) {
|
|
@@ -37,12 +85,28 @@ const FileUploadModal = ({
|
|
|
37
85
|
const filesToProcess = fileId && files.length ? [files[0]] : files;
|
|
38
86
|
|
|
39
87
|
const response = await Promise.all(
|
|
40
|
-
filesToProcess.map(
|
|
88
|
+
filesToProcess.map(fileData => {
|
|
89
|
+
const { file, name, data: dataProperties = {}, storeKey: fileStoreKey } = fileData;
|
|
90
|
+
const customProperties = customFields.map(
|
|
91
|
+
({ name: customPropertyName }) => customPropertyName
|
|
92
|
+
);
|
|
93
|
+
const otherProperties = Object.entries(dataProperties).reduce(
|
|
94
|
+
(acc, [key, value]) => {
|
|
95
|
+
if (customProperties.includes(key)) {
|
|
96
|
+
acc.fileProperties[key] = value;
|
|
97
|
+
} else {
|
|
98
|
+
acc.data[key] = value;
|
|
99
|
+
}
|
|
100
|
+
return acc;
|
|
101
|
+
},
|
|
102
|
+
{ data: {}, fileProperties: {} }
|
|
103
|
+
);
|
|
41
104
|
const payload = {
|
|
42
105
|
name,
|
|
43
106
|
storeKey: fileStoreKey || selectedStoreKey || storeKey,
|
|
44
|
-
|
|
107
|
+
...otherProperties
|
|
45
108
|
};
|
|
109
|
+
|
|
46
110
|
if (fileId) {
|
|
47
111
|
payload.id = fileId;
|
|
48
112
|
} else if (!name) {
|
|
@@ -129,6 +193,7 @@ const FileUploadModal = ({
|
|
|
129
193
|
storeKey={selectedStoreKey || storeKey}
|
|
130
194
|
onChange={handleFiles}
|
|
131
195
|
selectOptions={storeOptions}
|
|
196
|
+
customFields={customFields}
|
|
132
197
|
/>
|
|
133
198
|
</Modal>
|
|
134
199
|
);
|
|
@@ -1,138 +1,53 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import React, { useState, useEffect } from 'react';
|
|
4
|
-
import { SearchBar } from '@blaze-cms/plugin-search-ui';
|
|
5
|
-
import classnames from 'classnames';
|
|
6
|
-
import Select from '@blaze-react/select';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import MediaSearchFilter from './MediaSearchFilter';
|
|
7
3
|
import { useMediaContext, MediaContext } from '../../utils/media-context';
|
|
8
|
-
import useFileList from '../FileList/useFileList';
|
|
9
4
|
|
|
10
5
|
const FilterPanel = () => {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
6
|
+
const { filters, selectedFilter, changeSelectedFilter } = useMediaContext(MediaContext);
|
|
7
|
+
|
|
8
|
+
const handleOnSelectFilter = (esFilters = []) => {
|
|
9
|
+
let nextSearchTerm = null;
|
|
10
|
+
let nextFilterId = selectedFilter.filter;
|
|
11
|
+
let nextStoreKey = selectedFilter.storeKey || '';
|
|
12
|
+
|
|
13
|
+
esFilters.forEach(filterObj => {
|
|
14
|
+
const { simple_query_string: simpleQueryString, match } = filterObj || {};
|
|
15
|
+
|
|
16
|
+
if (simpleQueryString) {
|
|
17
|
+
const { query } = simpleQueryString;
|
|
18
|
+
if (query != null) {
|
|
19
|
+
nextSearchTerm = String(query).trim();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (match) {
|
|
24
|
+
const { 'type.keyword': typeKeyword, 'storeKey.keyword': storeKeyKeyword } = match;
|
|
25
|
+
|
|
26
|
+
if (typeKeyword && typeKeyword.query != null) {
|
|
27
|
+
nextFilterId = typeKeyword.query;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (storeKeyKeyword && storeKeyKeyword.query != null) {
|
|
31
|
+
nextStoreKey = storeKeyKeyword.query;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
changeSelectedFilter({
|
|
37
|
+
filter: nextFilterId,
|
|
38
|
+
isSearch: Boolean(nextSearchTerm),
|
|
39
|
+
searchTerm: nextSearchTerm || null,
|
|
40
|
+
storeKey: nextStoreKey,
|
|
41
|
+
esFilters
|
|
42
|
+
});
|
|
44
43
|
};
|
|
45
44
|
|
|
46
|
-
const handleKeyDown = ({ key }) => {
|
|
47
|
-
if (key === 'Enter') {
|
|
48
|
-
searchTerm
|
|
49
|
-
? changeSelectedFilter({
|
|
50
|
-
filter: selectedFilter.filter,
|
|
51
|
-
isSearch: true,
|
|
52
|
-
searchTerm: searchTerm.trim(),
|
|
53
|
-
storeKey
|
|
54
|
-
})
|
|
55
|
-
: changeSelectedFilter({
|
|
56
|
-
filter: selectedFilter.filter,
|
|
57
|
-
isSearch: false,
|
|
58
|
-
searchTerm: null,
|
|
59
|
-
storeKey
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const onSelectFilter = ({ value }) => {
|
|
65
|
-
searchTerm
|
|
66
|
-
? changeSelectedFilter({
|
|
67
|
-
filter: selectedFilter.filter,
|
|
68
|
-
isSearch: true,
|
|
69
|
-
searchTerm: searchTerm.trim(),
|
|
70
|
-
storeKey: value
|
|
71
|
-
})
|
|
72
|
-
: changeSelectedFilter({
|
|
73
|
-
filter: selectedFilter.filter,
|
|
74
|
-
isSearch: false,
|
|
75
|
-
searchTerm: null,
|
|
76
|
-
storeKey: value
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const activeSegements = filters.reduce((acc, { id }, index) => {
|
|
81
|
-
acc[`active-${index}`] = active === id;
|
|
82
|
-
return acc;
|
|
83
|
-
}, {});
|
|
84
|
-
const activeBarSegment = classnames('filter-panel__barWrapper--active', activeSegements);
|
|
85
|
-
const storeOptions = (fileStores || []).map(type => [type.key, type.name]);
|
|
86
|
-
|
|
87
45
|
return (
|
|
88
|
-
<
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
<li key={label} className="filter-panel__list-item">
|
|
94
|
-
<a onClick={() => onChangeFilter(id)}>
|
|
95
|
-
{label} ({data[id]})
|
|
96
|
-
</a>
|
|
97
|
-
</li>
|
|
98
|
-
) : (
|
|
99
|
-
<li key={label} className="filter-panel__list-item active">
|
|
100
|
-
{label} ({data[id]})
|
|
101
|
-
</li>
|
|
102
|
-
)
|
|
103
|
-
)}
|
|
104
|
-
</ul>
|
|
105
|
-
<div className="filter-panel__barWrapper">
|
|
106
|
-
<div className={activeBarSegment} />
|
|
107
|
-
</div>
|
|
108
|
-
</div>
|
|
109
|
-
<div className="filter-panel__searchBarWrapper">
|
|
110
|
-
<div className="select__wrapper">
|
|
111
|
-
<Select
|
|
112
|
-
name="filter"
|
|
113
|
-
defaultTextValue="Any"
|
|
114
|
-
options={storeOptions}
|
|
115
|
-
onChange={onSelectFilter}
|
|
116
|
-
selected={selectedFilter.storeKey}
|
|
117
|
-
/>
|
|
118
|
-
</div>
|
|
119
|
-
<SearchBar
|
|
120
|
-
search={() =>
|
|
121
|
-
changeSelectedFilter({
|
|
122
|
-
filter: selectedFilter.filter,
|
|
123
|
-
isSearch: true,
|
|
124
|
-
searchTerm,
|
|
125
|
-
storeKey: selectedFilter.storeKey
|
|
126
|
-
})
|
|
127
|
-
}
|
|
128
|
-
handleKeyDown={handleKeyDown}
|
|
129
|
-
searchTerm={searchTerm}
|
|
130
|
-
handleSearchTerm={handleSearchTerm}
|
|
131
|
-
placeholder="Search term here..."
|
|
132
|
-
close={false}
|
|
133
|
-
/>
|
|
134
|
-
</div>
|
|
135
|
-
</div>
|
|
46
|
+
<MediaSearchFilter
|
|
47
|
+
selectedFilter={selectedFilter}
|
|
48
|
+
listFilters={filters}
|
|
49
|
+
updateListingFilters={handleOnSelectFilter}
|
|
50
|
+
/>
|
|
136
51
|
);
|
|
137
52
|
};
|
|
138
53
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useQuery } from '@apollo/client';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { getQuery } from '@blaze-cms/admin-ui-utils';
|
|
5
|
+
import { SearchFilter } from '@blaze-cms/plugin-data-ui';
|
|
6
|
+
|
|
7
|
+
const MediaSearchFilter = ({ selectedFilter, listFilters, updateListingFilters }) => {
|
|
8
|
+
const { data } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {
|
|
9
|
+
variables: { identifier: 'file' }
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
const getEntitySchemas = data?.getEntitySchemas ?? [];
|
|
13
|
+
|
|
14
|
+
if (!getEntitySchemas.length) return null;
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<SearchFilter
|
|
18
|
+
schema={getEntitySchemas[0]}
|
|
19
|
+
listFilters={listFilters}
|
|
20
|
+
setListFilters={updateListingFilters}
|
|
21
|
+
values={selectedFilter.defaultFilters}
|
|
22
|
+
/>
|
|
23
|
+
);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
MediaSearchFilter.propTypes = {
|
|
27
|
+
selectedFilter: PropTypes.object.isRequired,
|
|
28
|
+
updateListingFilters: PropTypes.func.isRequired,
|
|
29
|
+
listFilters: PropTypes.array.isRequired
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export default MediaSearchFilter;
|
|
@@ -34,6 +34,8 @@ const MediaFileList = ({
|
|
|
34
34
|
|
|
35
35
|
useEffect(() => {
|
|
36
36
|
if (!loading && !hasFiles) setDisplayCardPrompt(true);
|
|
37
|
+
if (!loading) setDisplayCardPrompt(false);
|
|
38
|
+
if (hasFiles) setDisplayCardPrompt(false);
|
|
37
39
|
}, [loading, hasFiles, setDisplayCardPrompt]);
|
|
38
40
|
|
|
39
41
|
useEffect(
|
|
@@ -41,6 +43,7 @@ const MediaFileList = ({
|
|
|
41
43
|
setVerifiedRanges([]);
|
|
42
44
|
setCurrentListIndex(0);
|
|
43
45
|
setQueryParams({
|
|
46
|
+
...selectedFilter,
|
|
44
47
|
where: {
|
|
45
48
|
...AVAILABLE_FILTER_TYPES[selectedFilter.filter],
|
|
46
49
|
storeKey: selectedFilter.storeKey
|
|
@@ -54,7 +57,8 @@ const MediaFileList = ({
|
|
|
54
57
|
selectedFilter.filter,
|
|
55
58
|
selectedFilter.storeKey,
|
|
56
59
|
selectedFilter.isSearch,
|
|
57
|
-
selectedFilter.searchTerm
|
|
60
|
+
selectedFilter.searchTerm,
|
|
61
|
+
selectedFilter.esFilters
|
|
58
62
|
]
|
|
59
63
|
);
|
|
60
64
|
|
|
@@ -70,7 +74,8 @@ const MediaFileList = ({
|
|
|
70
74
|
storeKey: selectedFilter.storeKey
|
|
71
75
|
},
|
|
72
76
|
isSearch: selectedFilter.isSearch,
|
|
73
|
-
searchTerm: selectedFilter.searchTerm
|
|
77
|
+
searchTerm: selectedFilter.searchTerm,
|
|
78
|
+
esFilters: selectedFilter.esFilters
|
|
74
79
|
});
|
|
75
80
|
setVerifiedRanges([...verifiedRanges, loadIndex]);
|
|
76
81
|
setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);
|
|
@@ -67,7 +67,10 @@ const ListingContainer = ({
|
|
|
67
67
|
changeSelectedFilter: value => setSelectedFilter(value),
|
|
68
68
|
selectedFilter: {
|
|
69
69
|
...selectedFilter,
|
|
70
|
-
storeKey: selectedFilter.storeKey || defaultFileStore
|
|
70
|
+
storeKey: selectedFilter.storeKey || defaultFileStore,
|
|
71
|
+
defaultFilters: {
|
|
72
|
+
storeKey: selectedFilter.storeKey || defaultFileStore
|
|
73
|
+
}
|
|
71
74
|
},
|
|
72
75
|
selectedFiles,
|
|
73
76
|
getSelectedFiles,
|