1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-25 14:50:29 +00:00

Merge pull request #7346 from haiwen/fix-metadata-map-view-toolbar

fix: metadata map view toolbar
This commit is contained in:
杨国璇
2025-01-10 15:57:36 +08:00
committed by GitHub
3 changed files with 14 additions and 15 deletions

View File

@@ -9,13 +9,13 @@ const MAP_TYPES = [
{ value: MAP_TYPE.SATELLITE, label: gettext('Satellite') }, { value: MAP_TYPE.SATELLITE, label: gettext('Satellite') },
]; ];
const MapTypeSetter = ({ view }) => { const MapTypeSetter = ({ viewID }) => {
const [currentType, setCurrentType] = useState(MAP_TYPE.MAP); const [currentType, setCurrentType] = useState(MAP_TYPE.MAP);
useEffect(() => { useEffect(() => {
const type = window.sfMetadataContext.localStorage.getItem(STORAGE_MAP_TYPE_KEY) || MAP_TYPE.MAP; const type = window.sfMetadataContext.localStorage.getItem(STORAGE_MAP_TYPE_KEY) || MAP_TYPE.MAP;
setCurrentType(type); setCurrentType(type);
}, [view?._id]); }, [viewID]);
const onChange = useCallback((type) => { const onChange = useCallback((type) => {
if (currentType === type) return; if (currentType === type) return;
@@ -27,9 +27,7 @@ const MapTypeSetter = ({ view }) => {
}; };
MapTypeSetter.propTypes = { MapTypeSetter.propTypes = {
view: PropTypes.shape({ viewID: PropTypes.string,
_id: PropTypes.string
})
}; };
export default MapTypeSetter; export default MapTypeSetter;

View File

@@ -115,7 +115,7 @@ const ViewToolBar = ({ viewId, isCustomPermission, onToggleDetail, onCloseDetail
<MapViewToolBar <MapViewToolBar
readOnly={readOnly} readOnly={readOnly}
isCustomPermission={isCustomPermission} isCustomPermission={isCustomPermission}
viewID={view._id} view={view}
collaborators={collaborators} collaborators={collaborators}
modifyFilters={modifyFilters} modifyFilters={modifyFilters}
onToggleDetail={onToggleDetail} onToggleDetail={onToggleDetail}

View File

@@ -7,19 +7,20 @@ import { gettext } from '../../../../utils/constants';
const MapViewToolBar = ({ const MapViewToolBar = ({
isCustomPermission, isCustomPermission,
readOnly, readOnly,
viewID, view: oldView,
collaborators, collaborators,
modifyFilters, modifyFilters,
onToggleDetail, onToggleDetail,
}) => { }) => {
const [showGalleryToolbar, setShowGalleryToolbar] = useState(false); const [showGalleryToolbar, setShowGalleryToolbar] = useState(false);
const [view, setView] = useState({}); const [view, setView] = useState(oldView);
const viewType = useMemo(() => VIEW_TYPE.MAP, []); const viewType = useMemo(() => VIEW_TYPE.MAP, []);
const viewColumns = useMemo(() => { const viewColumns = useMemo(() => {
if (!view) return []; if (!oldView) return [];
return view.columns; return oldView.columns;
}, [view]); }, [oldView]);
const viewID = useMemo(() => oldView._id, [oldView]);
const filterColumns = useMemo(() => { const filterColumns = useMemo(() => {
return viewColumns && viewColumns.filter(c => c.key !== PRIVATE_COLUMN_KEY.FILE_TYPE); return viewColumns && viewColumns.filter(c => c.key !== PRIVATE_COLUMN_KEY.FILE_TYPE);
@@ -77,16 +78,16 @@ const MapViewToolBar = ({
return ( return (
<> <>
<div className="sf-metadata-tool-left-operations"> <div className="sf-metadata-tool-left-operations">
<MapTypeSetter view={view} /> <MapTypeSetter viewID={viewID} />
<FilterSetter <FilterSetter
isNeedSubmit={true} isNeedSubmit={true}
wrapperClass="sf-metadata-view-tool-operation-btn sf-metadata-view-tool-filter" wrapperClass="sf-metadata-view-tool-operation-btn sf-metadata-view-tool-filter"
filtersClassName="sf-metadata-filters" filtersClassName="sf-metadata-filters"
target="sf-metadata-filter-popover" target="sf-metadata-filter-popover"
readOnly={readOnly} readOnly={readOnly}
filterConjunction={view.filter_conjunction} filterConjunction={oldView.filter_conjunction}
basicFilters={view.basic_filters} basicFilters={oldView.basic_filters}
filters={view.filters} filters={oldView.filters}
columns={filterColumns} columns={filterColumns}
modifyFilters={modifyFilters} modifyFilters={modifyFilters}
collaborators={collaborators} collaborators={collaborators}