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 classnames from 'classnames';
|
||||||
import { getGeolocationDisplayString } from '../../utils/cell/column/geolocation';
|
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(() => {
|
const displayValue = useMemo(() => {
|
||||||
if (typeof value !== 'object') return null;
|
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 });
|
return getGeolocationDisplayString(value, { geo_format: format }, { isBaiduMap, hyphen });
|
||||||
}, [value, format, isBaiduMap, hyphen]);
|
}, [value, format, isBaiduMap, hyphen, record]);
|
||||||
|
|
||||||
if (!displayValue) return emptyFormatter || null;
|
if (!displayValue) return emptyFormatter || null;
|
||||||
return (
|
return (
|
||||||
|
@@ -17,8 +17,9 @@ const CellFormatter = ({ readonly, value, field, record, ...params }) => {
|
|||||||
value,
|
value,
|
||||||
field,
|
field,
|
||||||
queryUserAPI: queryUser,
|
queryUserAPI: queryUser,
|
||||||
|
record,
|
||||||
};
|
};
|
||||||
}, [readonly, value, field, collaborators, collaboratorsCache, updateCollaboratorsCache, queryUser]);
|
}, [readonly, value, field, collaborators, collaboratorsCache, updateCollaboratorsCache, queryUser, record]);
|
||||||
const { tagsData } = useTags();
|
const { tagsData } = useTags();
|
||||||
|
|
||||||
if (field.type === CellType.FILE_NAME) {
|
if (field.type === CellType.FILE_NAME) {
|
||||||
|
@@ -8,7 +8,6 @@ export const NOT_DISPLAY_COLUMN_KEYS = [
|
|||||||
PRIVATE_COLUMN_KEY.LAST_MODIFIER,
|
PRIVATE_COLUMN_KEY.LAST_MODIFIER,
|
||||||
PRIVATE_COLUMN_KEY.OBJ_ID,
|
PRIVATE_COLUMN_KEY.OBJ_ID,
|
||||||
PRIVATE_COLUMN_KEY.FILE_DETAILS,
|
PRIVATE_COLUMN_KEY.FILE_DETAILS,
|
||||||
PRIVATE_COLUMN_KEY.LOCATION,
|
|
||||||
PRIVATE_COLUMN_KEY.IS_DIR,
|
PRIVATE_COLUMN_KEY.IS_DIR,
|
||||||
PRIVATE_COLUMN_KEY.FACE_LINKS,
|
PRIVATE_COLUMN_KEY.FACE_LINKS,
|
||||||
PRIVATE_COLUMN_KEY.EXCLUDED_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_REVIEWER,
|
||||||
PRIVATE_COLUMN_KEY.FILE_EXPIRE_TIME,
|
PRIVATE_COLUMN_KEY.FILE_EXPIRE_TIME,
|
||||||
PRIVATE_COLUMN_KEY.FILE_KEYWORDS,
|
PRIVATE_COLUMN_KEY.FILE_KEYWORDS,
|
||||||
PRIVATE_COLUMN_KEY.FILE_DESCRIPTION,
|
|
||||||
PRIVATE_COLUMN_KEY.FILE_EXPIRED,
|
PRIVATE_COLUMN_KEY.FILE_EXPIRED,
|
||||||
PRIVATE_COLUMN_KEY.FILE_STATUS,
|
PRIVATE_COLUMN_KEY.FILE_STATUS,
|
||||||
PRIVATE_COLUMN_KEY.CAPTURE_TIME,
|
PRIVATE_COLUMN_KEY.CAPTURE_TIME,
|
||||||
|
@@ -305,21 +305,43 @@ export const MetadataViewProvider = ({
|
|||||||
const recordIds = records.map(record => getRecordIdFromRecord(record));
|
const recordIds = records.map(record => getRecordIdFromRecord(record));
|
||||||
extractFilesDetails(recordObjIds, {
|
extractFilesDetails(recordObjIds, {
|
||||||
success_callback: ({ details }) => {
|
success_callback: ({ details }) => {
|
||||||
const captureColumn = getColumnByKey(metadata.columns, PRIVATE_COLUMN_KEY.CAPTURE_TIME);
|
|
||||||
if (!captureColumn) return;
|
|
||||||
let idOldRecordData = {};
|
let idOldRecordData = {};
|
||||||
let idOriginalOldRecordData = {};
|
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 idRecordUpdates = {};
|
||||||
let idOriginalRecordUpdates = {};
|
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 => {
|
details.forEach(detail => {
|
||||||
const updateRecordId = detail[PRIVATE_COLUMN_KEY.ID];
|
const updateRecordId = detail[PRIVATE_COLUMN_KEY.ID];
|
||||||
idRecordUpdates[updateRecordId] = { [captureColumnKey]: detail[captureColumnKey] };
|
idRecordUpdates[updateRecordId] = {};
|
||||||
idOriginalRecordUpdates[updateRecordId] = { [captureColumnKey]: detail[captureColumnKey] };
|
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 });
|
modifyRecords({ recordIds, idRecordUpdates, idOriginalRecordUpdates, idOldRecordData, idOriginalOldRecordData });
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user