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

hide entire cronsection for job and crontoggle for cron

jusrhee 5 лет назад
Родитель
Сommit
ab7bde8fef

+ 4 - 1
dashboard/src/components/values-form/FormWrapper.tsx

@@ -47,6 +47,8 @@ type StateType = {
  *
  * To control values using external state prop in "valuesToOverride" (refer to
  * FormDebugger or LaunchTemplate for example usage).
+ *
+ * TODO: Handle passing in valuesToOverride at same time as formData
  */
 export default class FormWrapper extends Component<PropsType, StateType> {
   state = {
@@ -77,7 +79,7 @@ export default class FormWrapper extends Component<PropsType, StateType> {
                   item.variable &&
                   item.settings?.default
                 ) {
-                  metaState[item.variable] = item.settings.default;
+                  metaState[item.variable] = { value: item.settings.default };
                   return;
                 }
 
@@ -211,6 +213,7 @@ export default class FormWrapper extends Component<PropsType, StateType> {
     // Override metaState values set from outside FormWrapper
     if (
       this.props.valuesToOverride &&
+      !_.isEmpty(this.props.valuesToOverride) &&
       !_.isEqual(prevProps.valuesToOverride, this.props.valuesToOverride)
     ) {
       this.setState(

+ 2 - 2
dashboard/src/main/home/Home.tsx

@@ -221,8 +221,8 @@ class Home extends Component<PropsType, StateType> {
 
     // Initialize Highlight
     if (
-      window.location.href.includes("dashboard.getporter.dev")
-      && !user.email.includes("@getporter.dev")
+      window.location.href.includes("dashboard.getporter.dev") &&
+      !user.email.includes("@getporter.dev")
     ) {
       H.init("y2d13lgr");
       H.identify(user.email, { id: user.id });

+ 18 - 1
dashboard/src/main/home/cluster-dashboard/expanded-chart/ExpandedJobChart.tsx

@@ -36,6 +36,7 @@ type StateType = {
   deleting: boolean;
   saveValuesStatus: string | null;
   formData: any;
+  valuesToOverride: any;
 };
 
 export default class ExpandedJobChart extends Component<PropsType, StateType> {
@@ -51,6 +52,7 @@ export default class ExpandedJobChart extends Component<PropsType, StateType> {
     deleting: false,
     saveValuesStatus: null as string | null,
     formData: {} as any,
+    valuesToOverride: {} as any,
   };
 
   // Retrieve full chart data (includes form and values)
@@ -264,7 +266,18 @@ export default class ExpandedJobChart extends Component<PropsType, StateType> {
   updateTabs() {
     let formData = this.state.currentChart.form;
     if (formData) {
-      this.setState({ formData });
+      this.setState(
+        {
+          formData,
+        },
+        () =>
+          this.setState({
+            // TODO: handle passing in override values at same time as formData
+            valuesToOverride: {
+              showCronToggle: { value: false },
+            },
+          })
+      );
     }
     let tabOptions = [] as any[];
 
@@ -399,6 +412,10 @@ export default class ExpandedJobChart extends Component<PropsType, StateType> {
 
           <BodyWrapper>
             <FormWrapper
+              valuesToOverride={this.state.valuesToOverride}
+              clearValuesToOverride={() =>
+                this.setState({ valuesToOverride: {} })
+              }
               formData={this.state.formData}
               tabOptions={this.state.tabOptions}
               isInModal={true}

+ 9 - 9
dashboard/src/main/home/cluster-dashboard/expanded-chart/jobs/JobResource.tsx

@@ -106,7 +106,7 @@ export default class JobResource extends Component<PropsType, StateType> {
       envArray.forEach((env: any, i: number) => {
         envObject[env.name] = env.value;
       });
-    
+
     // Handle no config to show
     if (!commandString && _.isEmpty(envObject)) {
       return;
@@ -131,13 +131,13 @@ export default class JobResource extends Component<PropsType, StateType> {
             Hide Job Config
           </ExpandConfigBar>
           <ConfigSection>
-            {
-              commandString ? (
-                <>Command: <Command>{commandString}</Command></>
-              ) : (
-                <DarkMatter size="-18px" />
-              )
-            }
+            {commandString ? (
+              <>
+                Command: <Command>{commandString}</Command>
+              </>
+            ) : (
+              <DarkMatter size="-18px" />
+            )}
             {!_.isEmpty(envObject) && (
               <>
                 <KeyValueArray
@@ -237,7 +237,7 @@ JobResource.contextType = Context;
 
 const DarkMatter = styled.div<{ size?: string }>`
   width: 100%;
-  margin-bottom: ${props => props.size || "-13px"};
+  margin-bottom: ${(props) => props.size || "-13px"};
 `;
 
 const Command = styled.span`