From 61cf109fd660759372d5ebf76b08371d1e5baee8 Mon Sep 17 00:00:00 2001 From: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> Date: Fri, 18 Jun 2021 09:22:51 -0700 Subject: [PATCH] Global Refresh for Tenant Details (#822) Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> --- .../Tenants/TenantDetails/PodsSummary.tsx | 23 +++++++++++++++++-- .../Tenants/TenantDetails/TenantDetails.tsx | 13 +++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx index 103c5b0d4..51bd36ecc 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx @@ -26,10 +26,19 @@ import { IPodListElement } from "../ListTenants/types"; import { setErrorSnackMessage } from "../../../../actions"; import api from "../../../../common/api"; import TableWrapper from "../../Common/TableWrapper/TableWrapper"; +import { AppState } from "../../../../store"; +import { + setTenantDetailsLoad, + setTenantInfo, + setTenantName, + setTenantTab, +} from "../actions"; interface IPodsSummary { match: any; history: any; + loadingTenant: boolean; + setTenantDetailsLoad: typeof setTenantDetailsLoad; } const styles = (theme: Theme) => @@ -38,7 +47,7 @@ const styles = (theme: Theme) => ...containerForHeader(theme.spacing(4)), }); -const PodsSummary = ({ match, history }: IPodsSummary) => { +const PodsSummary = ({ match, history, loadingTenant }: IPodsSummary) => { const [pods, setPods] = useState([]); const [loadingPods, setLoadingPods] = useState(true); @@ -53,6 +62,12 @@ const PodsSummary = ({ match, history }: IPodsSummary) => { }; const podTableActions = [{ type: "view", onClick: podViewAction }]; + useEffect(() => { + if (loadingTenant) { + setLoadingPods(true); + } + }, [loadingTenant]); + useEffect(() => { if (loadingPods) { api @@ -104,7 +119,11 @@ const PodsSummary = ({ match, history }: IPodsSummary) => { ); }; -const connector = connect(null, { +const mapState = (state: AppState) => ({ + loadingTenant: state.tenants.tenantDetails.loadingTenant, +}); + +const connector = connect(mapState, { setErrorSnackMessage, }); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx index e3ef5a6b9..8865a8671 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx @@ -46,6 +46,7 @@ import PodsSummary from "./PodsSummary"; import { AppState } from "../../../../store"; import TenantMetrics from "./TenantMetrics"; import TenantSecurity from "./TenantSecurity"; +import RefreshIcon from "@material-ui/icons/Refresh"; interface ITenantDetailsProps { classes: any; @@ -217,6 +218,18 @@ const TenantDetails = ({ } + actions={ + { + setTenantDetailsLoad(true); + }} + > + + + } />