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:
@@ -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;
|
||||||
|
@@ -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}
|
||||||
|
@@ -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}
|
||||||
|
Reference in New Issue
Block a user