Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@filerobot/explorer / lib / components / ContextMenu / DownloadOptions.js
Size: Mime:
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;