Repository URL to install this package:
|
Version:
3.12.18 ▾
|
import { Original, Image } from '@scaleflex/icons';
import isPdf from '@filerobot/utils/lib/isPdf';
import ExportOptionsListItem from './FileOptions/ExportOptionsListItem';
import { useExplorer } from '../../hooks';
import { useDownloadConsentModal, useTransformedDownloadModal } from '../Modals';
import { downloadItems, downloadOneFile, emitExportEvent } from '../../slices/downloads.slice';
import prepareExportedFilesLinks from '../../utils/prepareExportedFilesLinks';
import { jsx as _jsx } from "react/jsx-runtime";
var SIZE = 14;
var download = function download(_ref) {
var folders = _ref.folders,
files = _ref.files,
dispatch = _ref.dispatch,
preventDownloadDefaultBehavior = _ref.preventDownloadDefaultBehavior,
triggerDownloadConsentModal = _ref.triggerDownloadConsentModal;
var isFolderSelected = folders.length > 0;
var isOneItem = folders.length + files.length === 1;
if (!preventDownloadDefaultBehavior) {
triggerDownloadConsentModal(isOneItem && !isFolderSelected ? function () {
return dispatch(downloadOneFile({
file: files[0]
}));
} : function () {
return dispatch(downloadItems({
items: folders.concat(files)
}));
});
} else {
dispatch(emitExportEvent(prepareExportedFilesLinks(files)));
}
};
export var DownloadOptions = function DownloadOptions(_ref2) {
var folders = _ref2.folders,
files = _ref2.files;
var triggerTransformedDownloadModal = useTransformedDownloadModal();
var triggerDownloadConsentModal = useDownloadConsentModal();
var _useExplorer = useExplorer(),
preventDownloadDefaultBehavior = _useExplorer.opts.preventDownloadDefaultBehavior;
var noFoldersSelected = folders.length === 0;
return [{
content: 'mutualizedAsOriginalLabel',
keepItemSelected: true,
onClick: function onClick(_ref3) {
var dispatch = _ref3.dispatch;
return download({
folders: folders,
files: files,
dispatch: dispatch,
preventDownloadDefaultBehavior: preventDownloadDefaultBehavior,
triggerDownloadConsentModal: triggerDownloadConsentModal
});
},
prefix: function prefix(_ref4) {
var iconPrimaryColor = _ref4.iconPrimaryColor;
return /*#__PURE__*/_jsx(Original, {
color: iconPrimaryColor,
size: SIZE
});
},
key: 'AS_ORIGINAL'
}, noFoldersSelected && files.every(function (file) {
return isPdf(file);
}) ? {
content: 'downloadOptionsDownloadAsImage',
keepItemSelected: true,
onClick: function onClick() {
return triggerTransformedDownloadModal(files);
},
prefix: function prefix(_ref5) {
var iconPrimaryColor = _ref5.iconPrimaryColor;
return /*#__PURE__*/_jsx(Image, {
color: iconPrimaryColor,
size: SIZE
});
},
key: 'AS_IMAGE'
} : ExportOptionsListItem(files)];
};
export default DownloadOptions;