mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-28 16:17:02 +00:00
display location column (#7569)
Co-authored-by: zhouwenxuan <aries@Mac.local>
This commit is contained in:
@@ -3,11 +3,15 @@ import PropTypes from 'prop-types';
|
||||
import classnames from 'classnames';
|
||||
import { getGeolocationDisplayString } from '../../utils/cell/column/geolocation';
|
||||
|
||||
const GeolocationFormatter = ({ isBaiduMap, format, value, children: emptyFormatter, className, hyphen = ' ' }) => {
|
||||
const GeolocationFormatter = ({ isBaiduMap, format, value, children: emptyFormatter, className, hyphen = ' ', record }) => {
|
||||
const displayValue = useMemo(() => {
|
||||
if (typeof value !== 'object') return null;
|
||||
const translatedLocation = record._location_translated;
|
||||
if (translatedLocation && translatedLocation.address) {
|
||||
return translatedLocation.address;
|
||||
}
|
||||
return getGeolocationDisplayString(value, { geo_format: format }, { isBaiduMap, hyphen });
|
||||
}, [value, format, isBaiduMap, hyphen]);
|
||||
}, [value, format, isBaiduMap, hyphen, record]);
|
||||
|
||||
if (!displayValue) return emptyFormatter || null;
|
||||
return (
|
||||
|
@@ -17,8 +17,9 @@ const CellFormatter = ({ readonly, value, field, record, ...params }) => {
|
||||
value,
|
||||
field,
|
||||
queryUserAPI: queryUser,
|
||||
record,
|
||||
};
|
||||
}, [readonly, value, field, collaborators, collaboratorsCache, updateCollaboratorsCache, queryUser]);
|
||||
}, [readonly, value, field, collaborators, collaboratorsCache, updateCollaboratorsCache, queryUser, record]);
|
||||
const { tagsData } = useTags();
|
||||
|
||||
if (field.type === CellType.FILE_NAME) {
|
||||
|
@@ -8,7 +8,6 @@ export const NOT_DISPLAY_COLUMN_KEYS = [
|
||||
PRIVATE_COLUMN_KEY.LAST_MODIFIER,
|
||||
PRIVATE_COLUMN_KEY.OBJ_ID,
|
||||
PRIVATE_COLUMN_KEY.FILE_DETAILS,
|
||||
PRIVATE_COLUMN_KEY.LOCATION,
|
||||
PRIVATE_COLUMN_KEY.IS_DIR,
|
||||
PRIVATE_COLUMN_KEY.FACE_LINKS,
|
||||
PRIVATE_COLUMN_KEY.EXCLUDED_FACE_LINKS,
|
||||
|
@@ -111,7 +111,6 @@ export const DELETABLE_PRIVATE_COLUMN_KEY = [
|
||||
PRIVATE_COLUMN_KEY.FILE_REVIEWER,
|
||||
PRIVATE_COLUMN_KEY.FILE_EXPIRE_TIME,
|
||||
PRIVATE_COLUMN_KEY.FILE_KEYWORDS,
|
||||
PRIVATE_COLUMN_KEY.FILE_DESCRIPTION,
|
||||
PRIVATE_COLUMN_KEY.FILE_EXPIRED,
|
||||
PRIVATE_COLUMN_KEY.FILE_STATUS,
|
||||
PRIVATE_COLUMN_KEY.CAPTURE_TIME,
|
||||
|
@@ -305,21 +305,43 @@ export const MetadataViewProvider = ({
|
||||
const recordIds = records.map(record => getRecordIdFromRecord(record));
|
||||
extractFilesDetails(recordObjIds, {
|
||||
success_callback: ({ details }) => {
|
||||
const captureColumn = getColumnByKey(metadata.columns, PRIVATE_COLUMN_KEY.CAPTURE_TIME);
|
||||
if (!captureColumn) return;
|
||||
let idOldRecordData = {};
|
||||
let idOriginalOldRecordData = {};
|
||||
const captureColumnKey = PRIVATE_COLUMN_KEY.CAPTURE_TIME;
|
||||
records.forEach(record => {
|
||||
idOldRecordData[record[PRIVATE_COLUMN_KEY.ID]] = { [captureColumnKey]: record[captureColumnKey] };
|
||||
idOriginalOldRecordData[record[PRIVATE_COLUMN_KEY.ID]] = { [captureColumnKey]: record[captureColumnKey] };
|
||||
});
|
||||
let idRecordUpdates = {};
|
||||
let idOriginalRecordUpdates = {};
|
||||
const captureColumnKey = PRIVATE_COLUMN_KEY.CAPTURE_TIME;
|
||||
const captureColumn = getColumnByKey(metadata.columns, PRIVATE_COLUMN_KEY.CAPTURE_TIME);
|
||||
const locationColumnKey = PRIVATE_COLUMN_KEY.LOCATION;
|
||||
const locationColumn = getColumnByKey(metadata.columns, PRIVATE_COLUMN_KEY.LOCATION);
|
||||
records.forEach(record => {
|
||||
const recordId = record[PRIVATE_COLUMN_KEY.ID];
|
||||
idOldRecordData[recordId] = {};
|
||||
idOriginalOldRecordData[recordId] = {};
|
||||
|
||||
if (captureColumn) {
|
||||
idOldRecordData[recordId][captureColumnKey] = record[captureColumnKey];
|
||||
idOriginalOldRecordData[recordId][captureColumnKey] = record[captureColumnKey];
|
||||
}
|
||||
|
||||
if (locationColumn) {
|
||||
idOldRecordData[recordId][locationColumnKey] = record[locationColumnKey];
|
||||
idOriginalOldRecordData[recordId][locationColumnKey] = record[locationColumnKey];
|
||||
}
|
||||
});
|
||||
details.forEach(detail => {
|
||||
const updateRecordId = detail[PRIVATE_COLUMN_KEY.ID];
|
||||
idRecordUpdates[updateRecordId] = { [captureColumnKey]: detail[captureColumnKey] };
|
||||
idOriginalRecordUpdates[updateRecordId] = { [captureColumnKey]: detail[captureColumnKey] };
|
||||
idRecordUpdates[updateRecordId] = {};
|
||||
idOriginalRecordUpdates[updateRecordId] = {};
|
||||
|
||||
if (captureColumn) {
|
||||
idRecordUpdates[updateRecordId][captureColumnKey] = detail[captureColumnKey];
|
||||
idOriginalRecordUpdates[updateRecordId][captureColumnKey] = detail[captureColumnKey];
|
||||
}
|
||||
|
||||
if (locationColumn) {
|
||||
idRecordUpdates[updateRecordId][locationColumnKey] = detail[locationColumnKey];
|
||||
idOriginalRecordUpdates[updateRecordId][locationColumnKey] = detail[locationColumnKey];
|
||||
}
|
||||
});
|
||||
modifyRecords({ recordIds, idRecordUpdates, idOriginalRecordUpdates, idOldRecordData, idOriginalOldRecordData });
|
||||
}
|
||||
|
Reference in New Issue
Block a user