From 3397925e4af027c7479d3709b8e99c2bb7e9c228 Mon Sep 17 00:00:00 2001 From: xiamidaxia Date: Mon, 24 Mar 2025 15:29:42 +0800 Subject: [PATCH] feat: free-layout-props delete onNodeActivated, getNodeForm.onFormValueChangeIn return disposable --- .../src/preset/free-layout-props.ts | 5 ----- .../node-engine/node/src/form-model-v2.ts | 22 ++++++++++--------- .../node-engine/node/src/get-node-form.tsx | 3 ++- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/packages/client/free-layout-editor/src/preset/free-layout-props.ts b/packages/client/free-layout-editor/src/preset/free-layout-props.ts index 0ec1cb46..d57f763a 100644 --- a/packages/client/free-layout-editor/src/preset/free-layout-props.ts +++ b/packages/client/free-layout-editor/src/preset/free-layout-props.ts @@ -64,11 +64,6 @@ export interface FreeLayoutProps extends EditorProps void; - /** - * 当前点击的节点 - * @param node - */ - onNodeActivated?: (ctx: FreeLayoutPluginContext, node: WorkflowNodeEntity | undefined) => void; /** * 判断线条是否标红 * @param ctx diff --git a/packages/node-engine/node/src/form-model-v2.ts b/packages/node-engine/node/src/form-model-v2.ts index 19305a00..1ae985c7 100644 --- a/packages/node-engine/node/src/form-model-v2.ts +++ b/packages/node-engine/node/src/form-model-v2.ts @@ -428,23 +428,25 @@ export class FormModelV2 extends FormModel implements Disposable { onFormValueChangeIn( name: FieldName, callback: (payload: onFormValueChangeInPayload) => void - ) { + ): Disposable { if (!this._initialized) { throw new Error( `[NodeEngine] FormModel Error: onFormValueChangeIn can not be called before initialized` ); } - this.formControl!._formModel.onFormValuesChange(({ name: changedName, values, prevValues }) => { - if (changedName === name) { - callback({ - value: get(values, name), - prevValue: get(prevValues, name), - formValues: values, - prevFormValues: prevValues, - }); + return this.formControl!._formModel.onFormValuesChange( + ({ name: changedName, values, prevValues }) => { + if (changedName === name) { + callback({ + value: get(values, name), + prevValue: get(prevValues, name), + formValues: values, + prevFormValues: prevValues, + }); + } } - }); + ); } /** diff --git a/packages/node-engine/node/src/get-node-form.tsx b/packages/node-engine/node/src/get-node-form.tsx index 35bf2da0..3b9667aa 100644 --- a/packages/node-engine/node/src/get-node-form.tsx +++ b/packages/node-engine/node/src/get-node-form.tsx @@ -1,5 +1,6 @@ import React from 'react'; +import { Disposable } from '@flowgram.ai/utils/src'; import { Event } from '@flowgram.ai/utils'; import { FlowNodeFormData, NodeRender, OnFormValuesChangePayload } from '@flowgram.ai/form-core'; import { FieldName, FieldValue, FormState } from '@flowgram.ai/form'; @@ -55,7 +56,7 @@ export interface NodeFormProps { onFormValueChangeIn( name: FieldName, callback: (payload: onFormValueChangeInPayload) => void - ): void; + ): Disposable; } /**