From bd655839cb0c16892a5f2fd5130c920820b29a3b Mon Sep 17 00:00:00 2001 From: wanglin2 <1013335014@qq.com> Date: Tue, 17 Jan 2023 14:39:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=8F=96=E5=87=BA=E9=94=AE=E7=9B=98?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=E7=B1=BB=E4=BD=9C=E4=B8=BA=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/index.js | 7 +------ simple-mind-map/src/Drag.js | 2 ++ simple-mind-map/src/KeyboardNavigation.js | 6 +++++- web/src/pages/Doc/en/keyboardNavigation/index.md | 15 +++++++++++++-- web/src/pages/Doc/en/keyboardNavigation/index.vue | 11 +++++++++-- web/src/pages/Doc/routerList.js | 2 +- web/src/pages/Doc/zh/keyboardNavigation/index.md | 15 +++++++++++++-- web/src/pages/Doc/zh/keyboardNavigation/index.vue | 11 +++++++++-- web/src/pages/Edit/components/Edit.vue | 2 ++ 9 files changed, 55 insertions(+), 16 deletions(-) diff --git a/simple-mind-map/index.js b/simple-mind-map/index.js index f5451a48..8637e0d2 100644 --- a/simple-mind-map/index.js +++ b/simple-mind-map/index.js @@ -12,7 +12,6 @@ import Select from './src/Select' import { layoutValueList } from './src/utils/constant' import { SVG } from '@svgdotjs/svg.js' import { simpleDeepClone } from './src/utils' -import KeyboardNavigation from './src/KeyboardNavigation' import defaultTheme from './src/themes/default' // 默认选项配置 @@ -126,16 +125,12 @@ class MindMap { mindMap: this }) - // 键盘导航类 - this.keyboardNavigation = new KeyboardNavigation({ - mindMap: this - }) - // 批量执行类 this.batchExecution = new BatchExecution() // 注册插件 MindMap.pluginList.forEach((plugin) => { + console.log(plugin.instanceName); this[plugin.instanceName] = new plugin({ mindMap: this }) diff --git a/simple-mind-map/src/Drag.js b/simple-mind-map/src/Drag.js index 82434288..2caacebf 100644 --- a/simple-mind-map/src/Drag.js +++ b/simple-mind-map/src/Drag.js @@ -260,4 +260,6 @@ class Drag extends Base { } } +Drag.instanceName = 'drag' + export default Drag diff --git a/simple-mind-map/src/KeyboardNavigation.js b/simple-mind-map/src/KeyboardNavigation.js index f4fdfb01..a8c7d1c6 100644 --- a/simple-mind-map/src/KeyboardNavigation.js +++ b/simple-mind-map/src/KeyboardNavigation.js @@ -2,7 +2,7 @@ import { isKey } from './utils/keyMap' import { bfsWalk } from './utils' // 键盘导航类 -export default class KeyboardNavigation { +class KeyboardNavigation { // 构造函数 constructor(opt) { this.opt = opt @@ -224,3 +224,7 @@ export default class KeyboardNavigation { } } } + +KeyboardNavigation.instanceName = 'keyboardNavigation' + +export default KeyboardNavigation \ No newline at end of file diff --git a/web/src/pages/Doc/en/keyboardNavigation/index.md b/web/src/pages/Doc/en/keyboardNavigation/index.md index 468d0a27..09bb5f2d 100644 --- a/web/src/pages/Doc/en/keyboardNavigation/index.md +++ b/web/src/pages/Doc/en/keyboardNavigation/index.md @@ -1,8 +1,19 @@ -# KeyboardNavigation instance +# KeyboardNavigation plugin > v0.2.17+ -`KeyboardNavigation` instance is responsible for handling keyboard navigation, that is, when you press the direction key, it will automatically find the next node and activate it, can be obtained through `mindMap.keyboardNavigation` +`KeyboardNavigation` plugin provides keyboard navigation function, that is, when you press the direction key, it will automatically find the next node and activate it. + +## Register + +```js +import MindMap from 'simple-mind-map' +import KeyboardNavigation from 'simple-mind-map/src/KeyboardNavigation.js' + +MindMap.usePlugin(KeyboardNavigation) +``` + +After registration and instantiation of `MindMap`, the instance can be obtained through `mindMap.keyboardNavigation`. ## Methods diff --git a/web/src/pages/Doc/en/keyboardNavigation/index.vue b/web/src/pages/Doc/en/keyboardNavigation/index.vue index 4c39366c..c45ae94f 100644 --- a/web/src/pages/Doc/en/keyboardNavigation/index.vue +++ b/web/src/pages/Doc/en/keyboardNavigation/index.vue @@ -1,10 +1,17 @@