jjb-lc-designable
Version:
基于alibaba-designable源码二次封装的表单设计器。
15 lines • 656 B
JavaScript
import { SelectNodeEvent } from '../events';
export const useWorkspaceEffect = engine => {
engine.subscribeWith(['append:node', 'insert:after', 'insert:before', 'insert:children', 'drag:node', 'drop:node', 'prepend:node', 'remove:node', 'select:node', 'update:children', 'wrap:node', 'update:node:props'], event => {
if (event.context?.workbench) {
engine.workbench.setActiveWorkspace(event.context.workspace);
}
});
engine.subscribeTo(SelectNodeEvent, event => {
engine.workbench.eachWorkspace(workspace => {
if (workspace !== event.context.workspace) {
workspace.operation.selection.clear();
}
});
});
};