diff --git a/web/src/basic/Dashboard.js b/web/src/basic/Dashboard.js index 0e2b3027..232ecfa7 100644 --- a/web/src/basic/Dashboard.js +++ b/web/src/basic/Dashboard.js @@ -31,6 +31,11 @@ const Dashboard = (props) => { return () => window.removeEventListener("storageTourChanged", handleTourChange); }, []); + React.useEffect(() => { + window.addEventListener("storageOrganizationChanged", handleOrganizationChange); + return () => window.removeEventListener("storageOrganizationChanged", handleOrganizationChange); + }, [props.owner]); + React.useEffect(() => { if (!Setting.isLocalAdminUser(props.account)) { props.history.push("/apps"); @@ -54,6 +59,22 @@ const Dashboard = (props) => { setIsTourVisible(TourConfig.getTourVisible()); }; + const handleOrganizationChange = () => { + if (!Setting.isLocalAdminUser(props.account)) { + return; + } + + const newOrganization = localStorage.getItem("organization") === "All" ? "" : localStorage.getItem("organization"); + + DashboardBackend.getDashboard(newOrganization).then((res) => { + if (res.status === "ok") { + setDashboardData(res.data); + } else { + Setting.showMessage("error", res.msg); + } + }); + }; + const setIsTourToLocal = () => { TourConfig.setIsTourVisible(false); setIsTourVisible(false);