Procházet zdrojové kódy

Merge pull request #2466 from porter-dev/store-namespace

Store namespace
Porter Support před 3 roky
rodič
revize
e1634f4017

+ 2 - 2
dashboard/src/components/ProvisionerStatus.tsx

@@ -464,11 +464,11 @@ export const OperationDetails: React.FunctionComponent<OperationDetailsProps> =
 
     const wsConfig = {
       onopen: () => {
-        console.log(`connected to websocket:`, websocketID);
+        // console.log(`connected to websocket:`, websocketID);
       },
       onmessage: parseOperationWebsocketEvent,
       onclose: () => {
-        console.log(`closing websocket:`, websocketID);
+        // console.log(`closing websocket:`, websocketID);
       },
       onerror: (err: ErrorEvent) => {
         console.log(err);

+ 1 - 1
dashboard/src/components/events/useLastSeenPodStatus.ts

@@ -59,7 +59,7 @@ const useLastSeenPodStatus = ({
           name: podName,
         }
       );
-      //console.log(getPodStatus(res.data.status));
+      // console.log(getPodStatus(res.data.status));
 
       setCurrentStatus(getPodStatus(res.data.status));
     } catch (error) {

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

@@ -111,9 +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) {
+      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",
@@ -151,7 +155,6 @@ class ClusterDashboard extends Component<PropsType, StateType> {
         <NamespaceSelector
           setNamespace={(namespace) =>
             this.setState({ namespace }, () => {
-              console.log(window.location, namespace);
               pushQueryParams(this.props, {
                 namespace: this.state.namespace || "ALL",
               });

+ 13 - 2
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>("default");
+  const [defaultNamespace, setDefaultNamespace] = useState<string>(
+    localStorage.getItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`)
+  );
 
   const updateOptions = () => {
     let { currentCluster, currentProject } = context;
@@ -61,7 +63,11 @@ export const NamespaceSelector: React.FunctionComponent<Props> = ({
           const availableNamespaces = res.data.filter((namespace: any) => {
             return namespace.status !== "Terminating";
           });
-          setDefaultNamespace("default");
+          if (localStorage.getItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`)) {
+            setDefaultNamespace(localStorage.getItem(`${context.currentProject.id}-${context.currentCluster.id}-namespace`));
+          } else {
+            setDefaultNamespace("default");
+          }
           availableNamespaces.forEach((x: { name: string }, i: number) => {
             namespaceOptions.push({
               label: x.name,
@@ -99,7 +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(`${context.currentProject.id}-${context.currentCluster.id}-namespace`, namespace);
     setNamespace(namespace);
   };