1
0
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:
Michael An
2025-08-28 17:22:18 +08:00
committed by GitHub
parent f989cca6ea
commit 0385ba06db

View File

@@ -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>