Ver Fonte

store for all project-cluster tuples

Justin Rhee há 3 anos atrás
pai
commit
c4c8806b79

+ 5 - 2
dashboard/src/main/home/cluster-dashboard/ClusterDashboard.tsx

@@ -111,10 +111,13 @@ class ClusterDashboard extends Component<PropsType, StateType> {
   componentDidUpdate(prevProps: PropsType) {
     // Reset namespace filter and close expanded chart on cluster change
     if (prevProps.currentCluster !== this.props.currentCluster) {
-      localStorage.setItem("namespace", "default");
+      let namespace = "default";
+      if (localStorage.getItem(`${this.context.currentProject.id}-${this.context.currentCluster.id}-namespace`)) {
+        namespace = localStorage.getItem(`${this.context.currentProject.id}-${this.context.currentCluster.id}-namespace`);
+      }
       this.setState(
         {
-          namespace: "default",
+          namespace,
           sortType: localStorage.getItem("SortType")
             ? localStorage.getItem("SortType")
             : "Newest",

+ 10 - 4
dashboard/src/main/home/cluster-dashboard/NamespaceSelector.tsx

@@ -30,7 +30,9 @@ export const NamespaceSelector: React.FunctionComponent<Props> = ({
       value: string;
     }[]
   >([]);
-  const [defaultNamespace, setDefaultNamespace] = useState<string>(localStorage.getItem("namespace"));
+  const [defaultNamespace, setDefaultNamespace] = useState<string>(
+    localStorage.getItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`)
+  );
 
   const updateOptions = () => {
     let { currentCluster, currentProject } = context;
@@ -61,8 +63,8 @@ export const NamespaceSelector: React.FunctionComponent<Props> = ({
           const availableNamespaces = res.data.filter((namespace: any) => {
             return namespace.status !== "Terminating";
           });
-          if (localStorage.getItem("namespace")) {
-            setDefaultNamespace(localStorage.getItem("namespace"));
+          if (localStorage.getItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`)) {
+            setDefaultNamespace(localStorage.getItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`));
           } else {
             setDefaultNamespace("default");
           }
@@ -103,8 +105,12 @@ export const NamespaceSelector: React.FunctionComponent<Props> = ({
     updateOptions();
   }, [namespace, context.currentCluster]);
 
+  useEffect(() => {
+    setNamespace(localStorage.getItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`));
+  }, [context.currentCluster]);
+
   const handleSetActive = (namespace: any) => {
-    localStorage.setItem("namespace", namespace);
+    localStorage.setItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`, namespace);
     setNamespace(namespace);
   };