From 625176df97ecaddb38a5608d6d60e7fd8a42bedd Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Wed, 13 Jul 2022 20:19:06 +0200 Subject: [PATCH] change(ui) - assist sort by first meta --- frontend/app/components/Header/Header.js | 2 +- frontend/app/components/Header/SiteDropdown.js | 5 ++++- .../shared/LiveSessionList/LiveSessionList.tsx | 9 +++++++-- frontend/app/duck/liveSearch.js | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/frontend/app/components/Header/Header.js b/frontend/app/components/Header/Header.js index fc1aab477..9e6efa0de 100644 --- a/frontend/app/components/Header/Header.js +++ b/frontend/app/components/Header/Header.js @@ -51,6 +51,7 @@ const Header = (props) => { Promise.all([ userStore.fetchLimits(), notificationStore.fetchNotificationsCount(), + props.fetchMetadata(), ]).then(() => { userStore.updateKey('initialDataFetched', true); }); @@ -60,7 +61,6 @@ const Header = (props) => { useEffect(() => { activeSite = sites.find(s => s.id == siteId); props.initSite(activeSite); - props.fetchMetadata(); }, [siteId]) return ( diff --git a/frontend/app/components/Header/SiteDropdown.js b/frontend/app/components/Header/SiteDropdown.js index 9b3af1f8f..228190111 100644 --- a/frontend/app/components/Header/SiteDropdown.js +++ b/frontend/app/components/Header/SiteDropdown.js @@ -11,6 +11,7 @@ import styles from './siteDropdown.module.css'; import cn from 'classnames'; import NewSiteForm from '../Client/Sites/NewSiteForm'; import { clearSearch } from 'Duck/search'; +import { clearSearch as clearSearchLive } from 'Duck/liveSearch'; import { fetchList as fetchIntegrationVariables } from 'Duck/customField'; import { withStore } from 'App/mstore' import AnimatedSVG, { ICONS } from '../shared/AnimatedSVG/AnimatedSVG'; @@ -27,6 +28,7 @@ import NewProjectButton from './NewProjectButton'; pushNewSite, init, clearSearch, + clearSearchLive, fetchIntegrationVariables, }) export default class SiteDropdown extends React.PureComponent { @@ -45,8 +47,9 @@ export default class SiteDropdown extends React.PureComponent { const { mstore, location } = this.props this.props.setSiteId(siteId); - this.props.clearSearch(location.pathname.includes('/sessions')); this.props.fetchIntegrationVariables(); + this.props.clearSearch(location.pathname.includes('/sessions')); + this.props.clearSearchLive(); mstore.initClient(); } diff --git a/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx b/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx index fd4af677c..f4bb1f45d 100644 --- a/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx +++ b/frontend/app/components/shared/LiveSessionList/LiveSessionList.tsx @@ -46,12 +46,17 @@ function LiveSessionList(props: Props) { })).toJS()); useEffect(() => { - props.applyFilter({ ...filter }); + if (metaListLoading) return; + const _filter = { ...filter }; + if (sortOptions[1]) { + _filter.sort = sortOptions[1].value; + } + props.applyFilter(_filter); timeout(); return () => { clearTimeout(timeoutId); }; - }, []); + }, [metaListLoading]); const onUserClick = (userId: string, userAnonymousId: string) => { if (userId) { diff --git a/frontend/app/duck/liveSearch.js b/frontend/app/duck/liveSearch.js index 9df03dc81..ecb8a720e 100644 --- a/frontend/app/duck/liveSearch.js +++ b/frontend/app/duck/liveSearch.js @@ -96,7 +96,7 @@ export const fetchSessions = (filter) => (dispatch, getState) => { }; export const clearSearch = () => (dispatch, getState) => { - dispatch(edit(new Filter({ filters: [] }))); + dispatch(edit(new Filter({ filters: [], sort: 'timestamp' }))); return dispatch({ type: CLEAR_SEARCH, });