From 7cbf58daa4950416517a4151112e0be9211cbb76 Mon Sep 17 00:00:00 2001 From: Tyler Ohlsen Date: Thu, 9 May 2024 16:06:47 -0700 Subject: [PATCH] More cleanup Signed-off-by: Tyler Ohlsen --- .../workflow_detail/components/header.tsx | 11 +- .../workflow_detail/resizable_workspace.tsx | 124 +----------------- .../workflow_inputs/workflow_inputs.tsx | 2 +- public/pages/workflows/new_workflow/utils.ts | 3 + 4 files changed, 8 insertions(+), 132 deletions(-) diff --git a/public/pages/workflow_detail/components/header.tsx b/public/pages/workflow_detail/components/header.tsx index 88266500..b4854043 100644 --- a/public/pages/workflow_detail/components/header.tsx +++ b/public/pages/workflow_detail/components/header.tsx @@ -50,14 +50,9 @@ export function WorkflowDetailHeader(props: WorkflowDetailHeaderProps) { } rightSideItems={[ - // TODO: finalize if this is needed - {}} - > - Delete + // TODO: implement export functionality + {}}> + Export , ]} bottomBorder={true} diff --git a/public/pages/workflow_detail/resizable_workspace.tsx b/public/pages/workflow_detail/resizable_workspace.tsx index 377eb962..62f634c0 100644 --- a/public/pages/workflow_detail/resizable_workspace.tsx +++ b/public/pages/workflow_detail/resizable_workspace.tsx @@ -11,11 +11,9 @@ import { Form, Formik, FormikProps } from 'formik'; import * as yup from 'yup'; import { cloneDeep } from 'lodash'; import { - EuiButton, EuiCallOut, EuiFlexGroup, EuiFlexItem, - EuiPageHeader, EuiResizableContainer, } from '@elastic/eui'; import { getCore } from '../../services'; @@ -34,23 +32,11 @@ import { componentDataToFormik, getComponentSchema, processNodes, - reduceToTemplate, APP_PATH, } from '../../utils'; import { validateWorkspaceFlow, toTemplateFlows } from './utils'; -import { - AppState, - createWorkflow, - deprovisionWorkflow, - getWorkflowState, - provisionWorkflow, - removeDirty, - setDirty, - updateWorkflow, - useAppDispatch, -} from '../../store'; +import { AppState, setDirty, useAppDispatch } from '../../store'; import { Workspace } from './workspace/workspace'; -import { ComponentDetails } from './component_details'; // styling import './workspace/workspace-styles.scss'; @@ -338,114 +324,6 @@ export function ResizableWorkspace(props: ResizableWorkspaceProps) { deprovisioned. )} - { - if (workflow?.id) { - setIsDeprovisioning(true); - dispatch(deprovisionWorkflow(workflow.id)) - .unwrap() - .then(async (result) => { - await new Promise((f) => setTimeout(f, 3000)); - dispatch(getWorkflowState(workflow.id as string)); - setIsDeprovisioning(false); - }) - .catch((error: any) => { - setIsDeprovisioning(false); - }); - } else { - // This case should not happen - console.debug( - 'Deprovisioning triggered on an invalid workflow. Ignoring.' - ); - } - }} - > - Deprovision - , - { - if (workflow?.id) { - setIsProvisioning(true); - dispatch(provisionWorkflow(workflow.id)) - .unwrap() - .then(async (result) => { - await new Promise((f) => setTimeout(f, 3000)); - dispatch(getWorkflowState(workflow.id as string)); - setIsProvisioning(false); - }) - .catch((error: any) => { - setIsProvisioning(false); - }); - } else { - // This case should not happen - console.debug( - 'Provisioning triggered on an invalid workflow. Ignoring.' - ); - } - }} - > - Provision - , - { - setIsSaving(true); - dispatch(removeDirty()); - if (isFirstSave) { - setIsFirstSave(false); - } - validateFormAndFlow( - formikProps, - // The callback fn to run if everything is valid. - (updatedWorkflow) => { - if (updatedWorkflow.id) { - dispatch( - updateWorkflow({ - workflowId: updatedWorkflow.id, - workflowTemplate: reduceToTemplate(updatedWorkflow), - }) - ) - .unwrap() - .then((result) => { - setIsSaving(false); - }) - .catch((error: any) => { - setIsSaving(false); - }); - } else { - dispatch(createWorkflow(updatedWorkflow)) - .unwrap() - .then((result) => { - const { workflow } = result; - history.replace( - `${APP_PATH.WORKFLOWS}/${workflow.id}` - ); - history.go(0); - }) - .catch((error: any) => { - setIsSaving(false); - }); - } - } - ); - }} - > - {props.isNewWorkflow || isCreating ? 'Create' : 'Save'} - , - ]} - bottomBorder={false} - /> diff --git a/public/pages/workflows/new_workflow/utils.ts b/public/pages/workflows/new_workflow/utils.ts index 320a09f2..95f055dc 100644 --- a/public/pages/workflows/new_workflow/utils.ts +++ b/public/pages/workflows/new_workflow/utils.ts @@ -27,6 +27,9 @@ import { NormalizationTransformer, } from '../../../component_types'; +// TODO: change from producing a flow state, to producing a form state w/ some preset values. +// The form will generate the end flow state. + // Fn to produce the complete preset template with all necessary UI metadata. // Some UI metadata we want to generate on-the-fly using our component classes we have on client-side. // Thus, we only persist a minimal subset of a full template on server-side. We generate