@blaze-cms/plugin-media-ui 0.146.0-node18-core-styles.2 → 0.146.0-node18-core-styles-tooltips.3
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 +3 -12
- package/lib/components/EditMediaFile/EditMediaFile.js +63 -9
- package/lib/components/EditMediaFile/EditMediaFile.js.map +1 -1
- package/lib/components/EditorAdapter/EditorAdapter.js +14 -5
- package/lib/components/EditorAdapter/EditorAdapter.js.map +1 -1
- package/lib/components/FilePreview/Actions/index.js +2 -2
- package/lib/components/FilePreview/Actions/index.js.map +1 -1
- package/lib/components/FilePreview/Image/Image.js +11 -3
- package/lib/components/FilePreview/Image/Image.js.map +1 -1
- package/lib/components/FilePreview/Image/imageSchema.js +1 -1
- package/lib/components/FilePreview/Image/imageSchema.js.map +1 -1
- package/lib/components/FilePreview/index.js +6 -2
- package/lib/components/FilePreview/index.js.map +1 -1
- package/lib/components/FilePreviewReadOnly/FileList.js +2 -2
- package/lib/components/FilePreviewReadOnly/FileList.js.map +1 -1
- package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js +30 -20
- package/lib/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js +7 -1
- package/lib/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib/components/FileUploadModal/FileUploadModal.js +32 -12
- package/lib/components/FileUploadModal/FileUploadModal.js.map +1 -1
- package/lib-es/components/EditMediaFile/EditMediaFile.js +43 -11
- package/lib-es/components/EditMediaFile/EditMediaFile.js.map +1 -1
- package/lib-es/components/EditorAdapter/EditorAdapter.js +15 -6
- package/lib-es/components/EditorAdapter/EditorAdapter.js.map +1 -1
- package/lib-es/components/FilePreview/Actions/index.js +2 -2
- package/lib-es/components/FilePreview/Actions/index.js.map +1 -1
- package/lib-es/components/FilePreview/Image/Image.js +11 -3
- package/lib-es/components/FilePreview/Image/Image.js.map +1 -1
- package/lib-es/components/FilePreview/Image/imageSchema.js +1 -1
- package/lib-es/components/FilePreview/Image/imageSchema.js.map +1 -1
- package/lib-es/components/FilePreview/index.js +6 -2
- package/lib-es/components/FilePreview/index.js.map +1 -1
- package/lib-es/components/FilePreviewReadOnly/FileList.js +2 -2
- package/lib-es/components/FilePreviewReadOnly/FileList.js.map +1 -1
- package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js +14 -12
- package/lib-es/components/FilePreviewReadOnly/FilePreviewReadOnly.js.map +1 -1
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js +7 -1
- package/lib-es/components/FileUploadAdapter/FileUploadAdapter.js.map +1 -1
- package/lib-es/components/FileUploadModal/FileUploadModal.js +31 -16
- package/lib-es/components/FileUploadModal/FileUploadModal.js.map +1 -1
- package/package.json +10 -9
- package/src/components/EditMediaFile/EditMediaFile.js +56 -28
- package/src/components/EditorAdapter/EditorAdapter.js +19 -4
- package/src/components/FilePreview/Actions/index.js +25 -27
- package/src/components/FilePreview/Image/Image.js +9 -2
- package/src/components/FilePreview/Image/imageSchema.js +1 -1
- package/src/components/FilePreview/index.js +17 -2
- package/src/components/FilePreviewReadOnly/FileList.js +1 -3
- package/src/components/FilePreviewReadOnly/FilePreviewReadOnly.js +17 -29
- package/src/components/FileUploadAdapter/FileUploadAdapter.js +7 -1
- package/src/components/FileUploadModal/FileUploadModal.js +44 -30
|
@@ -43,11 +43,17 @@ var FilePreviewReadOnly = function FilePreviewReadOnly(_ref) {
|
|
|
43
43
|
var client = (0, _client.useApolloClient)();
|
|
44
44
|
var getFiles = /*#__PURE__*/function () {
|
|
45
45
|
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(offset, ids) {
|
|
46
|
-
var _yield$client$query,
|
|
46
|
+
var _yield$client$query, _yield$client$query$d, _yield$client$query$d2, _yield$client$query$d3, files;
|
|
47
47
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
48
48
|
while (1) switch (_context.prev = _context.next) {
|
|
49
49
|
case 0:
|
|
50
|
-
|
|
50
|
+
if (ids.length) {
|
|
51
|
+
_context.next = 2;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
return _context.abrupt("return", []);
|
|
55
|
+
case 2:
|
|
56
|
+
_context.next = 4;
|
|
51
57
|
return client.query({
|
|
52
58
|
query: (0, _adminUiUtils.getQuery)('GET_FILES'),
|
|
53
59
|
variables: {
|
|
@@ -58,14 +64,16 @@ var FilePreviewReadOnly = function FilePreviewReadOnly(_ref) {
|
|
|
58
64
|
}
|
|
59
65
|
}
|
|
60
66
|
},
|
|
61
|
-
skip: !initialValue.length,
|
|
62
67
|
fetchPolicy: 'network-only'
|
|
63
68
|
});
|
|
64
|
-
case
|
|
69
|
+
case 4:
|
|
65
70
|
_yield$client$query = _context.sent;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
_yield$client$query$d = _yield$client$query.data;
|
|
72
|
+
_yield$client$query$d2 = _yield$client$query$d === void 0 ? {} : _yield$client$query$d;
|
|
73
|
+
_yield$client$query$d3 = _yield$client$query$d2.files;
|
|
74
|
+
files = _yield$client$query$d3 === void 0 ? [] : _yield$client$query$d3;
|
|
75
|
+
return _context.abrupt("return", files);
|
|
76
|
+
case 10:
|
|
69
77
|
case "end":
|
|
70
78
|
return _context.stop();
|
|
71
79
|
}
|
|
@@ -75,6 +83,14 @@ var FilePreviewReadOnly = function FilePreviewReadOnly(_ref) {
|
|
|
75
83
|
return _ref2.apply(this, arguments);
|
|
76
84
|
};
|
|
77
85
|
}();
|
|
86
|
+
var orderFiles = function orderFiles(files, ids) {
|
|
87
|
+
return ids.map(function (currentId) {
|
|
88
|
+
return files.find(function (_ref3) {
|
|
89
|
+
var fileId = _ref3.id;
|
|
90
|
+
return fileId === currentId;
|
|
91
|
+
});
|
|
92
|
+
}).filter(Boolean);
|
|
93
|
+
};
|
|
78
94
|
(0, _react.useEffect)(function () {
|
|
79
95
|
(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
80
96
|
var files, orderedFiles;
|
|
@@ -93,21 +109,15 @@ var FilePreviewReadOnly = function FilePreviewReadOnly(_ref) {
|
|
|
93
109
|
}
|
|
94
110
|
}, _callee2);
|
|
95
111
|
}))();
|
|
96
|
-
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
return ids.map(function (currentId) {
|
|
100
|
-
return files.find(function (_ref4) {
|
|
101
|
-
var fileId = _ref4.id;
|
|
102
|
-
return fileId === currentId;
|
|
103
|
-
});
|
|
104
|
-
}).filter(Boolean);
|
|
105
|
-
};
|
|
106
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
112
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
113
|
+
}, []);
|
|
114
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
107
115
|
className: "form-field form-field--button"
|
|
108
|
-
}, /*#__PURE__*/_react["default"].createElement("label",
|
|
116
|
+
}, /*#__PURE__*/_react["default"].createElement("label", {
|
|
117
|
+
htmlFor: id
|
|
118
|
+
}, label), selectedFiles.length > 0 && /*#__PURE__*/_react["default"].createElement(_FileList["default"], {
|
|
109
119
|
selectedFiles: selectedFiles
|
|
110
|
-
}))
|
|
120
|
+
}));
|
|
111
121
|
};
|
|
112
122
|
FilePreviewReadOnly.propTypes = {
|
|
113
123
|
label: _propTypes["default"].string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilePreviewReadOnly.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_adminUiUtils","_FileList","_mappers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FilePreviewReadOnly","_ref","label","id","type","value","initialValue","formatInitialValue","_useState","useState","_useState2","_slicedToArray2","selectedFiles","setSelectedFiles","client","useApolloClient","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","_yield$client$query","
|
|
1
|
+
{"version":3,"file":"FilePreviewReadOnly.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_adminUiUtils","_FileList","_mappers","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FilePreviewReadOnly","_ref","label","id","type","value","initialValue","formatInitialValue","_useState","useState","_useState2","_slicedToArray2","selectedFiles","setSelectedFiles","client","useApolloClient","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","_yield$client$query","_yield$client$query$d","_yield$client$query$d2","_yield$client$query$d3","files","wrap","_callee$","_context","prev","next","length","abrupt","query","getQuery","variables","where","_in","fetchPolicy","sent","data","stop","_x","_x2","apply","arguments","orderFiles","map","currentId","find","_ref3","fileId","filter","Boolean","useEffect","_callee2","orderedFiles","_callee2$","_context2","createElement","className","htmlFor","propTypes","PropTypes","string","isRequired","oneOfType","array","defaultProps","_default","exports"],"sources":["../../../src/components/FilePreviewReadOnly/FilePreviewReadOnly.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport FileList from './FileList';\nimport { formatInitialValue } from './mappers';\n\nconst FilePreviewReadOnly = ({ label, id, type, value }) => {\n const initialValue = formatInitialValue({ value, type });\n const [selectedFiles, setSelectedFiles] = useState([]);\n const client = useApolloClient();\n\n const getFiles = async (offset, ids) => {\n if (!ids.length) return [];\n const { data: { files = [] } = {} } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n offset,\n where: {\n id: { _in: ids }\n }\n },\n fetchPolicy: 'network-only'\n });\n return files;\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n useEffect(() => {\n (async () => {\n const files = await getFiles(0, initialValue);\n const orderedFiles = orderFiles(files, initialValue);\n setSelectedFiles(orderedFiles);\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div className=\"form-field form-field--button\">\n <label htmlFor={id}>{label}</label>\n {selectedFiles.length > 0 && <FileList selectedFiles={selectedFiles} />}\n </div>\n );\n};\n\nFilePreviewReadOnly.propTypes = {\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array])\n};\n\nFilePreviewReadOnly.defaultProps = {\n value: ''\n};\n\nexport default FilePreviewReadOnly;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,6 +38,7 @@ var _client = require("@apollo/client");
|
|
|
38
38
|
var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
|
|
39
39
|
var _reactFormBuilder = require("@blaze-cms/react-form-builder");
|
|
40
40
|
var _toaster = require("@blaze-react/toaster");
|
|
41
|
+
var _tooltip = _interopRequireDefault(require("@blaze-react/tooltip"));
|
|
41
42
|
var _constants = require("../../constants");
|
|
42
43
|
var _ListingContainer = _interopRequireDefault(require("../ListingContainer"));
|
|
43
44
|
var _mediaContext = require("../../utils/media-context");
|
|
@@ -59,6 +60,7 @@ var _FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
59
60
|
shouldRenderInPreview = _ref.shouldRenderInPreview,
|
|
60
61
|
canDragAndDrop = _ref.canDragAndDrop,
|
|
61
62
|
simpleLayout = _ref.simpleLayout,
|
|
63
|
+
tooltip = _ref.tooltip,
|
|
62
64
|
previewAllFiles = _ref.previewAllFiles,
|
|
63
65
|
fileType = _ref.fileType;
|
|
64
66
|
var _useContext = (0, _react.useContext)(_FileUploadAdapter.FormContext),
|
|
@@ -410,7 +412,9 @@ var _FileUploadAdapter = function FileUploadAdapter(_ref) {
|
|
|
410
412
|
}, "+ ", filesPendingString) : null;
|
|
411
413
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
412
414
|
className: "form-field form-field--button"
|
|
413
|
-
}, /*#__PURE__*/_react["default"].createElement("label", null, label
|
|
415
|
+
}, /*#__PURE__*/_react["default"].createElement("label", null, label, " ", /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
|
|
416
|
+
tooltipContent: tooltip
|
|
417
|
+
})), selectedFiles && /*#__PURE__*/_react["default"].createElement(_mediaContext.MediaContextProvider, {
|
|
414
418
|
value: {
|
|
415
419
|
handleEditModal: handleEditModal,
|
|
416
420
|
onUnselectFile: handleSelectedFiles
|
|
@@ -488,6 +492,7 @@ _FileUploadAdapter.propTypes = {
|
|
|
488
492
|
canDragAndDrop: _propTypes["default"].bool,
|
|
489
493
|
simpleLayout: _propTypes["default"].bool,
|
|
490
494
|
previewAllFiles: _propTypes["default"].bool,
|
|
495
|
+
tooltip: _propTypes["default"].string,
|
|
491
496
|
fileType: _propTypes["default"].string
|
|
492
497
|
};
|
|
493
498
|
_FileUploadAdapter.defaultProps = {
|
|
@@ -497,6 +502,7 @@ _FileUploadAdapter.defaultProps = {
|
|
|
497
502
|
canDragAndDrop: false,
|
|
498
503
|
simpleLayout: false,
|
|
499
504
|
previewAllFiles: false,
|
|
505
|
+
tooltip: '',
|
|
500
506
|
fileType: 'file'
|
|
501
507
|
};
|
|
502
508
|
var _default = exports["default"] = _FileUploadAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadAdapter.js","names":["_react","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_propTypes","_client","_adminUiUtils","_reactFormBuilder","_toaster","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit3","_mappers","_FilePreview","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","_ref","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","previewAllFiles","fileType","_useContext","useContext","FormContext","InjectPreview","_useLimit","useLimit","_useLimit2","_slicedToArray2","currentLimit","_useState","useState","_useState2","displayModal","setDisplayModal","_useState3","_useState4","displayFileUploadModal","setDisplayFileUploadModal","initialValue","formatInitialValue","_useState5","_useState6","currentValue","setCurrentValue","_useState7","_useState8","currentOffset","setCurrentOffset","_useState9","_useState10","selectedFiles","setSelectedFiles","_useState11","_useState12","editFile","setEditFile","client","useApolloClient","_useToasts","useToasts","addToast","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","fetchAll","_yield$client$query","newFiles","_args","wrap","_callee$","_context","prev","next","undefined","query","getQuery","variables","limit","where","_in","skip","fetchPolicy","sent","data","files","abrupt","stop","_x","_x2","useEffect","_callee2","initialFiles","orderedFiles","_callee2$","_context2","_","orderFiles","fetchMore","_ref4","_callee3","shouldFetchAll","newOffset","updatedOffset","offsetToUse","_callee3$","_context3","concat","_toConsumableArray2","_x3","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","_ref5","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_ref6","_id","handleEditFileForm","editedFile","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","_ref7","Boolean","modalActions","textButton","callback","modifiers","editModalActions","_callback","_callee4","editedFileId","updatedSelectedFiles","_callee4$","_context4","selectedFile","mutate","mutation","getMutation","input","update","cache","_ref8","fileUpdated","updateFile","writeQuery","result","t0","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","ModalAdapter","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport { useToasts } from '@blaze-react/toaster';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop,\n simpleLayout,\n previewAllFiles,\n fileType\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles =\n !selectedFiles.length && !previewAllFiles\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue, fileType });\n\n const filesPending = previewAllFiles\n ? 0\n : getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(cache, { data: { updateFile: fileUpdated } }) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>{label}</label>\n {selectedFiles && (\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n\n {displayFileUploadModal && simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </div>\n )}\n\n {displayModal && !simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool,\n simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool,\n fileType: PropTypes.string\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false,\n fileType: 'file'\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileUploadAdapter.js","names":["_react","_interopRequireWildcard","require","_fileUpload","_interopRequireDefault","_propTypes","_client","_adminUiUtils","_reactFormBuilder","_toaster","_tooltip","_constants","_ListingContainer","_mediaContext","_FileList","_useLimit3","_mappers","_FilePreview","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadAdapter","_ref","onChange","label","id","type","value","maxItems","shouldRenderInPreview","canDragAndDrop","simpleLayout","tooltip","previewAllFiles","fileType","_useContext","useContext","FormContext","InjectPreview","_useLimit","useLimit","_useLimit2","_slicedToArray2","currentLimit","_useState","useState","_useState2","displayModal","setDisplayModal","_useState3","_useState4","displayFileUploadModal","setDisplayFileUploadModal","initialValue","formatInitialValue","_useState5","_useState6","currentValue","setCurrentValue","_useState7","_useState8","currentOffset","setCurrentOffset","_useState9","_useState10","selectedFiles","setSelectedFiles","_useState11","_useState12","editFile","setEditFile","client","useApolloClient","_useToasts","useToasts","addToast","getFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","offset","ids","fetchAll","_yield$client$query","newFiles","_args","wrap","_callee$","_context","prev","next","undefined","query","getQuery","variables","limit","where","_in","skip","fetchPolicy","sent","data","files","abrupt","stop","_x","_x2","useEffect","_callee2","initialFiles","orderedFiles","_callee2$","_context2","_","orderFiles","fetchMore","_ref4","_callee3","shouldFetchAll","newOffset","updatedOffset","offsetToUse","_callee3$","_context3","concat","_toConsumableArray2","_x3","handleSelectedFiles","checkIsUnselecting","isUnselectingFile","isUnselecting","valueArray","transformToArray","selectedFilesIds","valueId","includes","parsedValue","getFormat","filesIds","event","target","name","fileData","handleReorderFiles","map","_ref5","fileId","closeModalAndSetValue","isSaving","values","toastMessage","appearance","autoDismiss","fileUploadButtonText","getButtonText","filesPending","getNumberFilesPendingToFetch","onOpenLibrary","handleEditModal","file","selectedEditFile","find","_ref6","_id","handleEditFileForm","editedFile","parseFormValues","valuesChecked","altText","caption","credits","hrefUrl","currentId","_ref7","Boolean","modalActions","textButton","callback","modifiers","editModalActions","_callback","_callee4","editedFileId","updatedSelectedFiles","_callee4$","_context4","selectedFile","mutate","mutation","getMutation","input","update","cache","_ref8","fileUpdated","updateFile","writeQuery","result","t0","console","error","filesPendingString","MORE","fileListSpan","createElement","className","onClick","Fragment","tooltipContent","MediaContextProvider","onUnselectFile","selector","previewerId","allFiles","actionText","handleLibraryClick","enableDragAndDrop","ModalAdapter","actions","title","onClose","fileName","handleFormChange","displayForm","previewType","filesSelected","propTypes","PropTypes","func","isRequired","string","oneOfType","array","number","bool","defaultProps","_default","exports"],"sources":["../../../src/components/FileUploadAdapter/FileUploadAdapter.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport FileUpload from '@blaze-react/file-upload';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery, getMutation, ModalAdapter as Modal } from '@blaze-cms/admin-ui-utils';\nimport { parseFormValues } from '@blaze-cms/react-form-builder';\nimport { useToasts } from '@blaze-react/toaster';\nimport Tooltip from '@blaze-react/tooltip';\nimport { MORE } from '../../constants';\nimport ListingContainer from '../ListingContainer';\nimport { MediaContextProvider } from '../../utils/media-context';\nimport FileList from './FileList';\nimport useLimit from './useLimit';\nimport {\n getFormat,\n formatInitialValue,\n transformToArray,\n isUnselecting,\n getButtonText,\n getNumberFilesPendingToFetch\n} from './mappers';\nimport FilePreview from '../FilePreview';\n\nconst FileUploadAdapter = ({\n onChange,\n label,\n id,\n type,\n value,\n maxItems,\n shouldRenderInPreview,\n canDragAndDrop,\n simpleLayout,\n tooltip,\n previewAllFiles,\n fileType\n}) => {\n const { InjectPreview } = useContext(FileUploadAdapter.FormContext);\n const [currentLimit] = useLimit(maxItems);\n const [displayModal, setDisplayModal] = useState(false);\n const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);\n const initialValue = formatInitialValue({ value, type });\n const [currentValue, setCurrentValue] = useState(initialValue);\n const [currentOffset, setCurrentOffset] = useState(0);\n const [selectedFiles, setSelectedFiles] = useState([]);\n const [editFile, setEditFile] = useState(null);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const getFiles = async (offset, ids, fetchAll = previewAllFiles) => {\n const {\n data: { files: newFiles }\n } = await client.query({\n query: getQuery('GET_FILES'),\n variables: {\n limit: fetchAll ? 0 : 4,\n offset,\n where: {\n id: {\n _in: ids\n }\n }\n },\n skip: !currentValue.length,\n fetchPolicy: 'network-only'\n });\n return newFiles;\n };\n\n useEffect(\n () => {\n (async () => {\n const initialFiles =\n !selectedFiles.length && !previewAllFiles\n ? currentValue.filter((_, i) => i <= 3)\n : currentValue;\n\n const files = await getFiles(0, initialFiles);\n const orderedFiles = orderFiles(files, currentValue);\n setCurrentOffset(0);\n setSelectedFiles(orderedFiles);\n })();\n },\n [currentValue] //eslint-disable-line\n );\n\n const fetchMore = async shouldFetchAll => {\n if (selectedFiles.length === currentValue.length) return;\n const newOffset = currentOffset + 4;\n const updatedOffset = newOffset > currentValue.length ? currentValue.length : newOffset;\n const offsetToUse = shouldFetchAll ? 0 : updatedOffset;\n const files = await getFiles(offsetToUse, currentValue, shouldFetchAll);\n const newFiles = [...selectedFiles, ...files];\n const orderedFiles = orderFiles(newFiles, currentValue);\n setSelectedFiles(orderedFiles);\n setCurrentOffset(newOffset);\n };\n\n const handleSelectedFiles = (files, checkIsUnselecting = true) => {\n const isUnselectingFile = isUnselecting(value, checkIsUnselecting, files);\n if (isUnselectingFile) {\n const valueArray = transformToArray(value);\n const selectedFilesIds = valueArray.filter(valueId => !files.includes(valueId));\n const parsedValue = getFormat(type, { filesIds: selectedFilesIds });\n setCurrentValue(selectedFilesIds);\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: selectedFilesIds.length ? selectedFilesIds : null\n }\n },\n value: parsedValue\n });\n }\n\n setCurrentValue(files);\n };\n\n const handleReorderFiles = files => {\n const filesIds = files.map(({ id: fileId }) => fileId);\n const parsedValue = getFormat(type, { filesIds });\n setSelectedFiles(files);\n\n return onChange({\n event: {\n target: {\n value: parsedValue,\n name: id,\n type,\n fileData: filesIds\n }\n },\n value: parsedValue\n });\n };\n\n const closeModalAndSetValue = (isSaving, values, toastMessage) => {\n if (toastMessage) {\n addToast(toastMessage, {\n appearance: 'success',\n autoDismiss: true\n });\n }\n\n if (isSaving) {\n const parsedValue = getFormat(type, { filesIds: simpleLayout ? values : currentValue });\n setDisplayModal(false);\n return onChange({\n event: { target: { value: parsedValue, name: id, type, currentValue } },\n value: parsedValue\n });\n }\n\n setCurrentValue(initialValue);\n setDisplayModal(false);\n };\n\n const fileUploadButtonText = getButtonText({ maxItems, value: initialValue, fileType });\n\n const filesPending = previewAllFiles\n ? 0\n : getNumberFilesPendingToFetch(currentOffset, currentValue);\n const onOpenLibrary = () => setDisplayModal(true);\n const handleEditModal = file => {\n const selectedEditFile = selectedFiles.find(({ id: _id }) => _id === file.id);\n setEditFile(selectedEditFile);\n };\n\n const handleEditFileForm = editedFile => {\n const values = parseFormValues(editedFile.valuesChecked);\n\n const { altText, caption, credits, hrefUrl, name } = values;\n setEditFile({\n ...editFile,\n name,\n data: {\n altText,\n caption,\n credits,\n hrefUrl\n }\n });\n };\n\n const orderFiles = (files, ids) =>\n ids.map(currentId => files.find(({ id: fileId }) => fileId === currentId)).filter(Boolean);\n\n const modalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n closeModalAndSetValue();\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: () => {\n closeModalAndSetValue(true);\n },\n modifiers: []\n }\n ];\n\n const editModalActions = [\n {\n textButton: 'Cancel',\n callback: () => {\n setEditFile(null);\n },\n modifiers: ['cancel']\n },\n {\n textButton: 'Save',\n callback: async () => {\n const { name, id: editedFileId, data } = editFile;\n const updatedSelectedFiles = selectedFiles.map(selectedFile => {\n if (selectedFile.id === editedFileId) {\n return { ...selectedFile, name, data };\n }\n return selectedFile;\n });\n setSelectedFiles(updatedSelectedFiles);\n\n try {\n await client.mutate({\n mutation: getMutation('UPDATE_FILE'),\n variables: {\n input: {\n name,\n data,\n id: editedFileId\n }\n },\n update(cache, { data: { updateFile: fileUpdated } }) {\n cache.writeQuery({\n query: getQuery('GET_FILE_BY_ID'),\n variables: { id },\n data: { file: fileUpdated.result }\n });\n }\n });\n\n addToast(`File: ${editFile.name} has been updated`, {\n appearance: 'success',\n autoDismiss: true\n });\n closeModalAndSetValue(true);\n setEditFile(null);\n } catch (e) {\n addToast(`File: ${editFile.name} has not been updated`, {\n appearance: 'error',\n autoDismiss: true\n });\n console.error(e); //eslint-disable-line\n }\n },\n modifiers: []\n }\n ];\n const filesPendingString = `${filesPending} ${MORE}`;\n const fileListSpan = filesPending ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <span className=\"FileUploadAdapter__preview-link button button--link\" onClick={fetchMore}>\n + {filesPendingString}\n </span>\n ) : null;\n\n return (\n <>\n <div className=\"form-field form-field--button\">\n <label>\n {label} <Tooltip tooltipContent={tooltip} />\n </label>\n {selectedFiles && (\n <MediaContextProvider value={{ handleEditModal, onUnselectFile: handleSelectedFiles }}>\n {shouldRenderInPreview ? (\n <InjectPreview selector={FileUploadAdapter.previewerId}>\n <FileList\n selectedFiles={selectedFiles}\n allFiles={currentValue}\n handleReorderFiles={handleReorderFiles}\n canDragAndDrop={canDragAndDrop}\n fetchMore={fetchMore}>\n {fileListSpan}\n </FileList>\n </InjectPreview>\n ) : (\n <FileList\n selectedFiles={selectedFiles}\n handleReorderFiles={handleReorderFiles}\n fetchMore={fetchMore}\n />\n )}\n </MediaContextProvider>\n )}\n <FileUpload\n actionText={fileUploadButtonText}\n handleLibraryClick={() => {\n if (simpleLayout) {\n setDisplayFileUploadModal(true);\n } else {\n onOpenLibrary();\n }\n }}\n enableDragAndDrop={false}\n />\n </div>\n {editFile && (\n <Modal actions={editModalActions} title=\"Edit File\" onClose={() => setEditFile(null)}>\n <FilePreview\n file={editFile}\n fileName={editFile.fileName}\n handleFormChange={handleEditFileForm}\n displayForm\n previewType=\"card\"\n />\n </Modal>\n )}\n\n {displayFileUploadModal && simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <ListingContainer\n displayFileUploadModal={displayFileUploadModal}\n closeModalAndSetValue={closeModalAndSetValue}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n simpleLayout={simpleLayout}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </div>\n )}\n\n {displayModal && !simpleLayout && (\n <div className=\"file-upload-modal-wrapper\">\n <Modal\n actions={modalActions}\n className=\"file-upload-modal\"\n title=\"Media library\"\n onClose={() => closeModalAndSetValue()}>\n <ListingContainer\n closeModalAndSetValue={closeModalAndSetValue}\n displayFileUploadModal={displayFileUploadModal}\n setDisplayFileUploadModal={setDisplayFileUploadModal}\n handleSelectedFiles={handleSelectedFiles}\n maxItems={currentLimit}\n filesSelected={currentValue.length > 1 ? currentValue : []}\n />\n </Modal>\n </div>\n )}\n </>\n );\n};\n\nFileUploadAdapter.propTypes = {\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n id: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n maxItems: PropTypes.oneOfType([PropTypes.number, PropTypes.bool]),\n shouldRenderInPreview: PropTypes.bool,\n canDragAndDrop: PropTypes.bool,\n simpleLayout: PropTypes.bool,\n previewAllFiles: PropTypes.bool,\n tooltip: PropTypes.string,\n fileType: PropTypes.string\n};\n\nFileUploadAdapter.defaultProps = {\n value: '',\n maxItems: false,\n shouldRenderInPreview: false,\n canDragAndDrop: false,\n simpleLayout: false,\n previewAllFiles: false,\n tooltip: '',\n fileType: 'file'\n};\n\nexport default FileUploadAdapter;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.array.filter.js");
|
|
5
|
+
require("core-js/modules/es.array.for-each.js");
|
|
6
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
3
7
|
require("core-js/modules/es.object.define-property.js");
|
|
4
8
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
10
|
+
require("core-js/modules/es.object.keys.js");
|
|
5
11
|
require("core-js/modules/es.weak-map.js");
|
|
12
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
6
13
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
7
14
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
8
15
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -18,6 +25,7 @@ require("core-js/modules/es.object.to-string.js");
|
|
|
18
25
|
require("core-js/modules/es.promise.js");
|
|
19
26
|
require("core-js/modules/es.string.iterator.js");
|
|
20
27
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
28
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
29
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
22
30
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
23
31
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -29,11 +37,14 @@ var _client = require("@apollo/client");
|
|
|
29
37
|
var _useFileList2 = _interopRequireDefault(require("../FileList/useFileList"));
|
|
30
38
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
31
39
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
40
|
+
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; }
|
|
41
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
32
42
|
var FileUploadModal = function FileUploadModal(_ref) {
|
|
33
43
|
var onClose = _ref.onClose,
|
|
34
44
|
getSelectedFiles = _ref.getSelectedFiles,
|
|
35
45
|
closeModalAndSetValue = _ref.closeModalAndSetValue,
|
|
36
|
-
simpleLayout = _ref.simpleLayout
|
|
46
|
+
simpleLayout = _ref.simpleLayout,
|
|
47
|
+
fileId = _ref.fileId;
|
|
37
48
|
var _useState = (0, _react.useState)([]),
|
|
38
49
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
39
50
|
files = _useState2[0],
|
|
@@ -66,17 +77,24 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
66
77
|
return Promise.all(files.map(function (_ref3) {
|
|
67
78
|
var file = _ref3.file,
|
|
68
79
|
name = _ref3.name,
|
|
69
|
-
|
|
80
|
+
data = _ref3.data,
|
|
70
81
|
storeKey = _ref3.storeKey;
|
|
82
|
+
var payload = {
|
|
83
|
+
name: name,
|
|
84
|
+
storeKey: storeKey,
|
|
85
|
+
data: data
|
|
86
|
+
};
|
|
87
|
+
if (fileId) {
|
|
88
|
+
payload.id = fileId;
|
|
89
|
+
} else if (!name) {
|
|
90
|
+
payload.name = file.filename;
|
|
91
|
+
}
|
|
71
92
|
return client.mutate({
|
|
72
93
|
mutation: (0, _adminUiUtils.getMutation)('UPLOAD_FILE'),
|
|
73
94
|
variables: {
|
|
74
|
-
input: {
|
|
75
|
-
file: file
|
|
76
|
-
|
|
77
|
-
storeKey: storeKey,
|
|
78
|
-
data: fileData
|
|
79
|
-
}
|
|
95
|
+
input: _objectSpread({
|
|
96
|
+
file: file
|
|
97
|
+
}, payload)
|
|
80
98
|
}
|
|
81
99
|
});
|
|
82
100
|
}))["catch"](function (error) {
|
|
@@ -95,7 +113,7 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
95
113
|
var file = _ref5.file;
|
|
96
114
|
return file.name;
|
|
97
115
|
});
|
|
98
|
-
addNewFile(parsedResponse);
|
|
116
|
+
addNewFile && addNewFile(parsedResponse);
|
|
99
117
|
toastMessage = "Uploaded: ".concat(fileNames.join(', '));
|
|
100
118
|
if (!simpleLayout) {
|
|
101
119
|
_context.next = 12;
|
|
@@ -148,7 +166,7 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
148
166
|
var storeOptions = storeType.map(function (type) {
|
|
149
167
|
return [type.key, type.name];
|
|
150
168
|
});
|
|
151
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
169
|
+
return /*#__PURE__*/_react["default"].createElement(_adminUiUtils.ModalAdapter, {
|
|
152
170
|
onClose: onClose,
|
|
153
171
|
title: "Add media",
|
|
154
172
|
actions: [{
|
|
@@ -164,9 +182,10 @@ var FileUploadModal = function FileUploadModal(_ref) {
|
|
|
164
182
|
}, /*#__PURE__*/_react["default"].createElement(_fileUpload["default"], {
|
|
165
183
|
onChange: handleFiles,
|
|
166
184
|
selectOptions: storeOptions
|
|
167
|
-
}))
|
|
185
|
+
}));
|
|
168
186
|
};
|
|
169
187
|
FileUploadModal.propTypes = {
|
|
188
|
+
fileId: _propTypes["default"].string,
|
|
170
189
|
getSelectedFiles: _propTypes["default"].func.isRequired,
|
|
171
190
|
onClose: _propTypes["default"].func,
|
|
172
191
|
simpleLayout: _propTypes["default"].bool,
|
|
@@ -175,7 +194,8 @@ FileUploadModal.propTypes = {
|
|
|
175
194
|
FileUploadModal.defaultProps = {
|
|
176
195
|
onClose: function onClose() {},
|
|
177
196
|
closeModalAndSetValue: function closeModalAndSetValue() {},
|
|
178
|
-
simpleLayout: false
|
|
197
|
+
simpleLayout: false,
|
|
198
|
+
fileId: null
|
|
179
199
|
};
|
|
180
200
|
var _default = exports["default"] = FileUploadModal;
|
|
181
201
|
//# sourceMappingURL=FileUploadModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","_adminUiUtils","_fileUpload","_interopRequireDefault","_propTypes","_toaster","_client","_useFileList2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FileUploadModal","_ref","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","_useState","useState","_useState2","_slicedToArray2","files","setFiles","_useToasts","useToasts","addToast","client","useApolloClient","_useFileList","useFileList","addNewFile","fileStoresType","getQuery","_useQuery","useQuery","variables","visibleInAdmin","_useQuery$data","data","_useQuery$data2","_useQuery$data2$getFi","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","response","parsedResponse","fileNames","toastMessage","filesToSelect","wrap","_callee$","_context","prev","next","Promise","all","map","_ref3","file","name","fileData","storeKey","mutate","mutation","getMutation","input","filename","error","message","appearance","autoDismiss","sent","_ref4","result","_ref5","concat","join","id","abrupt","stop","apply","arguments","handleOnSave","_ref6","_callee2","_callee2$","_context2","length","storeOptions","type","key","createElement","Fragment","ModalAdapter","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","PropTypes","func","isRequired","bool","defaultProps","_default","exports"],"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 = ({ onClose, getSelectedFiles, closeModalAndSetValue, simpleLayout }) => {\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\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data: fileData, storeKey }) =>\n client.mutate({\n mutation: getMutation('UPLOAD_FILE'),\n variables: {\n input: {\n file,\n name: name || file.filename,\n storeKey,\n data: fileData\n }\n }\n })\n )\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile(parsedResponse);\n const toastMessage = `Uploaded: ${fileNames.join(', ')}`;\n\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);\n return;\n }\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 const storeOptions = storeType.map(type => [type.key, type.name]);\n\n return (\n <>\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: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\n </Modal>\n </>\n );\n};\n\nFileUploadModal.propTypes = {\n getSelectedFiles: PropTypes.func.isRequired,\n onClose: PropTypes.func,\n simpleLayout: PropTypes.bool,\n closeModalAndSetValue: PropTypes.func\n};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileUploadModal.js","names":["_react","_interopRequireWildcard","require","_adminUiUtils","_fileUpload","_interopRequireDefault","_propTypes","_toaster","_client","_useFileList2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","FileUploadModal","_ref","onClose","getSelectedFiles","closeModalAndSetValue","simpleLayout","fileId","_useState","useState","_useState2","_slicedToArray2","files","setFiles","_useToasts","useToasts","addToast","client","useApolloClient","_useFileList","useFileList","addNewFile","fileStoresType","getQuery","_useQuery","useQuery","variables","visibleInAdmin","_useQuery$data","data","_useQuery$data2","_useQuery$data2$getFi","getFileStores","storeType","handleFiles","filesToUpload","uploadFiles","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","response","parsedResponse","fileNames","toastMessage","filesToSelect","wrap","_callee$","_context","prev","next","Promise","all","map","_ref3","file","name","storeKey","payload","id","filename","mutate","mutation","getMutation","input","error","message","appearance","autoDismiss","sent","_ref4","result","_ref5","concat","join","abrupt","stop","handleOnSave","_ref6","_callee2","_callee2$","_context2","storeOptions","type","key","createElement","ModalAdapter","title","actions","textButton","callback","modifiers","upload","onChange","selectOptions","propTypes","PropTypes","string","func","isRequired","bool","defaultProps","_default","exports"],"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}) => {\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\n const { data: { getFileStores: storeType = [] } = {} } = useQuery(fileStoresType, {\n variables: { visibleInAdmin: true }\n });\n\n const handleFiles = filesToUpload => {\n setFiles(filesToUpload);\n };\n\n const uploadFiles = async () => {\n const response = await Promise.all(\n files.map(({ file, name, data, storeKey }) => {\n const payload = {\n name,\n 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: {\n input: {\n file,\n ...payload\n }\n }\n });\n })\n ).catch(error => {\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n });\n\n const parsedResponse = response.map(({ data: { file } }) => file.result);\n\n const fileNames = files.map(({ file }) => file.name);\n addNewFile && addNewFile(parsedResponse);\n const toastMessage = `Uploaded: ${fileNames.join(', ')}`;\n\n if (simpleLayout) {\n const filesToSelect = parsedResponse.map(file => file.id);\n getSelectedFiles(null, filesToSelect);\n closeModalAndSetValue(simpleLayout, filesToSelect, toastMessage);\n return;\n }\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 const storeOptions = storeType.map(type => [type.key, type.name]);\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: 'Save',\n callback: handleOnSave,\n modifiers: []\n }\n ]}\n upload>\n <FileUpload onChange={handleFiles} selectOptions={storeOptions} />\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};\n\nFileUploadModal.defaultProps = {\n onClose: () => {},\n closeModalAndSetValue: () => {},\n simpleLayout: false,\n fileId: null\n};\n\nexport default FileUploadModal;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,9 @@ import React, { useState, useEffect } from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { getQuery } from '@blaze-cms/admin-ui-utils';
|
|
7
7
|
import { useQuery } from '@apollo/client';
|
|
8
|
+
import { useToasts } from '@blaze-react/toaster';
|
|
8
9
|
import FilePreview from '../FilePreview';
|
|
10
|
+
import FileUploadModal from '../FileUploadModal';
|
|
9
11
|
import { STORE_KEY, NAME } from '../../constants';
|
|
10
12
|
const EditMediaFile = ({
|
|
11
13
|
onChange,
|
|
@@ -14,16 +16,22 @@ const EditMediaFile = ({
|
|
|
14
16
|
fileId
|
|
15
17
|
}) => {
|
|
16
18
|
const [formValues, setFormValues] = useState(null);
|
|
17
|
-
const
|
|
19
|
+
const [displayFileUploadModal, setDisplayFileUploadModal] = useState(false);
|
|
20
|
+
const {
|
|
21
|
+
addToast
|
|
22
|
+
} = useToasts();
|
|
23
|
+
const fileQuery = getQuery('GET_FILE_BY_ID');
|
|
18
24
|
const {
|
|
19
25
|
loading,
|
|
20
26
|
data: {
|
|
21
27
|
file
|
|
22
|
-
} = {}
|
|
23
|
-
|
|
28
|
+
} = {},
|
|
29
|
+
refetch: refetchFile
|
|
30
|
+
} = useQuery(fileQuery, {
|
|
24
31
|
variables: {
|
|
25
32
|
id: fileId
|
|
26
|
-
}
|
|
33
|
+
},
|
|
34
|
+
fetchPolicy: 'network-only'
|
|
27
35
|
});
|
|
28
36
|
const fileStoresType = getQuery('GET_FILE_STORES');
|
|
29
37
|
const {
|
|
@@ -47,10 +55,7 @@ const EditMediaFile = ({
|
|
|
47
55
|
}) => {
|
|
48
56
|
const valuesCheckedWithoutName = valuesChecked.filter(({
|
|
49
57
|
id
|
|
50
|
-
}) =>
|
|
51
|
-
if (id === NAME || id === STORE_KEY) return false;
|
|
52
|
-
return true;
|
|
53
|
-
});
|
|
58
|
+
}) => id !== NAME && id !== STORE_KEY);
|
|
54
59
|
const dataValues = valuesCheckedWithoutName.reduce((acc, {
|
|
55
60
|
id,
|
|
56
61
|
value
|
|
@@ -83,7 +88,7 @@ const EditMediaFile = ({
|
|
|
83
88
|
onChange(updatedFile);
|
|
84
89
|
};
|
|
85
90
|
const getFileWithStoreType = () => {
|
|
86
|
-
if (storeType) {
|
|
91
|
+
if (storeType && file) {
|
|
87
92
|
const storeOptions = storeType.map(type => [type.key, type.name]);
|
|
88
93
|
const defaultStore = storeType.find(type => type.isDefault) || null;
|
|
89
94
|
return _objectSpread(_objectSpread({}, file), {}, {
|
|
@@ -95,12 +100,39 @@ const EditMediaFile = ({
|
|
|
95
100
|
}
|
|
96
101
|
return file;
|
|
97
102
|
};
|
|
103
|
+
const closeModalAndSetValue = async (isSaving, values, toastMessage) => {
|
|
104
|
+
if (toastMessage) {
|
|
105
|
+
addToast(toastMessage, {
|
|
106
|
+
appearance: 'success',
|
|
107
|
+
autoDismiss: true
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
await refetchFile({
|
|
111
|
+
id: fileId,
|
|
112
|
+
timestamp: Date.now()
|
|
113
|
+
});
|
|
114
|
+
setDisplayFileUploadModal(false);
|
|
115
|
+
};
|
|
116
|
+
const handleChangeFile = () => {
|
|
117
|
+
setDisplayFileUploadModal(true);
|
|
118
|
+
};
|
|
98
119
|
const fileWithStoreType = getFileWithStoreType();
|
|
99
|
-
return
|
|
120
|
+
return !loading ? /*#__PURE__*/React.createElement(React.Fragment, null, file ? /*#__PURE__*/React.createElement(FilePreview, {
|
|
100
121
|
file: fileWithStoreType,
|
|
101
122
|
handleFormChange: handleFormChange,
|
|
123
|
+
handleChangeFile: handleChangeFile,
|
|
102
124
|
displayForm: true
|
|
103
|
-
}) : null
|
|
125
|
+
}) : null, displayFileUploadModal && /*#__PURE__*/React.createElement("div", {
|
|
126
|
+
className: "file-upload-modal-wrapper"
|
|
127
|
+
}, /*#__PURE__*/React.createElement(FileUploadModal, {
|
|
128
|
+
onClose: () => {
|
|
129
|
+
setDisplayFileUploadModal(false);
|
|
130
|
+
},
|
|
131
|
+
closeModalAndSetValue: closeModalAndSetValue,
|
|
132
|
+
simpleLayout: true,
|
|
133
|
+
fileId: fileId,
|
|
134
|
+
getSelectedFiles: () => {}
|
|
135
|
+
}))) : /*#__PURE__*/React.createElement("div", null, "loading...");
|
|
104
136
|
};
|
|
105
137
|
EditMediaFile.propTypes = {
|
|
106
138
|
fileId: PropTypes.string.isRequired,
|