Fixed #472 UI - Explore page switching tabs is not changing data (#475)

This commit is contained in:
Sachin Chaurasiya 2021-09-13 11:46:54 +05:30 committed by GitHub
parent 229795514e
commit 51524e0a43
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -92,6 +92,28 @@ const getCurrentTab = (tab: string) => {
return currentTab; return currentTab;
}; };
const getCurrentIndex = (tab: string) => {
let currentIndex = SearchIndex.TABLE;
switch (tab) {
case 'topics':
currentIndex = SearchIndex.TOPIC;
break;
case 'dashboards':
currentIndex = SearchIndex.DASHBOARD;
break;
case 'tables':
default:
currentIndex = SearchIndex.TABLE;
break;
}
return currentIndex;
};
const ExplorePage: React.FC = (): React.ReactElement => { const ExplorePage: React.FC = (): React.ReactElement => {
const location = useLocation(); const location = useLocation();
const history = useHistory(); const history = useHistory();
@ -113,7 +135,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
const [fieldListVisible, setFieldListVisible] = useState<boolean>(false); const [fieldListVisible, setFieldListVisible] = useState<boolean>(false);
const [sortField, setSortField] = useState<string>('last_updated_timestamp'); const [sortField, setSortField] = useState<string>('last_updated_timestamp');
const [sortOrder, setSortOrder] = useState<string>('desc'); const [sortOrder, setSortOrder] = useState<string>('desc');
const [searchIndex, setSearchIndex] = useState<string>(SearchIndex.TABLE); const [searchIndex, setSearchIndex] = useState<string>(getCurrentIndex(tab));
const [currentTab, setCurrentTab] = useState<number>(getCurrentTab(tab)); const [currentTab, setCurrentTab] = useState<number>(getCurrentTab(tab));
const [tableCount, setTableCount] = useState<number>(0); const [tableCount, setTableCount] = useState<number>(0);
const [topicCount, setTopicCount] = useState<number>(0); const [topicCount, setTopicCount] = useState<number>(0);
@ -491,7 +513,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
setSearchText(searchQuery || ''); setSearchText(searchQuery || '');
setCurrentPage(1); setCurrentPage(1);
setCurrentTab(getCurrentTab(tab)); setCurrentTab(getCurrentTab(tab));
setSearchIndex(tabsInfo[getCurrentTab(tab) - 1].index); setSearchIndex(getCurrentIndex(tab));
setFieldList(tabsInfo[getCurrentTab(tab) - 1].sortingFields); setFieldList(tabsInfo[getCurrentTab(tab) - 1].sortingFields);
setSortField(tabsInfo[getCurrentTab(tab) - 1].sortField); setSortField(tabsInfo[getCurrentTab(tab) - 1].sortField);
}, [searchQuery, tab]); }, [searchQuery, tab]);
@ -507,7 +529,7 @@ const ExplorePage: React.FC = (): React.ReactElement => {
}, [searchText, searchIndex]); }, [searchText, searchIndex]);
useEffect(() => { useEffect(() => {
if (!isMounting.current && previsouIndex === searchIndex) { if (!isMounting.current && previsouIndex === getCurrentIndex(tab)) {
fetchTableData(false); fetchTableData(false);
} }
}, [currentPage, filters, sortField, sortOrder]); }, [currentPage, filters, sortField, sortOrder]);