1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 04:48:03 +00:00

fix location in details (#7813)

Co-authored-by: zhouwenxuan <aries@Mac.local>
This commit is contained in:
Aries
2025-05-13 15:37:54 +08:00
committed by GitHub
parent 5851acf764
commit 1586ffd448
5 changed files with 53 additions and 97 deletions

View File

@@ -1,5 +1,4 @@
import React, { useEffect, useMemo } from 'react';
import PropTypes from 'prop-types';
import React, { useMemo } from 'react';
import CellFormatter from '../cell-formatter';
import DetailEditor from '../detail-editor';
import DetailItem from '../../../components/dirent-detail/detail-item';
@@ -10,28 +9,16 @@ import { PRIVATE_COLUMN_KEY, IMAGE_PRIVATE_COLUMN_KEYS } from '../../constants';
import { useMetadataDetails } from '../../hooks';
import { checkIsDir } from '../../utils/row';
import { FOLDER_NOT_DISPLAY_COLUMN_KEYS } from './constants';
import Location from './location';
import './index.css';
const MetadataDetails = ({ onPositionChange }) => {
const { isLoading, canModifyRecord, record, columns, onChange, modifyColumnData, updateFileTags } = useMetadataDetails();
const MetadataDetails = () => {
const { canModifyRecord, record, columns, onChange, modifyColumnData, updateFileTags } = useMetadataDetails();
const displayColumns = useMemo(() => columns.filter(c => c.shown), [columns]);
useEffect(() => {
if (!record) return;
const fileName = getFileNameFromRecord(record);
const isImage = Utils.imageCheck(fileName);
if (isImage) {
const position = getCellValueByColumn(record, {
key: PRIVATE_COLUMN_KEY.LOCATION
});
onPositionChange?.(position);
}
}, [record, onPositionChange]);
if (isLoading || !record || !record._id) return null;
if (!record || !record._id) return null;
const fileName = getFileNameFromRecord(record);
const isImageOrVideo = Utils.imageCheck(fileName) || Utils.videoCheck(fileName);
@@ -43,7 +30,9 @@ const MetadataDetails = ({ onPositionChange }) => {
if (isDir && FOLDER_NOT_DISPLAY_COLUMN_KEYS.includes(field.key)) return null;
const value = getCellValueByColumn(record, field);
if (field.key === PRIVATE_COLUMN_KEY.LOCATION) return null;
if (field.key === PRIVATE_COLUMN_KEY.LOCATION && Utils.imageCheck(fileName) && value) {
return <Location key={field.key} position={value} record={record} />;
}
let canEdit = canModifyRecord && field.editable;
if (!isImageOrVideo && IMAGE_PRIVATE_COLUMN_KEYS.includes(field.key)) {
@@ -79,8 +68,4 @@ const MetadataDetails = ({ onPositionChange }) => {
);
};
MetadataDetails.propTypes = {
onPositionChange: PropTypes.func,
};
export default MetadataDetails;