mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-03 07:55:36 +00:00
Optimize dir size (#7732)
* add dir size * update * use sql query file md * optimize sql * update sql * exclude special dir * update --------- Co-authored-by: 孙永强 <11704063+s-yongqiang@user.noreply.gitee.com>
This commit is contained in:
@@ -6,6 +6,8 @@ import { CellType } from '../../../metadata/constants';
|
||||
import { gettext } from '../../../utils/constants';
|
||||
import { MetadataDetails } from '../../../metadata';
|
||||
import { useMetadataStatus } from '../../../hooks';
|
||||
import { Utils } from '../../../utils/utils';
|
||||
import { SYSTEM_FOLDERS } from '../../../constants';
|
||||
|
||||
const DirDetails = ({ direntDetail }) => {
|
||||
const { enableMetadata, enableMetadataManagement } = useMetadataStatus();
|
||||
@@ -13,14 +15,35 @@ const DirDetails = ({ direntDetail }) => {
|
||||
return { type: CellType.MTIME, name: gettext('Last modified time') };
|
||||
}, []);
|
||||
|
||||
const sizeField = useMemo(() => ({ type: 'size', name: gettext('Size') }), []);
|
||||
const filesField = useMemo(() => ({ type: CellType.NUMBER, name: gettext('Files') }), []);
|
||||
let file_count = direntDetail.file_count || 0;
|
||||
let size = Utils.bytesToSize(direntDetail.size);
|
||||
let special_folder = false;
|
||||
if (direntDetail.path !== undefined) {
|
||||
special_folder = SYSTEM_FOLDERS.some(folder => direntDetail.path.startsWith(folder));
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{enableMetadataManagement && enableMetadata && (
|
||||
<>
|
||||
<DetailItem field={filesField} value={file_count} className="sf-metadata-property-detail-formatter">
|
||||
{special_folder ?
|
||||
<Formatter field={CellType.TEXT} value={'--'} /> :
|
||||
<Formatter field={filesField} value={file_count} />}
|
||||
</DetailItem>
|
||||
<DetailItem field={sizeField} value={size} className="sf-metadata-property-detail-formatter">
|
||||
{special_folder ?
|
||||
<Formatter field={CellType.TEXT} value={'--'} /> :
|
||||
<Formatter field={sizeField} value={size} />}
|
||||
</DetailItem>
|
||||
<MetadataDetails />
|
||||
</>
|
||||
)}
|
||||
<DetailItem field={lastModifiedTimeField} className="sf-metadata-property-detail-formatter">
|
||||
<Formatter field={lastModifiedTimeField} value={direntDetail.mtime} />
|
||||
</DetailItem>
|
||||
{enableMetadataManagement && enableMetadata && (
|
||||
<MetadataDetails />
|
||||
)}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
Reference in New Issue
Block a user