From e3d31f69bf24ff275eb680a4183e6f40bdf9567f Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Fri, 9 Jun 2023 16:49:15 +0800 Subject: [PATCH] =?UTF-8?q?Feat=EF=BC=9A=E6=94=AF=E6=8C=81=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E4=B8=BA=E5=B7=A6=E9=94=AE=E5=A4=9A=E9=80=89=E8=8A=82?= =?UTF-8?q?=E7=82=B9=EF=BC=8C=E5=8F=B3=E9=94=AE=E6=8B=96=E5=8A=A8=E7=94=BB?= =?UTF-8?q?=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 4 +- simple-mind-map/src/core/event/Event.js | 11 ++- simple-mind-map/src/plugins/Select.js | 36 ++++---- web/src/assets/icon-font/iconfont.css | 14 +++- web/src/assets/icon-font/iconfont.ttf | Bin 21548 -> 21960 bytes web/src/assets/icon-font/iconfont.woff | Bin 13700 -> 13920 bytes web/src/assets/icon-font/iconfont.woff2 | Bin 11756 -> 11892 bytes web/src/lang/en_us.js | 4 + web/src/lang/zh_cn.js | 4 + web/src/pages/Doc/en/changelog/index.md | 4 +- web/src/pages/Doc/en/changelog/index.vue | 4 +- web/src/pages/Doc/en/constructor/index.md | 1 + web/src/pages/Doc/en/constructor/index.vue | 7 ++ web/src/pages/Doc/zh/changelog/index.md | 4 +- web/src/pages/Doc/zh/changelog/index.vue | 4 +- web/src/pages/Doc/zh/constructor/index.md | 1 + web/src/pages/Doc/zh/constructor/index.vue | 7 ++ web/src/pages/Edit/components/Edit.vue | 4 +- web/src/pages/Edit/components/MouseAction.vue | 79 ++++++++++++++++++ .../Edit/components/NavigatorToolbar.vue | 7 +- web/src/store.js | 4 +- 21 files changed, 167 insertions(+), 32 deletions(-) create mode 100644 web/src/pages/Edit/components/MouseAction.vue diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index b8bf6d85..74d017fa 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -126,7 +126,9 @@ const defaultOpt = { // 思维导图适应画布大小时的内边距 fitPadding: 50, // 是否开启按住ctrl键多选节点功能 - enableCtrlKeyNodeSelection: true + enableCtrlKeyNodeSelection: true, + // 设置为左键多选节点,右键拖动画布 + useLeftKeySelectionRightKeyDrag: false } // 思维导图 diff --git a/simple-mind-map/src/core/event/Event.js b/simple-mind-map/src/core/event/Event.js index 708209c4..67d7fb59 100644 --- a/simple-mind-map/src/core/event/Event.js +++ b/simple-mind-map/src/core/event/Event.js @@ -9,6 +9,7 @@ class Event extends EventEmitter { this.opt = opt this.mindMap = opt.mindMap this.isLeftMousedown = false + this.isRightMousedown = false this.mousedownPos = { x: 0, y: 0 @@ -89,6 +90,8 @@ class Event extends EventEmitter { // 鼠标左键 if (e.which === 1) { this.isLeftMousedown = true + } else if (e.which === 3) { + this.isRightMousedown = true } this.mousedownPos.x = e.clientX this.mousedownPos.y = e.clientY @@ -97,12 +100,17 @@ class Event extends EventEmitter { // 鼠标移动事件 onMousemove(e) { + let { useLeftKeySelectionRightKeyDrag } = this.mindMap.opt this.mousemovePos.x = e.clientX this.mousemovePos.y = e.clientY this.mousemoveOffset.x = e.clientX - this.mousedownPos.x this.mousemoveOffset.y = e.clientY - this.mousedownPos.y this.emit('mousemove', e, this) - if (this.isLeftMousedown) { + if ( + useLeftKeySelectionRightKeyDrag + ? this.isRightMousedown + : this.isLeftMousedown + ) { e.preventDefault() this.emit('drag', e, this) } @@ -111,6 +119,7 @@ class Event extends EventEmitter { // 鼠标松开事件 onMouseup(e) { this.isLeftMousedown = false + this.isRightMousedown = false this.emit('mouseup', e, this) } diff --git a/simple-mind-map/src/plugins/Select.js b/simple-mind-map/src/plugins/Select.js index 5181fd0c..b2a58c14 100644 --- a/simple-mind-map/src/plugins/Select.js +++ b/simple-mind-map/src/plugins/Select.js @@ -22,9 +22,14 @@ class Select { if (this.mindMap.opt.readonly) { return } - if (!e.ctrlKey && e.which !== 3) { + let { useLeftKeySelectionRightKeyDrag } = this.mindMap.opt + if ( + !e.ctrlKey && + (useLeftKeySelectionRightKeyDrag ? e.which !== 1 : e.which !== 3) + ) { return } + e.preventDefault() this.isMousedown = true let { x, y } = this.mindMap.toPos(e.clientX, e.clientY) this.mouseDownX = x @@ -146,25 +151,24 @@ class Select { let bottom = (top + height) * scaleY + translateY left = left * scaleX + translateX top = top * scaleY + translateY - if ((left >= minx && left <= maxx || - right >= minx && right <= maxx) && - (top >= miny && top <= maxy || - bottom >= miny && bottom <= maxy) - ) { + if ( + ((left >= minx && left <= maxx) || (right >= minx && right <= maxx)) && + ((top >= miny && top <= maxy) || (bottom >= miny && bottom <= maxy)) + ) { // this.mindMap.batchExecution.push('activeNode' + node.uid, () => { - if (node.nodeData.data.isActive) { - return - } - this.mindMap.renderer.setNodeActive(node, true) - this.mindMap.renderer.addActiveNode(node) + if (node.nodeData.data.isActive) { + return + } + this.mindMap.renderer.setNodeActive(node, true) + this.mindMap.renderer.addActiveNode(node) // }) } else if (node.nodeData.data.isActive) { // this.mindMap.batchExecution.push('activeNode' + node.uid, () => { - if (!node.nodeData.data.isActive) { - return - } - this.mindMap.renderer.setNodeActive(node, false) - this.mindMap.renderer.removeActiveNode(node) + if (!node.nodeData.data.isActive) { + return + } + this.mindMap.renderer.setNodeActive(node, false) + this.mindMap.renderer.removeActiveNode(node) // }) } }) diff --git a/web/src/assets/icon-font/iconfont.css b/web/src/assets/icon-font/iconfont.css index 5193dd1c..32a38dce 100644 --- a/web/src/assets/icon-font/iconfont.css +++ b/web/src/assets/icon-font/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 2479351 */ - src: url('iconfont.woff2?t=1679621707211') format('woff2'), - url('iconfont.woff?t=1679621707211') format('woff'), - url('iconfont.ttf?t=1679621707211') format('truetype'); + src: url('iconfont.woff2?t=1686298427624') format('woff2'), + url('iconfont.woff?t=1686298427624') format('woff'), + url('iconfont.ttf?t=1686298427624') format('truetype'); } .iconfont { @@ -13,6 +13,14 @@ -moz-osx-font-smoothing: grayscale; } +.iconmouseR:before { + content: "\e6bd"; +} + +.iconmouseL:before { + content: "\e6c0"; +} + .iconwenjian:before { content: "\e607"; } diff --git a/web/src/assets/icon-font/iconfont.ttf b/web/src/assets/icon-font/iconfont.ttf index 2311cfcd2cb96453181d7cdc465a5e0a895b19cd..9ab744d323965a14d4f080dc06d2f8942a8ea516 100644 GIT binary patch delta 1960 zcma)*TWnNS6o&sjXYMmhr*nl)XF8WU0=+?}(~2!OEmNgaE)60U6Vm|F2TCz5$uu#Z z7?8whqA&!JAThy2KpqSv_#j}T(qJ?OO-y`~r`@KE*C6sxTmRi1A2cR%Cg0g-@3YVB zwf^<5i|54655$`*%`b1i02sA^{p#L*>7OK^Ml=h>wCUGH9S~4Aohz@e7BhMb8x_Qu2SjD|^w~;d@JO*EIWG8j>oYG z8?Xkek-{=$;KfFC;vpnZ1wX2>0#Bd?X{<%C8y$EAz3|~lG&AVsXkdbMh+-YWD8LFA zl6V+#c$j(si%|~;@~~kEY7j#cb+DJ$+wPbBR*&gbx){gRomVd)IVc!BBn4A24M>Wp zU_y|FhN(ePdj*q(v}u?wq+P?rAsre@0O`_D3`n1;Zu~gMk*-ouAxOW5T0vH8s2XHI zL;WDtA%sdo(jW?I3YpMQUC5+H)l{Z5R2(v`f!V_cl^tOjAeU)a5Xcq{O9QDgB`gx8 zQh=~rkgGK;9Hg2PmJo8ShQ)+b2@#eRQvEMsfgy{4scx(_WS@prhuoxL{UJAN=mf|u z8hQe9tA_4??AOpIklQqL4CGT9dIxg5hAx79T0=jXkUKdcv=-#E8U#7+($H;?yEXJ3 zlZ1g1MRY!OVGlxv!>TQL2RhJAw>)=R+- z!pww*y@We&YuHt|^Mi){g$fT;u+vbXdJ6U&D%_`F_n~q~!#+gi6^+T3MCFKv&52)m zfI_t?uK`>V5pmse!Psq_ww|=k+RoVBj#G|V=MLwX^P+Rw<#cUw9difV{qAqwvz|4c zlIK0oPu_s{^rD(YlfHW20pFD>f7L#JjsI|UeZU>q7J|xC&JaCXe1ix6s;ZY9qsw*wq{|=g;V*qH6oZv zH;dJ#NQFZ_VL3VyuSt4iKBqV7@{Htnwly{M_6FaH5%I};ze{}BWbmv60XS`rZ z7fP1dV7%2Aa5$F4906O<9n25p=e}Fm+|;x$7;@?rv`3vI(Mtfqz mH<`}#<)ZsWK@`h@t;d6+DEeR@9yvI=r(X}n%kOVJWcdq}BB)FN delta 1532 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 C#mY1Q delta 13257 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 z zhQr@aQjvTg!+af|_7DUjP}8dzYAVr?#SxH?(`z*X0fHX?VV%Eil*^Pex%ayp!zkOS zY#M=v6Yt~ZZPY8vsQL}%a|p}P#O3`C7hAnV$`uTH1tzlzI8OsxjvL&!+<3=$ovD}noi!%@V zPG(DPY3eg2**99m@RI>wF)FO8>fJ||tr}DK2EF25*|%WTkQmd^Se6X>Bz6=g80-A7 z{m@tb@)4XzG*O#H-~GlL+t)tSxXc;{wU>LlH3Vqn-m6dCrpn9f=%5W#KI^&Ne4V9@ z4Nuw7S9zkNNjapfZNorur0-KJgy}z3BZrPQk^NPmO9=gn*|KCMOpQkDP+c{Q>nHiG zXc(NQ*^+4A*J4y!-zSHPLDzH)H@vi2vHflG*_UmT>8rlN3!QzSeN6Oy;HGG0oR$0D zcfWncqkFbEu8McPKF>!hWN(+C$hu;uTxX5hD%J{HRO{X5ps2lMFn7XYWDuWnZzY3%uPI#kTNT7_-JB9fa8aKlR(g^W9qo9r?|| z{`G#u!wqu=3Gf@9|ANT@3rVO5_`f`DW%3N3|I?bbLoNO1$yvidBMUUWWF$=jrUeYO z`3ta_Zkjkhqxl~eb4P!;qu0Ndm`kuG0oP~=_-FnwU-yr(=w}T%vLwFempBOXD=cCe z-96QB;6|?B#G$a5={vF0&g4r5>Iv^rR#nIX>`BgHwg3sndtt{ z?@AMaFVF2R(t##6B4o5xy;Rf)JB71&y}!|G2Qh2Ze~gJRqS~#un`1v9W30m=jeeiA zt6Y@6dfz=V>^iB2C@nU59daICHXEmNy>6sGdlL~d+Dg6fp{Wse^Um`3?>BnwAX+m2 z^_U2+zp}HowO~GAwwk6V`DyffnNU|T6v>#r^1e^8o9I#*^jeF}L|F?JwBf}jnwPW1 zYxiP*bK}cyx?yP=wLCPXi(y)S2K-;K9oO@+;l=aE7I+f&D3HkphNmGLxpDt=^xMTH=nh1HL;*c@~1g>YxFr zf@B&lHIc%@mTNMWfEnbvuFe-UHL|7M>}qTz&o96U%`qv~1ifk?;q$!Ft_ti|{w7Xz zBb4n@(CA|V+5jEEV|=qd2xhuV0hDgkaCMd{JmsLZX@W??UF#@s3jwi`cekB8H_8)I zf%70SUt4$uGHt_SB$!2sBcVA3WZ%)X(}RFm!(`Z6#4iA2yM-P+(5uQx3grQpM+Kf4 zsBMoD^)`rRrBzy|@_2Mr-j$PAV{C-UD4pI0C8xbaUOtT}6u8ObVyU7H+6E z5c}OhCG58y?hR)Py%h)7&=@Lq6O~m3abdi1olL85=X=au6F^S2P@Dq!L}fd0GjmNn u_@M#4s97lRnm#$TPOt2Omlb`^B`KW9CS(s4F9K%)95MoYD8-V>yE6ckOxP>{ literal 11756 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%0ADW%Q|GYPV=2@@YJ&{ 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

Changelog

0.6.0

-

optimization: Optimize the directory structure of simple-mind-map source code.

-

New: 1.Supports one click zoom to fit the canvas function. 2.Press and hold the Ctrl key to activate the multi selection function on demand through configuration.

+

Breaking change: Adjusted the directory structure of the simple-mind-map source code, Main impact: 1. The introduction path of the plugin needs to be modified. The constant file path needs to be modified.

+

New: 1.Supports one click zoom to fit the canvas function. 2.Press and hold the Ctrl key to activate the multi selection function on demand through configuration. 3.Support setting to left click to select multiple nodes and right click to drag the canvas.

Fix: 1.Fix the issue where holding down the Ctrl key to select multiple nodes does not trigger the click event for the node.

0.5.11

New: Supports associative text editing.

diff --git a/web/src/pages/Doc/en/constructor/index.md b/web/src/pages/Doc/en/constructor/index.md index c90cd00a..26e0559f 100644 --- a/web/src/pages/Doc/en/constructor/index.md +++ b/web/src/pages/Doc/en/constructor/index.md @@ -65,6 +65,7 @@ const mindMap = new MindMap({ | defaultAssociativeLineText(v0.5.11+) | String | 关联 | Association Line Default Text | | | fitPadding(v0.6.0+) | Number | 50 | The padding of mind mapping when adapting to canvas size, Unit: px | | | enableCtrlKeyNodeSelection(v0.6.0+) | Boolean | true | Whether to enable the function of holding down the Ctrl key to select multiple nodes | | +| useLeftKeySelectionRightKeyDrag(v0.6.0+) | Boolean | false | Setting to left click to select multiple nodes and right click to drag the canvas. | | ### Watermark config diff --git a/web/src/pages/Doc/en/constructor/index.vue b/web/src/pages/Doc/en/constructor/index.vue index 25e45378..2fb28681 100644 --- a/web/src/pages/Doc/en/constructor/index.vue +++ b/web/src/pages/Doc/en/constructor/index.vue @@ -315,6 +315,13 @@ Whether to enable the function of holding down the Ctrl key to select multiple nodes + +useLeftKeySelectionRightKeyDrag(v0.6.0+) +Boolean +false +Setting to left click to select multiple nodes and right click to drag the canvas. + +

Watermark config

diff --git a/web/src/pages/Doc/zh/changelog/index.md b/web/src/pages/Doc/zh/changelog/index.md index 83a6aed9..916d6f32 100644 --- a/web/src/pages/Doc/zh/changelog/index.md +++ b/web/src/pages/Doc/zh/changelog/index.md @@ -2,9 +2,9 @@ ## 0.6.0 -优化:优化simple-mind-map源码目录结构。 +破坏性更新:调整了simple-mind-map源码的目录结构,主要影响:1.插件的引入路径需要修改。2.constant文件路径需要修改。 -新增:1.支持一键缩放至适应画布功能。 2.按住Ctrl键多选功能可通过配置按需开启。 +新增:1.支持一键缩放至适应画布功能。 2.按住Ctrl键多选功能可通过配置按需开启。 3.支持设置为左键多选节点,右键拖动画布。 修复:1.修复按住ctrl键多选节点时不会触发节点的click事件的问题。 diff --git a/web/src/pages/Doc/zh/changelog/index.vue b/web/src/pages/Doc/zh/changelog/index.vue index 5b2b8afb..0f9dede3 100644 --- a/web/src/pages/Doc/zh/changelog/index.vue +++ b/web/src/pages/Doc/zh/changelog/index.vue @@ -2,8 +2,8 @@

Changelog

0.6.0

-

优化:优化simple-mind-map源码目录结构。

-

新增:1.支持一键缩放至适应画布功能。 2.按住Ctrl键多选功能可通过配置按需开启。

+

破坏性更新:调整了simple-mind-map源码的目录结构,主要影响:1.插件的引入路径需要修改。2.constant文件路径需要修改。

+

新增:1.支持一键缩放至适应画布功能。 2.按住Ctrl键多选功能可通过配置按需开启。 3.支持设置为左键多选节点,右键拖动画布。

修复:1.修复按住ctrl键多选节点时不会触发节点的click事件的问题。

0.5.11

新增:支持关联性文本编辑。

diff --git a/web/src/pages/Doc/zh/constructor/index.md b/web/src/pages/Doc/zh/constructor/index.md index 76a6985f..41761614 100644 --- a/web/src/pages/Doc/zh/constructor/index.md +++ b/web/src/pages/Doc/zh/constructor/index.md @@ -65,6 +65,7 @@ const mindMap = new MindMap({ | defaultAssociativeLineText(v0.5.11+) | String | 关联 | 关联线默认文字 | | | fitPadding(v0.6.0+) | Number | 50 | 思维导图适应画布大小时的内边距,单位:px | | | enableCtrlKeyNodeSelection(v0.6.0+) | Boolean | true | 是否开启按住ctrl键多选节点的功能 | | +| useLeftKeySelectionRightKeyDrag(v0.6.0+) | Boolean | false | 设置为左键多选节点,右键拖动画布 | | ### 水印配置 diff --git a/web/src/pages/Doc/zh/constructor/index.vue b/web/src/pages/Doc/zh/constructor/index.vue index f2360ce7..e086dcb7 100644 --- a/web/src/pages/Doc/zh/constructor/index.vue +++ b/web/src/pages/Doc/zh/constructor/index.vue @@ -315,6 +315,13 @@ 是否开启按住ctrl键多选节点的功能 + +useLeftKeySelectionRightKeyDrag(v0.6.0+) +Boolean +false +设置为左键多选节点,右键拖动画布 + +

水印配置

diff --git a/web/src/pages/Edit/components/Edit.vue b/web/src/pages/Edit/components/Edit.vue index d5183ac4..4dd7c97f 100644 --- a/web/src/pages/Edit/components/Edit.vue +++ b/web/src/pages/Edit/components/Edit.vue @@ -100,6 +100,7 @@ export default { ...mapState({ isZenMode: state => state.localConfig.isZenMode, openNodeRichText: state => state.localConfig.openNodeRichText, + useLeftKeySelectionRightKeyDrag: state => state.localConfig.useLeftKeySelectionRightKeyDrag, }) }, watch: { @@ -289,7 +290,8 @@ export default { } }, ...(config || {}), - iconList: icon + iconList: icon, + useLeftKeySelectionRightKeyDrag: this.useLeftKeySelectionRightKeyDrag }) if (this.openNodeRichText) this.addRichTextPlugin() this.mindMap.keyCommand.addShortcut('Control+s', () => { diff --git a/web/src/pages/Edit/components/MouseAction.vue b/web/src/pages/Edit/components/MouseAction.vue new file mode 100644 index 00000000..f8e1012c --- /dev/null +++ b/web/src/pages/Edit/components/MouseAction.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/web/src/pages/Edit/components/NavigatorToolbar.vue b/web/src/pages/Edit/components/NavigatorToolbar.vue index 76081fc1..e724b6d4 100644 --- a/web/src/pages/Edit/components/NavigatorToolbar.vue +++ b/web/src/pages/Edit/components/NavigatorToolbar.vue @@ -15,6 +15,9 @@ />
+
+ +
{{ $t('navigatorToolbar.openMiniMap') @@ -46,6 +49,7 @@