Repository URL to install this package:
|
Version:
3.12.20 ▾
|
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;