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 / Details / MultiItemsDetails.js
Size: Mime:
import { useSelector } from 'react-redux';
import { useExplorer } from '../../hooks';
import { selectSelectedFiles, selectSelectedFolders } from '../../slices/selections.slice';
import { generateMultiItemsDetails, prepareHeader } from './Details.utils';
import MultipleItems from './MultipleItems';
import { jsx as _jsx } from "react/jsx-runtime";
var MultiItemsDetails = function MultiItemsDetails() {
  var _useExplorer = useExplorer(),
    i18n = _useExplorer.i18n,
    config = _useExplorer.opts.config;
  var selectedFolders = useSelector(selectSelectedFolders);
  var selectedFiles = useSelector(selectSelectedFiles);
  var numberFormatLocale = config.numberFormatLocale;
  var selectedFoldersCount = selectedFolders.length;
  var selectedFilesCount = selectedFiles.length;
  var selectedFoldersDetails = selectedFolders.reduce(function (acc, _ref) {
    var _ref$size = _ref.size,
      size = _ref$size === void 0 ? {} : _ref$size,
      _ref$count = _ref.count,
      count = _ref$count === void 0 ? {} : _ref$count;
    var totalRecursiveBytes = size.total_recursive_bytes;
    var filesDirect = count.files_direct;
    acc.sizeBytes += totalRecursiveBytes;
    acc.filesCount += filesDirect;
    return acc;
  }, {
    sizeBytes: 0,
    filesCount: 0
  });
  var selectedFilesDetails = selectedFiles.reduce(function (acc, _ref2) {
    var size = _ref2.size;
    var bytes = size.bytes;
    acc.sizeBytes += bytes;
    return acc;
  }, {
    sizeBytes: 0
  });
  var totalSizeBytes = selectedFoldersDetails.sizeBytes + selectedFilesDetails.sizeBytes;
  var totalFilesCount = selectedFoldersDetails.filesCount + selectedFilesCount;
  var header = prepareHeader({
    selectedFoldersCount: selectedFoldersCount,
    selectedFilesCount: selectedFilesCount,
    isAssetsViewMode: false,
    i18n: i18n,
    numberFormatLocale: numberFormatLocale
  });
  var multiItemsDetails = generateMultiItemsDetails({
    totalSizeBytes: totalSizeBytes,
    totalFilesCount: totalFilesCount,
    selectedFoldersCount: selectedFoldersCount
  });
  return /*#__PURE__*/_jsx(MultipleItems, {
    header: header,
    details: multiItemsDetails
  });
};
export default MultiItemsDetails;