mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-25 23:02:26 +00:00
fix tag view select tag bug (#8176)
This commit is contained in:
@@ -26,7 +26,6 @@ const AllTags = ({ updateCurrentPath, toggleShowDirentToolbar, ...params }) => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const eventBus = context.eventBus;
|
const eventBus = context.eventBus;
|
||||||
eventBus.dispatch(EVENT_BUS_TYPE.RELOAD_DATA);
|
eventBus.dispatch(EVENT_BUS_TYPE.RELOAD_DATA);
|
||||||
|
|
||||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
@@ -42,24 +41,19 @@ const AllTags = ({ updateCurrentPath, toggleShowDirentToolbar, ...params }) => {
|
|||||||
|
|
||||||
const onChangeDisplayTag = useCallback((tagID = '', nodeKey = '') => {
|
const onChangeDisplayTag = useCallback((tagID = '', nodeKey = '') => {
|
||||||
if (displayTag === tagID) return;
|
if (displayTag === tagID) return;
|
||||||
|
|
||||||
const tag = tagID && getRowById(tagsData, tagID);
|
const tag = tagID && getRowById(tagsData, tagID);
|
||||||
let path = `/${PRIVATE_FILE_TYPE.TAGS_PROPERTIES}/${ALL_TAGS_ID}`;
|
let path = `/${PRIVATE_FILE_TYPE.TAGS_PROPERTIES}/${ALL_TAGS_ID}`;
|
||||||
if (tag) {
|
if (tag) {
|
||||||
path += `/${getTagName(tag)}`;
|
path += `/${getTagName(tag)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
displayNodeKey.current = nodeKey || '';
|
displayNodeKey.current = nodeKey || '';
|
||||||
updateCurrentPath(path);
|
updateCurrentPath(path);
|
||||||
|
|
||||||
setDisplayTag(tagID);
|
setDisplayTag(tagID);
|
||||||
}, [tagsData, displayTag, updateCurrentPath]);
|
}, [tagsData, displayTag, updateCurrentPath]);
|
||||||
|
|
||||||
const loadMore = useCallback(async () => {
|
const loadMore = useCallback(async () => {
|
||||||
if (isLoadingMore) return;
|
if (isLoadingMore || !tagsData.hasMore) return;
|
||||||
if (!tagsData.hasMore) return;
|
|
||||||
setLoadingMore(true);
|
setLoadingMore(true);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await store.loadMore(PER_LOAD_NUMBER);
|
await store.loadMore(PER_LOAD_NUMBER);
|
||||||
setLoadingMore(false);
|
setLoadingMore(false);
|
||||||
@@ -69,7 +63,6 @@ const AllTags = ({ updateCurrentPath, toggleShowDirentToolbar, ...params }) => {
|
|||||||
setLoadingMore(false);
|
setLoadingMore(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}, [isLoadingMore, tagsData, store]);
|
}, [isLoadingMore, tagsData, store]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -78,12 +71,22 @@ const AllTags = ({ updateCurrentPath, toggleShowDirentToolbar, ...params }) => {
|
|||||||
}
|
}
|
||||||
}, [isLoading, isReloading, onChangeDisplayTag]);
|
}, [isLoading, isReloading, onChangeDisplayTag]);
|
||||||
|
|
||||||
if (isReloading) return (<CenteredLoading />);
|
if (isReloading) {
|
||||||
|
return (
|
||||||
|
<CenteredLoading />
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (displayTag) {
|
if (displayTag) {
|
||||||
return (
|
return (
|
||||||
<div className="sf-metadata-all-tags-tag-files">
|
<div className="sf-metadata-all-tags-tag-files">
|
||||||
<TagViewProvider { ...params } tagID={displayTag} nodeKey={displayNodeKey.current} updateCurrentPath={updateCurrentPath} >
|
<TagViewProvider
|
||||||
|
{ ...params }
|
||||||
|
toggleShowDirentToolbar={toggleShowDirentToolbar}
|
||||||
|
tagID={displayTag}
|
||||||
|
nodeKey={displayNodeKey.current}
|
||||||
|
updateCurrentPath={updateCurrentPath}
|
||||||
|
>
|
||||||
<View />
|
<View />
|
||||||
</TagViewProvider>
|
</TagViewProvider>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user