Преглед изворни кода

feat: free-layout-props delete onNodeActivated, getNodeForm.onFormValueChangeIn return disposable

xiamidaxia пре 10 месеци
родитељ
комит
3397925e4a

+ 0 - 5
packages/client/free-layout-editor/src/preset/free-layout-props.ts

@@ -64,11 +64,6 @@ export interface FreeLayoutProps extends EditorProps<FreeLayoutPluginContext, Wo
    * 画布内容更新
    */
   onContentChange?: (ctx: FreeLayoutPluginContext, event: WorkflowContentChangeEvent) => void;
-  /**
-   * 当前点击的节点
-   * @param node
-   */
-  onNodeActivated?: (ctx: FreeLayoutPluginContext, node: WorkflowNodeEntity | undefined) => void;
   /**
    * 判断线条是否标红
    * @param ctx

+ 12 - 10
packages/node-engine/node/src/form-model-v2.ts

@@ -428,23 +428,25 @@ export class FormModelV2 extends FormModel implements Disposable {
   onFormValueChangeIn<TValue = FieldValue, TFormValue = FieldValue>(
     name: FieldName,
     callback: (payload: onFormValueChangeInPayload<TValue, TFormValue>) => 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,
+          });
+        }
       }
-    });
+    );
   }
 
   /**

+ 2 - 1
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<TValues> {
   onFormValueChangeIn<TValue = FieldValue, TFormValue = FieldValue>(
     name: FieldName,
     callback: (payload: onFormValueChangeInPayload<TValue, TFormValue>) => void
-  ): void;
+  ): Disposable;
 }
 
 /**