forked from alibaba/lowcode-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodal-nodes-manager.ts
More file actions
63 lines (54 loc) · 1.57 KB
/
modal-nodes-manager.ts
File metadata and controls
63 lines (54 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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]);
}
}