resolved infinite loading bug onClick of active tab for landing page (#939)

This commit is contained in:
Shailesh Parmar 2021-10-26 19:12:54 +05:30 committed by GitHub
parent e60986e70a
commit f1d44d2511
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -83,6 +83,15 @@ const MyData: React.FC<MyDataProps> = ({
}); });
}; };
const handleTabChange = (tab: number, filter: string) => {
if (currentTab !== tab) {
setIsEntityLoading(true);
setCurrentTab(tab);
setFilter(filter);
setCurrentPage(1);
}
};
const getTabs = () => { const getTabs = () => {
return ( return (
<div className="tw-mb-3 tw--mt-4" data-testid="tabs"> <div className="tw-mb-3 tw--mt-4" data-testid="tabs">
@ -91,36 +100,21 @@ const MyData: React.FC<MyDataProps> = ({
className={`tw-pb-2 tw-px-4 tw-gh-tabs ${getActiveTabClass(1)}`} className={`tw-pb-2 tw-px-4 tw-gh-tabs ${getActiveTabClass(1)}`}
data-testid="tab" data-testid="tab"
id="recentlyViewedTab" id="recentlyViewedTab"
onClick={() => { onClick={() => handleTabChange(1, '')}>
setIsEntityLoading(true);
setCurrentTab(1);
setFilter('');
setCurrentPage(1);
}}>
Recently Viewed Recently Viewed
</button> </button>
<button <button
className={`tw-pb-2 tw-px-4 tw-gh-tabs ${getActiveTabClass(2)}`} className={`tw-pb-2 tw-px-4 tw-gh-tabs ${getActiveTabClass(2)}`}
data-testid="tab" data-testid="tab"
id="myDataTab" id="myDataTab"
onClick={() => { onClick={() => handleTabChange(2, Ownership.OWNER)}>
setIsEntityLoading(true);
setCurrentTab(2);
setFilter(Ownership.OWNER);
setCurrentPage(1);
}}>
My Data My Data
</button> </button>
<button <button
className={`tw-pb-2 tw-px-4 tw-gh-tabs ${getActiveTabClass(3)}`} className={`tw-pb-2 tw-px-4 tw-gh-tabs ${getActiveTabClass(3)}`}
data-testid="tab" data-testid="tab"
id="followingTab" id="followingTab"
onClick={() => { onClick={() => handleTabChange(3, Ownership.FOLLOWERS)}>
setIsEntityLoading(true);
setCurrentTab(3);
setFilter(Ownership.FOLLOWERS);
setCurrentPage(1);
}}>
Following Following
</button> </button>
</nav> </nav>
@ -145,6 +139,7 @@ const MyData: React.FC<MyDataProps> = ({
setData(formatDataResponse(hits)); setData(formatDataResponse(hits));
if (setAssetCount.current) { if (setAssetCount.current) {
setAggregations(searchResult.data.aggregations); setAggregations(searchResult.data.aggregations);
setAssetCount.current = false;
} }
setIsLoading(false); setIsLoading(false);
setIsEntityLoading(false); setIsEntityLoading(false);
@ -162,7 +157,6 @@ const MyData: React.FC<MyDataProps> = ({
useEffect(() => { useEffect(() => {
isMounted.current = true; isMounted.current = true;
setAssetCount.current = true;
}, []); }, []);
return ( return (