Просмотр исходного кода

Implemented loading for selectors

jnfrati 3 лет назад
Родитель
Сommit
1915ac9331
1 измененных файлов с 30 добавлено и 0 удалено
  1. 30 0
      dashboard/src/main/home/cluster-dashboard/stacks/launch/Overview.tsx

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