Feat:新增修改拖拽节点时克隆的节点的实例化选项

This commit is contained in:
街角小林 2024-06-13 14:34:14 +08:00
parent a9ad38e39b
commit a55401de23
3 changed files with 10 additions and 3 deletions

View File

@ -1,11 +1,11 @@
{
"name": "simple-mind-map",
"version": "0.9.8",
"version": "0.10.0-fix.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "0.9.8",
"version": "0.10.0-fix.1",
"license": "MIT",
"dependencies": {
"@svgdotjs/svg.js": "^3.0.16",

View File

@ -250,6 +250,9 @@ export const defaultOpt = {
cloneNodeOpacity: 0.5, // 跟随鼠标移动的克隆节点或矩形的透明度
beingDragNodeOpacity: 0.3 // 被拖拽节点的透明度
},
// 拖拽单个节点时会克隆被拖拽节点,如果想修改该克隆节点,那么可以通过该选项提供一个处理函数,函数接收克隆节点对象
// 需要注意的是节点对象指的是@svgdotjs/svg.js库的元素对象所以你需要阅读该库的文档来操作该对象
handleDragCloneNode: null,
// 【Watermark插件】
// 水印配置

View File

@ -282,7 +282,8 @@ class Drag extends Base {
dragMultiNodeRectConfig,
dragPlaceholderRectFill,
dragPlaceholderLineConfig,
dragOpacityConfig
dragOpacityConfig,
handleDragCloneNode
} = this.mindMap.opt
const {
width: rectWidth,
@ -311,6 +312,9 @@ class Drag extends Base {
expandEl.remove()
}
this.mindMap.otherDraw.add(this.clone)
if (typeof handleDragCloneNode === 'function') {
handleDragCloneNode(this.clone)
}
}
this.clone.opacity(dragOpacityConfig.cloneNodeOpacity)
this.clone.css('z-index', 99999)