@blaze-cms/plugin-media-ui 0.146.0-node18-core-styles-tooltips.45 → 0.146.0-node18-tooltips.38
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 +21 -66
- package/lib/components/EditMediaFile/EditMediaFile.js +2 -2
- package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
- package/lib/components/EditorAdapter/EditorAdapter.js +12 -1
- package/lib/components/EditorAdapter/EditorAdapter.js.map +1 -1
- package/lib-es/components/CardMedia/CardMedia.js +233 -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 +187 -0
- package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -0
- package/lib-es/components/EditMediaFile/EditMediaFilePage.js +109 -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 +179 -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 +114 -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 +172 -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 +53 -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 +21 -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 +104 -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 +25 -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 +391 -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 +178 -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 +135 -0
- package/lib-es/components/FilterPanel/FilterPanel.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 +153 -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 +115 -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 +36 -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 +61 -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 +9 -8
- package/src/components/EditMediaFile/EditMediaFile.js +3 -1
- package/src/components/EditorAdapter/EditorAdapter.js +12 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
const _excluded = ["message"],
|
|
4
|
+
_excluded2 = ["message"];
|
|
5
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7
|
+
import React, { useState } from 'react';
|
|
8
|
+
import { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';
|
|
9
|
+
import FileUpload from '@blaze-react/file-upload';
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import { useToasts } from '@blaze-react/toaster';
|
|
12
|
+
import { useApolloClient, useQuery } from '@apollo/client';
|
|
13
|
+
import useFileList from '../FileList/useFileList';
|
|
14
|
+
const FileUploadModal = ({
|
|
15
|
+
onClose,
|
|
16
|
+
getSelectedFiles,
|
|
17
|
+
closeModalAndSetValue,
|
|
18
|
+
simpleLayout,
|
|
19
|
+
fileId,
|
|
20
|
+
storeKey,
|
|
21
|
+
selectedStoreKey
|
|
22
|
+
}) => {
|
|
23
|
+
const [files, setFiles] = useState([]);
|
|
24
|
+
const {
|
|
25
|
+
addToast
|
|
26
|
+
} = useToasts();
|
|
27
|
+
const client = useApolloClient();
|
|
28
|
+
const {
|
|
29
|
+
addNewFile
|
|
30
|
+
} = useFileList();
|
|
31
|
+
const fileStoresType = getQuery('GET_FILE_STORES');
|
|
32
|
+
const {
|
|
33
|
+
data: {
|
|
34
|
+
getFileStores: storeType = []
|
|
35
|
+
} = {}
|
|
36
|
+
} = useQuery(fileStoresType, {
|
|
37
|
+
variables: {
|
|
38
|
+
visibleInAdmin: true
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const handleFiles = filesToUpload => {
|
|
42
|
+
if (fileId && filesToUpload && filesToUpload.length) {
|
|
43
|
+
setFiles([filesToUpload[0]]);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
setFiles(filesToUpload);
|
|
47
|
+
};
|
|
48
|
+
const uploadFiles = async () => {
|
|
49
|
+
const filesToProcess = fileId && files.length ? [files[0]] : files;
|
|
50
|
+
const response = await Promise.all(filesToProcess.map(({
|
|
51
|
+
file,
|
|
52
|
+
name,
|
|
53
|
+
data,
|
|
54
|
+
storeKey: fileStoreKey
|
|
55
|
+
}) => {
|
|
56
|
+
const payload = {
|
|
57
|
+
name,
|
|
58
|
+
storeKey: fileStoreKey || selectedStoreKey || storeKey,
|
|
59
|
+
data
|
|
60
|
+
};
|
|
61
|
+
if (fileId) {
|
|
62
|
+
payload.id = fileId;
|
|
63
|
+
} else if (!name) {
|
|
64
|
+
payload.name = file.filename;
|
|
65
|
+
}
|
|
66
|
+
return client.mutate({
|
|
67
|
+
mutation: getMutation('UPLOAD_FILE'),
|
|
68
|
+
variables: {
|
|
69
|
+
input: _objectSpread({
|
|
70
|
+
file
|
|
71
|
+
}, payload)
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
})).catch(error => {
|
|
75
|
+
addToast(error.message, {
|
|
76
|
+
appearance: 'error',
|
|
77
|
+
autoDismiss: true
|
|
78
|
+
});
|
|
79
|
+
return [];
|
|
80
|
+
});
|
|
81
|
+
const parsedResponse = response.map(({
|
|
82
|
+
data: {
|
|
83
|
+
file
|
|
84
|
+
}
|
|
85
|
+
}) => {
|
|
86
|
+
const _ref = file.result || {},
|
|
87
|
+
{
|
|
88
|
+
message
|
|
89
|
+
} = _ref,
|
|
90
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
91
|
+
return rest;
|
|
92
|
+
});
|
|
93
|
+
const fileNames = files.map(({
|
|
94
|
+
file
|
|
95
|
+
}) => file.name);
|
|
96
|
+
if (simpleLayout) {
|
|
97
|
+
if (fileId && parsedResponse && parsedResponse.length) {
|
|
98
|
+
const _parsedResponse$ = parsedResponse[0],
|
|
99
|
+
{
|
|
100
|
+
message
|
|
101
|
+
} = _parsedResponse$,
|
|
102
|
+
updatedFile = _objectWithoutProperties(_parsedResponse$, _excluded2);
|
|
103
|
+
try {
|
|
104
|
+
client.writeQuery({
|
|
105
|
+
query: getQuery('GET_FILE_BY_ID'),
|
|
106
|
+
variables: {
|
|
107
|
+
id: fileId
|
|
108
|
+
},
|
|
109
|
+
data: {
|
|
110
|
+
file: updatedFile
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} catch (e) {
|
|
114
|
+
console.error(e); //eslint-disable-line
|
|
115
|
+
}
|
|
116
|
+
const updateMessage = `Updated: ${updatedFile.filename || fileNames[0]}`;
|
|
117
|
+
closeModalAndSetValue(simpleLayout, updatedFile, updateMessage);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const filesToSelect = parsedResponse.map(({
|
|
121
|
+
id
|
|
122
|
+
}) => id);
|
|
123
|
+
const uploadMessage = `Uploaded: ${fileNames.join(', ')}`;
|
|
124
|
+
getSelectedFiles(null, filesToSelect);
|
|
125
|
+
closeModalAndSetValue(simpleLayout, filesToSelect, uploadMessage);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
addNewFile && addNewFile(parsedResponse);
|
|
129
|
+
const toastMessage = fileId ? `Updated: ${fileNames[0]}` : `Uploaded: ${fileNames.join(', ')}`;
|
|
130
|
+
addToast(toastMessage, {
|
|
131
|
+
appearance: 'success',
|
|
132
|
+
autoDismiss: true
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
const handleOnSave = async () => {
|
|
136
|
+
if (files.length) await uploadFiles();
|
|
137
|
+
onClose();
|
|
138
|
+
};
|
|
139
|
+
let storeOptions = storeType.map(type => [type.key, type.name]);
|
|
140
|
+
storeOptions = storeKey ? storeOptions.filter(([key]) => key === storeKey) : storeOptions;
|
|
141
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
142
|
+
onClose: onClose,
|
|
143
|
+
title: "Add media",
|
|
144
|
+
actions: [{
|
|
145
|
+
textButton: 'Cancel',
|
|
146
|
+
callback: onClose,
|
|
147
|
+
modifiers: ['cancel']
|
|
148
|
+
}, {
|
|
149
|
+
textButton: 'Upload',
|
|
150
|
+
callback: handleOnSave,
|
|
151
|
+
modifiers: []
|
|
152
|
+
}],
|
|
153
|
+
upload: true
|
|
154
|
+
}, /*#__PURE__*/React.createElement(FileUpload, {
|
|
155
|
+
storeKey: selectedStoreKey || storeKey,
|
|
156
|
+
onChange: handleFiles,
|
|
157
|
+
selectOptions: storeOptions
|
|
158
|
+
}));
|
|
159
|
+
};
|
|
160
|
+
FileUploadModal.propTypes = {
|
|
161
|
+
fileId: PropTypes.string,
|
|
162
|
+
getSelectedFiles: PropTypes.func.isRequired,
|
|
163
|
+
onClose: PropTypes.func,
|
|
164
|
+
simpleLayout: PropTypes.bool,
|
|
165
|
+
closeModalAndSetValue: PropTypes.func,
|
|
166
|
+
storeKey: PropTypes.string,
|
|
167
|
+
selectedStoreKey: PropTypes.string
|
|
168
|
+
};
|
|
169
|
+
FileUploadModal.defaultProps = {
|
|
170
|
+
onClose: () => {},
|
|
171
|
+
closeModalAndSetValue: () => {},
|
|
172
|
+
simpleLayout: false,
|
|
173
|
+
fileId: null,
|
|
174
|
+
storeKey: null,
|
|
175
|
+
selectedStoreKey: null
|
|
176
|
+
};
|
|
177
|
+
export default FileUploadModal;
|
|
178
|
+
//# sourceMappingURL=FileUploadModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUploadModal.js","names":["React","useState","ModalAdapter","Modal","getMutation","getQuery","FileUpload","PropTypes","useToasts","useApolloClient","useQuery","useFileList","FileUploadModal","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","fileId","storeKey","selectedStoreKey","files","setFiles","addToast","client","addNewFile","fileStoresType","data","getFileStores","storeType","variables","visibleInAdmin","handleFiles","filesToUpload","length","uploadFiles","filesToProcess","response","Promise","all","map","file","name","fileStoreKey","payload","id","filename","mutate","mutation","input","_objectSpread","catch","error","message","appearance","autoDismiss","parsedResponse","_ref","result","rest","_objectWithoutProperties","_excluded","fileNames","_parsedResponse$","updatedFile","_excluded2","writeQuery","query","e","console","updateMessage","filesToSelect","uploadMessage","join","toastMessage","handleOnSave","storeOptions","type","key","filter","createElement","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","string","func","isRequired","bool","defaultProps"],"sources":["../../../src/components/FileUploadModal/FileUploadModal.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { ModalAdapter as Modal, getMutation, getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport { useApolloClient, useQuery } from '@apollo/client';\nimport useFileList from '../FileList/useFileList';\n\nconst FileUploadModal = ({\n onClose,\n getSelectedFiles,\n closeModalAndSetValue,\n simpleLayout,\n fileId,\n storeKey,\n selectedStoreKey\n}) => {\n const [files, setFiles] = useState([]);\n const { addToast } = useToasts();\n const client = useApolloClient();\n const { addNewFile } = useFileList();\n\n const fileStoresType = getQuery('GET_FILE_STORES');\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n if (fileId && filesToUpload && filesToUpload.length) {\n setFiles([filesToUpload[0]]);\n return;\n }\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const filesToProcess = fileId && files.length ? [files[0]] : files;\n\n const response = await Promise.all(\n filesToProcess.map(({ file, name, data, storeKey: fileStoreKey }) => {\n const payload = {\n name,\n storeKey: fileStoreKey || selectedStoreKey || storeKey,\n data\n };\n if (fileId) {\n payload.id = fileId;\n } else if (!name) {\n payload.name = file.filename;\n }\n return client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: { input: { file, ...payload } }\n });\n })\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n return [];\n });\n\n const parsedResponse = response.map(({ data: { file } }) => {\n const { message, ...rest } = file.result || {};\n return rest;\n });\n\n const fileNames = files.map(({ file }) => file.name);\n\n if (simpleLayout) {\n if (fileId && parsedResponse && parsedResponse.length) {\n const { message, ...updatedFile } = parsedResponse[0];\n try {\n client.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id: fileId },\n data: { file: updatedFile }\n });\n } catch (e) {\n console.error(e); //eslint-disable-line\n }\n const updateMessage = `Updated: ${updatedFile.filename || fileNames[0]}`;\n closeModalAndSetValue(simpleLayout, updatedFile, updateMessage);\n return;\n }\n const filesToSelect = parsedResponse.map(({ id }) => id);\n const uploadMessage = `Uploaded: ${fileNames.join(', ')}`;\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, uploadMessage);\n return;\n }\n\n addNewFile && addNewFile(parsedResponse);\n const toastMessage = fileId ? `Updated: ${fileNames[0]}` : `Uploaded: ${fileNames.join(', ')}`;\n\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n };\n\n const handleOnSave = async () => {\n if (files.length) await uploadFiles();\n onClose();\n };\n\n let storeOptions = storeType.map(type => [type.key, type.name]);\n storeOptions = storeKey ? storeOptions.filter(([key]) => key === storeKey) : storeOptions;\n\n return (\n <Modal\n onClose={onClose}\n title=\"Add media\"\n actions={[\n {\n textButton: 'Cancel',\n callback: onClose,\n modifiers: ['cancel']\n },\n {\n textButton: 'Upload',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload\n storeKey={selectedStoreKey || storeKey}\n onChange={handleFiles}\n selectOptions={storeOptions}\n />\n </Modal>\n );\n};\n\nFileUploadModal.propTypes = {\n fileId: PropTypes.string,\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func,\n storeKey: PropTypes.string,\n selectedStoreKey: PropTypes.string\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => { },\n closeModalAndSetValue: () => { },\n simpleLayout: false,\n fileId: null,\n storeKey: null,\n selectedStoreKey: null\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["FileUploadModal"],"sources":["../../../src/components/FileUploadModal/index.js"],"sourcesContent":["import FileUploadModal from './FileUploadModal';\n\nexport default FileUploadModal;\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,mBAAmB;AAE/C,eAAeA,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
2
|
+
/* eslint-disable jsx-a11y/anchor-is-valid */
|
|
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';
|
|
7
|
+
import { useMediaContext, MediaContext } from '../../utils/media-context';
|
|
8
|
+
import useFileList from '../FileList/useFileList';
|
|
9
|
+
const FilterPanel = () => {
|
|
10
|
+
const [searchTerm, setSearchTerm] = useState('');
|
|
11
|
+
const {
|
|
12
|
+
filters,
|
|
13
|
+
selectedFilter,
|
|
14
|
+
changeSelectedFilter,
|
|
15
|
+
fileStores
|
|
16
|
+
} = useMediaContext(MediaContext);
|
|
17
|
+
const {
|
|
18
|
+
queryParams,
|
|
19
|
+
data
|
|
20
|
+
} = useFileList();
|
|
21
|
+
const [active, setActive] = useState(filters[0].id);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
if (queryParams.searchTerm === null) {
|
|
24
|
+
setSearchTerm('');
|
|
25
|
+
}
|
|
26
|
+
}, [queryParams.searchTerm]);
|
|
27
|
+
const handleSearchTerm = ({
|
|
28
|
+
target: {
|
|
29
|
+
value
|
|
30
|
+
}
|
|
31
|
+
}) => {
|
|
32
|
+
setSearchTerm(value);
|
|
33
|
+
};
|
|
34
|
+
const storeKey = selectedFilter.storeKey || '';
|
|
35
|
+
const onChangeFilter = id => {
|
|
36
|
+
setActive(id);
|
|
37
|
+
searchTerm ? changeSelectedFilter({
|
|
38
|
+
filter: id,
|
|
39
|
+
isSearch: true,
|
|
40
|
+
searchTerm,
|
|
41
|
+
storeKey
|
|
42
|
+
}) : changeSelectedFilter({
|
|
43
|
+
filter: id,
|
|
44
|
+
isSearch: false,
|
|
45
|
+
searchTerm: null,
|
|
46
|
+
storeKey
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const handleKeyDown = ({
|
|
50
|
+
key
|
|
51
|
+
}) => {
|
|
52
|
+
if (key === 'Enter') {
|
|
53
|
+
searchTerm ? changeSelectedFilter({
|
|
54
|
+
filter: selectedFilter.filter,
|
|
55
|
+
isSearch: true,
|
|
56
|
+
searchTerm: searchTerm.trim(),
|
|
57
|
+
storeKey
|
|
58
|
+
}) : changeSelectedFilter({
|
|
59
|
+
filter: selectedFilter.filter,
|
|
60
|
+
isSearch: false,
|
|
61
|
+
searchTerm: null,
|
|
62
|
+
storeKey
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
const onSelectFilter = ({
|
|
67
|
+
value
|
|
68
|
+
}) => {
|
|
69
|
+
searchTerm ? changeSelectedFilter({
|
|
70
|
+
filter: selectedFilter.filter,
|
|
71
|
+
isSearch: true,
|
|
72
|
+
searchTerm: searchTerm.trim(),
|
|
73
|
+
storeKey: value
|
|
74
|
+
}) : changeSelectedFilter({
|
|
75
|
+
filter: selectedFilter.filter,
|
|
76
|
+
isSearch: false,
|
|
77
|
+
searchTerm: null,
|
|
78
|
+
storeKey: value
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
const activeSegements = filters.reduce((acc, {
|
|
82
|
+
id
|
|
83
|
+
}, index) => {
|
|
84
|
+
acc[`active-${index}`] = active === id;
|
|
85
|
+
return acc;
|
|
86
|
+
}, {});
|
|
87
|
+
const activeBarSegment = classnames('filter-panel__barWrapper--active', activeSegements);
|
|
88
|
+
const storeOptions = (fileStores || []).map(type => [type.key, type.name]);
|
|
89
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
90
|
+
className: "filter-panel"
|
|
91
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: "filter-panel__wrapper"
|
|
93
|
+
}, /*#__PURE__*/React.createElement("ul", {
|
|
94
|
+
className: "filter-panel__list"
|
|
95
|
+
}, filters.map(({
|
|
96
|
+
label,
|
|
97
|
+
id
|
|
98
|
+
}) => selectedFilter.filter !== id ? /*#__PURE__*/React.createElement("li", {
|
|
99
|
+
key: label,
|
|
100
|
+
className: "filter-panel__list-item"
|
|
101
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
102
|
+
onClick: () => onChangeFilter(id)
|
|
103
|
+
}, label, " (", data[id], ")")) : /*#__PURE__*/React.createElement("li", {
|
|
104
|
+
key: label,
|
|
105
|
+
className: "filter-panel__list-item active"
|
|
106
|
+
}, label, " (", data[id], ")"))), /*#__PURE__*/React.createElement("div", {
|
|
107
|
+
className: "filter-panel__barWrapper"
|
|
108
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
109
|
+
className: activeBarSegment
|
|
110
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
111
|
+
className: "filter-panel__searchBarWrapper"
|
|
112
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
113
|
+
className: "select__wrapper"
|
|
114
|
+
}, /*#__PURE__*/React.createElement(Select, {
|
|
115
|
+
name: "filter",
|
|
116
|
+
defaultTextValue: "Any",
|
|
117
|
+
options: storeOptions,
|
|
118
|
+
onChange: onSelectFilter,
|
|
119
|
+
selected: selectedFilter.storeKey
|
|
120
|
+
})), /*#__PURE__*/React.createElement(SearchBar, {
|
|
121
|
+
search: () => changeSelectedFilter({
|
|
122
|
+
filter: selectedFilter.filter,
|
|
123
|
+
isSearch: true,
|
|
124
|
+
searchTerm,
|
|
125
|
+
storeKey: selectedFilter.storeKey
|
|
126
|
+
}),
|
|
127
|
+
handleKeyDown: handleKeyDown,
|
|
128
|
+
searchTerm: searchTerm,
|
|
129
|
+
handleSearchTerm: handleSearchTerm,
|
|
130
|
+
placeholder: "Search term here...",
|
|
131
|
+
close: false
|
|
132
|
+
})));
|
|
133
|
+
};
|
|
134
|
+
export default FilterPanel;
|
|
135
|
+
//# sourceMappingURL=FilterPanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterPanel.js","names":["React","useState","useEffect","SearchBar","classnames","Select","useMediaContext","MediaContext","useFileList","FilterPanel","searchTerm","setSearchTerm","filters","selectedFilter","changeSelectedFilter","fileStores","queryParams","data","active","setActive","id","handleSearchTerm","target","value","storeKey","onChangeFilter","filter","isSearch","handleKeyDown","key","trim","onSelectFilter","activeSegements","reduce","acc","index","activeBarSegment","storeOptions","map","type","name","createElement","className","label","onClick","defaultTextValue","options","onChange","selected","search","placeholder","close"],"sources":["../../../src/components/FilterPanel/FilterPanel.js"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React, { useState, useEffect } from 'react';\nimport { SearchBar } from '@blaze-cms/plugin-search-ui';\nimport classnames from 'classnames';\nimport Select from '@blaze-react/select';\nimport { useMediaContext, MediaContext } from '../../utils/media-context';\nimport useFileList from '../FileList/useFileList';\n\nconst FilterPanel = () => {\n const [searchTerm, setSearchTerm] = useState('');\n const { filters, selectedFilter, changeSelectedFilter, fileStores } =\n useMediaContext(MediaContext);\n const { queryParams, data } = useFileList();\n const [active, setActive] = useState(filters[0].id);\n\n useEffect(() => {\n if (queryParams.searchTerm === null) {\n setSearchTerm('');\n }\n }, [queryParams.searchTerm]);\n\n const handleSearchTerm = ({ target: { value } }) => {\n setSearchTerm(value);\n };\n\n const storeKey = selectedFilter.storeKey || '';\n\n const onChangeFilter = id => {\n setActive(id);\n searchTerm\n ? changeSelectedFilter({\n filter: id,\n isSearch: true,\n searchTerm,\n storeKey\n })\n : changeSelectedFilter({\n filter: id,\n isSearch: false,\n searchTerm: null,\n storeKey\n });\n };\n\n const handleKeyDown = ({ key }) => {\n if (key === 'Enter') {\n searchTerm\n ? changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm: searchTerm.trim(),\n storeKey\n })\n : changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: false,\n searchTerm: null,\n storeKey\n });\n }\n };\n\n const onSelectFilter = ({ value }) => {\n searchTerm\n ? changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm: searchTerm.trim(),\n storeKey: value\n })\n : changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: false,\n searchTerm: null,\n storeKey: value\n });\n };\n\n const activeSegements = filters.reduce((acc, { id }, index) => {\n acc[`active-${index}`] = active === id;\n return acc;\n }, {});\n const activeBarSegment = classnames('filter-panel__barWrapper--active', activeSegements);\n const storeOptions = (fileStores || []).map(type => [type.key, type.name]);\n\n return (\n <div className=\"filter-panel\">\n <div className=\"filter-panel__wrapper\">\n <ul className=\"filter-panel__list\">\n {filters.map(({ label, id }) =>\n selectedFilter.filter !== id ? (\n <li key={label} className=\"filter-panel__list-item\">\n <a onClick={() => onChangeFilter(id)}>\n {label} ({data[id]})\n </a>\n </li>\n ) : (\n <li key={label} className=\"filter-panel__list-item active\">\n {label} ({data[id]})\n </li>\n )\n )}\n </ul>\n <div className=\"filter-panel__barWrapper\">\n <div className={activeBarSegment} />\n </div>\n </div>\n <div className=\"filter-panel__searchBarWrapper\">\n <div className=\"select__wrapper\">\n <Select\n name=\"filter\"\n defaultTextValue=\"Any\"\n options={storeOptions}\n onChange={onSelectFilter}\n selected={selectedFilter.storeKey}\n />\n </div>\n <SearchBar\n search={() =>\n changeSelectedFilter({\n filter: selectedFilter.filter,\n isSearch: true,\n searchTerm,\n storeKey: selectedFilter.storeKey\n })\n }\n handleKeyDown={handleKeyDown}\n searchTerm={searchTerm}\n handleSearchTerm={handleSearchTerm}\n placeholder=\"Search term here...\"\n close={false}\n />\n </div>\n </div>\n );\n};\n\nexport default FilterPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["FilterPanel"],"sources":["../../../src/components/FilterPanel/index.js"],"sourcesContent":["import FilterPanel from './FilterPanel';\n\nexport default FilterPanel;\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AAEvC,eAAeA,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PageHeader } from '@blaze-cms/admin';
|
|
3
|
+
import Button from '@blaze-react/button';
|
|
4
|
+
import More from '@blaze-react/more';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import FileUploadModal from '../../FileUploadModal';
|
|
7
|
+
import MediaListing from './MediaListing';
|
|
8
|
+
import FilterPanel from '../../FilterPanel';
|
|
9
|
+
const Listing = ({
|
|
10
|
+
displayFileUploadModal,
|
|
11
|
+
handleDisplayFileUploadModal,
|
|
12
|
+
getSelectedFiles,
|
|
13
|
+
setDisplayFileUploadModal,
|
|
14
|
+
closeModalAndSetValue,
|
|
15
|
+
simpleLayout,
|
|
16
|
+
openEditInModal,
|
|
17
|
+
storeKey,
|
|
18
|
+
selectedStoreKey
|
|
19
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
20
|
+
className: "page"
|
|
21
|
+
}, displayFileUploadModal && /*#__PURE__*/React.createElement(FileUploadModal, {
|
|
22
|
+
selectedStoreKey: selectedStoreKey,
|
|
23
|
+
storeKey: storeKey,
|
|
24
|
+
onClose: () => {
|
|
25
|
+
handleDisplayFileUploadModal(false);
|
|
26
|
+
setDisplayFileUploadModal(false);
|
|
27
|
+
},
|
|
28
|
+
closeModalAndSetValue: closeModalAndSetValue,
|
|
29
|
+
simpleLayout: simpleLayout,
|
|
30
|
+
getSelectedFiles: getSelectedFiles
|
|
31
|
+
}), !simpleLayout && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PageHeader, {
|
|
32
|
+
title: "Media library"
|
|
33
|
+
}, /*#__PURE__*/React.createElement(PageHeader.Actions, null, /*#__PURE__*/React.createElement(Button, {
|
|
34
|
+
modifiers: ['small'],
|
|
35
|
+
onClick: () => {
|
|
36
|
+
handleDisplayFileUploadModal(true);
|
|
37
|
+
}
|
|
38
|
+
}, "Upload"), /*#__PURE__*/React.createElement(More, {
|
|
39
|
+
displayBg: true
|
|
40
|
+
}, /*#__PURE__*/React.createElement(More.Avatar, {
|
|
41
|
+
isMoreMenu: true
|
|
42
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
43
|
+
className: "material-icons"
|
|
44
|
+
}, "more_vert")), /*#__PURE__*/React.createElement(More.Content, {
|
|
45
|
+
isMoreMenu: true
|
|
46
|
+
})))), /*#__PURE__*/React.createElement("div", {
|
|
47
|
+
className: "page__content page__content--with-side-panel"
|
|
48
|
+
}, /*#__PURE__*/React.createElement(FilterPanel, null), /*#__PURE__*/React.createElement(MediaListing, {
|
|
49
|
+
openEditInModal: openEditInModal
|
|
50
|
+
}))));
|
|
51
|
+
Listing.propTypes = {
|
|
52
|
+
getSelectedFiles: PropTypes.func.isRequired,
|
|
53
|
+
handleDisplayFileUploadModal: PropTypes.func,
|
|
54
|
+
simpleLayout: PropTypes.bool,
|
|
55
|
+
setDisplayFileUploadModal: PropTypes.func.isRequired,
|
|
56
|
+
displayFileUploadModal: PropTypes.bool.isRequired,
|
|
57
|
+
closeModalAndSetValue: PropTypes.func,
|
|
58
|
+
openEditInModal: PropTypes.bool,
|
|
59
|
+
storeKey: PropTypes.string.isRequired,
|
|
60
|
+
selectedStoreKey: PropTypes.string
|
|
61
|
+
};
|
|
62
|
+
Listing.defaultProps = {
|
|
63
|
+
closeModalAndSetValue: () => {},
|
|
64
|
+
handleDisplayFileUploadModal: () => {},
|
|
65
|
+
simpleLayout: false,
|
|
66
|
+
openEditInModal: false,
|
|
67
|
+
selectedStoreKey: null
|
|
68
|
+
};
|
|
69
|
+
export default Listing;
|
|
70
|
+
//# sourceMappingURL=Listing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Listing.js","names":["React","PageHeader","Button","More","PropTypes","FileUploadModal","MediaListing","FilterPanel","Listing","displayFileUploadModal","handleDisplayFileUploadModal","getSelectedFiles","setDisplayFileUploadModal","closeModalAndSetValue","simpleLayout","openEditInModal","storeKey","selectedStoreKey","createElement","className","onClose","Fragment","title","Actions","modifiers","onClick","displayBg","Avatar","isMoreMenu","Content","propTypes","func","isRequired","bool","string","defaultProps"],"sources":["../../../../src/components/ListingContainer/Listing/Listing.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport FileUploadModal from '../../FileUploadModal';\nimport MediaListing from './MediaListing';\nimport FilterPanel from '../../FilterPanel';\n\nconst Listing = ({\n displayFileUploadModal,\n handleDisplayFileUploadModal,\n getSelectedFiles,\n setDisplayFileUploadModal,\n closeModalAndSetValue,\n simpleLayout,\n openEditInModal,\n storeKey,\n selectedStoreKey\n}) => (\n <div className=\"page\">\n {displayFileUploadModal && (\n <FileUploadModal\n selectedStoreKey={selectedStoreKey}\n storeKey={storeKey}\n onClose={() => {\n handleDisplayFileUploadModal(false);\n setDisplayFileUploadModal(false);\n }}\n closeModalAndSetValue={closeModalAndSetValue}\n simpleLayout={simpleLayout}\n getSelectedFiles={getSelectedFiles}\n />\n )}\n {!simpleLayout && (\n <>\n <PageHeader title=\"Media library\">\n <PageHeader.Actions>\n <Button\n modifiers={['small']}\n onClick={() => {\n handleDisplayFileUploadModal(true);\n }}>\n Upload\n </Button>\n <More displayBg>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </PageHeader>\n <div className=\"page__content page__content--with-side-panel\">\n <FilterPanel />\n <MediaListing openEditInModal={openEditInModal} />\n </div>\n </>\n )}\n </div>\n);\n\nListing.propTypes = {\n getSelectedFiles: PropTypes.func.isRequired,\n handleDisplayFileUploadModal: PropTypes.func,\n simpleLayout: PropTypes.bool,\n setDisplayFileUploadModal: PropTypes.func.isRequired,\n displayFileUploadModal: PropTypes.bool.isRequired,\n closeModalAndSetValue: PropTypes.func,\n openEditInModal: PropTypes.bool,\n storeKey: PropTypes.string.isRequired,\n selectedStoreKey: PropTypes.string\n};\n\nListing.defaultProps = {\n closeModalAndSetValue: () => {},\n handleDisplayFileUploadModal: () => {},\n simpleLayout: false,\n openEditInModal: false,\n selectedStoreKey: null\n};\n\nexport default Listing;\n"],"mappings":"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","ignoreList":[]}
|
package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
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 React, { useState, useEffect } from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { CardPrompt } from '@blaze-cms/admin';
|
|
7
|
+
import Button from '@blaze-react/button';
|
|
8
|
+
import VirtualList from 'react-tiny-virtual-list';
|
|
9
|
+
import { useMediaContext, MediaContext } from '../../../../../utils/media-context';
|
|
10
|
+
import CardMedia from '../../../../CardMedia';
|
|
11
|
+
import { existPrevious } from '../../../mappers';
|
|
12
|
+
import useFileList from '../../../../FileList/useFileList';
|
|
13
|
+
import { MEDIA_LIST_ITEM_SIZE, MEDIA_OVER_SCAN_COUNT, AVAILABLE_FILTER_TYPES } from '../../../../../constants';
|
|
14
|
+
const MediaFileList = ({
|
|
15
|
+
displayCardPrompt,
|
|
16
|
+
setDisplayCardPrompt,
|
|
17
|
+
displayLayout,
|
|
18
|
+
wrapperRef,
|
|
19
|
+
modalTargetRef,
|
|
20
|
+
openEditInModal
|
|
21
|
+
}) => {
|
|
22
|
+
const [currentListIndex, setCurrentListIndex] = useState(1);
|
|
23
|
+
const [verifiedRanges, setVerifiedRanges] = useState([]);
|
|
24
|
+
const [listHeight, setListHeight] = useState(null);
|
|
25
|
+
const {
|
|
26
|
+
queryParams,
|
|
27
|
+
data,
|
|
28
|
+
loading,
|
|
29
|
+
setQueryParams,
|
|
30
|
+
clearList,
|
|
31
|
+
removeFile,
|
|
32
|
+
updateFile
|
|
33
|
+
} = useFileList();
|
|
34
|
+
const {
|
|
35
|
+
onClickPrompt,
|
|
36
|
+
getSelectedFiles,
|
|
37
|
+
selectedFiles,
|
|
38
|
+
selectedFilter
|
|
39
|
+
} = useMediaContext(MediaContext);
|
|
40
|
+
const hasFiles = !!data.files && !!data.files.length;
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (!loading && !hasFiles) setDisplayCardPrompt(true);
|
|
43
|
+
}, [loading, hasFiles, setDisplayCardPrompt]);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
setVerifiedRanges([]);
|
|
46
|
+
setCurrentListIndex(0);
|
|
47
|
+
setQueryParams({
|
|
48
|
+
where: _objectSpread(_objectSpread({}, AVAILABLE_FILTER_TYPES[selectedFilter.filter]), {}, {
|
|
49
|
+
storeKey: selectedFilter.storeKey
|
|
50
|
+
}),
|
|
51
|
+
isSearch: selectedFilter.isSearch,
|
|
52
|
+
searchTerm: selectedFilter.searchTerm
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
+
[selectedFilter.filter, selectedFilter.storeKey, selectedFilter.isSearch, selectedFilter.searchTerm]);
|
|
57
|
+
const handleRenderedItems = ({
|
|
58
|
+
startIndex
|
|
59
|
+
}) => {
|
|
60
|
+
const rowsLength = data.files.length;
|
|
61
|
+
const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;
|
|
62
|
+
if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {
|
|
63
|
+
setQueryParams({
|
|
64
|
+
offset: data.files.length,
|
|
65
|
+
where: _objectSpread(_objectSpread({}, AVAILABLE_FILTER_TYPES[selectedFilter.filter]), {}, {
|
|
66
|
+
storeKey: selectedFilter.storeKey
|
|
67
|
+
}),
|
|
68
|
+
isSearch: selectedFilter.isSearch,
|
|
69
|
+
searchTerm: selectedFilter.searchTerm
|
|
70
|
+
});
|
|
71
|
+
setVerifiedRanges([...verifiedRanges, loadIndex]);
|
|
72
|
+
setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
const handleListHeight = () => {
|
|
77
|
+
setListHeight(wrapperRef.current.clientHeight - 40);
|
|
78
|
+
};
|
|
79
|
+
if (wrapperRef.current) {
|
|
80
|
+
handleListHeight();
|
|
81
|
+
window.addEventListener('resize', handleListHeight);
|
|
82
|
+
}
|
|
83
|
+
return () => {
|
|
84
|
+
window.removeEventListener('resize', handleListHeight);
|
|
85
|
+
};
|
|
86
|
+
}, [listHeight, wrapperRef]);
|
|
87
|
+
const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;
|
|
88
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, hasFiles && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", {
|
|
89
|
+
className: "media__fileList-counter"
|
|
90
|
+
}, searchedTerm, " ", data[selectedFilter.filter], " items"), /*#__PURE__*/React.createElement(VirtualList, {
|
|
91
|
+
width: "100%",
|
|
92
|
+
height: listHeight,
|
|
93
|
+
itemCount: data.files.length,
|
|
94
|
+
itemSize: MEDIA_LIST_ITEM_SIZE,
|
|
95
|
+
overscanCount: MEDIA_OVER_SCAN_COUNT,
|
|
96
|
+
scrollToIndex: currentListIndex,
|
|
97
|
+
onItemsRendered: handleRenderedItems,
|
|
98
|
+
renderItem: ({
|
|
99
|
+
index,
|
|
100
|
+
style
|
|
101
|
+
}) => {
|
|
102
|
+
const {
|
|
103
|
+
name,
|
|
104
|
+
url,
|
|
105
|
+
mimetype,
|
|
106
|
+
id,
|
|
107
|
+
data: fileData,
|
|
108
|
+
updated
|
|
109
|
+
} = data.files[index];
|
|
110
|
+
const isSelected = existPrevious(selectedFiles, id);
|
|
111
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
112
|
+
key: index,
|
|
113
|
+
style: style,
|
|
114
|
+
className: "list__item--resultWrapper"
|
|
115
|
+
}, /*#__PURE__*/React.createElement(CardMedia, {
|
|
116
|
+
updateFile: updateFile,
|
|
117
|
+
clearList: clearList,
|
|
118
|
+
latestQueryToRefetchParams: queryParams,
|
|
119
|
+
modalTargetRef: modalTargetRef,
|
|
120
|
+
onSelected: getSelectedFiles,
|
|
121
|
+
key: id,
|
|
122
|
+
displayLayout: displayLayout,
|
|
123
|
+
selected: !!isSelected,
|
|
124
|
+
name: name,
|
|
125
|
+
url: url,
|
|
126
|
+
mimetype: mimetype,
|
|
127
|
+
id: id,
|
|
128
|
+
index: index,
|
|
129
|
+
removeFile: removeFile,
|
|
130
|
+
openEditInModal: openEditInModal,
|
|
131
|
+
data: fileData,
|
|
132
|
+
updated: updated
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
})), displayCardPrompt && /*#__PURE__*/React.createElement(CardPrompt, null, /*#__PURE__*/React.createElement(Button, {
|
|
136
|
+
onClick: onClickPrompt,
|
|
137
|
+
className: "button button--rounded button--cta"
|
|
138
|
+
}, "Upload")));
|
|
139
|
+
};
|
|
140
|
+
MediaFileList.propTypes = {
|
|
141
|
+
setDisplayCardPrompt: PropTypes.func.isRequired,
|
|
142
|
+
displayCardPrompt: PropTypes.bool,
|
|
143
|
+
displayLayout: PropTypes.string.isRequired,
|
|
144
|
+
wrapperRef: PropTypes.object.isRequired,
|
|
145
|
+
modalTargetRef: PropTypes.object.isRequired,
|
|
146
|
+
openEditInModal: PropTypes.bool
|
|
147
|
+
};
|
|
148
|
+
MediaFileList.defaultProps = {
|
|
149
|
+
displayCardPrompt: true,
|
|
150
|
+
openEditInModal: false
|
|
151
|
+
};
|
|
152
|
+
export default MediaFileList;
|
|
153
|
+
//# sourceMappingURL=MediaFileList.js.map
|
package/lib-es/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaFileList.js","names":["React","useState","useEffect","PropTypes","CardPrompt","Button","VirtualList","useMediaContext","MediaContext","CardMedia","existPrevious","useFileList","MEDIA_LIST_ITEM_SIZE","MEDIA_OVER_SCAN_COUNT","AVAILABLE_FILTER_TYPES","MediaFileList","displayCardPrompt","setDisplayCardPrompt","displayLayout","wrapperRef","modalTargetRef","openEditInModal","currentListIndex","setCurrentListIndex","verifiedRanges","setVerifiedRanges","listHeight","setListHeight","queryParams","data","loading","setQueryParams","clearList","removeFile","updateFile","onClickPrompt","getSelectedFiles","selectedFiles","selectedFilter","hasFiles","files","length","where","_objectSpread","filter","storeKey","isSearch","searchTerm","handleRenderedItems","startIndex","rowsLength","loadIndex","Math","floor","includes","offset","handleListHeight","current","clientHeight","window","addEventListener","removeEventListener","searchedTerm","createElement","Fragment","className","width","height","itemCount","itemSize","overscanCount","scrollToIndex","onItemsRendered","renderItem","index","style","name","url","mimetype","id","fileData","updated","isSelected","key","latestQueryToRefetchParams","onSelected","selected","onClick","propTypes","func","isRequired","bool","string","object","defaultProps"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/MediaFileList.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport VirtualList from 'react-tiny-virtual-list';\nimport { useMediaContext, MediaContext } from '../../../../../utils/media-context';\nimport CardMedia from '../../../../CardMedia';\nimport { existPrevious } from '../../../mappers';\nimport useFileList from '../../../../FileList/useFileList';\nimport {\n MEDIA_LIST_ITEM_SIZE,\n MEDIA_OVER_SCAN_COUNT,\n AVAILABLE_FILTER_TYPES\n} from '../../../../../constants';\n\nconst MediaFileList = ({\n displayCardPrompt,\n setDisplayCardPrompt,\n displayLayout,\n wrapperRef,\n modalTargetRef,\n openEditInModal\n}) => {\n const [currentListIndex, setCurrentListIndex] = useState(1);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const [listHeight, setListHeight] = useState(null);\n const { queryParams, data, loading, setQueryParams, clearList, removeFile, updateFile } =\n useFileList();\n\n const { onClickPrompt, getSelectedFiles, selectedFiles, selectedFilter } =\n useMediaContext(MediaContext);\n\n const hasFiles = !!data.files && !!data.files.length;\n\n useEffect(() => {\n if (!loading && !hasFiles) setDisplayCardPrompt(true);\n }, [loading, hasFiles, setDisplayCardPrompt]);\n\n useEffect(\n () => {\n setVerifiedRanges([]);\n setCurrentListIndex(0);\n setQueryParams({\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n selectedFilter.filter,\n selectedFilter.storeKey,\n selectedFilter.isSearch,\n selectedFilter.searchTerm\n ]\n );\n\n const handleRenderedItems = ({ startIndex }) => {\n const rowsLength = data.files.length;\n const loadIndex = Math.floor(rowsLength / 3) - MEDIA_OVER_SCAN_COUNT;\n\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n setQueryParams({\n offset: data.files.length,\n where: {\n ...AVAILABLE_FILTER_TYPES[selectedFilter.filter],\n storeKey: selectedFilter.storeKey\n },\n isSearch: selectedFilter.isSearch,\n searchTerm: selectedFilter.searchTerm\n });\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setCurrentListIndex(startIndex + MEDIA_OVER_SCAN_COUNT);\n }\n };\n\n useEffect(() => {\n const handleListHeight = () => {\n setListHeight(wrapperRef.current.clientHeight - 40);\n };\n\n if (wrapperRef.current) {\n handleListHeight();\n window.addEventListener('resize', handleListHeight);\n }\n return () => {\n window.removeEventListener('resize', handleListHeight);\n };\n }, [listHeight, wrapperRef]);\n\n const searchedTerm = queryParams.searchTerm && `${queryParams.searchTerm} -`;\n\n return (\n <>\n {hasFiles && (\n <>\n <p className=\"media__fileList-counter\">\n {searchedTerm} {data[selectedFilter.filter]} items\n </p>\n <VirtualList\n width=\"100%\"\n height={listHeight}\n itemCount={data.files.length}\n itemSize={MEDIA_LIST_ITEM_SIZE}\n overscanCount={MEDIA_OVER_SCAN_COUNT}\n scrollToIndex={currentListIndex}\n onItemsRendered={handleRenderedItems}\n renderItem={({ index, style }) => {\n const { name, url, mimetype, id, data: fileData, updated } = data.files[index];\n const isSelected = existPrevious(selectedFiles, id);\n return (\n <div key={index} style={style} className=\"list__item--resultWrapper\">\n <CardMedia\n updateFile={updateFile}\n clearList={clearList}\n latestQueryToRefetchParams={queryParams}\n modalTargetRef={modalTargetRef}\n onSelected={getSelectedFiles}\n key={id}\n displayLayout={displayLayout}\n selected={!!isSelected}\n name={name}\n url={url}\n mimetype={mimetype}\n id={id}\n index={index}\n removeFile={removeFile}\n openEditInModal={openEditInModal}\n data={fileData}\n updated={updated}\n />\n </div>\n );\n }}\n />\n </>\n )}\n {displayCardPrompt && (\n <CardPrompt>\n <Button onClick={onClickPrompt} className=\"button button--rounded button--cta\">\n Upload\n </Button>\n </CardPrompt>\n )}\n </>\n );\n};\n\nMediaFileList.propTypes = {\n setDisplayCardPrompt: PropTypes.func.isRequired,\n displayCardPrompt: PropTypes.bool,\n displayLayout: PropTypes.string.isRequired,\n wrapperRef: PropTypes.object.isRequired,\n modalTargetRef: PropTypes.object.isRequired,\n openEditInModal: PropTypes.bool\n};\n\nMediaFileList.defaultProps = {\n displayCardPrompt: true,\n openEditInModal: false\n};\n\nexport default MediaFileList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["MediaFileList"],"sources":["../../../../../../src/components/ListingContainer/Listing/MediaListing/MediaFileList/index.js"],"sourcesContent":["import MediaFileList from './MediaFileList';\n\nexport default MediaFileList;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,iBAAiB;AAE3C,eAAeA,aAAa","ignoreList":[]}
|