Quellcode durchsuchen

give the ability to status to goback with an error

jnfrati vor 4 Jahren
Ursprung
Commit
fa9eb750fe

+ 4 - 0
dashboard/src/main/home/onboarding/state/StateHandler.ts

@@ -51,6 +51,7 @@ export const StateHandler = proxy({
   connected_source: null,
   connected_source: null,
   connected_registry: null,
   connected_registry: null,
   provision_resources: null,
   provision_resources: null,
+  current_error: null,
   actions: {
   actions: {
     restoreState: (prevState: any) => {
     restoreState: (prevState: any) => {
       StateHandler.project = prevState.project;
       StateHandler.project = prevState.project;
@@ -123,5 +124,8 @@ export const StateHandler = proxy({
     clearResourceProvisioningProvider: () => {
     clearResourceProvisioningProvider: () => {
       StateHandler.provision_resources.provider = "";
       StateHandler.provision_resources.provider = "";
     },
     },
+    saveCurrentError: (data: any) => {
+      StateHandler.current_error = data;
+    },
   },
   },
 });
 });

+ 5 - 0
dashboard/src/main/home/onboarding/state/StepHandler.ts

@@ -165,6 +165,11 @@ const flow: FlowType = {
             continue: "clean_up",
             continue: "clean_up",
             go_back: "provision_resources.credentials",
             go_back: "provision_resources.credentials",
           },
           },
+          execute: {
+            on: {
+              go_back: "saveCurrentError",
+            },
+          },
         },
         },
       },
       },
     },
     },

+ 8 - 5
dashboard/src/main/home/onboarding/steps/ProvisionResources/ProvisionResources.tsx

@@ -28,7 +28,7 @@ type Props = {
   onSaveSettings: (settings: any) => void;
   onSaveSettings: (settings: any) => void;
   onSuccess: () => void;
   onSuccess: () => void;
   onSkip: () => void;
   onSkip: () => void;
-  goBack: () => void;
+  goBack: (data?: any) => void;
 };
 };
 
 
 const ProvisionResources: React.FC<Props> = ({
 const ProvisionResources: React.FC<Props> = ({
@@ -44,10 +44,13 @@ const ProvisionResources: React.FC<Props> = ({
   goBack,
   goBack,
 }) => {
 }) => {
   const { step } = useParams<{ step: any }>();
   const { step } = useParams<{ step: any }>();
-  const [infraStatus, setInfraStatus] = useState("creating");
+  const [infraStatus, setInfraStatus] = useState<{
+    hasError: boolean;
+    description?: string;
+  }>(null);
 
 
   const renderSaveButton = () => {
   const renderSaveButton = () => {
-    if (infraStatus == "created") {
+    if (!infraStatus.hasError) {
       return (
       return (
         <>
         <>
           <Br height="15px" />
           <Br height="15px" />
@@ -62,7 +65,7 @@ const ProvisionResources: React.FC<Props> = ({
           />
           />
         </>
         </>
       );
       );
-    } else if (infraStatus == "error") {
+    } else {
       return (
       return (
         <>
         <>
           <Br height="15px" />
           <Br height="15px" />
@@ -70,7 +73,7 @@ const ProvisionResources: React.FC<Props> = ({
             text="Resolve Errors"
             text="Resolve Errors"
             status="Encountered errors while provisioning."
             status="Encountered errors while provisioning."
             disabled={false}
             disabled={false}
-            onClick={goBack}
+            onClick={() => goBack(infraStatus.description)}
             makeFlush={true}
             makeFlush={true}
             clearPosition={true}
             clearPosition={true}
             statusPosition="right"
             statusPosition="right"

+ 1 - 1
dashboard/src/main/home/onboarding/steps/ProvisionResources/ProvisionResourcesWrapper.tsx

@@ -22,7 +22,7 @@ const ProvisionResourcesWrapper = () => {
       onSuccess={() => OFState.actions.nextStep("continue")}
       onSuccess={() => OFState.actions.nextStep("continue")}
       onSkip={() => OFState.actions.nextStep("skip")}
       onSkip={() => OFState.actions.nextStep("skip")}
       enable_go_back={snap.StepHandler.canGoBack && !snap.StepHandler.isSubFlow}
       enable_go_back={snap.StepHandler.canGoBack && !snap.StepHandler.isSubFlow}
-      goBack={() => OFState.actions.nextStep("go_back")}
+      goBack={(data: any) => OFState.actions.nextStep("go_back", data)}
     />
     />
   );
   );
 };
 };