mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-02-16 04:23:50 +00:00
63 lines
1.6 KiB
TypeScript
63 lines
1.6 KiB
TypeScript
import { ModalNodesManager as InnerModalNodesManager, Node as InnerNode } from '@alilc/lowcode-designer';
|
|
import { NodeSchema, NodeData, TransformStage } from '@alilc/lowcode-types';
|
|
import Node from './node';
|
|
import { nodeSymbol, modalNodesManagerSymbol } from './symbols';
|
|
|
|
export default class ModalNodesManager {
|
|
private readonly [modalNodesManagerSymbol]: InnerModalNodesManager;
|
|
|
|
constructor(modalNodesManager: InnerModalNodesManager) {
|
|
this[modalNodesManagerSymbol] = modalNodesManager;
|
|
}
|
|
|
|
static create(modalNodesManager: InnerModalNodesManager | null) {
|
|
if (!modalNodesManager) return null;
|
|
return new ModalNodesManager(modalNodesManager);
|
|
}
|
|
|
|
/**
|
|
* 设置模态节点,触发内部事件
|
|
*/
|
|
setNodes() {
|
|
this[modalNodesManagerSymbol].setNodes();
|
|
}
|
|
|
|
/**
|
|
* 获取模态节点(们)
|
|
* @returns
|
|
*/
|
|
getModalNodes() {
|
|
return this[modalNodesManagerSymbol].getModalNodes().map((node) => Node.create(node));
|
|
}
|
|
|
|
/**
|
|
* 获取当前可见的模态节点
|
|
* @returns
|
|
*/
|
|
getVisibleModalNode() {
|
|
return Node.create(this[modalNodesManagerSymbol].getVisibleModalNode());
|
|
}
|
|
|
|
/**
|
|
* 隐藏模态节点(们)
|
|
*/
|
|
hideModalNodes() {
|
|
this[modalNodesManagerSymbol].hideModalNodes();
|
|
}
|
|
|
|
/**
|
|
* 设置指定节点为可见态
|
|
* @param node Node
|
|
*/
|
|
setVisible(node: Node) {
|
|
this[modalNodesManagerSymbol].setVisible(node[nodeSymbol]);
|
|
}
|
|
|
|
/**
|
|
* 设置指定节点为不可见态
|
|
* @param node Node
|
|
*/
|
|
setInvisible(node: Node) {
|
|
this[modalNodesManagerSymbol].setInvisible(node[nodeSymbol]);
|
|
}
|
|
} |