Browse Source

Merge branch 'beta.3.delete-pod' of https://github.com/porter-dev/porter into beta.3.delete-pod

merge in confirmation
Alexander Belanger 5 years ago
parent
commit
3662fc45c4

+ 14 - 6
dashboard/src/main/home/cluster-dashboard/expanded-chart/status/ControllerTab.tsx

@@ -4,6 +4,7 @@ import api from "shared/api";
 import { Context } from "shared/Context";
 import { Context } from "shared/Context";
 
 
 import ResourceTab from "components/ResourceTab";
 import ResourceTab from "components/ResourceTab";
+import ConfirmOverlay from "components/ConfirmOverlay";
 
 
 type PropsType = {
 type PropsType = {
   controller: any;
   controller: any;
@@ -19,6 +20,7 @@ type StateType = {
   pods: any[];
   pods: any[];
   raw: any[];
   raw: any[];
   showTooltip: boolean[];
   showTooltip: boolean[];
+  podPendingDelete: any;
 };
 };
 
 
 // Controller tab in log section that displays list of pods on click.
 // Controller tab in log section that displays list of pods on click.
@@ -26,7 +28,8 @@ export default class ControllerTab extends Component<PropsType, StateType> {
   state = {
   state = {
     pods: [] as any[],
     pods: [] as any[],
     raw: [] as any[],
     raw: [] as any[],
-    showTooltip: [] as boolean[]
+    showTooltip: [] as boolean[],
+    podPendingDelete: null as any,
   };
   };
 
 
   updatePods = () => {
   updatePods = () => {
@@ -156,10 +159,6 @@ export default class ControllerTab extends Component<PropsType, StateType> {
   };
   };
 
 
   handleDeletePod = (pod: any) => {
   handleDeletePod = (pod: any) => {
-    console.log("clusterId", this.context.currentCluster.id);
-    console.log("name", pod.metadata?.name);
-    console.log("namespace", pod.metadata?.namespace);
-    console.log("id", this.context.currentProject.id);
     api
     api
       .deletePod(
       .deletePod(
         "<token>",
         "<token>",
@@ -184,7 +183,7 @@ export default class ControllerTab extends Component<PropsType, StateType> {
     return (
     return (
       <CloseIcon 
       <CloseIcon 
         className="material-icons-outlined"
         className="material-icons-outlined"
-        onClick={() => this.handleDeletePod(pod)}
+        onClick={() => this.setState({ podPendingDelete: pod })}
       >
       >
         close
         close
       </CloseIcon>
       </CloseIcon>
@@ -211,6 +210,9 @@ export default class ControllerTab extends Component<PropsType, StateType> {
       >
       >
         {this.state.raw.map((pod, i) => {
         {this.state.raw.map((pod, i) => {
           let status = this.getPodStatus(pod.status);
           let status = this.getPodStatus(pod.status);
+          if (i === 2) {
+            status = "failed"
+          }
           return (
           return (
             <Tab
             <Tab
               key={pod.metadata?.name}
               key={pod.metadata?.name}
@@ -251,6 +253,12 @@ export default class ControllerTab extends Component<PropsType, StateType> {
             </Tab>
             </Tab>
           );
           );
         })}
         })}
+        <ConfirmOverlay
+          message="Are you sure you want to delete this pod?"
+          show={this.state.podPendingDelete}
+          onYes={() => this.handleDeletePod(this.state.podPendingDelete)}
+          onNo={() => this.setState({ podPendingDelete: null })}
+        />
       </ResourceTab>
       </ResourceTab>
     );
     );
   }
   }