@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
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { useState, useEffect } from 'react';
|
|
5
|
+
import differenceWith from 'lodash.differencewith';
|
|
6
|
+
import isEqual from 'lodash.isequal';
|
|
7
|
+
import useGetFiles from '../useGetFiles';
|
|
8
|
+
function useGetFilesList() {
|
|
9
|
+
const [{
|
|
10
|
+
queryParams,
|
|
11
|
+
previousFilter,
|
|
12
|
+
previousSearchTerm,
|
|
13
|
+
loading,
|
|
14
|
+
data: {
|
|
15
|
+
files: results,
|
|
16
|
+
all,
|
|
17
|
+
image,
|
|
18
|
+
video,
|
|
19
|
+
text
|
|
20
|
+
}
|
|
21
|
+
}, setParams] = useGetFiles();
|
|
22
|
+
const [currentResults, setCurrentResults] = useState([]);
|
|
23
|
+
const [allResults, setAllResults] = useState([]);
|
|
24
|
+
const [currentFilter, setCurrentFilter] = useState(null);
|
|
25
|
+
const [allFilesCounter, setAllFilesCounter] = useState({
|
|
26
|
+
all: 0,
|
|
27
|
+
text: 0,
|
|
28
|
+
image: 0,
|
|
29
|
+
video: 0
|
|
30
|
+
});
|
|
31
|
+
const [counters, setCounters] = useState(null);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (all && image && video && text) {
|
|
34
|
+
setCounters({
|
|
35
|
+
all: all.total,
|
|
36
|
+
image: image.total,
|
|
37
|
+
video: video.total,
|
|
38
|
+
text: text.total
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}, [all, image, video, text]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (!currentFilter && previousFilter) {
|
|
44
|
+
setCurrentFilter(previousFilter);
|
|
45
|
+
}
|
|
46
|
+
if (currentFilter !== previousFilter) {
|
|
47
|
+
setAllResults([]);
|
|
48
|
+
setCurrentResults([]);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const isContentDifferent = !!differenceWith(results, currentResults, isEqual).length;
|
|
52
|
+
if (isContentDifferent) {
|
|
53
|
+
setAllResults([...allResults, ...results]);
|
|
54
|
+
setCurrentResults(results);
|
|
55
|
+
}
|
|
56
|
+
const shouldSetContentIfListIsVoid = !isContentDifferent && !allResults.length && results.length;
|
|
57
|
+
if (shouldSetContentIfListIsVoid) {
|
|
58
|
+
setAllResults(results);
|
|
59
|
+
setCurrentResults(results);
|
|
60
|
+
}
|
|
61
|
+
}, [currentFilter, currentResults, currentResults.length, previousFilter, results] //eslint-disable-line
|
|
62
|
+
);
|
|
63
|
+
const removeFile = ({
|
|
64
|
+
index
|
|
65
|
+
}) => {
|
|
66
|
+
const resultsToUpdate = [...allResults];
|
|
67
|
+
resultsToUpdate.splice(index, 1);
|
|
68
|
+
const currentFileType = resultsToUpdate[index].type;
|
|
69
|
+
const updatedFileTypeCounterValue = allFilesCounter[currentFileType] - 1;
|
|
70
|
+
const updateAllFilesCounter = allFilesCounter.all - 1;
|
|
71
|
+
if (queryParams.isSearch) {
|
|
72
|
+
setCounters(_objectSpread(_objectSpread({}, counters), {}, {
|
|
73
|
+
[currentFileType]: counters[currentFileType] - 1,
|
|
74
|
+
all: counters.all - 1
|
|
75
|
+
}));
|
|
76
|
+
setAllFilesCounter(_objectSpread(_objectSpread({}, allFilesCounter), {}, {
|
|
77
|
+
[currentFileType]: updatedFileTypeCounterValue,
|
|
78
|
+
all: updateAllFilesCounter
|
|
79
|
+
}));
|
|
80
|
+
}
|
|
81
|
+
if (!queryParams.isSearch) {
|
|
82
|
+
const updatedCounters = _objectSpread(_objectSpread({}, allFilesCounter), {}, {
|
|
83
|
+
[currentFileType]: updatedFileTypeCounterValue,
|
|
84
|
+
all: updateAllFilesCounter
|
|
85
|
+
});
|
|
86
|
+
setCounters(updatedCounters);
|
|
87
|
+
setAllFilesCounter(updatedCounters);
|
|
88
|
+
}
|
|
89
|
+
setAllResults(resultsToUpdate);
|
|
90
|
+
};
|
|
91
|
+
const updateFile = ({
|
|
92
|
+
file,
|
|
93
|
+
index
|
|
94
|
+
}) => {
|
|
95
|
+
const resultsToUpdate = [...allResults];
|
|
96
|
+
resultsToUpdate[index] = file;
|
|
97
|
+
setAllResults(resultsToUpdate);
|
|
98
|
+
};
|
|
99
|
+
const addNewFile = newFiles => {
|
|
100
|
+
const {
|
|
101
|
+
image: _image,
|
|
102
|
+
video: _video,
|
|
103
|
+
text: _text
|
|
104
|
+
} = newFiles.reduce((acc, {
|
|
105
|
+
type
|
|
106
|
+
}) => {
|
|
107
|
+
acc[type] += 1;
|
|
108
|
+
return acc;
|
|
109
|
+
}, {
|
|
110
|
+
image: 0,
|
|
111
|
+
video: 0,
|
|
112
|
+
text: 0
|
|
113
|
+
});
|
|
114
|
+
if (queryParams.isSearch) {
|
|
115
|
+
setAllResults([]);
|
|
116
|
+
setParams({
|
|
117
|
+
queryParams,
|
|
118
|
+
isSearch: false,
|
|
119
|
+
searchTerm: null
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const updatedCounters = {
|
|
123
|
+
all: allFilesCounter.all + _image + _video + _text,
|
|
124
|
+
image: allFilesCounter.image + _image,
|
|
125
|
+
video: allFilesCounter.video + _video,
|
|
126
|
+
text: allFilesCounter.text + _text
|
|
127
|
+
};
|
|
128
|
+
setCounters(updatedCounters);
|
|
129
|
+
setAllFilesCounter(updatedCounters);
|
|
130
|
+
setAllResults([...newFiles, ...allResults]);
|
|
131
|
+
};
|
|
132
|
+
const clearList = params => {
|
|
133
|
+
setAllResults([]);
|
|
134
|
+
setParams(_objectSpread(_objectSpread({}, params), {}, {
|
|
135
|
+
offset: 0
|
|
136
|
+
}));
|
|
137
|
+
setCounters(allFilesCounter);
|
|
138
|
+
};
|
|
139
|
+
const setQueryParams = params => {
|
|
140
|
+
const isNewSearchTerm = params.isSearch && previousSearchTerm !== params.searchTerm;
|
|
141
|
+
const hasDeletedSearchTerm = previousSearchTerm && params.searchTerm === null;
|
|
142
|
+
const newFilter = JSON.stringify({
|
|
143
|
+
where: params.where,
|
|
144
|
+
esFilters: params.esFilters
|
|
145
|
+
});
|
|
146
|
+
const isNewFilter = newFilter !== previousFilter;
|
|
147
|
+
const shouldClearList = hasDeletedSearchTerm || isNewFilter || isNewSearchTerm;
|
|
148
|
+
shouldClearList ? clearList(params) : setParams(params);
|
|
149
|
+
setCurrentFilter(newFilter);
|
|
150
|
+
};
|
|
151
|
+
const parsedQueryParams = _objectSpread(_objectSpread({}, queryParams), {}, {
|
|
152
|
+
where: _objectSpread({}, queryParams.where)
|
|
153
|
+
});
|
|
154
|
+
if (parsedQueryParams.where.type === 'all') delete parsedQueryParams.where.type;
|
|
155
|
+
return [{
|
|
156
|
+
queryParams: parsedQueryParams,
|
|
157
|
+
loading,
|
|
158
|
+
data: {
|
|
159
|
+
files: allResults,
|
|
160
|
+
all: counters ? formatCounterNumber(counters.all) : 0,
|
|
161
|
+
images: counters ? formatCounterNumber(counters.image) : 0,
|
|
162
|
+
videos: counters ? formatCounterNumber(counters.video) : 0,
|
|
163
|
+
documents: counters ? formatCounterNumber(counters.text) : 0
|
|
164
|
+
}
|
|
165
|
+
}, {
|
|
166
|
+
setQueryParams,
|
|
167
|
+
clearList,
|
|
168
|
+
removeFile,
|
|
169
|
+
addNewFile,
|
|
170
|
+
updateFile
|
|
171
|
+
}];
|
|
172
|
+
}
|
|
173
|
+
const formatCounterNumber = n => n === 10000 ? '10000+' : n;
|
|
174
|
+
export default useGetFilesList;
|
|
175
|
+
//# sourceMappingURL=useGetFilesList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGetFilesList.js","names":["useState","useEffect","differenceWith","isEqual","useGetFiles","useGetFilesList","queryParams","previousFilter","previousSearchTerm","loading","data","files","results","all","image","video","text","setParams","currentResults","setCurrentResults","allResults","setAllResults","currentFilter","setCurrentFilter","allFilesCounter","setAllFilesCounter","counters","setCounters","total","isContentDifferent","length","shouldSetContentIfListIsVoid","removeFile","index","resultsToUpdate","splice","currentFileType","type","updatedFileTypeCounterValue","updateAllFilesCounter","isSearch","_objectSpread","updatedCounters","updateFile","file","addNewFile","newFiles","_image","_video","_text","reduce","acc","searchTerm","clearList","params","offset","setQueryParams","isNewSearchTerm","hasDeletedSearchTerm","newFilter","JSON","stringify","where","esFilters","isNewFilter","shouldClearList","parsedQueryParams","formatCounterNumber","images","videos","documents","n"],"sources":["../../../../src/components/FileList/useGetFilesList/useGetFilesList.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport differenceWith from 'lodash.differencewith';\nimport isEqual from 'lodash.isequal';\nimport useGetFiles from '../useGetFiles';\n\nfunction useGetFilesList() {\n const [\n {\n queryParams,\n previousFilter,\n previousSearchTerm,\n loading,\n data: { files: results, all, image, video, text }\n },\n setParams\n ] = useGetFiles();\n const [currentResults, setCurrentResults] = useState([]);\n const [allResults, setAllResults] = useState([]);\n const [currentFilter, setCurrentFilter] = useState(null);\n const [allFilesCounter, setAllFilesCounter] = useState({ all: 0, text: 0, image: 0, video: 0 });\n const [counters, setCounters] = useState(null);\n\n useEffect(() => {\n if (all && image && video && text) {\n setCounters({\n all: all.total,\n image: image.total,\n video: video.total,\n text: text.total\n });\n }\n }, [all, image, video, text]);\n\n useEffect(\n () => {\n if (!currentFilter && previousFilter) {\n setCurrentFilter(previousFilter);\n }\n\n if (currentFilter !== previousFilter) {\n setAllResults([]);\n setCurrentResults([]);\n return;\n }\n\n const isContentDifferent = !!differenceWith(results, currentResults, isEqual).length;\n if (isContentDifferent) {\n setAllResults([...allResults, ...results]);\n setCurrentResults(results);\n }\n\n const shouldSetContentIfListIsVoid =\n !isContentDifferent && !allResults.length && results.length;\n\n if (shouldSetContentIfListIsVoid) {\n setAllResults(results);\n setCurrentResults(results);\n }\n },\n [currentFilter, currentResults, currentResults.length, previousFilter, results] //eslint-disable-line\n );\n\n const removeFile = ({ index }) => {\n const resultsToUpdate = [...allResults];\n resultsToUpdate.splice(index, 1);\n const currentFileType = resultsToUpdate[index].type;\n const updatedFileTypeCounterValue = allFilesCounter[currentFileType] - 1;\n const updateAllFilesCounter = allFilesCounter.all - 1;\n if (queryParams.isSearch) {\n setCounters({\n ...counters,\n [currentFileType]: counters[currentFileType] - 1,\n all: counters.all - 1\n });\n setAllFilesCounter({\n ...allFilesCounter,\n [currentFileType]: updatedFileTypeCounterValue,\n all: updateAllFilesCounter\n });\n }\n\n if (!queryParams.isSearch) {\n const updatedCounters = {\n ...allFilesCounter,\n [currentFileType]: updatedFileTypeCounterValue,\n all: updateAllFilesCounter\n };\n\n setCounters(updatedCounters);\n setAllFilesCounter(updatedCounters);\n }\n setAllResults(resultsToUpdate);\n };\n\n const updateFile = ({ file, index }) => {\n const resultsToUpdate = [...allResults];\n resultsToUpdate[index] = file;\n setAllResults(resultsToUpdate);\n };\n\n const addNewFile = newFiles => {\n const {\n image: _image,\n video: _video,\n text: _text\n } = newFiles.reduce(\n (acc, { type }) => {\n acc[type] += 1;\n return acc;\n },\n { image: 0, video: 0, text: 0 }\n );\n\n if (queryParams.isSearch) {\n setAllResults([]);\n setParams({ queryParams, isSearch: false, searchTerm: null });\n }\n\n const updatedCounters = {\n all: allFilesCounter.all + _image + _video + _text,\n image: allFilesCounter.image + _image,\n video: allFilesCounter.video + _video,\n text: allFilesCounter.text + _text\n };\n\n setCounters(updatedCounters);\n setAllFilesCounter(updatedCounters);\n setAllResults([...newFiles, ...allResults]);\n };\n\n const clearList = params => {\n setAllResults([]);\n setParams({ ...params, offset: 0 });\n setCounters(allFilesCounter);\n };\n\n const setQueryParams = params => {\n const isNewSearchTerm = params.isSearch && previousSearchTerm !== params.searchTerm;\n const hasDeletedSearchTerm = previousSearchTerm && params.searchTerm === null;\n const newFilter = JSON.stringify({ where: params.where, esFilters: params.esFilters });\n const isNewFilter = newFilter !== previousFilter;\n\n const shouldClearList = hasDeletedSearchTerm || isNewFilter || isNewSearchTerm;\n shouldClearList ? clearList(params) : setParams(params);\n setCurrentFilter(newFilter);\n };\n\n const parsedQueryParams = {\n ...queryParams,\n where: { ...queryParams.where }\n };\n\n if (parsedQueryParams.where.type === 'all') delete parsedQueryParams.where.type;\n\n return [\n {\n queryParams: parsedQueryParams,\n loading,\n data: {\n files: allResults,\n all: counters ? formatCounterNumber(counters.all) : 0,\n images: counters ? formatCounterNumber(counters.image) : 0,\n videos: counters ? formatCounterNumber(counters.video) : 0,\n documents: counters ? formatCounterNumber(counters.text) : 0\n }\n },\n { setQueryParams, clearList, removeFile, addNewFile, updateFile }\n ];\n}\n\nconst formatCounterNumber = n => (n === 10000 ? '10000+' : n);\n\nexport default useGetFilesList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React, { useContext } from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import { MediaContext } from '../../../utils/media-context';
|
|
4
|
+
const Actions = ({
|
|
5
|
+
file
|
|
6
|
+
}) => {
|
|
7
|
+
const {
|
|
8
|
+
handleEditModal,
|
|
9
|
+
onUnselectFile
|
|
10
|
+
} = useContext(MediaContext);
|
|
11
|
+
const [, extension] = file.mimetype.split('/');
|
|
12
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
className: "FilePreviewItem__info__actions"
|
|
14
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
15
|
+
className: "FilePreviewItem__info__actions FilePreviewItem__info__actions--media-type"
|
|
16
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
17
|
+
className: "FilePreviewItem__info__actionsIcon material-icons"
|
|
18
|
+
}, "insert_photo"), ' ', /*#__PURE__*/React.createElement("span", null, extension)), /*#__PURE__*/React.createElement("div", null, handleEditModal && /*#__PURE__*/React.createElement("div", {
|
|
19
|
+
"data-testid": `open-media-library-${file.id}`,
|
|
20
|
+
className: "FilePreviewItem__info__actionsIcon material-icons edit",
|
|
21
|
+
"aria-hidden": "true",
|
|
22
|
+
onClick: () => handleEditModal(file)
|
|
23
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
24
|
+
className: "fas fa-pen fa-xs"
|
|
25
|
+
})), onUnselectFile && /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
"data-testid": `unselect-${file.id}`,
|
|
27
|
+
className: "FilePreviewItem__info__actionsIcon material-icons delete",
|
|
28
|
+
"aria-hidden": "true",
|
|
29
|
+
onClick: () => onUnselectFile([file.id])
|
|
30
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
31
|
+
className: "fas fa-trash fa-xs"
|
|
32
|
+
}))));
|
|
33
|
+
};
|
|
34
|
+
Actions.propTypes = {
|
|
35
|
+
file: PropTypes.object.isRequired
|
|
36
|
+
};
|
|
37
|
+
export default Actions;
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useContext","PropTypes","MediaContext","Actions","file","handleEditModal","onUnselectFile","extension","mimetype","split","createElement","className","id","onClick","propTypes","object","isRequired"],"sources":["../../../../src/components/FilePreview/Actions/index.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MediaContext } from '../../../utils/media-context';\n\nconst Actions = ({ file }) => {\n const { handleEditModal, onUnselectFile } = useContext(MediaContext);\n const [, extension] = file.mimetype.split('/');\n\n return (\n <div className=\"FilePreviewItem__info__actions\">\n <div className=\"FilePreviewItem__info__actions FilePreviewItem__info__actions--media-type\">\n <i className=\"FilePreviewItem__info__actionsIcon material-icons\">insert_photo</i>{' '}\n <span>{extension}</span>\n </div>\n <div>\n {handleEditModal && (\n <div\n data-testid={`open-media-library-${file.id}`}\n className=\"FilePreviewItem__info__actionsIcon material-icons edit\"\n aria-hidden=\"true\"\n onClick={() => handleEditModal(file)}>\n <i className=\"fas fa-pen fa-xs\" />\n </div>\n )}\n {onUnselectFile && (\n <div\n data-testid={`unselect-${file.id}`}\n className=\"FilePreviewItem__info__actionsIcon material-icons delete\"\n aria-hidden=\"true\"\n onClick={() => onUnselectFile([file.id])}>\n <i className=\"fas fa-trash fa-xs\" />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nActions.propTypes = {\n file: PropTypes.object.isRequired\n};\n\nexport default Actions;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,YAAY,QAAQ,8BAA8B;AAE3D,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAK,CAAC,KAAK;EAC5B,MAAM;IAAEC,eAAe;IAAEC;EAAe,CAAC,GAAGN,UAAU,CAACE,YAAY,CAAC;EACpE,MAAM,GAAGK,SAAS,CAAC,GAAGH,IAAI,CAACI,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;EAE9C,oBACEV,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAAgC,gBAC7CZ,KAAA,CAAAW,aAAA;IAAKC,SAAS,EAAC;EAA2E,gBACxFZ,KAAA,CAAAW,aAAA;IAAGC,SAAS,EAAC;EAAmD,GAAC,cAAe,CAAC,EAAC,GAAG,eACrFZ,KAAA,CAAAW,aAAA,eAAOH,SAAgB,CACpB,CAAC,eACNR,KAAA,CAAAW,aAAA,cACGL,eAAe,iBACdN,KAAA,CAAAW,aAAA;IACE,eAAa,sBAAsBN,IAAI,CAACQ,EAAE,EAAG;IAC7CD,SAAS,EAAC,wDAAwD;IAClE,eAAY,MAAM;IAClBE,OAAO,EAAEA,CAAA,KAAMR,eAAe,CAACD,IAAI;EAAE,gBACrCL,KAAA,CAAAW,aAAA;IAAGC,SAAS,EAAC;EAAkB,CAAE,CAC9B,CACN,EACAL,cAAc,iBACbP,KAAA,CAAAW,aAAA;IACE,eAAa,YAAYN,IAAI,CAACQ,EAAE,EAAG;IACnCD,SAAS,EAAC,0DAA0D;IACpE,eAAY,MAAM;IAClBE,OAAO,EAAEA,CAAA,KAAMP,cAAc,CAAC,CAACF,IAAI,CAACQ,EAAE,CAAC;EAAE,gBACzCb,KAAA,CAAAW,aAAA;IAAGC,SAAS,EAAC;EAAoB,CAAE,CAChC,CAEJ,CACF,CAAC;AAEV,CAAC;AAEDR,OAAO,CAACW,SAAS,GAAG;EAClBV,IAAI,EAAEH,SAAS,CAACc,MAAM,CAACC;AACzB,CAAC;AAED,eAAeb,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import Button from '@blaze-react/button';
|
|
4
|
+
const Image = ({
|
|
5
|
+
url,
|
|
6
|
+
name,
|
|
7
|
+
children,
|
|
8
|
+
handleChangeFile,
|
|
9
|
+
showChangeButton
|
|
10
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: "preview"
|
|
12
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
className: "preview__file preview__file--image"
|
|
14
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
15
|
+
src: url,
|
|
16
|
+
alt: name
|
|
17
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
18
|
+
className: "preview__details preview__details--file"
|
|
19
|
+
}, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("strong", null, "File details"), /*#__PURE__*/React.createElement("a", {
|
|
20
|
+
href: url,
|
|
21
|
+
rel: "noopener noreferrer",
|
|
22
|
+
target: "_blank"
|
|
23
|
+
}, "Original")), showChangeButton && /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
className: "preview__change-button"
|
|
25
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
26
|
+
onClick: handleChangeFile
|
|
27
|
+
}, "Change file")))), children);
|
|
28
|
+
Image.propTypes = {
|
|
29
|
+
url: PropTypes.string.isRequired,
|
|
30
|
+
name: PropTypes.string.isRequired,
|
|
31
|
+
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
|
|
32
|
+
handleChangeFile: PropTypes.func,
|
|
33
|
+
showChangeButton: PropTypes.bool
|
|
34
|
+
};
|
|
35
|
+
Image.defaultProps = {
|
|
36
|
+
handleChangeFile: () => {},
|
|
37
|
+
showChangeButton: false
|
|
38
|
+
};
|
|
39
|
+
export { Image };
|
|
40
|
+
//# sourceMappingURL=Image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Image.js","names":["React","PropTypes","Button","Image","url","name","children","handleChangeFile","showChangeButton","createElement","className","src","alt","href","rel","target","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","func","bool","defaultProps"],"sources":["../../../../src/components/FilePreview/Image/Image.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\n\nconst Image = ({ url, name, children, handleChangeFile, showChangeButton }) => (\n <div className=\"preview\">\n <div className=\"preview__file preview__file--image\">\n <img src={url} alt={name} />\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n {showChangeButton && (\n <div className=\"preview__change-button\">\n <Button onClick={handleChangeFile}>Change file</Button>\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n);\n\nImage.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n handleChangeFile: PropTypes.func,\n showChangeButton: PropTypes.bool\n};\n\nImage.defaultProps = {\n handleChangeFile: () => {},\n showChangeButton: false\n};\n\nexport { Image };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AAExC,MAAMC,KAAK,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,gBAAgB;EAAEC;AAAiB,CAAC,kBACxER,KAAA,CAAAS,aAAA;EAAKC,SAAS,EAAC;AAAS,gBACtBV,KAAA,CAAAS,aAAA;EAAKC,SAAS,EAAC;AAAoC,gBACjDV,KAAA,CAAAS,aAAA;EAAKE,GAAG,EAAEP,GAAI;EAACQ,GAAG,EAAEP;AAAK,CAAE,CAAC,eAC5BL,KAAA,CAAAS,aAAA;EAAKC,SAAS,EAAC;AAAyC,gBACtDV,KAAA,CAAAS,aAAA,yBACET,KAAA,CAAAS,aAAA,iBAAQ,cAAoB,CAAC,eAC7BT,KAAA,CAAAS,aAAA;EAAGI,IAAI,EAAET,GAAI;EAACU,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,UAErD,CACF,CAAC,EACHP,gBAAgB,iBACfR,KAAA,CAAAS,aAAA;EAAKC,SAAS,EAAC;AAAwB,gBACrCV,KAAA,CAAAS,aAAA,CAACP,MAAM;EAACc,OAAO,EAAET;AAAiB,GAAC,aAAmB,CACnD,CAEJ,CACF,CAAC,EACLD,QACE,CACN;AAEDH,KAAK,CAACc,SAAS,GAAG;EAChBb,GAAG,EAAEH,SAAS,CAACiB,MAAM,CAACC,UAAU;EAChCd,IAAI,EAAEJ,SAAS,CAACiB,MAAM,CAACC,UAAU;EACjCb,QAAQ,EAAEL,SAAS,CAACmB,SAAS,CAAC,CAACnB,SAAS,CAACoB,OAAO,CAACpB,SAAS,CAACqB,IAAI,CAAC,EAAErB,SAAS,CAACqB,IAAI,CAAC,CAAC,CAACH,UAAU;EAC7FZ,gBAAgB,EAAEN,SAAS,CAACsB,IAAI;EAChCf,gBAAgB,EAAEP,SAAS,CAACuB;AAC9B,CAAC;AAEDrB,KAAK,CAACsB,YAAY,GAAG;EACnBlB,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC1BC,gBAAgB,EAAE;AACpB,CAAC;AAED,SAASL,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import Actions from '../Actions';
|
|
4
|
+
const RawImage = ({
|
|
5
|
+
url,
|
|
6
|
+
name,
|
|
7
|
+
file
|
|
8
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
9
|
+
className: "FilePreview"
|
|
10
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: "FilePreviewItem"
|
|
12
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
13
|
+
className: "FilePreviewItem__wrapper"
|
|
14
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
15
|
+
className: "FilePreviewItem__wrapper__image",
|
|
16
|
+
src: url,
|
|
17
|
+
alt: name
|
|
18
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
19
|
+
className: "FilePreviewItem__info"
|
|
20
|
+
}, /*#__PURE__*/React.createElement("p", {
|
|
21
|
+
className: "FilePreviewItem__info__fileName"
|
|
22
|
+
}, name), /*#__PURE__*/React.createElement(Actions, {
|
|
23
|
+
file: file
|
|
24
|
+
}))));
|
|
25
|
+
RawImage.propTypes = {
|
|
26
|
+
url: PropTypes.string.isRequired,
|
|
27
|
+
name: PropTypes.string.isRequired,
|
|
28
|
+
file: PropTypes.object.isRequired
|
|
29
|
+
};
|
|
30
|
+
export { RawImage };
|
|
31
|
+
//# sourceMappingURL=RawImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RawImage.js","names":["React","PropTypes","Actions","RawImage","url","name","file","createElement","className","src","alt","propTypes","string","isRequired","object"],"sources":["../../../../src/components/FilePreview/Image/RawImage.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Actions from '../Actions';\n\nconst RawImage = ({ url, name, file }) => (\n <div className=\"FilePreview\">\n <div className=\"FilePreviewItem\">\n <div className=\"FilePreviewItem__wrapper\">\n <img className=\"FilePreviewItem__wrapper__image\" src={url} alt={name} />\n </div>\n <div className=\"FilePreviewItem__info\">\n <p className=\"FilePreviewItem__info__fileName\">{name}</p>\n <Actions file={file} />\n </div>\n </div>\n </div>\n);\n\nRawImage.propTypes = {\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n file: PropTypes.object.isRequired\n};\n\nexport { RawImage };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,YAAY;AAEhC,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAK,CAAC,kBACnCN,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAa,gBAC1BR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAiB,gBAC9BR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAA0B,gBACvCR,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC,iCAAiC;EAACC,GAAG,EAAEL,GAAI;EAACM,GAAG,EAAEL;AAAK,CAAE,CACpE,CAAC,eACNL,KAAA,CAAAO,aAAA;EAAKC,SAAS,EAAC;AAAuB,gBACpCR,KAAA,CAAAO,aAAA;EAAGC,SAAS,EAAC;AAAiC,GAAEH,IAAQ,CAAC,eACzDL,KAAA,CAAAO,aAAA,CAACL,OAAO;EAACI,IAAI,EAAEA;AAAK,CAAE,CACnB,CACF,CACF,CACN;AAEDH,QAAQ,CAACQ,SAAS,GAAG;EACnBP,GAAG,EAAEH,SAAS,CAACW,MAAM,CAACC,UAAU;EAChCR,IAAI,EAAEJ,SAAS,CAACW,MAAM,CAACC,UAAU;EACjCP,IAAI,EAAEL,SAAS,CAACa,MAAM,CAACD;AACzB,CAAC;AAED,SAASV,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
const imageSchema = {
|
|
2
|
+
settings: {},
|
|
3
|
+
formSchema: {
|
|
4
|
+
properties: {
|
|
5
|
+
name: {
|
|
6
|
+
type: 'string',
|
|
7
|
+
showInForm: true,
|
|
8
|
+
label: 'File name',
|
|
9
|
+
formFieldType: 'text',
|
|
10
|
+
formPriority: 1.0
|
|
11
|
+
},
|
|
12
|
+
storeKey: {
|
|
13
|
+
type: 'string',
|
|
14
|
+
showInForm: true,
|
|
15
|
+
label: 'Store type',
|
|
16
|
+
formFieldType: 'select',
|
|
17
|
+
formPriority: 2.0,
|
|
18
|
+
description: 'Please select store type',
|
|
19
|
+
options: []
|
|
20
|
+
},
|
|
21
|
+
altText: {
|
|
22
|
+
type: 'string',
|
|
23
|
+
showInForm: true,
|
|
24
|
+
label: 'Alt text',
|
|
25
|
+
formFieldType: 'text',
|
|
26
|
+
formPriority: 3.0,
|
|
27
|
+
isDataPropery: true
|
|
28
|
+
},
|
|
29
|
+
caption: {
|
|
30
|
+
type: 'string',
|
|
31
|
+
showInForm: true,
|
|
32
|
+
formFieldType: 'text',
|
|
33
|
+
formPriority: 4.0,
|
|
34
|
+
isDataPropery: true
|
|
35
|
+
},
|
|
36
|
+
credits: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
showInForm: true,
|
|
39
|
+
formFieldType: 'text',
|
|
40
|
+
formPriority: 5.0,
|
|
41
|
+
isDataPropery: true
|
|
42
|
+
},
|
|
43
|
+
hrefUrl: {
|
|
44
|
+
type: 'string',
|
|
45
|
+
format: 'uri-template',
|
|
46
|
+
label: 'Image hyperlink',
|
|
47
|
+
showInForm: true,
|
|
48
|
+
formFieldType: 'text',
|
|
49
|
+
description: 'Url format is not valid',
|
|
50
|
+
isDataPropery: true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
required: ['name']
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
export { imageSchema };
|
|
57
|
+
//# sourceMappingURL=imageSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageSchema.js","names":["imageSchema","settings","formSchema","properties","name","type","showInForm","label","formFieldType","formPriority","storeKey","description","options","altText","isDataPropery","caption","credits","hrefUrl","format","required"],"sources":["../../../../src/components/FilePreview/Image/imageSchema.js"],"sourcesContent":["const imageSchema = {\n settings: {},\n formSchema: {\n properties: {\n name: {\n type: 'string',\n showInForm: true,\n label: 'File name',\n formFieldType: 'text',\n formPriority: 1.0\n },\n storeKey: {\n type: 'string',\n showInForm: true,\n label: 'Store type',\n formFieldType: 'select',\n formPriority: 2.0,\n description: 'Please select store type',\n options: []\n },\n altText: {\n type: 'string',\n showInForm: true,\n label: 'Alt text',\n formFieldType: 'text',\n formPriority: 3.0,\n isDataPropery: true\n },\n caption: {\n type: 'string',\n showInForm: true,\n formFieldType: 'text',\n formPriority: 4.0,\n isDataPropery: true\n },\n credits: {\n type: 'string',\n showInForm: true,\n formFieldType: 'text',\n formPriority: 5.0,\n isDataPropery: true\n },\n hrefUrl: {\n type: 'string',\n format: 'uri-template',\n label: 'Image hyperlink',\n showInForm: true,\n formFieldType: 'text',\n description: 'Url format is not valid',\n isDataPropery: true\n }\n },\n required: ['name']\n }\n};\n\nexport { imageSchema };\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG;EAClBC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACVC,UAAU,EAAE;MACVC,IAAI,EAAE;QACJC,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,WAAW;QAClBC,aAAa,EAAE,MAAM;QACrBC,YAAY,EAAE;MAChB,CAAC;MACDC,QAAQ,EAAE;QACRL,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,YAAY;QACnBC,aAAa,EAAE,QAAQ;QACvBC,YAAY,EAAE,GAAG;QACjBE,WAAW,EAAE,0BAA0B;QACvCC,OAAO,EAAE;MACX,CAAC;MACDC,OAAO,EAAE;QACPR,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,UAAU;QACjBC,aAAa,EAAE,MAAM;QACrBC,YAAY,EAAE,GAAG;QACjBK,aAAa,EAAE;MACjB,CAAC;MACDC,OAAO,EAAE;QACPV,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE,MAAM;QACrBC,YAAY,EAAE,GAAG;QACjBK,aAAa,EAAE;MACjB,CAAC;MACDE,OAAO,EAAE;QACPX,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE,MAAM;QACrBC,YAAY,EAAE,GAAG;QACjBK,aAAa,EAAE;MACjB,CAAC;MACDG,OAAO,EAAE;QACPZ,IAAI,EAAE,QAAQ;QACda,MAAM,EAAE,cAAc;QACtBX,KAAK,EAAE,iBAAiB;QACxBD,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE,MAAM;QACrBG,WAAW,EAAE,yBAAyB;QACtCG,aAAa,EAAE;MACjB;IACF,CAAC;IACDK,QAAQ,EAAE,CAAC,MAAM;EACnB;AACF,CAAC;AAED,SAASnB,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RawImage } from './RawImage';
|
|
2
|
+
import { Image } from './Image';
|
|
3
|
+
import { imageSchema } from './imageSchema';
|
|
4
|
+
const image = {
|
|
5
|
+
component: {
|
|
6
|
+
card: Image,
|
|
7
|
+
raw: RawImage
|
|
8
|
+
},
|
|
9
|
+
schema: imageSchema
|
|
10
|
+
};
|
|
11
|
+
export { image };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["RawImage","Image","imageSchema","image","component","card","raw","schema"],"sources":["../../../../src/components/FilePreview/Image/index.js"],"sourcesContent":["import { RawImage } from './RawImage';\nimport { Image } from './Image';\nimport { imageSchema } from './imageSchema';\n\nconst image = {\n component: {\n card: Image,\n raw: RawImage\n },\n schema: imageSchema\n};\nexport { image };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,YAAY;AACrC,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,WAAW,QAAQ,eAAe;AAE3C,MAAMC,KAAK,GAAG;EACZC,SAAS,EAAE;IACTC,IAAI,EAAEJ,KAAK;IACXK,GAAG,EAAEN;EACP,CAAC;EACDO,MAAM,EAAEL;AACV,CAAC;AACD,SAASC,KAAK","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalContext.js","names":["createContext","ModalContext"],"sources":["../../../src/components/FilePreview/ModalContext.js"],"sourcesContent":["import { createContext } from 'react';\n\nexport const ModalContext = createContext(false);\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,OAAO;AAErC,OAAO,MAAMC,YAAY,GAAGD,aAAa,CAAC,KAAK,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import Button from '@blaze-react/button';
|
|
4
|
+
const PDF = ({
|
|
5
|
+
mimetype,
|
|
6
|
+
url,
|
|
7
|
+
name,
|
|
8
|
+
children,
|
|
9
|
+
handleChangeFile,
|
|
10
|
+
showChangeButton
|
|
11
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
12
|
+
className: "preview",
|
|
13
|
+
key: `pdf-${url}`
|
|
14
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
15
|
+
className: "preview__file preview__file--pdf"
|
|
16
|
+
}, /*#__PURE__*/React.createElement("object", {
|
|
17
|
+
key: url,
|
|
18
|
+
data: url,
|
|
19
|
+
type: mimetype,
|
|
20
|
+
className: "preview__file--pdf"
|
|
21
|
+
}, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("a", {
|
|
22
|
+
href: url,
|
|
23
|
+
rel: "noopener noreferrer",
|
|
24
|
+
target: "_blank"
|
|
25
|
+
}, "Download ", name))), /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
className: "preview__details preview__details--file"
|
|
27
|
+
}, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("strong", null, "File details"), /*#__PURE__*/React.createElement("a", {
|
|
28
|
+
href: url,
|
|
29
|
+
rel: "noopener noreferrer",
|
|
30
|
+
target: "_blank"
|
|
31
|
+
}, "Original")), showChangeButton && /*#__PURE__*/React.createElement("div", {
|
|
32
|
+
className: "preview__change-button"
|
|
33
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
34
|
+
onClick: handleChangeFile
|
|
35
|
+
}, "Change file")))), children);
|
|
36
|
+
PDF.propTypes = {
|
|
37
|
+
mimetype: PropTypes.string.isRequired,
|
|
38
|
+
url: PropTypes.string.isRequired,
|
|
39
|
+
name: PropTypes.string.isRequired,
|
|
40
|
+
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
|
|
41
|
+
handleChangeFile: PropTypes.func,
|
|
42
|
+
showChangeButton: PropTypes.bool
|
|
43
|
+
};
|
|
44
|
+
PDF.defaultProps = {
|
|
45
|
+
handleChangeFile: () => {},
|
|
46
|
+
showChangeButton: false
|
|
47
|
+
};
|
|
48
|
+
export { PDF };
|
|
49
|
+
//# sourceMappingURL=PDF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PDF.js","names":["React","PropTypes","Button","PDF","mimetype","url","name","children","handleChangeFile","showChangeButton","createElement","className","key","data","type","href","rel","target","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","func","bool","defaultProps"],"sources":["../../../../src/components/FilePreview/PDF/PDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\n\nconst PDF = ({ mimetype, url, name, children, handleChangeFile, showChangeButton }) => (\n <div className=\"preview\" key={`pdf-${url}`}>\n <div className=\"preview__file preview__file--pdf\">\n <object key={url} data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"preview__details preview__details--file\">\n <p>\n <strong>File details</strong>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Original\n </a>\n </p>\n {showChangeButton && (\n <div className=\"preview__change-button\">\n <Button onClick={handleChangeFile}>Change file</Button>\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n);\n\nPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n handleChangeFile: PropTypes.func,\n showChangeButton: PropTypes.bool\n};\n\nPDF.defaultProps = {\n handleChangeFile: () => {},\n showChangeButton: false\n};\n\nexport { PDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AAExC,MAAMC,GAAG,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC,QAAQ;EAAEC,gBAAgB;EAAEC;AAAiB,CAAC,kBAChFT,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC,SAAS;EAACC,GAAG,EAAE,OAAOP,GAAG;AAAG,gBACzCL,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAkC,gBAC/CX,KAAA,CAAAU,aAAA;EAAQE,GAAG,EAAEP,GAAI;EAACQ,IAAI,EAAER,GAAI;EAACS,IAAI,EAAEV,QAAS;EAACO,SAAS,EAAC;AAAoB,gBACzEX,KAAA,CAAAU,aAAA,yBACEV,KAAA,CAAAU,aAAA;EAAGK,IAAI,EAAEV,GAAI;EAACW,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,WAC7C,EAACX,IACT,CACF,CACG,CAAC,eACTN,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAyC,gBACtDX,KAAA,CAAAU,aAAA,yBACEV,KAAA,CAAAU,aAAA,iBAAQ,cAAoB,CAAC,eAC7BV,KAAA,CAAAU,aAAA;EAAGK,IAAI,EAAEV,GAAI;EAACW,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,UAErD,CACF,CAAC,EACHR,gBAAgB,iBACfT,KAAA,CAAAU,aAAA;EAAKC,SAAS,EAAC;AAAwB,gBACrCX,KAAA,CAAAU,aAAA,CAACR,MAAM;EAACgB,OAAO,EAAEV;AAAiB,GAAC,aAAmB,CACnD,CAEJ,CACF,CAAC,EACLD,QACE,CACN;AAEDJ,GAAG,CAACgB,SAAS,GAAG;EACdf,QAAQ,EAAEH,SAAS,CAACmB,MAAM,CAACC,UAAU;EACrChB,GAAG,EAAEJ,SAAS,CAACmB,MAAM,CAACC,UAAU;EAChCf,IAAI,EAAEL,SAAS,CAACmB,MAAM,CAACC,UAAU;EACjCd,QAAQ,EAAEN,SAAS,CAACqB,SAAS,CAAC,CAACrB,SAAS,CAACsB,OAAO,CAACtB,SAAS,CAACuB,IAAI,CAAC,EAAEvB,SAAS,CAACuB,IAAI,CAAC,CAAC,CAACH,UAAU;EAC7Fb,gBAAgB,EAAEP,SAAS,CAACwB,IAAI;EAChChB,gBAAgB,EAAER,SAAS,CAACyB;AAC9B,CAAC;AAEDvB,GAAG,CAACwB,YAAY,GAAG;EACjBnB,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC1BC,gBAAgB,EAAE;AACpB,CAAC;AAED,SAASN,GAAG","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
import Actions from '../Actions';
|
|
4
|
+
const RawPDF = ({
|
|
5
|
+
mimetype,
|
|
6
|
+
url,
|
|
7
|
+
name,
|
|
8
|
+
file
|
|
9
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
10
|
+
className: "FilePreview"
|
|
11
|
+
}, /*#__PURE__*/React.createElement("object", {
|
|
12
|
+
data: url,
|
|
13
|
+
type: mimetype,
|
|
14
|
+
className: "preview__file--pdf"
|
|
15
|
+
}, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("a", {
|
|
16
|
+
href: url,
|
|
17
|
+
rel: "noopener noreferrer",
|
|
18
|
+
target: "_blank"
|
|
19
|
+
}, "Download ", name))), /*#__PURE__*/React.createElement("div", {
|
|
20
|
+
className: "FilePreviewItem__info"
|
|
21
|
+
}, /*#__PURE__*/React.createElement("p", {
|
|
22
|
+
className: "FilePreviewItem__info__fileName"
|
|
23
|
+
}, name), /*#__PURE__*/React.createElement(Actions, {
|
|
24
|
+
file: file
|
|
25
|
+
})));
|
|
26
|
+
RawPDF.propTypes = {
|
|
27
|
+
mimetype: PropTypes.string.isRequired,
|
|
28
|
+
url: PropTypes.string.isRequired,
|
|
29
|
+
name: PropTypes.string.isRequired,
|
|
30
|
+
file: PropTypes.object.isRequired
|
|
31
|
+
};
|
|
32
|
+
export { RawPDF };
|
|
33
|
+
//# sourceMappingURL=RawPDF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RawPDF.js","names":["React","PropTypes","Actions","RawPDF","mimetype","url","name","file","createElement","className","data","type","href","rel","target","propTypes","string","isRequired","object"],"sources":["../../../../src/components/FilePreview/PDF/RawPDF.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Actions from '../Actions';\n\nconst RawPDF = ({ mimetype, url, name, file }) => (\n <div className=\"FilePreview\">\n <object data={url} type={mimetype} className=\"preview__file--pdf\">\n <p>\n <a href={url} rel=\"noopener noreferrer\" target=\"_blank\">\n Download {name}\n </a>\n </p>\n </object>\n <div className=\"FilePreviewItem__info\">\n <p className=\"FilePreviewItem__info__fileName\">{name}</p>\n <Actions file={file} />\n </div>\n </div>\n);\n\nRawPDF.propTypes = {\n mimetype: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n file: PropTypes.object.isRequired\n};\n\nexport { RawPDF };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,YAAY;AAEhC,MAAMC,MAAM,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,GAAG;EAAEC,IAAI;EAAEC;AAAK,CAAC,kBAC3CP,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAAa,gBAC1BT,KAAA,CAAAQ,aAAA;EAAQE,IAAI,EAAEL,GAAI;EAACM,IAAI,EAAEP,QAAS;EAACK,SAAS,EAAC;AAAoB,gBAC/DT,KAAA,CAAAQ,aAAA,yBACER,KAAA,CAAAQ,aAAA;EAAGI,IAAI,EAAEP,GAAI;EAACQ,GAAG,EAAC,qBAAqB;EAACC,MAAM,EAAC;AAAQ,GAAC,WAC7C,EAACR,IACT,CACF,CACG,CAAC,eACTN,KAAA,CAAAQ,aAAA;EAAKC,SAAS,EAAC;AAAuB,gBACpCT,KAAA,CAAAQ,aAAA;EAAGC,SAAS,EAAC;AAAiC,GAAEH,IAAQ,CAAC,eACzDN,KAAA,CAAAQ,aAAA,CAACN,OAAO;EAACK,IAAI,EAAEA;AAAK,CAAE,CACnB,CACF,CACN;AAEDJ,MAAM,CAACY,SAAS,GAAG;EACjBX,QAAQ,EAAEH,SAAS,CAACe,MAAM,CAACC,UAAU;EACrCZ,GAAG,EAAEJ,SAAS,CAACe,MAAM,CAACC,UAAU;EAChCX,IAAI,EAAEL,SAAS,CAACe,MAAM,CAACC,UAAU;EACjCV,IAAI,EAAEN,SAAS,CAACiB,MAAM,CAACD;AACzB,CAAC;AAED,SAASd,MAAM","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["PDF","RawPDF","PDFSchema","pdf","component","card","raw","schema"],"sources":["../../../../src/components/FilePreview/PDF/index.js"],"sourcesContent":["import { PDF } from './PDF';\nimport { RawPDF } from './RawPDF';\nimport { PDFSchema } from './schema';\n\nconst pdf = {\n component: {\n card: PDF,\n raw: RawPDF\n },\n schema: PDFSchema\n};\n\nexport { pdf };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,OAAO;AAC3B,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,SAAS,QAAQ,UAAU;AAEpC,MAAMC,GAAG,GAAG;EACVC,SAAS,EAAE;IACTC,IAAI,EAAEL,GAAG;IACTM,GAAG,EAAEL;EACP,CAAC;EACDM,MAAM,EAAEL;AACV,CAAC;AAED,SAASC,GAAG","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const PDFSchema = {
|
|
2
|
+
settings: {},
|
|
3
|
+
formSchema: {
|
|
4
|
+
properties: {
|
|
5
|
+
name: {
|
|
6
|
+
type: 'string',
|
|
7
|
+
showInForm: true,
|
|
8
|
+
label: 'File name',
|
|
9
|
+
formFieldType: 'text'
|
|
10
|
+
},
|
|
11
|
+
caption: {
|
|
12
|
+
type: 'string',
|
|
13
|
+
showInForm: true,
|
|
14
|
+
formFieldType: 'text',
|
|
15
|
+
isDataPropery: true
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
required: ['name']
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
export { PDFSchema };
|
|
22
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","names":["PDFSchema","settings","formSchema","properties","name","type","showInForm","label","formFieldType","caption","isDataPropery","required"],"sources":["../../../../src/components/FilePreview/PDF/schema.js"],"sourcesContent":["const PDFSchema = {\n settings: {},\n formSchema: {\n properties: {\n name: {\n type: 'string',\n showInForm: true,\n label: 'File name',\n formFieldType: 'text'\n },\n caption: {\n type: 'string',\n showInForm: true,\n formFieldType: 'text',\n isDataPropery: true\n }\n },\n required: ['name']\n }\n};\n\nexport { PDFSchema };\n"],"mappings":"AAAA,MAAMA,SAAS,GAAG;EAChBC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACVC,UAAU,EAAE;MACVC,IAAI,EAAE;QACJC,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBC,KAAK,EAAE,WAAW;QAClBC,aAAa,EAAE;MACjB,CAAC;MACDC,OAAO,EAAE;QACPJ,IAAI,EAAE,QAAQ;QACdC,UAAU,EAAE,IAAI;QAChBE,aAAa,EAAE,MAAM;QACrBE,aAAa,EAAE;MACjB;IACF,CAAC;IACDC,QAAQ,EAAE,CAAC,MAAM;EACnB;AACF,CAAC;AAED,SAASX,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { pdf } from './PDF';
|
|
2
|
+
import { image } from './Image';
|
|
3
|
+
import { previewDefault } from './previewDefault';
|
|
4
|
+
const schemas = {
|
|
5
|
+
'application/pdf': pdf,
|
|
6
|
+
'image/gif': image,
|
|
7
|
+
'image/jpg': image,
|
|
8
|
+
'image/jpeg': image,
|
|
9
|
+
'image/png': image,
|
|
10
|
+
'image/bmp': image,
|
|
11
|
+
'image/svg+xml': image,
|
|
12
|
+
'image/tiff': image,
|
|
13
|
+
'image/webp': image,
|
|
14
|
+
default: previewDefault
|
|
15
|
+
};
|
|
16
|
+
const getPreview = ({
|
|
17
|
+
mimetype,
|
|
18
|
+
previewType
|
|
19
|
+
}) => {
|
|
20
|
+
const {
|
|
21
|
+
component,
|
|
22
|
+
schema
|
|
23
|
+
} = schemas[mimetype] || schemas.default;
|
|
24
|
+
const Preview = component[previewType] || component;
|
|
25
|
+
return [Preview, schema];
|
|
26
|
+
};
|
|
27
|
+
export { getPreview };
|
|
28
|
+
//# sourceMappingURL=get-preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-preview.js","names":["pdf","image","previewDefault","schemas","default","getPreview","mimetype","previewType","component","schema","Preview"],"sources":["../../../src/components/FilePreview/get-preview.js"],"sourcesContent":["import { pdf } from './PDF';\nimport { image } from './Image';\nimport { previewDefault } from './previewDefault';\n\nconst schemas = {\n 'application/pdf': pdf,\n 'image/gif': image,\n 'image/jpg': image,\n 'image/jpeg': image,\n 'image/png': image,\n 'image/bmp': image,\n 'image/svg+xml': image,\n 'image/tiff': image,\n 'image/webp': image,\n default: previewDefault\n};\n\nconst getPreview = ({ mimetype, previewType }) => {\n const { component, schema } = schemas[mimetype] || schemas.default;\n const Preview = component[previewType] || component;\n return [Preview, schema];\n};\n\nexport { getPreview };\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,OAAO;AAC3B,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,MAAMC,OAAO,GAAG;EACd,iBAAiB,EAAEH,GAAG;EACtB,WAAW,EAAEC,KAAK;EAClB,WAAW,EAAEA,KAAK;EAClB,YAAY,EAAEA,KAAK;EACnB,WAAW,EAAEA,KAAK;EAClB,WAAW,EAAEA,KAAK;EAClB,eAAe,EAAEA,KAAK;EACtB,YAAY,EAAEA,KAAK;EACnB,YAAY,EAAEA,KAAK;EACnBG,OAAO,EAAEF;AACX,CAAC;AAED,MAAMG,UAAU,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAY,CAAC,KAAK;EAChD,MAAM;IAAEC,SAAS;IAAEC;EAAO,CAAC,GAAGN,OAAO,CAACG,QAAQ,CAAC,IAAIH,OAAO,CAACC,OAAO;EAClE,MAAMM,OAAO,GAAGF,SAAS,CAACD,WAAW,CAAC,IAAIC,SAAS;EACnD,OAAO,CAACE,OAAO,EAAED,MAAM,CAAC;AAC1B,CAAC;AAED,SAASJ,UAAU","ignoreList":[]}
|