调整画布
This commit is contained in:
@@ -1,12 +1,22 @@
|
|||||||
import { createId } from '../../tools/tools'
|
import { createId } from '../../tools/tools'
|
||||||
import { NODE_DATATYPE, NODE_COMPONENT, NODE_DATATIER } from '../tools/index.d'
|
import { NODE_DATATYPE, NODE_COMPONENT, NODE_DATATIER } from '../tools/index.d'
|
||||||
|
interface NodeData {
|
||||||
|
type?: string
|
||||||
|
component?: any// 节点组件
|
||||||
|
data?: object// 节点数据
|
||||||
|
tier?: string// 节点层级
|
||||||
|
isHeader?: boolean// 是否显示头
|
||||||
|
superiorID?: string// 上级节点ID
|
||||||
|
disableDelete?: boolean// 是否禁用删除
|
||||||
|
disableCopy?: boolean// 是否禁用复制
|
||||||
|
}
|
||||||
interface NodeOptions {
|
interface NodeOptions {
|
||||||
id?: string
|
id?: string
|
||||||
position?: { x: number, y: number }
|
position?: { x: number, y: number }
|
||||||
positionX?: number
|
positionX?: number
|
||||||
positionY?: number
|
positionY?: number
|
||||||
component?: any
|
component?: any
|
||||||
data?: object
|
data?: NodeData
|
||||||
}// 不可传入type class (内部使用)
|
}// 不可传入type class (内部使用)
|
||||||
|
|
||||||
export class NodeManager {
|
export class NodeManager {
|
||||||
@@ -106,7 +116,8 @@ export class NodeManager {
|
|||||||
copyNodeById(id: string) {
|
copyNodeById(id: string) {
|
||||||
const node = this.stateManager.getNodeById(id)
|
const node = this.stateManager.getNodeById(id)
|
||||||
const flowNode = this.stateManager.flowManager.getNodeById(id)
|
const flowNode = this.stateManager.flowManager.getNodeById(id)
|
||||||
if (!node) return console.warn(`copyNodeById: ${id}找不到对应节点`)
|
if (!node) return console.warn(`${id}找不到对应节点`)
|
||||||
|
if (node.data?.disableCopy) return console.warn(`${id}节点已禁用复制`)
|
||||||
const node_ = {
|
const node_ = {
|
||||||
...JSON.parse(JSON.stringify(node)),
|
...JSON.parse(JSON.stringify(node)),
|
||||||
id: createId(),
|
id: createId(),
|
||||||
@@ -116,6 +127,7 @@ export class NodeManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete node_.data?.superiorID
|
delete node_.data?.superiorID
|
||||||
|
delete node_.data?.disableDelete
|
||||||
this.stateManager.addNode(node_)
|
this.stateManager.addNode(node_)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -104,6 +104,9 @@ export class StateManager {
|
|||||||
}
|
}
|
||||||
/** 删除节点 */
|
/** 删除节点 */
|
||||||
async deleteNode(id: string, { isElMessageBox } = { isElMessageBox: false }) {
|
async deleteNode(id: string, { isElMessageBox } = { isElMessageBox: false }) {
|
||||||
|
const node = this.getNodeById(id)
|
||||||
|
if (!node) return console.warn(`没有找到指定id:${id}`)
|
||||||
|
if (node.data.disableDelete) return console.warn('该节点禁用删除')
|
||||||
let deletePromise: any = true
|
let deletePromise: any = true
|
||||||
if (isElMessageBox) {
|
if (isElMessageBox) {
|
||||||
deletePromise = await new Promise<void>((resolve, reject) => {
|
deletePromise = await new Promise<void>((resolve, reject) => {
|
||||||
@@ -122,9 +125,6 @@ export class StateManager {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (!deletePromise) return console.log('删除操作被取消')
|
if (!deletePromise) return console.log('删除操作被取消')
|
||||||
const node = this.getNodeById(id)
|
|
||||||
if (!node) return console.warn(`没有找到指定id:${id}`)
|
|
||||||
if (node.data.disableDelete) return console.warn('该节点禁用删除')
|
|
||||||
this.nodes.value = this.nodes.value.filter((node: NodesItem) => node.id !== id)
|
this.nodes.value = this.nodes.value.filter((node: NodesItem) => node.id !== id)
|
||||||
this.recordState()
|
this.recordState()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user