Jelajahi Sumber

Implemented loading for selectors

jnfrati 4 tahun lalu
induk
melakukan
1915ac9331

+ 30 - 0
dashboard/src/main/home/cluster-dashboard/stacks/launch/Overview.tsx

@@ -13,6 +13,7 @@ import { useOutsideAlerter } from "shared/hooks/useOutsideAlerter";
 import { capitalize } from "shared/string_utils";
 import { capitalize } from "shared/string_utils";
 import SaveButton from "components/SaveButton";
 import SaveButton from "components/SaveButton";
 import { useRouting } from "shared/routing";
 import { useRouting } from "shared/routing";
+import Loading from "components/Loading";
 
 
 const Overview = () => {
 const Overview = () => {
   const {
   const {
@@ -127,6 +128,15 @@ const Overview = () => {
     if (newStack.name === "") {
     if (newStack.name === "") {
       return false;
       return false;
     }
     }
+
+    if (newStack.source_configs.length === 0) {
+      return false;
+    }
+
+    if (newStack.app_resources.length === 0) {
+      return false;
+    }
+
     return true;
     return true;
   }, [namespace, clusterId, newStack.name]);
   }, [namespace, clusterId, newStack.name]);
 
 
@@ -286,6 +296,16 @@ const TemplateSelector = ({
     return capitalize(template?.name || "");
     return capitalize(template?.name || "");
   };
   };
 
 
+  if (!Array.isArray(options) || options.length === 0) {
+    return (
+      <SelectorStyles.Wrapper>
+        <SelectorStyles.Button expanded={false}>
+          <Loading />
+        </SelectorStyles.Button>
+      </SelectorStyles.Wrapper>
+    );
+  }
+
   return (
   return (
     <>
     <>
       <SelectorStyles.Wrapper ref={wrapperRef}>
       <SelectorStyles.Wrapper ref={wrapperRef}>
@@ -334,6 +354,16 @@ const VersionSelector = ({
 
 
   useOutsideAlerter(wrapperRef, () => setIsExpanded(false));
   useOutsideAlerter(wrapperRef, () => setIsExpanded(false));
 
 
+  if (!Array.isArray(options) || options.length === 0) {
+    return (
+      <SelectorStyles.Wrapper>
+        <SelectorStyles.Button expanded={false}>
+          <Loading />
+        </SelectorStyles.Button>
+      </SelectorStyles.Wrapper>
+    );
+  }
+
   return (
   return (
     <>
     <>
       <SelectorStyles.Wrapper ref={wrapperRef}>
       <SelectorStyles.Wrapper ref={wrapperRef}>