Update workflow nodes configuration (#6861)
- Improve the design of the right drawer - Allow to update the trigger of the workflow: the object and the event listened to - Allow to update the selected serverless function that a code action should execute - Change how we determine which workflow version to display in the visualizer. We fetch the selected workflow's data, including whether it has a draft or a published version. If the workflow has a draft version, it gets displayed; otherwise, we display the last published version. - I used the type `WorkflowWithCurrentVersion` to forward the currently edited workflow with its _current_ version embedded across the app. - I created single-responsibility hooks like `useFindWorkflowWithCurrentVersion`, `useFindShowPageWorkflow`, `useUpdateWorkflowVersionTrigger` or `useUpdateWorkflowVersionStep`. - I updated the types for workflow related objects, like `Workflow` and `WorkflowVersion`. See `packages/twenty-front/src/modules/workflow/types/Workflow.ts`. - This introduced the possibility to have `null` values for triggers and steps. I made the according changes in the codebase and in the tests. - I created a utility function to extract both parts of object-event format (`company.created`): `packages/twenty-front/src/modules/workflow/utils/splitWorkflowTriggerEventName.ts`
This commit is contained in:
committed by
GitHub
parent
c55dfbde6e
commit
a2b1062db6
@ -1,10 +1,10 @@
|
||||
import { PageBody } from '@/ui/layout/page/PageBody';
|
||||
import { PageContainer } from '@/ui/layout/page/PageContainer';
|
||||
import { PageTitle } from '@/ui/utilities/page-title/PageTitle';
|
||||
import { WorkflowShowPageDiagram } from '@/workflow/components/WorkflowShowPageDiagram';
|
||||
import { WorkflowDiagramCanvas } from '@/workflow/components/WorkflowDiagramCanvas';
|
||||
import { WorkflowShowPageEffect } from '@/workflow/components/WorkflowShowPageEffect';
|
||||
import { WorkflowShowPageHeader } from '@/workflow/components/WorkflowShowPageHeader';
|
||||
import { showPageWorkflowDiagramState } from '@/workflow/states/showPageWorkflowDiagramState';
|
||||
import { workflowDiagramState } from '@/workflow/states/workflowDiagramState';
|
||||
import styled from '@emotion/styled';
|
||||
import '@xyflow/react/dist/style.css';
|
||||
import { useParams } from 'react-router-dom';
|
||||
@ -37,7 +37,7 @@ export const WorkflowShowPage = () => {
|
||||
|
||||
const workflowName = 'Test Workflow';
|
||||
|
||||
const showPageWorkflowDiagram = useRecoilValue(showPageWorkflowDiagramState);
|
||||
const workflowDiagram = useRecoilValue(workflowDiagramState);
|
||||
|
||||
if (parameters.workflowId === undefined) {
|
||||
return null;
|
||||
@ -54,8 +54,8 @@ export const WorkflowShowPage = () => {
|
||||
/>
|
||||
<PageBody>
|
||||
<StyledFlowContainer>
|
||||
{showPageWorkflowDiagram === undefined ? null : (
|
||||
<WorkflowShowPageDiagram diagram={showPageWorkflowDiagram} />
|
||||
{workflowDiagram === undefined ? null : (
|
||||
<WorkflowDiagramCanvas diagram={workflowDiagram} />
|
||||
)}
|
||||
</StyledFlowContainer>
|
||||
</PageBody>
|
||||
|
||||
Reference in New Issue
Block a user