diff --git a/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/FlowContent.java b/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/FlowContent.java index fb093789..6199f34c 100644 --- a/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/FlowContent.java +++ b/flow-engine-framework/src/main/java/com/codingapi/flow/pojo/response/FlowContent.java @@ -144,8 +144,7 @@ public void pushHistory(Workflow workflow,List historyRecords) { history.setNodeId(item.getNodeId()); history.setNodeType(item.getNodeType()); history.setUpdateTime(item.getUpdateTime()); - history.setCurrentOperatorId(item.getCurrentOperatorId()); - history.setCurrentOperatorName(item.getCurrentOperatorName()); + history.setCurrentOperator(new FlowOperator(item.getCurrentOperatorId(), item.getCurrentOperatorName())); this.histories.add(history); } } @@ -221,14 +220,9 @@ public static class History{ private long updateTime; /** - * 当前审批人Id + * 当前审批人 */ - private long currentOperatorId; - - /** - * 当前审批人名称 - */ - private String currentOperatorName; + private FlowOperator currentOperator; } @Data diff --git a/frontend/apps/app-pc/rsbuild.config.ts b/frontend/apps/app-pc/rsbuild.config.ts index a6a62044..e5f2b413 100644 --- a/frontend/apps/app-pc/rsbuild.config.ts +++ b/frontend/apps/app-pc/rsbuild.config.ts @@ -35,7 +35,7 @@ export default defineConfig({ tools: { rspack: { /** - * ignore warnings from @coze-editor/editor/language-typescript + * ignore warnings from @coze-design-editor/design-editor/language-typescript */ ignoreWarnings: [/Critical dependency: the request of a dependency is an expression/], }, diff --git a/frontend/packages/flow-design/src/components/editor/components/base-node/index.tsx b/frontend/packages/flow-design/src/components/design-editor/components/base-node/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/base-node/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/base-node/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/base-node/styles.tsx b/frontend/packages/flow-design/src/components/design-editor/components/base-node/styles.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/base-node/styles.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/base-node/styles.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/branch-adder/index.tsx b/frontend/packages/flow-design/src/components/design-editor/components/branch-adder/index.tsx similarity index 78% rename from frontend/packages/flow-design/src/components/editor/components/branch-adder/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/branch-adder/index.tsx index 62e5d07a..79f1a70d 100644 --- a/frontend/packages/flow-design/src/components/editor/components/branch-adder/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/components/branch-adder/index.tsx @@ -1,13 +1,13 @@ import {type FlowNodeEntity, useClientContext} from '@flowgram.ai/fixed-layout-editor'; import React, {useCallback, useContext} from "react"; -import {NodeRenderContext} from "@/components/editor/context"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {NodeHeader} from "@/components/editor/node-components/header"; +import {NodeRenderContext} from "@/components/design-editor/context"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; import {Button} from "antd"; -import {nodeFormPanelFactory} from "@/components/editor/components/sidebar"; +import {nodeFormPanelFactory} from "@/components/design-editor/components/sidebar"; import {usePanelManager} from "@flowgram.ai/panel-manager-plugin"; -import {useDesignContext} from "@/pages/design-panel/hooks/use-design-context"; -import {NodeType} from "@/components/editor/typings/node-type"; +import {useDesignContext} from "@/components/design-panel/hooks/use-design-context"; +import {NodeType} from "@/components/design-editor/typings/node-type"; interface BranchAdderPropsType { activated?: boolean; diff --git a/frontend/packages/flow-design/src/components/editor/components/branch-adder/styles.tsx b/frontend/packages/flow-design/src/components/design-editor/components/branch-adder/styles.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/branch-adder/styles.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/branch-adder/styles.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/collapse/index.tsx b/frontend/packages/flow-design/src/components/design-editor/components/collapse/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/collapse/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/collapse/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/node-adder/index.tsx b/frontend/packages/flow-design/src/components/design-editor/components/node-adder/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/node-adder/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/node-adder/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/node-adder/styles.tsx b/frontend/packages/flow-design/src/components/design-editor/components/node-adder/styles.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/node-adder/styles.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/node-adder/styles.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/node-icon/index.tsx b/frontend/packages/flow-design/src/components/design-editor/components/node-icon/index.tsx similarity index 96% rename from frontend/packages/flow-design/src/components/editor/components/node-icon/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/node-icon/index.tsx index 8fd74174..c0c4c23d 100644 --- a/frontend/packages/flow-design/src/components/editor/components/node-icon/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/components/node-icon/index.tsx @@ -1,5 +1,5 @@ import React from "react"; -import {NodeType} from "@/components/editor/typings/node-type"; +import {NodeType} from "@/components/design-editor/typings/node-type"; import {Button, Flex, Space,Input,theme} from "antd"; import {ApiOutlined, AuditOutlined, BellOutlined, BranchesOutlined, ClockCircleOutlined, CloseOutlined, EditOutlined, MergeOutlined, diff --git a/frontend/packages/flow-design/src/components/editor/components/node-list/index.tsx b/frontend/packages/flow-design/src/components/design-editor/components/node-list/index.tsx similarity index 85% rename from frontend/packages/flow-design/src/components/editor/components/node-list/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/node-list/index.tsx index 1b3b9772..24f6ef86 100644 --- a/frontend/packages/flow-design/src/components/editor/components/node-list/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/components/node-list/index.tsx @@ -1,11 +1,11 @@ import {FlowNodeEntity, useClientContext} from "@flowgram.ai/fixed-layout-editor"; import React from "react"; -import {FlowNodeRegistry} from "@/components/editor/typings"; +import {FlowNodeRegistry} from "@/components/design-editor/typings"; import styled from 'styled-components'; -import {FlowNodeRegistries} from "@/components/editor/nodes"; -import {NodeIcon} from "@/components/editor/components/node-icon"; -import {NodeType} from "@/components/editor/typings/node-type"; -import {useDesignContext} from "@/pages/design-panel/hooks/use-design-context"; +import {FlowNodeRegistries} from "@/components/design-editor/nodes"; +import {NodeIcon} from "@/components/design-editor/components/node-icon"; +import {NodeType} from "@/components/design-editor/typings/node-type"; +import {useDesignContext} from "@/components/design-panel/hooks/use-design-context"; const NodesWrap = styled.div` max-height: 500px; diff --git a/frontend/packages/flow-design/src/components/editor/components/sidebar/index.tsx b/frontend/packages/flow-design/src/components/design-editor/components/sidebar/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/sidebar/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/sidebar/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/sidebar/sidebar-node-renderer.tsx b/frontend/packages/flow-design/src/components/design-editor/components/sidebar/sidebar-node-renderer.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/sidebar/sidebar-node-renderer.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/sidebar/sidebar-node-renderer.tsx diff --git a/frontend/packages/flow-design/src/components/editor/components/sidebar/sidebar-renderer.tsx b/frontend/packages/flow-design/src/components/design-editor/components/sidebar/sidebar-renderer.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/components/sidebar/sidebar-renderer.tsx rename to frontend/packages/flow-design/src/components/design-editor/components/sidebar/sidebar-renderer.tsx diff --git a/frontend/packages/flow-design/src/components/editor/context/index.ts b/frontend/packages/flow-design/src/components/design-editor/context/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/context/index.ts rename to frontend/packages/flow-design/src/components/design-editor/context/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/context/node-render-context.ts b/frontend/packages/flow-design/src/components/design-editor/context/node-render-context.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/context/node-render-context.ts rename to frontend/packages/flow-design/src/components/design-editor/context/node-render-context.ts diff --git a/frontend/packages/flow-design/src/components/editor/context/sidebar-context.ts b/frontend/packages/flow-design/src/components/design-editor/context/sidebar-context.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/context/sidebar-context.ts rename to frontend/packages/flow-design/src/components/design-editor/context/sidebar-context.ts diff --git a/frontend/packages/flow-design/src/components/editor/hooks/index.ts b/frontend/packages/flow-design/src/components/design-editor/hooks/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/hooks/index.ts rename to frontend/packages/flow-design/src/components/design-editor/hooks/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/hooks/use-editor-props.ts b/frontend/packages/flow-design/src/components/design-editor/hooks/use-editor-props.ts similarity index 97% rename from frontend/packages/flow-design/src/components/editor/hooks/use-editor-props.ts rename to frontend/packages/flow-design/src/components/design-editor/hooks/use-editor-props.ts index 6ba21ae5..fa4a402f 100644 --- a/frontend/packages/flow-design/src/components/editor/hooks/use-editor-props.ts +++ b/frontend/packages/flow-design/src/components/design-editor/hooks/use-editor-props.ts @@ -7,11 +7,11 @@ import {ConstantKeys, FixedLayoutProps, FlowLayoutDefault, FlowRendererKey} from import {createDownloadPlugin} from "@flowgram.ai/export-plugin"; import {createPanelManagerPlugin} from "@flowgram.ai/panel-manager-plugin"; import {nodeFormPanelFactory} from "../components/sidebar"; -import {BaseNode} from "@/components/editor/components/base-node"; +import {BaseNode} from "@/components/design-editor/components/base-node"; import {debounce} from "lodash-es"; -import {FlowDocumentJSON, FlowNodeRegistry} from "@/components/editor/typings"; -import {Adder} from "@/components/editor/components/node-adder"; -import {BranchAdder} from "@/components/editor/components/branch-adder"; +import {FlowDocumentJSON, FlowNodeRegistry} from "@/components/design-editor/typings"; +import {Adder} from "@/components/design-editor/components/node-adder"; +import {BranchAdder} from "@/components/design-editor/components/branch-adder"; import {Collapse} from "../components/collapse"; export function useEditorProps(initialData: FlowDocumentJSON, nodeRegistries: FlowNodeRegistry[]): FixedLayoutProps { diff --git a/frontend/packages/flow-design/src/components/editor/hooks/use-is-sidebar.ts b/frontend/packages/flow-design/src/components/design-editor/hooks/use-is-sidebar.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/hooks/use-is-sidebar.ts rename to frontend/packages/flow-design/src/components/design-editor/hooks/use-is-sidebar.ts diff --git a/frontend/packages/flow-design/src/components/editor/index.scss b/frontend/packages/flow-design/src/components/design-editor/index.scss similarity index 100% rename from frontend/packages/flow-design/src/components/editor/index.scss rename to frontend/packages/flow-design/src/components/design-editor/index.scss diff --git a/frontend/packages/flow-design/src/components/editor/index.tsx b/frontend/packages/flow-design/src/components/design-editor/index.tsx similarity index 92% rename from frontend/packages/flow-design/src/components/editor/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/index.tsx index 5b87aecd..1ac474ef 100644 --- a/frontend/packages/flow-design/src/components/editor/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/index.tsx @@ -1,11 +1,11 @@ import React from "react"; import {EditorRenderer, FixedLayoutEditorProvider, FixedLayoutPluginContext} from "@flowgram.ai/fixed-layout-editor"; import {useEditorProps} from './hooks/use-editor-props'; -import {EditorTools} from "@/components/editor/tools"; +import {EditorTools} from "@/components/design-editor/tools"; import {initialData as defaultInitialData} from './initial-data'; import {FlowNodeRegistries} from './nodes'; import "./index.scss"; -import {FlowDocumentJSON} from "@/components/editor/typings"; +import {FlowDocumentJSON} from "@/components/design-editor/typings"; export interface FlowEditorAction { diff --git a/frontend/packages/flow-design/src/components/editor/initial-data.ts b/frontend/packages/flow-design/src/components/design-editor/initial-data.ts similarity index 83% rename from frontend/packages/flow-design/src/components/editor/initial-data.ts rename to frontend/packages/flow-design/src/components/design-editor/initial-data.ts index 8dade9c3..511aee4c 100644 --- a/frontend/packages/flow-design/src/components/editor/initial-data.ts +++ b/frontend/packages/flow-design/src/components/design-editor/initial-data.ts @@ -1,4 +1,4 @@ -import {FlowDocumentJSON} from "@/components/editor/typings"; +import {FlowDocumentJSON} from "@/components/design-editor/typings"; export const initialData: FlowDocumentJSON = { nodes: [ diff --git a/frontend/packages/flow-design/src/components/editor/node-components/action/index.ts b/frontend/packages/flow-design/src/components/design-editor/node-components/action/index.ts similarity index 93% rename from frontend/packages/flow-design/src/components/editor/node-components/action/index.ts rename to frontend/packages/flow-design/src/components/design-editor/node-components/action/index.ts index ca17108f..64bdf82d 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/action/index.ts +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/action/index.ts @@ -1,4 +1,4 @@ -import {actionOptions, ActionType} from "@/components/editor/typings/node-type"; +import {actionOptions, ActionType} from "@/components/design-editor/typings/node-type"; import {nanoid} from "nanoid"; export class ActionManager { diff --git a/frontend/packages/flow-design/src/components/editor/node-components/action/table.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/action/table.tsx similarity index 91% rename from frontend/packages/flow-design/src/components/editor/node-components/action/table.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/action/table.tsx index 338563a5..fb5242c9 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/action/table.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/action/table.tsx @@ -1,8 +1,8 @@ import React, {useContext} from "react"; import {Space, Switch} from "antd"; -import {Table} from "@/components/table"; -import {NodeRenderContext} from "@/components/editor/context"; -import {ActionManager} from "@/components/editor/node-components/action/index"; +import {Table} from "@/components/ui/table"; +import {NodeRenderContext} from "@/components/design-editor/context"; +import {ActionManager} from "@/components/design-editor/node-components/action/index"; interface ActionTableProps { value: any[]; diff --git a/frontend/packages/flow-design/src/components/editor/node-components/condition/index.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/condition/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/condition/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/condition/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/header/index.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/header/index.tsx similarity index 89% rename from frontend/packages/flow-design/src/components/editor/node-components/header/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/header/index.tsx index 8a00c0e8..3e9d05ec 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/header/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/header/index.tsx @@ -1,14 +1,14 @@ import React, {useCallback, useContext, useMemo, useState} from "react"; -import {useIsSidebar} from "@/components/editor/hooks"; +import {useIsSidebar} from "@/components/design-editor/hooks"; import {Button, Flex, Input, Space, theme} from "antd"; -import {nodeFormPanelFactory} from "@/components/editor/components/sidebar"; +import {nodeFormPanelFactory} from "@/components/design-editor/components/sidebar"; import {usePanelManager} from "@flowgram.ai/panel-manager-plugin"; -import {NodeRenderContext} from "@/components/editor/context"; +import {NodeRenderContext} from "@/components/design-editor/context"; import {Field, FieldRenderProps} from "@flowgram.ai/fixed-layout-editor"; import {CloseOutlined, EditOutlined} from "@ant-design/icons"; -import {NodeIcon} from "@/components/editor/components/node-icon"; -import {NodeType} from "@/components/editor/typings/node-type"; -import {FlowNodeRegistry} from "@/components/editor/typings"; +import {NodeIcon} from "@/components/design-editor/components/node-icon"; +import {NodeType} from "@/components/design-editor/typings/node-type"; +import {FlowNodeRegistry} from "@/components/design-editor/typings"; interface HeaderTitleProps { title: string; diff --git a/frontend/packages/flow-design/src/components/editor/node-components/layout/index.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/layout/index.tsx similarity index 82% rename from frontend/packages/flow-design/src/components/editor/node-components/layout/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/layout/index.tsx index 73ff863e..69c933e2 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/layout/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/layout/index.tsx @@ -1,7 +1,7 @@ import React from "react"; -import {TabBase} from "@/components/editor/node-components/taps/base"; -import {TabAction} from "@/components/editor/node-components/taps/action"; -import {TabPromission} from "@/components/editor/node-components/taps/promission"; +import {TabBase} from "@/components/design-editor/node-components/taps/base"; +import {TabAction} from "@/components/design-editor/node-components/taps/action"; +import {TabPromission} from "@/components/design-editor/node-components/taps/promission"; import { TabsProps,Tabs } from "antd"; interface TabNodeLayoutProps{ diff --git a/frontend/packages/flow-design/src/components/editor/node-components/panel/index.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/panel/index.tsx similarity index 93% rename from frontend/packages/flow-design/src/components/editor/node-components/panel/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/panel/index.tsx index 80eae8a3..2774e578 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/panel/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/panel/index.tsx @@ -1,10 +1,10 @@ import React, {useCallback, useContext, useMemo, useState} from "react"; import {Flex, theme} from "antd"; import {CloseCircleOutlined} from "@ant-design/icons"; -import {NodeRenderContext} from "@/components/editor/context"; -import {FlowNodeRegistry} from "@/components/editor/typings"; +import {NodeRenderContext} from "@/components/design-editor/context"; +import {FlowNodeRegistry} from "@/components/design-editor/typings"; import {useClientContext} from "@flowgram.ai/fixed-layout-editor"; -import {useIsSidebar} from "@/components/editor/hooks"; +import {useIsSidebar} from "@/components/design-editor/hooks"; interface NodePanelProps { children?: React.ReactNode; diff --git a/frontend/packages/flow-design/src/components/editor/node-components/promission/index.ts b/frontend/packages/flow-design/src/components/design-editor/node-components/promission/index.ts similarity index 98% rename from frontend/packages/flow-design/src/components/editor/node-components/promission/index.ts rename to frontend/packages/flow-design/src/components/design-editor/node-components/promission/index.ts index 90434d7c..88baeb28 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/promission/index.ts +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/promission/index.ts @@ -1,4 +1,4 @@ -import {FlowForm} from "@/pages/design-panel/types"; +import {FlowForm} from "@/components/design-panel/types"; export class PromissionManager { diff --git a/frontend/packages/flow-design/src/components/editor/node-components/promission/table.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/promission/table.tsx similarity index 94% rename from frontend/packages/flow-design/src/components/editor/node-components/promission/table.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/promission/table.tsx index 9f24e8f0..846354a2 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/promission/table.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/promission/table.tsx @@ -1,8 +1,8 @@ import React from "react"; import {Tabs,Switch} from "antd"; -import {Table} from "@/components/table"; -import {PromissionManager} from "@/components/editor/node-components/promission/index"; -import {useDesignContext} from "@/pages/design-panel/hooks/use-design-context"; +import {Table} from "@/components/ui/table"; +import {PromissionManager} from "@/components/design-editor/node-components/promission/index"; +import {useDesignContext} from "@/components/design-panel/hooks/use-design-context"; interface PromissionTableProps { value: any; diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/advice.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/advice.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/advice.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/advice.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/deplay.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/deplay.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/deplay.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/deplay.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/error-trigger.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/error-trigger.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/error-trigger.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/error-trigger.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/multi-operator-audit.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/multi-operator-audit.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/multi-operator-audit.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/multi-operator-audit.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/node-title.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/node-title.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/node-title.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/node-title.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/operator-load.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/operator-load.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/operator-load.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/operator-load.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/record-merge.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/record-merge.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/record-merge.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/record-merge.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/resubmit.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/resubmit.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/resubmit.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/resubmit.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/revoke.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/revoke.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/revoke.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/revoke.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/router.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/router.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/router.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/router.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/same-operator-audit.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/same-operator-audit.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/same-operator-audit.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/same-operator-audit.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/sub-process.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/sub-process.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/sub-process.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/sub-process.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/timeout.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/timeout.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/timeout.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/timeout.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/strategy/trigger.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/strategy/trigger.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/strategy/trigger.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/strategy/trigger.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/taps/action.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/taps/action.tsx similarity index 85% rename from frontend/packages/flow-design/src/components/editor/node-components/taps/action.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/taps/action.tsx index 8f44f4db..c1100c58 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/taps/action.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/taps/action.tsx @@ -1,6 +1,6 @@ import React from "react"; import {Field, FieldRenderProps} from "@flowgram.ai/fixed-layout-editor"; -import {ActionTable} from "@/components/editor/node-components/action/table"; +import {ActionTable} from "@/components/design-editor/node-components/action/table"; export const TabAction: React.FC = () => { diff --git a/frontend/packages/flow-design/src/components/editor/node-components/taps/base.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/taps/base.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/taps/base.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/taps/base.tsx diff --git a/frontend/packages/flow-design/src/components/editor/node-components/taps/promission.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/taps/promission.tsx similarity index 85% rename from frontend/packages/flow-design/src/components/editor/node-components/taps/promission.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/taps/promission.tsx index 9786c116..ec95dfc9 100644 --- a/frontend/packages/flow-design/src/components/editor/node-components/taps/promission.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/node-components/taps/promission.tsx @@ -1,6 +1,6 @@ import React from "react"; import {Field, FieldRenderProps} from "@flowgram.ai/fixed-layout-editor"; -import {PromissionTable} from "@/components/editor/node-components/promission/table"; +import {PromissionTable} from "@/components/design-editor/node-components/promission/table"; export const TabPromission: React.FC = () => { diff --git a/frontend/packages/flow-design/src/components/editor/node-components/view/index.tsx b/frontend/packages/flow-design/src/components/design-editor/node-components/view/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/node-components/view/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/node-components/view/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/nodes/approval/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/approval/form-meta.tsx similarity index 50% rename from frontend/packages/flow-design/src/components/editor/nodes/approval/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/approval/form-meta.tsx index 32ae5d8d..221c7f3f 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/approval/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/approval/form-meta.tsx @@ -3,20 +3,20 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {TabNodeLayout} from "@/components/editor/node-components/layout"; -import {OperatorLoadStrategy} from "@/components/editor/node-components/strategy/operator-load"; -import {NodeTitleStrategy} from "@/components/editor/node-components/strategy/node-title"; -import {MultiOperatorAuditStrategy} from "@/components/editor/node-components/strategy/multi-operator-audit"; -import {SameOperatorAuditStrategy} from "@/components/editor/node-components/strategy/same-operator-audit"; -import {ErrorTriggerStrategy} from "@/components/editor/node-components/strategy/error-trigger"; -import {ResubmitStrategy} from "@/components/editor/node-components/strategy/resubmit"; -import {AdviceStrategy} from "@/components/editor/node-components/strategy/advice"; -import {TimeoutStrategy} from "@/components/editor/node-components/strategy/timeout"; -import {RecordMergeStrategy} from "@/components/editor/node-components/strategy/record-merge"; -import {RevokeStrategy} from "@/components/editor/node-components/strategy/revoke"; -import {View} from "@/components/editor/node-components/view"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {TabNodeLayout} from "@/components/design-editor/node-components/layout"; +import {OperatorLoadStrategy} from "@/components/design-editor/node-components/strategy/operator-load"; +import {NodeTitleStrategy} from "@/components/design-editor/node-components/strategy/node-title"; +import {MultiOperatorAuditStrategy} from "@/components/design-editor/node-components/strategy/multi-operator-audit"; +import {SameOperatorAuditStrategy} from "@/components/design-editor/node-components/strategy/same-operator-audit"; +import {ErrorTriggerStrategy} from "@/components/design-editor/node-components/strategy/error-trigger"; +import {ResubmitStrategy} from "@/components/design-editor/node-components/strategy/resubmit"; +import {AdviceStrategy} from "@/components/design-editor/node-components/strategy/advice"; +import {TimeoutStrategy} from "@/components/design-editor/node-components/strategy/timeout"; +import {RecordMergeStrategy} from "@/components/design-editor/node-components/strategy/record-merge"; +import {RevokeStrategy} from "@/components/design-editor/node-components/strategy/revoke"; +import {View} from "@/components/design-editor/node-components/view"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/approval/index.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/approval/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/approval/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/approval/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/nodes/inclusive-branch/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/condition-branch/form-meta.tsx similarity index 79% rename from frontend/packages/flow-design/src/components/editor/nodes/inclusive-branch/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/condition-branch/form-meta.tsx index 4c5a1d3a..8bb5154b 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/inclusive-branch/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/condition-branch/form-meta.tsx @@ -3,9 +3,9 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {ConditionScript} from "@/components/editor/node-components/condition"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {ConditionScript} from "@/components/design-editor/node-components/condition"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/condition-branch/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/condition-branch/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/condition-branch/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/condition-branch/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/nodes/condition/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/condition/form-meta.tsx similarity index 90% rename from frontend/packages/flow-design/src/components/editor/nodes/condition/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/condition/form-meta.tsx index bb9a7ecd..99554465 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/condition/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/condition/form-meta.tsx @@ -2,7 +2,7 @@ import {provideJsonSchemaOutputs, syncVariableTitle,} from '@flowgram.ai/form-ma import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-layout-editor'; import {FlowNodeJSON} from '../../typings'; -import {BranchAdderRender} from "@/components/editor/components/branch-adder"; +import {BranchAdderRender} from "@/components/design-editor/components/branch-adder"; export const renderForm = ({form}: FormRenderProps) => { diff --git a/frontend/packages/flow-design/src/components/editor/nodes/condition/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/condition/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/condition/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/condition/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/nodes/delay/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/delay/form-meta.tsx similarity index 75% rename from frontend/packages/flow-design/src/components/editor/nodes/delay/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/delay/form-meta.tsx index d51b9ab7..c60b7289 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/delay/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/delay/form-meta.tsx @@ -3,10 +3,10 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {PanelLayout} from "@/components/editor/node-components/layout"; -import {DelayStrategy} from "@/components/editor/node-components/strategy/deplay"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {PanelLayout} from "@/components/design-editor/node-components/layout"; +import {DelayStrategy} from "@/components/design-editor/node-components/strategy/deplay"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/delay/index.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/delay/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/delay/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/delay/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/nodes/end/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/end/form-meta.tsx similarity index 87% rename from frontend/packages/flow-design/src/components/editor/nodes/end/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/end/form-meta.tsx index b1d0c34c..4a3f60ef 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/end/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/end/form-meta.tsx @@ -2,8 +2,8 @@ import {provideJsonSchemaOutputs, syncVariableTitle,} from '@flowgram.ai/form-ma import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-layout-editor'; import {FlowNodeJSON} from '../../typings'; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {NodeIcon} from "@/components/editor/components/node-icon"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {NodeIcon} from "@/components/design-editor/components/node-icon"; import {Space} from "antd"; export const renderForm = ({form}: FormRenderProps) => { diff --git a/frontend/packages/flow-design/src/components/editor/nodes/end/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/end/index.ts similarity index 91% rename from frontend/packages/flow-design/src/components/editor/nodes/end/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/end/index.ts index 1c5da74a..4c8d4a90 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/end/index.ts +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/end/index.ts @@ -7,7 +7,7 @@ export const EndNodeRegistry: FlowNodeRegistry = { meta: { isNodeEnd: true, // Mark as end deleteDisable:true, // End node cannot delete - selectable: false, // End node cannot select + selectable: false, // End node cannot workflow-select copyDisable: true, // End node canot copy expandable: false, // disable expanded addDisable: true, // End Node cannot be added, diff --git a/frontend/packages/flow-design/src/components/editor/nodes/handle/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/handle/form-meta.tsx similarity index 51% rename from frontend/packages/flow-design/src/components/editor/nodes/handle/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/handle/form-meta.tsx index 32519c45..ca575d6e 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/handle/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/handle/form-meta.tsx @@ -3,19 +3,19 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {TabNodeLayout} from "@/components/editor/node-components/layout"; -import {OperatorLoadStrategy} from "@/components/editor/node-components/strategy/operator-load"; -import {NodeTitleStrategy} from "@/components/editor/node-components/strategy/node-title"; -import {ErrorTriggerStrategy} from "@/components/editor/node-components/strategy/error-trigger"; -import {TimeoutStrategy} from "@/components/editor/node-components/strategy/timeout"; -import {MultiOperatorAuditStrategy} from "@/components/editor/node-components/strategy/multi-operator-audit"; -import {SameOperatorAuditStrategy} from "@/components/editor/node-components/strategy/same-operator-audit"; -import {RecordMergeStrategy} from "@/components/editor/node-components/strategy/record-merge"; -import {ResubmitStrategy} from "@/components/editor/node-components/strategy/resubmit"; -import {AdviceStrategy} from "@/components/editor/node-components/strategy/advice"; -import {View} from "@/components/editor/node-components/view"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {TabNodeLayout} from "@/components/design-editor/node-components/layout"; +import {OperatorLoadStrategy} from "@/components/design-editor/node-components/strategy/operator-load"; +import {NodeTitleStrategy} from "@/components/design-editor/node-components/strategy/node-title"; +import {ErrorTriggerStrategy} from "@/components/design-editor/node-components/strategy/error-trigger"; +import {TimeoutStrategy} from "@/components/design-editor/node-components/strategy/timeout"; +import {MultiOperatorAuditStrategy} from "@/components/design-editor/node-components/strategy/multi-operator-audit"; +import {SameOperatorAuditStrategy} from "@/components/design-editor/node-components/strategy/same-operator-audit"; +import {RecordMergeStrategy} from "@/components/design-editor/node-components/strategy/record-merge"; +import {ResubmitStrategy} from "@/components/design-editor/node-components/strategy/resubmit"; +import {AdviceStrategy} from "@/components/design-editor/node-components/strategy/advice"; +import {View} from "@/components/design-editor/node-components/view"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/handle/index.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/handle/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/handle/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/handle/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/nodes/condition-branch/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/inclusive-branch/form-meta.tsx similarity index 79% rename from frontend/packages/flow-design/src/components/editor/nodes/condition-branch/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/inclusive-branch/form-meta.tsx index 4c5a1d3a..8bb5154b 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/condition-branch/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/inclusive-branch/form-meta.tsx @@ -3,9 +3,9 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {ConditionScript} from "@/components/editor/node-components/condition"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {ConditionScript} from "@/components/design-editor/node-components/condition"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/inclusive-branch/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/inclusive-branch/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/inclusive-branch/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/inclusive-branch/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/nodes/inclusive/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/inclusive/form-meta.tsx similarity index 90% rename from frontend/packages/flow-design/src/components/editor/nodes/inclusive/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/inclusive/form-meta.tsx index 8d670b7a..958fd32f 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/inclusive/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/inclusive/form-meta.tsx @@ -2,7 +2,7 @@ import {provideJsonSchemaOutputs, syncVariableTitle,} from '@flowgram.ai/form-ma import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-layout-editor'; import {FlowNodeJSON} from '../../typings'; -import {BranchAdderRender} from "@/components/editor/components/branch-adder"; +import {BranchAdderRender} from "@/components/design-editor/components/branch-adder"; export const renderForm = ({form}: FormRenderProps) => { diff --git a/frontend/packages/flow-design/src/components/editor/nodes/inclusive/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/inclusive/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/inclusive/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/inclusive/index.ts diff --git a/frontend/packages/flow-design/src/components/design-editor/nodes/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/index.ts new file mode 100644 index 00000000..aaaff8e7 --- /dev/null +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/index.ts @@ -0,0 +1,34 @@ +import {type FlowNodeRegistry} from '../typings'; +import {StartNodeRegistry} from './start'; +import {EndNodeRegistry} from './end'; +import {ConditionNodeRegistry} from "@/components/design-editor/nodes/condition"; +import {ConditionBranchNodeRegistry} from "@/components/design-editor/nodes/condition-branch"; +import {ApprovalNodeRegistry} from "@/components/design-editor/nodes/approval"; +import {DelayNodeRegistry} from "@/components/design-editor/nodes/delay"; +import {HandleNodeRegistry} from "@/components/design-editor/nodes/handle"; +import {InclusiveNodeRegistry} from "@/components/design-editor/nodes/inclusive"; +import {InclusiveBranchNodeRegistry} from "@/components/design-editor/nodes/inclusive-branch"; +import {NotifyNodeRegistry} from "@/components/design-editor/nodes/notify"; +import {ParallelNodeRegistry} from "@/components/design-editor/nodes/parallel"; +import {ParallelBranchNodeRegistry} from "@/components/design-editor/nodes/parallel-branch"; +import {RouterNodeRegistry} from "@/components/design-editor/nodes/router"; +import {SubProcessNodeRegistry} from "@/components/design-editor/nodes/sub-process"; +import {TriggerNodeRegistry} from "@/components/design-editor/nodes/trigger"; + +export const FlowNodeRegistries: FlowNodeRegistry[] = [ + ApprovalNodeRegistry, + ConditionNodeRegistry, + ConditionBranchNodeRegistry, + DelayNodeRegistry, + EndNodeRegistry, + HandleNodeRegistry, + InclusiveNodeRegistry, + InclusiveBranchNodeRegistry, + NotifyNodeRegistry, + ParallelNodeRegistry, + ParallelBranchNodeRegistry, + RouterNodeRegistry, + StartNodeRegistry, + SubProcessNodeRegistry, + TriggerNodeRegistry, +]; diff --git a/frontend/packages/flow-design/src/components/editor/nodes/notify/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/notify/form-meta.tsx similarity index 64% rename from frontend/packages/flow-design/src/components/editor/nodes/notify/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/notify/form-meta.tsx index c16ac8ae..63036d7f 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/notify/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/notify/form-meta.tsx @@ -3,13 +3,13 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {TabNodeLayout} from "@/components/editor/node-components/layout"; -import {ErrorTriggerStrategy} from "@/components/editor/node-components/strategy/error-trigger"; -import {NodeTitleStrategy} from "@/components/editor/node-components/strategy/node-title"; -import {OperatorLoadStrategy} from "@/components/editor/node-components/strategy/operator-load"; -import {View} from "@/components/editor/node-components/view"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {TabNodeLayout} from "@/components/design-editor/node-components/layout"; +import {ErrorTriggerStrategy} from "@/components/design-editor/node-components/strategy/error-trigger"; +import {NodeTitleStrategy} from "@/components/design-editor/node-components/strategy/node-title"; +import {OperatorLoadStrategy} from "@/components/design-editor/node-components/strategy/operator-load"; +import {View} from "@/components/design-editor/node-components/view"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/notify/index.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/notify/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/notify/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/notify/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/nodes/parallel-branch/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/parallel-branch/form-meta.tsx similarity index 87% rename from frontend/packages/flow-design/src/components/editor/nodes/parallel-branch/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/parallel-branch/form-meta.tsx index 940a2e60..5a8c3308 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/parallel-branch/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/parallel-branch/form-meta.tsx @@ -2,8 +2,8 @@ import {provideJsonSchemaOutputs, syncVariableTitle,} from '@flowgram.ai/form-ma import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-layout-editor'; import {FlowNodeJSON} from '../../typings'; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {NodeIcon} from "@/components/editor/components/node-icon"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {NodeIcon} from "@/components/design-editor/components/node-icon"; import {Space} from "antd"; export const renderForm = ({ form }: FormRenderProps) => { diff --git a/frontend/packages/flow-design/src/components/editor/nodes/parallel-branch/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/parallel-branch/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/parallel-branch/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/parallel-branch/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/nodes/parallel/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/parallel/form-meta.tsx similarity index 90% rename from frontend/packages/flow-design/src/components/editor/nodes/parallel/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/parallel/form-meta.tsx index 67aec4d5..a932ed6f 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/parallel/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/parallel/form-meta.tsx @@ -2,7 +2,7 @@ import {provideJsonSchemaOutputs, syncVariableTitle,} from '@flowgram.ai/form-ma import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-layout-editor'; import {FlowNodeJSON} from '../../typings'; -import {BranchAdderRender} from "@/components/editor/components/branch-adder"; +import {BranchAdderRender} from "@/components/design-editor/components/branch-adder"; export const renderForm = ({form}: FormRenderProps) => { diff --git a/frontend/packages/flow-design/src/components/editor/nodes/parallel/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/parallel/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/parallel/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/parallel/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/nodes/router/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/router/form-meta.tsx similarity index 75% rename from frontend/packages/flow-design/src/components/editor/nodes/router/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/router/form-meta.tsx index bd4190d6..656a497d 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/router/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/router/form-meta.tsx @@ -3,10 +3,10 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {PanelLayout} from "@/components/editor/node-components/layout"; -import {RouterStrategy} from "@/components/editor/node-components/strategy/router"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {PanelLayout} from "@/components/design-editor/node-components/layout"; +import {RouterStrategy} from "@/components/design-editor/node-components/strategy/router"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/router/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/router/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/router/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/router/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/nodes/start/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/start/form-meta.tsx similarity index 67% rename from frontend/packages/flow-design/src/components/editor/nodes/start/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/start/form-meta.tsx index 6bf57bb0..85a87828 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/start/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/start/form-meta.tsx @@ -2,12 +2,12 @@ import {provideJsonSchemaOutputs, syncVariableTitle,} from '@flowgram.ai/form-ma import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-layout-editor'; import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {TabNodeLayout} from "@/components/editor/node-components/layout"; -import {NodeTitleStrategy} from "@/components/editor/node-components/strategy/node-title"; -import {RevokeStrategy} from "@/components/editor/node-components/strategy/revoke"; -import {View} from "@/components/editor/node-components/view"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {TabNodeLayout} from "@/components/design-editor/node-components/layout"; +import {NodeTitleStrategy} from "@/components/design-editor/node-components/strategy/node-title"; +import {RevokeStrategy} from "@/components/design-editor/node-components/strategy/revoke"; +import {View} from "@/components/design-editor/node-components/view"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/start/index.ts b/frontend/packages/flow-design/src/components/design-editor/nodes/start/index.ts similarity index 90% rename from frontend/packages/flow-design/src/components/editor/nodes/start/index.ts rename to frontend/packages/flow-design/src/components/design-editor/nodes/start/index.ts index 4f614438..df59840b 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/start/index.ts +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/start/index.ts @@ -6,7 +6,7 @@ export const StartNodeRegistry: FlowNodeRegistry = { meta: { isStart: true, // Mark as start deleteDisable: true, // Start node cannot delete - selectable: false, // Start node cannot select + selectable: false, // Start node cannot workflow-select copyDisable: true, // Start node cannot copy expandable: false, // disable expanded addDisable: true, // Start Node cannot be added diff --git a/frontend/packages/flow-design/src/components/editor/nodes/sub-process/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/sub-process/form-meta.tsx similarity index 74% rename from frontend/packages/flow-design/src/components/editor/nodes/sub-process/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/sub-process/form-meta.tsx index bfdeccdc..f0e8b6f4 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/sub-process/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/sub-process/form-meta.tsx @@ -3,10 +3,10 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {PanelLayout} from "@/components/editor/node-components/layout"; -import {SubProcessStrategy} from "@/components/editor/node-components/strategy/sub-process"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {PanelLayout} from "@/components/design-editor/node-components/layout"; +import {SubProcessStrategy} from "@/components/design-editor/node-components/strategy/sub-process"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/sub-process/index.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/sub-process/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/sub-process/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/sub-process/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/nodes/trigger/form-meta.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/trigger/form-meta.tsx similarity index 75% rename from frontend/packages/flow-design/src/components/editor/nodes/trigger/form-meta.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/trigger/form-meta.tsx index b147cb9e..9322b83f 100644 --- a/frontend/packages/flow-design/src/components/editor/nodes/trigger/form-meta.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/nodes/trigger/form-meta.tsx @@ -3,10 +3,10 @@ import {FormMeta, FormRenderProps, ValidateTrigger,} from '@flowgram.ai/fixed-la import {FlowNodeJSON} from '../../typings'; import {useIsSidebar} from '../../hooks'; -import {NodeHeader} from "@/components/editor/node-components/header"; -import {NodePanel} from "@/components/editor/node-components/panel"; -import {PanelLayout} from "@/components/editor/node-components/layout"; -import {TriggerStrategy} from "@/components/editor/node-components/strategy/trigger"; +import {NodeHeader} from "@/components/design-editor/node-components/header"; +import {NodePanel} from "@/components/design-editor/node-components/panel"; +import {PanelLayout} from "@/components/design-editor/node-components/layout"; +import {TriggerStrategy} from "@/components/design-editor/node-components/strategy/trigger"; export const renderForm = ({ form }: FormRenderProps) => { const isSidebar = useIsSidebar(); diff --git a/frontend/packages/flow-design/src/components/editor/nodes/trigger/index.tsx b/frontend/packages/flow-design/src/components/design-editor/nodes/trigger/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/nodes/trigger/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/nodes/trigger/index.tsx diff --git a/frontend/packages/flow-design/src/components/editor/styles.tsx b/frontend/packages/flow-design/src/components/design-editor/styles.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/styles.tsx rename to frontend/packages/flow-design/src/components/design-editor/styles.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/download.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/download.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/download.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/download.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/fit-view.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/fit-view.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/fit-view.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/fit-view.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/index.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/index.tsx similarity index 54% rename from frontend/packages/flow-design/src/components/editor/tools/index.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/index.tsx index dcb8b429..795b4f41 100644 --- a/frontend/packages/flow-design/src/components/editor/tools/index.tsx +++ b/frontend/packages/flow-design/src/components/design-editor/tools/index.tsx @@ -1,16 +1,16 @@ import React from "react"; import {ToolContainer, ToolSection} from '../styles'; -import {SwitchVertical} from "@/components/editor/tools/switch-vertical"; -import {ZoomSelect} from "@/components/editor/tools/zoom-select"; +import {SwitchVertical} from "@/components/design-editor/tools/switch-vertical"; +import {ZoomSelect} from "@/components/design-editor/tools/zoom-select"; import {usePlaygroundTools} from "@flowgram.ai/fixed-layout-editor"; -import {FitView} from "@/components/editor/tools/fit-view"; -import {MinimapSwitch} from "@/components/editor/tools/minimap-switch"; -import {Minimap} from "@/components/editor/tools/minimap"; -import {Readonly} from "@/components/editor/tools/readonly"; -import {Undo} from "@/components/editor/tools/undo"; -import {Redo} from "@/components/editor/tools/redo"; -import {DownloadTool} from "@/components/editor/tools/download"; -import {Interactive} from "@/components/editor/tools/interactive"; +import {FitView} from "@/components/design-editor/tools/fit-view"; +import {MinimapSwitch} from "@/components/design-editor/tools/minimap-switch"; +import {Minimap} from "@/components/design-editor/tools/minimap"; +import {Readonly} from "@/components/design-editor/tools/readonly"; +import {Undo} from "@/components/design-editor/tools/undo"; +import {Redo} from "@/components/design-editor/tools/redo"; +import {DownloadTool} from "@/components/design-editor/tools/download"; +import {Interactive} from "@/components/design-editor/tools/interactive"; export const EditorTools = () => { diff --git a/frontend/packages/flow-design/src/components/editor/tools/interactive.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/interactive.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/interactive.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/interactive.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/minimap-switch.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/minimap-switch.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/minimap-switch.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/minimap-switch.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/minimap.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/minimap.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/minimap.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/minimap.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/mouse-pad-selector.scss b/frontend/packages/flow-design/src/components/design-editor/tools/mouse-pad-selector.scss similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/mouse-pad-selector.scss rename to frontend/packages/flow-design/src/components/design-editor/tools/mouse-pad-selector.scss diff --git a/frontend/packages/flow-design/src/components/editor/tools/mouse-pad-selector.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/mouse-pad-selector.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/mouse-pad-selector.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/mouse-pad-selector.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/readonly.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/readonly.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/readonly.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/readonly.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/redo.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/redo.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/redo.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/redo.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/switch-vertical.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/switch-vertical.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/switch-vertical.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/switch-vertical.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/undo.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/undo.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/undo.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/undo.tsx diff --git a/frontend/packages/flow-design/src/components/editor/tools/zoom-select.tsx b/frontend/packages/flow-design/src/components/design-editor/tools/zoom-select.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/tools/zoom-select.tsx rename to frontend/packages/flow-design/src/components/design-editor/tools/zoom-select.tsx diff --git a/frontend/packages/flow-design/src/components/editor/typings/index.ts b/frontend/packages/flow-design/src/components/design-editor/typings/index.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/typings/index.ts rename to frontend/packages/flow-design/src/components/design-editor/typings/index.ts diff --git a/frontend/packages/flow-design/src/components/editor/typings/node-type.ts b/frontend/packages/flow-design/src/components/design-editor/typings/node-type.ts similarity index 100% rename from frontend/packages/flow-design/src/components/editor/typings/node-type.ts rename to frontend/packages/flow-design/src/components/design-editor/typings/node-type.ts diff --git a/frontend/packages/flow-design/src/components/editor/typings/node.tsx b/frontend/packages/flow-design/src/components/design-editor/typings/node.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/editor/typings/node.tsx rename to frontend/packages/flow-design/src/components/design-editor/typings/node.tsx diff --git a/frontend/packages/flow-design/src/pages/design-list/hooks/use-presenter.tsx b/frontend/packages/flow-design/src/components/design-list/hooks/use-presenter.tsx similarity index 92% rename from frontend/packages/flow-design/src/pages/design-list/hooks/use-presenter.tsx rename to frontend/packages/flow-design/src/components/design-list/hooks/use-presenter.tsx index a5ca56a8..53b5ab8b 100644 --- a/frontend/packages/flow-design/src/pages/design-list/hooks/use-presenter.tsx +++ b/frontend/packages/flow-design/src/components/design-list/hooks/use-presenter.tsx @@ -1,5 +1,5 @@ import React from "react" -import {ActionType} from "@/components/table"; +import {ActionType} from "@/components/ui/table"; import {PresenterHooks} from "@flow-engine/flow-core"; import {State} from "../types" import {Presenter} from "../presenter"; diff --git a/frontend/packages/flow-design/src/pages/design-list/index.tsx b/frontend/packages/flow-design/src/components/design-list/index.tsx similarity index 97% rename from frontend/packages/flow-design/src/pages/design-list/index.tsx rename to frontend/packages/flow-design/src/components/design-list/index.tsx index f63535ee..c92bd151 100644 --- a/frontend/packages/flow-design/src/pages/design-list/index.tsx +++ b/frontend/packages/flow-design/src/components/design-list/index.tsx @@ -1,9 +1,9 @@ -import {ActionType, Table, TableProps} from "@/components/table"; +import {ActionType, Table, TableProps} from "@/components/ui/table"; import React from "react"; import {DataType, DesignListProps} from "./types"; import {usePresenter} from "./hooks/use-presenter"; import {Button, Space, Popconfirm, message} from "antd"; -import {DesignPanel} from "@/pages/design-panel"; +import {DesignPanel} from "@/components/design-panel"; import dayjs from "dayjs"; export const DesignList: React.FC = (props) => { diff --git a/frontend/packages/flow-design/src/pages/design-list/model.ts b/frontend/packages/flow-design/src/components/design-list/model.ts similarity index 88% rename from frontend/packages/flow-design/src/pages/design-list/model.ts rename to frontend/packages/flow-design/src/components/design-list/model.ts index a0087c6c..ec4ee426 100644 --- a/frontend/packages/flow-design/src/pages/design-list/model.ts +++ b/frontend/packages/flow-design/src/components/design-list/model.ts @@ -1,4 +1,4 @@ -import {ParamRequest, Result} from "@/components/table"; +import {ParamRequest, Result} from "@/components/ui/table"; import {DataType, DesignListApi} from "./types"; import {list, remove,changeState} from "@/api/workflow"; diff --git a/frontend/packages/flow-design/src/pages/design-list/presenter.ts b/frontend/packages/flow-design/src/components/design-list/presenter.ts similarity index 96% rename from frontend/packages/flow-design/src/pages/design-list/presenter.ts rename to frontend/packages/flow-design/src/components/design-list/presenter.ts index 16cd910f..c4710930 100644 --- a/frontend/packages/flow-design/src/pages/design-list/presenter.ts +++ b/frontend/packages/flow-design/src/components/design-list/presenter.ts @@ -1,5 +1,5 @@ import {DesignListApi, State} from "./types"; -import {ParamRequest} from "@/components/table"; +import {ParamRequest} from "@/components/ui/table"; import {BasePresenter} from "@flow-engine/flow-core"; export class Presenter extends BasePresenter { diff --git a/frontend/packages/flow-design/src/pages/design-list/types.ts b/frontend/packages/flow-design/src/components/design-list/types.ts similarity index 87% rename from frontend/packages/flow-design/src/pages/design-list/types.ts rename to frontend/packages/flow-design/src/components/design-list/types.ts index 4ef82189..0d23889e 100644 --- a/frontend/packages/flow-design/src/pages/design-list/types.ts +++ b/frontend/packages/flow-design/src/components/design-list/types.ts @@ -1,4 +1,4 @@ -import { ParamRequest, Result } from "@/components/table"; +import { ParamRequest, Result } from "@/components/ui/table"; export interface State { pageVersion: number; diff --git a/frontend/packages/flow-design/src/pages/design-panel/context/index.tsx b/frontend/packages/flow-design/src/components/design-panel/context/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/context/index.tsx rename to frontend/packages/flow-design/src/components/design-panel/context/index.tsx diff --git a/frontend/packages/flow-design/src/pages/design-panel/hooks/use-design-context.ts b/frontend/packages/flow-design/src/components/design-panel/hooks/use-design-context.ts similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/hooks/use-design-context.ts rename to frontend/packages/flow-design/src/components/design-panel/hooks/use-design-context.ts diff --git a/frontend/packages/flow-design/src/pages/design-panel/index.tsx b/frontend/packages/flow-design/src/components/design-panel/index.tsx similarity index 62% rename from frontend/packages/flow-design/src/pages/design-panel/index.tsx rename to frontend/packages/flow-design/src/components/design-panel/index.tsx index 543c1565..3045475f 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/index.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/index.tsx @@ -1,7 +1,7 @@ import React from "react"; import {DesignPanelProps} from "./types"; -import {Drawer} from "@/components/drawer"; -import {Content} from "@/pages/design-panel/layout/content"; +import {Drawer} from "@/components/ui/drawer"; +import {DesignPanelLayout} from "@/components/design-panel/layout"; export const DesignPanel:React.FC = (props) =>{ @@ -10,7 +10,7 @@ export const DesignPanel:React.FC = (props) =>{ open={props.open} onClose={props.onClose} > - + ) } diff --git a/frontend/packages/flow-design/src/pages/design-panel/layout/body.tsx b/frontend/packages/flow-design/src/components/design-panel/layout/body.tsx similarity index 70% rename from frontend/packages/flow-design/src/pages/design-panel/layout/body.tsx rename to frontend/packages/flow-design/src/components/design-panel/layout/body.tsx index 6549779b..3e58ca94 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/layout/body.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/layout/body.tsx @@ -1,9 +1,9 @@ import React from "react"; import {useDesignContext} from "../hooks/use-design-context"; -import {TabForm} from "@/pages/design-panel/tabs/form"; -import {TabSetting} from "@/pages/design-panel/tabs/setting"; -import {TabBase} from "@/pages/design-panel/tabs/base"; -import {TabFlow} from "@/pages/design-panel/tabs/flow"; +import {TabForm} from "@/components/design-panel/tabs/form"; +import {TabSetting} from "@/components/design-panel/tabs/setting"; +import {TabBase} from "@/components/design-panel/tabs/base"; +import {TabFlow} from "@/components/design-panel/tabs/flow"; export const Body = ()=>{ const {state} = useDesignContext(); diff --git a/frontend/packages/flow-design/src/pages/design-panel/layout/footer.tsx b/frontend/packages/flow-design/src/components/design-panel/layout/footer.tsx similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/layout/footer.tsx rename to frontend/packages/flow-design/src/components/design-panel/layout/footer.tsx diff --git a/frontend/packages/flow-design/src/pages/design-panel/layout/header.tsx b/frontend/packages/flow-design/src/components/design-panel/layout/header.tsx similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/layout/header.tsx rename to frontend/packages/flow-design/src/components/design-panel/layout/header.tsx diff --git a/frontend/packages/flow-design/src/pages/design-panel/layout/content.tsx b/frontend/packages/flow-design/src/components/design-panel/layout/index.tsx similarity index 77% rename from frontend/packages/flow-design/src/pages/design-panel/layout/content.tsx rename to frontend/packages/flow-design/src/components/design-panel/layout/index.tsx index ca728ae9..e067a1bb 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/layout/content.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/layout/index.tsx @@ -9,7 +9,7 @@ import {Body} from "./body"; import {DesignPanelProps} from "../types"; -const ContentScope: React.FC = (props) => { +const DesignPanelLayoutScope: React.FC = (props) => { const {context} = createDesignContext(props); return ( @@ -20,11 +20,11 @@ const ContentScope: React.FC = (props) => { ) } -export const Content: React.FC = (props) => { +export const DesignPanelLayout: React.FC = (props) => { return ( <> - + ) diff --git a/frontend/packages/flow-design/src/pages/design-panel/manager/form.ts b/frontend/packages/flow-design/src/components/design-panel/manager/form.ts similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/manager/form.ts rename to frontend/packages/flow-design/src/components/design-panel/manager/form.ts diff --git a/frontend/packages/flow-design/src/pages/design-panel/manager/node.ts b/frontend/packages/flow-design/src/components/design-panel/manager/node.ts similarity index 97% rename from frontend/packages/flow-design/src/pages/design-panel/manager/node.ts rename to frontend/packages/flow-design/src/components/design-panel/manager/node.ts index 44885d7f..9b4a04d0 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/manager/node.ts +++ b/frontend/packages/flow-design/src/components/design-panel/manager/node.ts @@ -1,4 +1,4 @@ -import {FlowNode} from "@/pages/design-panel/types"; +import {FlowNode} from "@/components/design-panel/types"; export class NodeManager { diff --git a/frontend/packages/flow-design/src/pages/design-panel/manager/strategy.ts b/frontend/packages/flow-design/src/components/design-panel/manager/strategy.ts similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/manager/strategy.ts rename to frontend/packages/flow-design/src/components/design-panel/manager/strategy.ts diff --git a/frontend/packages/flow-design/src/pages/design-panel/model.ts b/frontend/packages/flow-design/src/components/design-panel/model.ts similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/model.ts rename to frontend/packages/flow-design/src/components/design-panel/model.ts diff --git a/frontend/packages/flow-design/src/pages/design-panel/panels/workflow/interfere.tsx b/frontend/packages/flow-design/src/components/design-panel/panels/workflow/interfere.tsx similarity index 92% rename from frontend/packages/flow-design/src/pages/design-panel/panels/workflow/interfere.tsx rename to frontend/packages/flow-design/src/components/design-panel/panels/workflow/interfere.tsx index 2613c3b3..3d41a110 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/panels/workflow/interfere.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/panels/workflow/interfere.tsx @@ -1,6 +1,6 @@ import React from "react"; import {FormInstance, Switch} from "antd"; -import {CardForm} from "@/components/form/card"; +import {CardForm} from "@/components/ui/form/card"; interface InterferePanelProps{ form:FormInstance; diff --git a/frontend/packages/flow-design/src/pages/design-panel/panels/workflow/urge.tsx b/frontend/packages/flow-design/src/components/design-panel/panels/workflow/urge.tsx similarity index 94% rename from frontend/packages/flow-design/src/pages/design-panel/panels/workflow/urge.tsx rename to frontend/packages/flow-design/src/components/design-panel/panels/workflow/urge.tsx index 462fff36..982df85b 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/panels/workflow/urge.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/panels/workflow/urge.tsx @@ -1,6 +1,6 @@ import React from "react"; import {FormInstance, Input, Switch} from "antd"; -import {CardForm} from "@/components/form/card"; +import {CardForm} from "@/components/ui/form/card"; interface UrgePanelProps{ form:FormInstance; diff --git a/frontend/packages/flow-design/src/pages/design-panel/presenters/convertor/index.ts b/frontend/packages/flow-design/src/components/design-panel/presenters/convertor/index.ts similarity index 83% rename from frontend/packages/flow-design/src/pages/design-panel/presenters/convertor/index.ts rename to frontend/packages/flow-design/src/components/design-panel/presenters/convertor/index.ts index 0a29111d..76611980 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/presenters/convertor/index.ts +++ b/frontend/packages/flow-design/src/components/design-panel/presenters/convertor/index.ts @@ -1,4 +1,4 @@ -import {Workflow} from "@/pages/design-panel/types"; +import {Workflow} from "@/components/design-panel/types"; export class WorkflowConvertor { diff --git a/frontend/packages/flow-design/src/pages/design-panel/presenters/form.ts b/frontend/packages/flow-design/src/components/design-panel/presenters/form.ts similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/presenters/form.ts rename to frontend/packages/flow-design/src/components/design-panel/presenters/form.ts diff --git a/frontend/packages/flow-design/src/pages/design-panel/presenters/index.ts b/frontend/packages/flow-design/src/components/design-panel/presenters/index.ts similarity index 93% rename from frontend/packages/flow-design/src/pages/design-panel/presenters/index.ts rename to frontend/packages/flow-design/src/components/design-panel/presenters/index.ts index 88f38d4b..e7f2d3bf 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/presenters/index.ts +++ b/frontend/packages/flow-design/src/components/design-panel/presenters/index.ts @@ -1,9 +1,9 @@ import {DesignPanelApi, FlowNode, initStateData, State, TabPanelType} from "../types"; import {Dispatch} from "@flow-engine/flow-core"; -import {FormActionContext} from "@/pages/design-panel/presenters/form"; -import {WorkflowFormManager} from "@/pages/design-panel/manager/form"; -import {NodeManager} from "@/pages/design-panel/manager/node"; -import {WorkflowConvertor} from "@/pages/design-panel/presenters/convertor"; +import {FormActionContext} from "@/components/design-panel/presenters/form"; +import {WorkflowFormManager} from "@/components/design-panel/manager/form"; +import {NodeManager} from "@/components/design-panel/manager/node"; +import {WorkflowConvertor} from "@/components/design-panel/presenters/convertor"; export class Presenter { diff --git a/frontend/packages/flow-design/src/pages/design-panel/store.tsx b/frontend/packages/flow-design/src/components/design-panel/store.tsx similarity index 100% rename from frontend/packages/flow-design/src/pages/design-panel/store.tsx rename to frontend/packages/flow-design/src/components/design-panel/store.tsx diff --git a/frontend/packages/flow-design/src/pages/design-panel/tabs/base.tsx b/frontend/packages/flow-design/src/components/design-panel/tabs/base.tsx similarity index 97% rename from frontend/packages/flow-design/src/pages/design-panel/tabs/base.tsx rename to frontend/packages/flow-design/src/components/design-panel/tabs/base.tsx index 40843119..c474a962 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/tabs/base.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/tabs/base.tsx @@ -1,7 +1,7 @@ import React from "react"; import {Input} from "antd"; -import {Panel} from "@/components/panel"; -import {CardForm} from "@/components/form/card"; +import {Panel} from "@/components/ui/panel"; +import {CardForm} from "@/components/ui/form/card"; import {useDesignContext} from "../hooks/use-design-context"; diff --git a/frontend/packages/flow-design/src/pages/design-panel/tabs/flow.tsx b/frontend/packages/flow-design/src/components/design-panel/tabs/flow.tsx similarity index 86% rename from frontend/packages/flow-design/src/pages/design-panel/tabs/flow.tsx rename to frontend/packages/flow-design/src/components/design-panel/tabs/flow.tsx index b6e79e4e..086f8070 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/tabs/flow.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/tabs/flow.tsx @@ -1,7 +1,7 @@ import React from "react"; -import {FlowEditor, FlowEditorAction} from "@/components/editor"; -import {useDesignContext} from "@/pages/design-panel/hooks/use-design-context"; -import {NodeManager} from "@/pages/design-panel/manager/node"; +import {FlowEditor, FlowEditorAction} from "@/components/design-editor"; +import {useDesignContext} from "@/components/design-panel/hooks/use-design-context"; +import {NodeManager} from "@/components/design-panel/manager/node"; export const TabFlow = () => { diff --git a/frontend/packages/flow-design/src/pages/design-panel/tabs/form.tsx b/frontend/packages/flow-design/src/components/design-panel/tabs/form.tsx similarity index 97% rename from frontend/packages/flow-design/src/pages/design-panel/tabs/form.tsx rename to frontend/packages/flow-design/src/components/design-panel/tabs/form.tsx index aaa08116..c27e5322 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/tabs/form.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/tabs/form.tsx @@ -1,10 +1,10 @@ import React, {useState} from "react"; -import {Panel} from "@/components/panel"; -import {Table, TableProps} from "@/components/table"; +import {Panel} from "@/components/ui/panel"; +import {Table, TableProps} from "@/components/ui/table"; import {Button, Flex, Form, FormInstance, Input, Modal, Popconfirm, Select, Space, Switch, Tabs,Empty} from "antd"; -import {FormFieldOptions} from "@/pages/design-panel/types"; -import {useDesignContext} from "@/pages/design-panel/hooks/use-design-context"; -import {WorkflowFormManager} from "@/pages/design-panel/manager/form"; +import {FormFieldOptions} from "@/components/design-panel/types"; +import {useDesignContext} from "@/components/design-panel/hooks/use-design-context"; +import {WorkflowFormManager} from "@/components/design-panel/manager/form"; interface FormTableProps { name: string; diff --git a/frontend/packages/flow-design/src/pages/design-panel/tabs/setting.tsx b/frontend/packages/flow-design/src/components/design-panel/tabs/setting.tsx similarity index 73% rename from frontend/packages/flow-design/src/pages/design-panel/tabs/setting.tsx rename to frontend/packages/flow-design/src/components/design-panel/tabs/setting.tsx index aa13f624..57849a26 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/tabs/setting.tsx +++ b/frontend/packages/flow-design/src/components/design-panel/tabs/setting.tsx @@ -1,10 +1,10 @@ import React from "react"; -import {Panel} from "@/components/panel"; -import {InterferePanel} from "@/pages/design-panel/panels/workflow/interfere"; -import {UrgePanel} from "@/pages/design-panel/panels/workflow/urge"; -import {CardForm} from "@/components/form/card"; -import {useDesignContext} from "@/pages/design-panel/hooks/use-design-context"; -import {WorkflowStrategyManager} from "@/pages/design-panel/manager/strategy"; +import {Panel} from "@/components/ui/panel"; +import {InterferePanel} from "@/components/design-panel/panels/workflow/interfere"; +import {UrgePanel} from "@/components/design-panel/panels/workflow/urge"; +import {CardForm} from "@/components/ui/form/card"; +import {useDesignContext} from "@/components/design-panel/hooks/use-design-context"; +import {WorkflowStrategyManager} from "@/components/design-panel/manager/strategy"; export const TabSetting = () => { diff --git a/frontend/packages/flow-design/src/pages/design-panel/types.ts b/frontend/packages/flow-design/src/components/design-panel/types.ts similarity index 96% rename from frontend/packages/flow-design/src/pages/design-panel/types.ts rename to frontend/packages/flow-design/src/components/design-panel/types.ts index 93c93798..89e1991a 100644 --- a/frontend/packages/flow-design/src/pages/design-panel/types.ts +++ b/frontend/packages/flow-design/src/components/design-panel/types.ts @@ -1,5 +1,5 @@ // Tab布局类型 -import {NodeType} from "@/components/editor/typings/node-type"; +import {NodeType} from "@/components/design-editor/typings/node-type"; export type TabPanelType = 'base' | 'form' | 'flow' | 'setting'; diff --git a/frontend/packages/flow-design/src/components/editor/nodes/index.ts b/frontend/packages/flow-design/src/components/editor/nodes/index.ts deleted file mode 100644 index 5066d87f..00000000 --- a/frontend/packages/flow-design/src/components/editor/nodes/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import {type FlowNodeRegistry} from '../typings'; -import {StartNodeRegistry} from './start'; -import {EndNodeRegistry} from './end'; -import {ConditionNodeRegistry} from "@/components/editor/nodes/condition"; -import {ConditionBranchNodeRegistry} from "@/components/editor/nodes/condition-branch"; -import {ApprovalNodeRegistry} from "@/components/editor/nodes/approval"; -import {DelayNodeRegistry} from "@/components/editor/nodes/delay"; -import {HandleNodeRegistry} from "@/components/editor/nodes/handle"; -import {InclusiveNodeRegistry} from "@/components/editor/nodes/inclusive"; -import {InclusiveBranchNodeRegistry} from "@/components/editor/nodes/inclusive-branch"; -import {NotifyNodeRegistry} from "@/components/editor/nodes/notify"; -import {ParallelNodeRegistry} from "@/components/editor/nodes/parallel"; -import {ParallelBranchNodeRegistry} from "@/components/editor/nodes/parallel-branch"; -import {RouterNodeRegistry} from "@/components/editor/nodes/router"; -import {SubProcessNodeRegistry} from "@/components/editor/nodes/sub-process"; -import {TriggerNodeRegistry} from "@/components/editor/nodes/trigger"; - -export const FlowNodeRegistries: FlowNodeRegistry[] = [ - ApprovalNodeRegistry, - ConditionNodeRegistry, - ConditionBranchNodeRegistry, - DelayNodeRegistry, - EndNodeRegistry, - HandleNodeRegistry, - InclusiveNodeRegistry, - InclusiveBranchNodeRegistry, - NotifyNodeRegistry, - ParallelNodeRegistry, - ParallelBranchNodeRegistry, - RouterNodeRegistry, - StartNodeRegistry, - SubProcessNodeRegistry, - TriggerNodeRegistry, -]; diff --git a/frontend/packages/flow-design/src/components/flow-approval/context/index.ts b/frontend/packages/flow-design/src/components/flow-approval/context/index.ts new file mode 100644 index 00000000..b2489df2 --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/context/index.ts @@ -0,0 +1,36 @@ +import React from "react"; +import {ApprovalLayoutProps, State} from "../typings"; +import {Presenter} from "../presenters"; + + +export class ApprovalContextScope { + private readonly presenter: Presenter; + private readonly props: ApprovalLayoutProps; + + constructor(presenter: Presenter, props: ApprovalLayoutProps) { + this.presenter = presenter; + this.props = props; + } + + public syncState(state: State) { + this.presenter.syncState(state); + } + + public getPresenter() { + return this.presenter; + } + + public close() { + this.props.onClose?.(); + } + + public initialState() { + this.presenter.initialState({ + flow: this.props.content, + }); + } +} + + +export const ApprovalContext = React.createContext(undefined); + diff --git a/frontend/packages/flow-design/src/components/flow-approval/hooks/use-approval-context.ts b/frontend/packages/flow-design/src/components/flow-approval/hooks/use-approval-context.ts new file mode 100644 index 00000000..68872c39 --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/hooks/use-approval-context.ts @@ -0,0 +1,51 @@ +import React from "react"; +import {useDispatch, useSelector} from "react-redux"; +import {ApprovalContext, ApprovalContextScope} from "../context"; +import {ApprovalReduxState, updateState} from "../store"; +import {Presenter} from "../presenters"; +import {FlowApprovalApiImpl} from "../model"; +import {ApprovalLayoutProps} from "@/components/flow-approval/typings"; + +export const useApprovalContext = () => { + const context = React.useContext(ApprovalContext); + const state = useSelector((state: ApprovalReduxState) => state.approval); + if (!context) { + throw new Error("ApprovalContext must be used within useContext"); + } + return { + state, + context, + }; +} + +export const createApprovalContext = (props: ApprovalLayoutProps) => { + const ref = React.useRef(undefined); + + const dispatch = useDispatch(); + + const state = useSelector((state: ApprovalReduxState) => state.approval); + + if (!ref.current) { + const presenter = new Presenter( + state, + (prevState) => { + dispatch(updateState(prevState)); + return prevState; + }, + new FlowApprovalApiImpl() + ); + ref.current = new ApprovalContextScope(presenter, props); + ref.current.initialState(); + } + + React.useEffect(() => { + if(state.flow) { + ref.current?.syncState(state); + } + }, [state]); + + return { + state, + context: ref.current, + } +} \ No newline at end of file diff --git a/frontend/packages/flow-design/src/components/approval/index.tsx b/frontend/packages/flow-design/src/components/flow-approval/index.tsx similarity index 64% rename from frontend/packages/flow-design/src/components/approval/index.tsx rename to frontend/packages/flow-design/src/components/flow-approval/index.tsx index c17e5306..a128e4ca 100644 --- a/frontend/packages/flow-design/src/components/approval/index.tsx +++ b/frontend/packages/flow-design/src/components/flow-approval/index.tsx @@ -1,26 +1,33 @@ import React from "react"; -import {Drawer} from "@/components/drawer"; +import {Drawer} from "@/components/ui/drawer"; import {detail} from "@/api/record"; +import {FlowContent} from "@/components/flow-approval/typings"; +import {ApprovalLayout} from "@/components/flow-approval/layout"; interface ApprovalPanelProps { workflowCode?: string; - recordId?:string + recordId?:string; + onClose?: () => void; } export const ApprovalPanel: React.FC = (props) => { + const [content,dispatch] = React.useState(undefined); + React.useEffect(()=>{ const id = props.workflowCode || props.recordId || ''; detail(id).then(res=>{ if(res.success){ - console.log(res.data) + dispatch(res.data); } }); },[]); return ( - <>approval + <> + {content && } + ) } @@ -35,8 +42,6 @@ export const ApprovalPanelDrawer: React.FC = (props) = { + const {state,context} = useApprovalContext(); + + const json = JSON.stringify(state); + + return ( +
+ body: {json} +
+ ) +} \ No newline at end of file diff --git a/frontend/packages/flow-design/src/components/flow-approval/layout/header.tsx b/frontend/packages/flow-design/src/components/flow-approval/layout/header.tsx new file mode 100644 index 00000000..0b057619 --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/layout/header.tsx @@ -0,0 +1,15 @@ +import React from "react"; +import {useApprovalContext} from "@/components/flow-approval/hooks/use-approval-context"; + +export const Header = () => { + const {state,context} = useApprovalContext(); + + return ( +
+ Header + +
+ ) +} \ No newline at end of file diff --git a/frontend/packages/flow-design/src/components/flow-approval/layout/index.tsx b/frontend/packages/flow-design/src/components/flow-approval/layout/index.tsx new file mode 100644 index 00000000..6de74580 --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/layout/index.tsx @@ -0,0 +1,29 @@ +import React from "react"; +import {ApprovalLayoutProps} from "@/components/flow-approval/typings"; +import {Provider} from "react-redux"; +import {approvalStore} from "@/components/flow-approval/store"; +import {ApprovalContext} from "@/components/flow-approval/context"; +import {createApprovalContext} from "@/components/flow-approval/hooks/use-approval-context"; +import {Header} from "@/components/flow-approval/layout/header"; +import {Body} from "@/components/flow-approval/layout/body"; + + +const ApprovalLayoutScope: React.FC = (props) => { + const {context} = createApprovalContext(props); + return ( + +
+ + + ) +} + +export const ApprovalLayout: React.FC = (props) => { + + return ( + + + + ) +}; + diff --git a/frontend/packages/flow-design/src/components/flow-approval/model.ts b/frontend/packages/flow-design/src/components/flow-approval/model.ts new file mode 100644 index 00000000..b4a269fd --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/model.ts @@ -0,0 +1,5 @@ +import {FlowApprovalApi} from "@/components/flow-approval/typings"; + +export class FlowApprovalApiImpl implements FlowApprovalApi { + +} \ No newline at end of file diff --git a/frontend/packages/flow-design/src/components/flow-approval/presenters/index.ts b/frontend/packages/flow-design/src/components/flow-approval/presenters/index.ts new file mode 100644 index 00000000..99603fa7 --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/presenters/index.ts @@ -0,0 +1,24 @@ +import {FlowApprovalApi, State} from "@/components/flow-approval/typings"; +import {Dispatch} from "@flow-engine/flow-core"; + +export class Presenter { + + private state: State; + private readonly dispatch: Dispatch; + private readonly api: FlowApprovalApi; + + constructor(state: State, dispatch: Dispatch, api: FlowApprovalApi) { + this.state = state; + this.dispatch = dispatch; + this.api = api; + } + + public syncState(state: State) { + this.state = state; + } + + public initialState(state: State) { + this.dispatch(state); + } + +} \ No newline at end of file diff --git a/frontend/packages/flow-design/src/components/flow-approval/store.tsx b/frontend/packages/flow-design/src/components/flow-approval/store.tsx new file mode 100644 index 00000000..91b95dfb --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/store.tsx @@ -0,0 +1,36 @@ +import {configureStore, createSlice, PayloadAction} from '@reduxjs/toolkit'; +import {initStateData, State} from "./typings"; +import { original } from 'immer'; + +export type ApprovalStoreAction = { + updateState: (state: State, action: PayloadAction | ((prev: State) => Partial)>) => void; +} + +export const approvalSlice = createSlice({ + name: 'approval', + initialState: { + ...initStateData + }, + reducers: { + updateState: (state, action) => { + if(typeof action.payload === 'function') { + const currentState = original(state) as State; + Object.assign(state, action.payload(currentState)); + }else { + Object.assign(state, action.payload); + } + }, + }, +}); + + +export const { + updateState, +} = approvalSlice.actions; +export const approvalStore = configureStore({ + reducer: { + approval: approvalSlice.reducer + }, +}); + +export type ApprovalReduxState = ReturnType; \ No newline at end of file diff --git a/frontend/packages/flow-design/src/components/flow-approval/typings/index.ts b/frontend/packages/flow-design/src/components/flow-approval/typings/index.ts new file mode 100644 index 00000000..7485f796 --- /dev/null +++ b/frontend/packages/flow-design/src/components/flow-approval/typings/index.ts @@ -0,0 +1,97 @@ +export interface FormFieldMeta{ + id:string; + name:string; + code:string; + type:string; + require:boolean; + defaultValue:string; +} + +export interface FlowMeta { + name:string; + code:string; + fields:FormFieldMeta[]; + subForms:FlowMeta[]; +} + + +export interface Body{ + recordId:number; + title:string; + data:Map; + recordState:number; + flowState:number; +} + +export interface ActionDisplay{ + title:string; + style:string; + icon:string; +} + +export interface FlowAction{ + id:number; + title:string; + type:string; + display:ActionDisplay; + enable:boolean; +} + +export interface FlowOperator { + id:number; + name:string; +} + +export interface History{ + recordId:number; + title:string; + advice:string; + signKey:string; + nodeName:string; + nodeId:string; + nodeType:string + updateTime:number; +} + + +export interface NextNode{ + nodeId:string; + nodeName:string; + nodeType:string; + operators:FlowOperator[]; +} + +export interface FlowContent { + recordId:number; + workflowCode:string; + view:string; + form:FlowMeta; + todos:Body[]; + actions:FlowAction[]; + mergeable:boolean; + createOperator:FlowOperator; + currentOperator:FlowOperator; + flowState:number; + recordState:number; + histories:History[]; + nextNodes:NextNode[]; +} + +export interface ApprovalLayoutProps { + content:FlowContent; + onClose?:() => void; +} + + +export type State = { + flow?:FlowContent; +}; + + +export const initStateData = { + +} + +export interface FlowApprovalApi{ + +} \ No newline at end of file diff --git a/frontend/packages/flow-design/src/components/drawer/index.tsx b/frontend/packages/flow-design/src/components/ui/drawer/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/drawer/index.tsx rename to frontend/packages/flow-design/src/components/ui/drawer/index.tsx diff --git a/frontend/packages/flow-design/src/components/form/card.tsx b/frontend/packages/flow-design/src/components/ui/form/card.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/form/card.tsx rename to frontend/packages/flow-design/src/components/ui/form/card.tsx diff --git a/frontend/packages/flow-design/src/components/panel/index.tsx b/frontend/packages/flow-design/src/components/ui/panel/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/panel/index.tsx rename to frontend/packages/flow-design/src/components/ui/panel/index.tsx diff --git a/frontend/packages/flow-design/src/components/table/index.tsx b/frontend/packages/flow-design/src/components/ui/table/index.tsx similarity index 100% rename from frontend/packages/flow-design/src/components/table/index.tsx rename to frontend/packages/flow-design/src/components/ui/table/index.tsx diff --git a/frontend/packages/flow-design/src/components/select/index.tsx b/frontend/packages/flow-design/src/components/workflow-select/index.tsx similarity index 97% rename from frontend/packages/flow-design/src/components/select/index.tsx rename to frontend/packages/flow-design/src/components/workflow-select/index.tsx index f1597e67..c17e121c 100644 --- a/frontend/packages/flow-design/src/components/select/index.tsx +++ b/frontend/packages/flow-design/src/components/workflow-select/index.tsx @@ -39,6 +39,7 @@ export const WorkflowSelectModal: React.FC = (props) = {option.map((item, index) => { return (