diff --git a/packages/designer/src/builtin-simulator/host.ts b/packages/designer/src/builtin-simulator/host.ts index 16a3b1167..2c1d82c36 100644 --- a/packages/designer/src/builtin-simulator/host.ts +++ b/packages/designer/src/builtin-simulator/host.ts @@ -36,7 +36,7 @@ import { hasOwnProperty, UtilsMetadata, getClosestNode, - startTransaction, + transactionManage, } from '@alilc/lowcode-utils'; import { DragObjectType, @@ -202,8 +202,8 @@ export class BuiltinSimulatorHost implements ISimulatorHost { + transactionManage.onStartTransaction(this.stopAutoRepaintNode, TransitionType.repaint); + transactionManage.onEndTransaction(() => { this.rerender(); this.enableAutoRepaintNode(); }, TransitionType.repaint); diff --git a/packages/engine/src/modules/utils.ts b/packages/engine/src/modules/utils.ts index 691fbf322..195f17a2e 100644 --- a/packages/engine/src/modules/utils.ts +++ b/packages/engine/src/modules/utils.ts @@ -1,4 +1,4 @@ -import { isFormEvent, compatibleLegaoSchema, getNodeSchemaById, startTransaction } from '@alilc/lowcode-utils'; +import { isFormEvent, compatibleLegaoSchema, getNodeSchemaById, transactionManage } from '@alilc/lowcode-utils'; import { isNodeSchema } from '@alilc/lowcode-types'; import { getConvertedExtraKey, getOriginalExtraKey } from '@alilc/lowcode-designer'; @@ -9,7 +9,7 @@ const utils = { getNodeSchemaById, getConvertedExtraKey, getOriginalExtraKey, - startTransaction: startTransaction.startTransaction, + startTransaction: transactionManage.startTransaction, }; export default utils; \ No newline at end of file diff --git a/packages/types/src/start-transaction.ts b/packages/types/src/start-transaction.ts index 5e81ea419..ca4f73dff 100644 --- a/packages/types/src/start-transaction.ts +++ b/packages/types/src/start-transaction.ts @@ -1,4 +1,4 @@ export enum TransitionType { /** 节点更新后重绘处理 */ - repaint = 'repaint' + repaint } \ No newline at end of file diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 040a96ac7..881319491 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -26,4 +26,4 @@ export * from './node-helper'; export * from './clone-enumerable-property'; export * from './logger'; export * as css from './css-helper'; -export { startTransaction } from './start-transaction'; +export { transactionManage } from './start-transaction'; diff --git a/packages/utils/src/start-transaction.ts b/packages/utils/src/start-transaction.ts index 47af90c64..107864e0a 100644 --- a/packages/utils/src/start-transaction.ts +++ b/packages/utils/src/start-transaction.ts @@ -1,7 +1,7 @@ import { TransitionType } from '@alilc/lowcode-types'; import EventEmitter from 'events'; -class StartTransaction { +class TransactionManage { emitter = new EventEmitter(); startTransaction(fn: () => void, type: TransitionType = TransitionType.repaint): void { @@ -25,6 +25,6 @@ class StartTransaction { } } -export const startTransaction = new StartTransaction(); +export const transactionManage = new TransactionManage(); -export default startTransaction; \ No newline at end of file +export default transactionManage; \ No newline at end of file