Compare commits

...

59 Commits

Author SHA1 Message Date
街角小林
766ce310d0 打包0.11.1 2024-09-11 20:21:10 +08:00
街角小林
075bf54d28 Merge branch 'feature' into main 2024-09-11 20:02:17 +08:00
街角小林
14ebd7a239 Merge pull request #839 from PeterDaveHelloKitchen/zh_tw
Add Traditional Chinese(zh_TW) translation
2024-09-11 20:01:33 +08:00
街角小林
ac13aa8bc9 Doc: update 2024-09-11 19:59:59 +08:00
街角小林
f4d84aeb55 Demo:支持导入导出Excel 2024-09-11 17:41:57 +08:00
街角小林
9b7305de1e Demo:新增删除节点图片前的二次提示 2024-09-09 18:04:56 +08:00
街角小林
ef526fe302 Feat:新增拦截删除节点图片的实例化选项 2024-09-09 18:04:37 +08:00
街角小林
007a5f2815 Feat:组织结构图支持曲线连线 2024-09-09 17:47:17 +08:00
街角小林
e04b680cdc Feat:非富文本模式下文本编辑支持粘贴带换行的文本 2024-09-06 17:21:55 +08:00
街角小林
156c866bc1 Feat:1.去除highlightNodeBoxStyle选项;2.highlightNode方法新增参数;3.概要区间高亮框的颜色由主题的hoverRectColor选项和hoverRectColor实例化选项确定 2024-09-06 16:56:22 +08:00
街角小林
62b734890b Fix:修复切换主题时概要节点的样式没有更新的问题 2024-09-06 09:36:02 +08:00
街角小林
c7f3dd4d7e Feat:主题支持设置节点hover和激活时矩形框的颜色 2024-09-06 09:35:10 +08:00
街角小林
5014a2feb7 Feat:展开所有和收起所有的命令支持指定节点的uid 2024-09-05 19:14:18 +08:00
街角小林
8f8c6c9d95 Feat:expandBtnNumHandler选项新增节点实例的回调参数 2024-09-05 18:21:38 +08:00
街角小林
c8d5a34640 Demo:支持导入和导出FreeMind文件 2024-09-05 09:40:41 +08:00
街角小林
bd0fc37f03 Demo:删除无用文件 2024-09-04 09:07:21 +08:00
Peter Dave Hello
c05d947fa3 Add Traditional Chinese(zh_TW) translation 2024-09-03 21:44:43 +08:00
街角小林
1f303145c6 Fix:修复富文本模式下即使未修改文本也会添加历史记录的问题 2024-09-03 17:20:49 +08:00
街角小林
453e7311b8 Feat:公式插件:去除将公式富文本转换为公式源码时的特殊字符转义逻辑,避免双重转换导致报错 2024-08-30 17:38:39 +08:00
街角小林
c12b7f6dae Feat:更新节点非样式字段列表 2024-08-30 17:02:48 +08:00
街角小林
7ba11be42b Fix:修复公式中存在<>符号时导出svg报错的问题 2024-08-30 14:01:59 +08:00
wanglin2
ce49fcb511 Feat:修改更新节点当前应用样式的逻辑 2024-08-29 22:01:05 +08:00
街角小林
06fb6245b7 Demo:支持设置节点背景渐变方向 2024-08-29 18:29:04 +08:00
街角小林
fa8a80792d Feat:主题支持配置背景渐变的方向 2024-08-29 17:48:03 +08:00
街角小林
570bbb1b16 Feat:新增开启节点文本编辑实时更新节点大小和位置的实例化选项 2024-08-29 15:33:38 +08:00
街角小林
4e327c3a48 Feat:格式刷支持刷节点所有生效的样式,包括来自主题的和自定义的 2024-08-29 10:30:52 +08:00
街角小林
89d89f4dd8 update 2024-08-28 17:41:52 +08:00
街角小林
5ae998f304 Merge branch 'feature' of https://github.com/wanglin2/mind-map into feature 2024-08-28 16:49:51 +08:00
街角小林
428c4fd93b Fix:修复默认主题配置中的normal单词拼写错误的问题 2024-08-28 16:41:59 +08:00
街角小林
2bcc4a7c18 Demo:支持点击画布取消缩放输入框的聚焦状态 2024-08-28 16:39:35 +08:00
街角小林
9229f13172 Fix:调整hide_text_edit事件触发时机,防止一些情况下的死循环问题 2024-08-28 16:20:49 +08:00
wanglin2
afdb557a49 打包demo 2024-08-26 21:16:02 +08:00
wanglin2
62e25cdf86 Merge branch 'feature' of https://github.com/wanglin2/mind-map into feature 2024-08-26 21:10:09 +08:00
街角小林
9d64a508d6 '打包0.11.0' 2024-08-26 15:06:22 +08:00
街角小林
474bbbf0fc Feat:固定@svgdotjs/svg.js库的版本为3.2.0 2024-08-26 09:39:07 +08:00
wanglin2
d2562f35bd Feat:优化mac触控板双指拖动画布的体验 2024-08-26 07:33:04 +08:00
wanglin2
cc9d3a6707 Fix:修复搜索插件参数没有默认值导致报错的问题 2024-08-24 22:58:06 +08:00
wanglin2
8cd87890d3 Demo:修改搜索结果列表样式 2024-08-24 22:54:53 +08:00
街角小林
ab4cf28f9e Demo:缩放倍数输入框禁止输入非数字 2024-08-23 16:02:42 +08:00
街角小林
32ce3bce17 FiX:修复前进后退时data_change事件触发时渲染树数据还未更新的问题 2024-08-23 15:54:27 +08:00
街角小林
faa2b94bc8 Demo:只读模式下隐藏相关侧边栏 2024-08-23 15:34:50 +08:00
街角小林
834651d471 Demo:搜索新增搜索结果列表显示 2024-08-23 15:01:45 +08:00
街角小林
83c9d16d2b Feat:搜索插件增加跳转指定搜索结果索引节点的方法 2024-08-23 14:56:13 +08:00
wanglin2
b8765bdd99 Feat:减少一次在firefox浏览器上粘贴剪贴板内容时的提示 2024-08-22 22:32:28 +08:00
街角小林
9ef90a7057 Quill升级:修复shift+enter换行后的新行没有样式的问题 2024-08-22 18:43:02 +08:00
街角小林
dc27ca4ce8 Quill升级:修复粘贴文本时前后会出现换行多个换行,目前粘贴完还是会新开一行 2024-08-22 16:05:33 +08:00
街角小林
713d7b5844 Quill升级:拦截默认的回车事件 2024-08-22 14:39:45 +08:00
wanglin2
da49a0f58c Fix:修复进入演示模式出错的问题 2024-08-21 22:01:19 +08:00
街角小林
01b805a045 Dev:开发中 2024-08-21 12:03:29 +08:00
街角小林
8a36675b8d Demo:输入的标签数据为空不允许添加 2024-08-21 09:02:55 +08:00
街角小林
3c63d94d9c Feat:KeyCommand类:1.如果当前存在缓存数据,save方法不允许添加新缓存;2.缓存数据为空,restore方法不执行 2024-08-21 09:02:30 +08:00
街角小林
eb2e577219 Doc: update 2024-08-20 16:12:31 +08:00
街角小林
d01038e617 Feat:Node类改名为MindMapNode类,避免和HTML原生Node类冲突 2024-08-19 16:44:35 +08:00
街角小林
6bfac34368 Fix:修复富文本插件粘贴文本时没有去除默认样式的问题 2024-08-19 16:33:35 +08:00
wanglin2
0a6c8fb61c Demo:去除文档和首页,只保留思维导图 2024-08-18 15:05:17 +08:00
街角小林
dc4673b017 删除无用代码 2024-08-16 13:42:33 +08:00
街角小林
915d6e5f60 Doc: update 2024-08-16 13:40:39 +08:00
街角小林
8366357204 Demo:搜索框聚焦时禁止节点响应按键事件自动进入文本编辑状态 2024-08-16 09:16:07 +08:00
街角小林
0f305b9876 Doc: update 2024-08-15 18:34:39 +08:00
525 changed files with 2504 additions and 38087 deletions

View File

@@ -13,7 +13,7 @@
1.一个 js 思维导图库,不依赖任何框架,可以使用它来快速完成 Web 思维导图产品的开发。
开发文档:[https://wanglin2.github.io/mind-map/#/doc/zh/](https://wanglin2.github.io/mind-map/#/doc/zh/)。
开发文档:[https://wanglin2.github.io/mind-map-docs/](https://wanglin2.github.io/mind-map-docs/)。
2.一个 Web 思维导图基于思维导图库、Vue2.x、ElementUI 开发,可以操作电脑本地文件,可以当做一个在线版思维导图应用使用,也可以自部署和二次开发。
@@ -44,7 +44,7 @@ Github[releases](https://github.com/wanglin2/mind-map/releases)。百度云
官方提供了如下插件,可根据需求按需引入(某个功能不生效大概率是因为你没有引入对应的插件),具体使用方式请查看文档:
> RichText节点富文本插件、Select鼠标多选节点插件、Drag节点拖拽插件、AssociativeLine关联线插件、Export导出插件、KeyboardNavigation键盘导航插件、MiniMap小地图插件、Watermark水印插件、TouchEvent移动端触摸事件支持插件、NodeImgAdjust拖拽调整节点图片大小插件、Search搜索插件、Painter节点格式刷插件、Scrollbar滚动条插件、Formula数学公式插件、Cooperate协同编辑插件、RainbowLines彩虹线条插件、Demonstrate演示模式插件、OuterFrame外框插件、HandDrawnLikeStyle手绘风格插件[收费]、Notation节点标记插件[收费]
> RichText节点富文本插件、Select鼠标多选节点插件、Drag节点拖拽插件、AssociativeLine关联线插件、Export导出插件、KeyboardNavigation键盘导航插件、MiniMap小地图插件、Watermark水印插件、TouchEvent移动端触摸事件支持插件、NodeImgAdjust拖拽调整节点图片大小插件、Search搜索插件、Painter节点格式刷插件、Scrollbar滚动条插件、Formula数学公式插件、Cooperate协同编辑插件、RainbowLines彩虹线条插件、Demonstrate演示模式插件、OuterFrame外框插件、HandDrawnLikeStyle手绘风格插件[收费]、Notation节点标记插件[收费]、Numbers节点编号插件[收费]、FreemindFreemind格式导入导出插件[收费]、ExcelExcel格式导入导出插件[收费]
本项目不会实现的特性:
@@ -95,7 +95,7 @@ const mindMap = new MindMap({
即可得到一个思维导图。
想要实现更多功能?可以查看[开发文档](https://wanglin2.github.io/mind-map/#/doc/zh/)。
想要实现更多功能?可以查看[开发文档](https://wanglin2.github.io/mind-map-docs/)。
# License
@@ -453,4 +453,20 @@ const mindMap = new MindMap({
<img src="./web/src/assets/avatar/张文建.jpg" style="width: 50px;height: 50px;" />
<span>张文建</span>
</span>
<span>
<img src="./web/src/assets/avatar/炫.jpg" style="width: 50px;height: 50px;" />
<span>炫</span>
</span>
<span>
<img src="./web/src/assets/avatar/Lawliet.jpg" style="width: 50px;height: 50px;" />
<span>Lawliet</span>
</span>
<span>
<img src="./web/src/assets/avatar/一叶孤舟.jpg" style="width: 50px;height: 50px;" />
<span>一叶孤舟</span>
</span>
<span>
<img src="./web/src/assets/avatar/default.png" style="width: 50px;height: 50px;" />
<span>晏江</span>
</span>
</p>

View File

@@ -13,4 +13,4 @@ if (fs.existsSync(src)) {
fs.unlinkSync(src)
}
console.warn('请检查手绘风格、标记插件是否启用!!!')
console.warn('请检查付费插件是否启用!!!')

2
dist/css/app.css vendored

File diff suppressed because one or more lines are too long

1
dist/css/chunk-3222d6ee.css vendored Normal file
View File

@@ -0,0 +1 @@
.doc[data-v-d024f2fc]{position:fixed;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px}.doc a[data-v-d024f2fc]{color:#1ea59a}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
dist/img/Alex.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

BIN
dist/img/Chris.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

BIN
dist/img/HaHN.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

BIN
dist/img/Jeffrey.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

BIN
dist/img/Kyle.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
dist/img/L.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

BIN
dist/img/Think.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

BIN
dist/img/Tobin.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

BIN
dist/img/ZX.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

BIN
dist/img/ZXR.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

BIN
dist/img/alipay.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

BIN
dist/img/block1.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

BIN
dist/img/block3.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

BIN
dist/img/block4.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

BIN
dist/img/buddy.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

BIN
dist/img/ccccs.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

BIN
dist/img/default.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

BIN
dist/img/iconList.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

BIN
dist/img/moom.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

BIN
dist/img/pluvet.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

BIN
dist/img/qp.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

BIN
dist/img/qrcode.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

BIN
dist/img/suka.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

BIN
dist/img/wechat.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

BIN
dist/img/。.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

BIN
dist/img/乙.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

BIN
dist/img/仓鼠.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

BIN
dist/img/俊奇.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

BIN
dist/img/千帆.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

BIN
dist/img/南风.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

BIN
dist/img/国发.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

BIN
dist/img/好名字.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

BIN
dist/img/子豪.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

BIN
dist/img/宏涛.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

BIN
dist/img/小米.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

BIN
dist/img/峰.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

BIN
dist/img/布林.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

BIN
dist/img/庆国.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

BIN
dist/img/张扬.png vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

BIN
dist/img/张文建.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

BIN
dist/img/志斌.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

BIN
dist/img/才镇.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

BIN
dist/img/敏.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

BIN
dist/img/敬明朗.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

BIN
dist/img/晴空.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

BIN
dist/img/有希.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

BIN
dist/img/木木.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

BIN
dist/img/标记.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

BIN
dist/img/樊笼.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

BIN
dist/img/橘半.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

BIN
dist/img/欣.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

BIN
dist/img/水车.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

BIN
dist/img/汪津合.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

BIN
dist/img/皇登攀.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

BIN
dist/img/继龙.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

BIN
dist/img/编号1.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

BIN
dist/img/编号2.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

BIN
dist/img/编号3.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

BIN
dist/img/错误.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

BIN
dist/img/阿晨.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

BIN
dist/img/雨馨.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

BIN
dist/img/风格.jpg vendored

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

2
dist/js/app.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1171703b"],{"8cc7":function(e,o,t){"use strict";t.r(o);var s=function(){var e=this;e._self._c;return e._m(0)},i=[function(){var e=this,o=e._self._c;return o("div",[o("h1",[e._v("Questions")]),o("h2",[e._v("1.Error when using in Vite, indicating xml-js dependency error")]),o("p",[e._v("Solution: use the following import method:")]),o("pre",{staticClass:"hljs"},[o("code",[o("span",{staticClass:"hljs-keyword"},[e._v("import")]),e._v(" MindMap "),o("span",{staticClass:"hljs-keyword"},[e._v("from")]),e._v(" "),o("span",{staticClass:"hljs-string"},[e._v('"simple-mind-map/dist/simpleMindMap.umd.min"')]),e._v(";\n")])]),o("p",[e._v("The "),o("code",[e._v("simple-mind-map")]),e._v(" package provides the unpacked entry field "),o("code",[e._v("module")]),e._v(", and the "),o("code",[e._v("xml-js")]),e._v(" package dependency needs to import the package in the "),o("code",[e._v("node")]),e._v(" environment. Therefore, it cannot be obtained in "),o("code",[e._v("Vite")]),e._v(" and an error will be reported. Therefore, specify the import of the packed entry, and all relevant packages are packed into the product, so there will be no error.")]),o("p",[e._v("If you need to do further development, that is, you must use the unpacked code, and if you do not need to parse the "),o("code",[e._v("xmind")]),e._v(" file, you can remove the "),o("code",[e._v("xmind")]),e._v(" module. If you need it, you can try using other libraries to parse "),o("code",[e._v("xml")]),e._v(" to "),o("code",[e._v("json")]),e._v(".")]),o("h2",[e._v("2.Error "),o("code",[e._v("Getting bbox of element \"text\" is not possible: TypeError: Cannot read properties of undefined (reading 'apply')")])]),o("p",[e._v("The reason is that the installed version of "),o("code",[e._v("@svgdotjs/svg.js")]),e._v(" is too high. You can manually reduce it to the version of "),o("code",[e._v("3.0.16")]),e._v(".")]),o("h2",[e._v("3.TypeError: Cannot read properties of undefined (reading 'prototype') at sax.js:222:46")]),o("p",[e._v("The following configurations can be added to the packaging configuration file:")]),o("pre",{staticClass:"hljs"},[o("code",[e._v("resolve: { "),o("span",{staticClass:"hljs-attr"},[e._v("alias")]),e._v(": { "),o("span",{staticClass:"hljs-attr"},[e._v("stream")]),e._v(": "),o("span",{staticClass:"hljs-string"},[e._v('"stream-browserify"')]),e._v(" } }\n")])]),o("p",[e._v("Different packaging tools may have different specific configurations, with the principle of excluding 'stream' dependencies.")]),o("h2",[e._v("4.When clicking the [New], [Open], or [Save As] buttons, it will prompt that the browser does not support it or is not using the HTTPS protocol.")]),o("p",[e._v("The browser uses API "),o("a",{attrs:{href:"https://developer.mozilla.org/zh-CN/docs/Web/API/Window/showOpenFilePicker"}},[e._v("window.showOpenFilePicker")]),e._v(" to operate local files on the computer. If it is not supported, either the browser does not support this API or the page is not using the HTTPS protocol, You can press F12, or open the browser console through the right-click menu on the page and enter 'window.showOpenFilePicker' in the 'Console' tab. If it returns 'undefined', it means it is not supported. If it does not return this message and the page still prompts that the browser does not support it or is not using the HTTPS protocol, you can submit an issue or contact the author.")]),o("h2",[e._v("5.Import simple-mind-map error message, the error message is as follows:")]),o("img",{staticStyle:{width:"850px"},attrs:{src:t("bff3")}}),o("p",[e._v("This is because your build environment does not support this JavaScript syntax, which comes from the '@svgdotjs/svg.js' library. The solution is as follows:")]),o("p",[e._v("1.Manually reduce the version of the '@svgdotjs/svg.js' library. You can manually install the lower version in your project, such as: "),o("code",[e._v("npm i @svgdotjs/svg.js@3.2.0")])]),o("p",[e._v("2.If you don't reduce the version, you can modify the relevant configuration of your build tool, modify the configuration of 'babel', and have it compile the 'simple-mind-map' library in 'node.modules' or the '@svgdotjs/svg.js' library. If you are using 'vue-cli' or 'vite', they also provide the relevant configuration directly. In addition, it is necessary to install the 'babel' plugin that compiles this syntax and configure it in the 'babel' configuration file:")]),o("p",[o("code",[e._v("@babel/plugin-proposal-nullish-coalescing-operator")]),e._v("、"),o("code",[e._v("@babel/plugin-proposal-optional-chaining")]),e._v("。")])])}],n={},r=n,a=t("2877"),l=Object(a["a"])(r,s,i,!1,null,null,null);o["default"]=l.exports},bff3:function(e,o,t){e.exports=t.p+"img/错误.jpg"}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-15396d69"],{"57f5":function(s,e,v){"use strict";v.r(e);var o=function(){var s=this;s._self._c;return s._m(0)},_=[function(){var s=this,e=s._self._c;return e("div",[e("h1",[s._v("常见问题")]),e("h2",[s._v("1.在Vite中使用报错提示xml-js依赖出错")]),e("p",[s._v("解决方法:使用如下引入方式:")]),e("pre",{staticClass:"hljs"},[e("code",[e("span",{staticClass:"hljs-keyword"},[s._v("import")]),s._v(" MindMap "),e("span",{staticClass:"hljs-keyword"},[s._v("from")]),s._v(" "),e("span",{staticClass:"hljs-string"},[s._v('"simple-mind-map/dist/simpleMindMap.umd.min"')]),s._v("\n")])]),e("p",[e("code",[s._v("simple-mind-map")]),s._v("包提供未打包的入口字段"),e("code",[s._v("module")]),s._v(",依赖的"),e("code",[s._v("xml-js")]),s._v("包需要引入"),e("code",[s._v("node")]),s._v("环境下的包,所以在"),e("code",[s._v("Vite")]),s._v("中获取不到会报错,所以指定引入打包后的入口,相关包都已打包进产物,所以不会报错。")]),e("p",[s._v("如果需要二次开发,也就是必须要使用未打包代码的话,如果你不需要解析"),e("code",[s._v("xmind")]),s._v("文件的话,可以去除"),e("code",[s._v("xmind")]),s._v("模块,如果需要的话那么可以尝试换成其他的解析"),e("code",[s._v("xml")]),s._v("为"),e("code",[s._v("json")]),s._v("的库。")]),e("h2",[s._v("2.报错"),e("code",[s._v("Getting bbox of element \"text\" is not possible: TypeError: Cannot read properties of undefined (reading 'apply')")])]),e("p",[s._v("原因为安装的"),e("code",[s._v("@svgdotjs/svg.js")]),s._v("版本太高,手动降到"),e("code",[s._v("3.0.16")]),s._v("版本即可。")]),e("h2",[s._v("3.TypeError: Cannot read properties of undefined (reading 'prototype') at sax.js:222:46")]),e("p",[s._v("可以在打包配置文件中增加如下配置:")]),e("pre",{staticClass:"hljs"},[e("code",[s._v("resolve: { "),e("span",{staticClass:"hljs-attr"},[s._v("alias")]),s._v(": { "),e("span",{staticClass:"hljs-attr"},[s._v("stream")]),s._v(": "),e("span",{staticClass:"hljs-string"},[s._v('"stream-browserify"')]),s._v(" } }\n")])]),e("p",[s._v("不同的打包工具可能具体配置不一样,原理就是排除"),e("code",[s._v("stream")]),s._v("依赖。")]),e("h2",[s._v("4.点击【新建】、【打开】、【另存为】按钮时提示浏览器不支持或者非https协议。")]),e("p",[s._v("浏览器上操作电脑本地文件使用的是"),e("a",{attrs:{href:"https://developer.mozilla.org/zh-CN/docs/Web/API/Window/showOpenFilePicker"}},[s._v("window.showOpenFilePicker")]),s._v("api如果不支持要么是浏览器不支持这个API要么是因为页面非https协议你可以按F12或者在页面通过鼠标右键菜单中的【检查】打开浏览器控制台在其中的【控制台】或【console】tab中输入"),e("code",[s._v("window.showOpenFilePicker")]),s._v("按回车,如果返回"),e("code",[s._v("undefined")]),s._v("则代表不支持如果返回的不是这个而页面依旧提示提示浏览器不支持或者非https协议那么可以提交issue或者联系作者。")]),e("h2",[s._v("5.引入simple-mind-map报错报错信息如下")]),e("img",{staticStyle:{width:"850px"},attrs:{src:v("bff3")}}),e("p",[s._v("这是因为你的构建环境不支持该js语法该语法出自"),e("code",[s._v("@svgdotjs/svg.js")]),s._v("库,解决方法如下:")]),e("p",[s._v("1.手动降低"),e("code",[s._v("@svgdotjs/svg.js")]),s._v("库的版本,你可以在你的项目中手动安装低版本,比如:"),e("code",[s._v("npm i @svgdotjs/svg.js@3.2.0")])]),e("p",[s._v("2.不降低版本的话,可以通过修改你的构建工具的相关配置,修改"),e("code",[s._v("babel")]),s._v("的配置,让它编译一下"),e("code",[s._v("node_modules")]),s._v("中的"),e("code",[s._v("simple-mind-map")]),s._v("库,或"),e("code",[s._v("@svgdotjs/svg.js")]),s._v("库,如果用的是"),e("code",[s._v("vue-cli")]),s._v("或"),e("code",[s._v("vite")]),s._v(",它们也直接提供了相关配置。另外需要安装编译该语法的"),e("code",[s._v("babel")]),s._v("插件,并且配置到"),e("code",[s._v("babel")]),s._v("的配置文件中:")]),e("p",[e("code",[s._v("@babel/plugin-proposal-nullish-coalescing-operator")]),s._v("、"),e("code",[s._v("@babel/plugin-proposal-optional-chaining")]),s._v("。")])])}],t={},i=t,d=v("2877"),n=Object(d["a"])(i,o,_,!1,null,null,null);e["default"]=n.exports},bff3:function(s,e,v){s.exports=v.p+"img/错误.jpg"}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a34fb"],{"0247":function(n,e,i){"use strict";i.r(e);var t=function(){var n=this;n._self._c;return n._m(0)},s=[function(){var n=this,e=n._self._c;return e("div",[e("h1",[n._v("Client")]),e("p",[n._v("This project also provides a client version using "),e("a",{attrs:{href:"https://www.electronjs.org/"}},[n._v("Electron")]),n._v(" Development. Supports 'Windows', 'Mac', and 'Linux'.")]),e("p",[n._v("Currently, the function is relatively simple:")]),e("ol",[e("li",[e("p",[n._v("Support creating and opening files for editing;")])]),e("li",[e("p",[n._v("Support viewing the list of recently edited files;")])]),e("li",[e("p",[n._v("Support the copying, deletion, and renaming of files;")])])]),e("h2",[n._v("Download")]),e("blockquote",[e("p",[n._v("The client version may lag behind the online version. To try new features, please prioritize using the online version.")])]),e("p",[n._v("You can directly download the corresponding client for installation and use, and two download addresses are provided:")]),e("p",[n._v("Github"),e("a",{attrs:{href:"https://github.com/wanglin2/mind-map/releases"}},[n._v("releases")]),n._v("。")]),e("p",[n._v("Baidu cloud disk"),e("a",{attrs:{href:"https://pan.baidu.com/s/1huasEbKsGNH2Af68dvWiOg?pwd=3bp3"}},[n._v("地址")]),n._v("。")]),e("h2",[n._v("Development")]),e("p",[n._v("If necessary, you can also conduct secondary development.")]),e("h3",[n._v("clone")]),e("pre",{staticClass:"hljs"},[e("code",[n._v("git "),e("span",{staticClass:"hljs-built_in"},[n._v("clone")]),n._v(" https://github.com/wanglin2/mind-map.git\n"),e("span",{staticClass:"hljs-built_in"},[n._v("cd")]),n._v(" mind-map\ngit checkout electron\n")])]),e("h3",[n._v("Start serve")]),e("p",[n._v("Execute in the project root directory:")]),e("pre",{staticClass:"hljs"},[e("code",[e("span",{staticClass:"hljs-built_in"},[n._v("cd")]),n._v(" simple-mind-map\nnpm i\nnpm link\n"),e("span",{staticClass:"hljs-built_in"},[n._v("cd")]),n._v(" ..\n"),e("span",{staticClass:"hljs-built_in"},[n._v("cd")]),n._v(" web\nnpm i\nnpm link simple-mind-map\nnpm run electron:serve\n")])]),e("h3",[n._v("Packaging client")]),e("p",[n._v("You need at least two computers, one 'Windows' and one 'Mac'.")]),e("p",[n._v("Packaging 'Windows' application:")]),e("pre",{staticClass:"hljs"},[e("code",[n._v("npm run electron:build-win\n")])]),e("p",[n._v("Packaging 'Mac' application:")]),e("pre",{staticClass:"hljs"},[e("code",[n._v("npm run electron:build-mac\n")])]),e("p",[n._v("Packaging 'Linux' application:")]),e("pre",{staticClass:"hljs"},[e("code",[n._v("npm run electron:build-linux\n")])]),e("p",[n._v("Packaging all applications:")]),e("pre",{staticClass:"hljs"},[e("code",[n._v("npm run electron:build-all\n")])]),e("p",[n._v("Automatically pack according to your computer system:")]),e("pre",{staticClass:"hljs"},[e("code",[n._v("npm run electron:build\n")])])])}],a={},l=a,o=i("2877"),p=Object(o["a"])(l,t,s,!1,null,null,null);e["default"]=p.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a3fbe"],{"0503":function(e,s,a){"use strict";a.r(s);var _=function(){var e=this;e._self._c;return e._m(0)},c=[function(){var e=this,s=e._self._c;return s("div",[s("h1",[e._v("Search 插件")]),s("blockquote",[s("p",[e._v("v0.6.9+")])]),s("p",[e._v("该插件提供搜索和替换节点内容的功能。")]),s("h2",[e._v("注册")]),s("pre",{staticClass:"hljs"},[s("code",[s("span",{staticClass:"hljs-keyword"},[e._v("import")]),e._v(" MindMap "),s("span",{staticClass:"hljs-keyword"},[e._v("from")]),e._v(" "),s("span",{staticClass:"hljs-string"},[e._v("'simple-mind-map'")]),e._v("\n"),s("span",{staticClass:"hljs-keyword"},[e._v("import")]),e._v(" Search "),s("span",{staticClass:"hljs-keyword"},[e._v("from")]),e._v(" "),s("span",{staticClass:"hljs-string"},[e._v("'simple-mind-map/src/plugins/Search.js'")]),e._v("\nMindMap.usePlugin(Search)\n")])]),s("p",[e._v("注册完且实例化"),s("code",[e._v("MindMap")]),e._v("后可通过"),s("code",[e._v("mindMap.search")]),e._v("获取到该实例。")]),s("h2",[e._v("事件")]),s("h3",[e._v("search_info_change")]),s("p",[e._v("可以通过监听"),s("code",[e._v("search_info_change")]),e._v("事件来获取当前搜索结果的数量和当前定位到的索引。")]),s("pre",{staticClass:"hljs"},[s("code",[e._v("mindMap.on("),s("span",{staticClass:"hljs-string"},[e._v("'search_info_change'")]),e._v(", "),s("span",{staticClass:"hljs-function"},[e._v("("),s("span",{staticClass:"hljs-params"},[e._v("data")]),e._v(") =>")]),e._v(" {\n "),s("span",{staticClass:"hljs-comment"},[e._v("/*\n data: {\n currentIndex,// 索引从0开始\n total\n }\n */")]),e._v("\n})\n")])]),s("h2",[e._v("方法")]),s("h3",[e._v("search(searchText, callback)")]),s("ul",[s("li",[s("p",[s("code",[e._v("searchText")]),e._v(":要进行搜索的文本")])]),s("li",[s("p",[s("code",[e._v("callback")]),e._v(":本次搜索完成的回调函数,会在跳转到节点后触发")])])]),s("p",[e._v("搜索节点内容,可以重复调用,每调一次,会搜索和定位到下一个匹配的节点。如果搜索文本改变了,那么会重新搜索。")]),s("h3",[e._v("endSearch()")]),s("p",[e._v("结束搜索。")]),s("h3",[e._v("replace(replaceText, jumpNext = false)")]),s("ul",[s("li",[s("p",[s("code",[e._v("replaceText")]),e._v(":要进行替换的文本")])]),s("li",[s("p",[s("code",[e._v("jumpNext")]),e._v("v0.6.12+,是否自动跳转到下一个匹配节点")])])]),s("p",[e._v("替换当前节点内容,要在调用了"),s("code",[e._v("search")]),e._v("方法之后调用,会替换当前定位到的匹配节点内容。")]),s("h3",[e._v("replaceAll(replaceText)")]),s("ul",[s("li",[s("code",[e._v("replaceText")]),e._v(":要进行替换的文本")])]),s("p",[e._v("替换所有匹配的节点内容,要在调用了"),s("code",[e._v("search")]),e._v("方法之后调用。")]),s("h3",[e._v("getReplacedText(node, searchText, replaceText)")]),s("ul",[s("li",[s("p",[s("code",[e._v("node")]),e._v(":节点实例")])]),s("li",[s("p",[s("code",[e._v("searchText")]),e._v(":要进行搜索的文本")])]),s("li",[s("p",[s("code",[e._v("replaceText")]),e._v(":要进行替换的文本")])])]),s("p",[e._v("返回该节点搜索和替换后的文本内容,注意,不会实际改变节点内容,只是用来计算一个节点替换后的内容。")])])}],v={},l=v,n=a("2877"),t=Object(n["a"])(l,_,c,!1,null,null,null);s["default"]=t.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a4659"],{"05ec":function(n,t,u){"use strict";u.r(t);var _=function(){var n=this;n._self._c;return n._m(0)},c=[function(){var n=this,t=n._self._c;return t("div",[t("h1",[n._v("概要/关联线")]),t("h2",[n._v("概要")]),t("p",[n._v("可以选中一个节点添加概要,如果想给多个节点添加一个概要,只能通过给它们的父节点添加来实现。")]),t("p",[n._v("概要节点后面无法再添加节点,后续该特性大概率也不会支持。")]),t("h2",[n._v("关联线")]),t("p",[n._v("添加关联线:先激活某个节点,然后点击上方工具栏的【关联线】按钮,最后点击要关联到的节点即可创建完成。")]),t("p",[n._v("删除关联线:需要先点击选中关联线,然后按删除键即可。")])])}],e={},v=e,p=u("2877"),r=Object(p["a"])(v,_,c,!1,null,null,null);t["default"]=r.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a4b03"],{"0805":function(t,s,_){"use strict";_.r(s);var a=function(){var t=this;t._self._c;return t._m(0)},v=[function(){var t=this,s=t._self._c;return s("div",[s("h1",[t._v("快捷键操作如何传递自定义参数")]),s("p",[t._v("库提供了很多命令,比如插入子节点的"),s("code",[t._v("INSERT_CHILD_NODE")]),t._v("等这些命令大多可以接收一定参数比如在插入节点时我想指定初始文本和节点uid那么可以这样调用")]),s("pre",{staticClass:"hljs"},[s("code",[t._v("mindMap.execCommand("),s("span",{staticClass:"hljs-string"},[t._v("'INSERT_CHILD_NODE'")]),t._v(", "),s("span",{staticClass:"hljs-literal"},[t._v("true")]),t._v(", [], {\n "),s("span",{staticClass:"hljs-attr"},[t._v("text")]),t._v(": "),s("span",{staticClass:"hljs-string"},[t._v("'初始文本'")]),t._v(",\n "),s("span",{staticClass:"hljs-attr"},[t._v("uid")]),t._v(": "),s("span",{staticClass:"hljs-string"},[t._v("'xxx'")]),t._v("\n})\n")])]),s("p",[t._v("但是同时库内部也默认注册了很多快捷键,比如插入下级节点的"),s("code",[t._v("Tab")]),t._v("快捷键,很遗憾,目前快捷键操作无法让你传入自定义的参数,那么该怎么办呢,可以这样处理,首先确定你要给什么快捷键传入参数,比如"),s("code",[t._v("Tab")]),t._v(",那么首先可以调用如下方法删除库默认注册的快捷键:")]),s("pre",{staticClass:"hljs"},[s("code",[s("span",{staticClass:"hljs-keyword"},[t._v("const")]),t._v(" keyName = "),s("span",{staticClass:"hljs-string"},[t._v("'Tab'")]),t._v("\nmindMap.keyCommand.removeShortcut(keyName)\n")])]),s("p",[t._v("然后再重新注册即可:")]),s("pre",{staticClass:"hljs"},[s("code",[t._v("mindMap.keyCommand.addShortcut(keyName, "),s("span",{staticClass:"hljs-function"},[t._v("() =>")]),t._v(" {\n mindMap.execCommand("),s("span",{staticClass:"hljs-string"},[t._v("'INSERT_CHILD_NODE'")]),t._v(", "),s("span",{staticClass:"hljs-literal"},[t._v("true")]),t._v(", [], {\n "),s("span",{staticClass:"hljs-attr"},[t._v("text")]),t._v(": "),s("span",{staticClass:"hljs-string"},[t._v("'初始文本'")]),t._v(",\n "),s("span",{staticClass:"hljs-attr"},[t._v("uid")]),t._v(": "),s("span",{staticClass:"hljs-string"},[t._v("'xxx'")]),t._v("\n })\n})\n")])]),s("p",[t._v("库内部默认注册的快捷键对应的命令一览:")]),s("table",[s("thead",[s("tr",[s("th",[t._v("快捷键")]),s("th",[t._v("命令")])])]),s("tbody",[s("tr",[s("td",[t._v("Control+z")]),s("td",[t._v("BACK")])]),s("tr",[s("td",[t._v("Control+y")]),s("td",[t._v("FORWARD")])]),s("tr",[s("td",[t._v("Tab")]),s("td",[t._v("INSERT_CHILD_NODE")])]),s("tr",[s("td",[t._v("Insert")]),s("td",[t._v("INSERT_CHILD_NODE")])]),s("tr",[s("td",[t._v("Enter")]),s("td",[t._v("INSERT_NODE")])]),s("tr",[s("td",[t._v("Shift+Tab")]),s("td",[t._v("INSERT_PARENT_NODE")])]),s("tr",[s("td",[t._v("Control+g")]),s("td",[t._v("ADD_GENERALIZATION")])]),s("tr",[s("td",[t._v("Del或Backspace")]),s("td",[t._v("REMOVE_NODE")])]),s("tr",[s("td",[t._v("Shift+Backspace")]),s("td",[t._v("REMOVE_CURRENT_NODE")])]),s("tr",[s("td",[t._v("Control+a")]),s("td",[t._v("SELECT_ALL")])]),s("tr",[s("td",[t._v("Control+l")]),s("td",[t._v("RESET_LAYOUT")])]),s("tr",[s("td",[t._v("Control+Up")]),s("td",[t._v("UP_NODE")])]),s("tr",[s("td",[t._v("Control+Down")]),s("td",[t._v("DOWN_NODE")])])])])])}],n={},l=n,r=_("2877"),d=Object(r["a"])(l,a,v,!1,null,null,null);s["default"]=d.exports}}]);

View File

@@ -1 +0,0 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a514a"],{"08d0":function(s,a,t){"use strict";t.r(a);var n=function(){var s=this;s._self._c;return s._m(0)},v=[function(){var s=this,a=s._self._c;return a("div",[a("h1",[s._v("Markdown解析")]),a("blockquote",[a("p",[s._v("v0.4.7+")])]),a("p",[s._v("提供导入和导出"),a("code",[s._v("Markdown")]),s._v("文件的方法。")]),a("h2",[s._v("引入")]),a("pre",{staticClass:"hljs"},[a("code",[a("span",{staticClass:"hljs-keyword"},[s._v("import")]),s._v(" markdown "),a("span",{staticClass:"hljs-keyword"},[s._v("from")]),s._v(" "),a("span",{staticClass:"hljs-string"},[s._v("'simple-mind-map/src/parse/markdown.js'")]),s._v("\n")])]),a("p",[s._v("如果使用的是"),a("code",[s._v("umd")]),s._v("格式的文件,那么可以通过如下方式获取:")]),a("pre",{staticClass:"hljs"},[a("code",[a("span",{staticClass:"hljs-tag"},[s._v("<"),a("span",{staticClass:"hljs-name"},[s._v("script")]),s._v(" "),a("span",{staticClass:"hljs-attr"},[s._v("src")]),s._v("="),a("span",{staticClass:"hljs-string"},[s._v('"simple-mind-map/dist/simpleMindMap.umd.min.js"')]),s._v(">")]),a("span",{staticClass:"hljs-tag"},[s._v("</"),a("span",{staticClass:"hljs-name"},[s._v("script")]),s._v(">")]),s._v("\n")])]),a("pre",{staticClass:"hljs"},[a("code",[s._v("simpleMindMap.markdown\n")])]),a("h2",[s._v("方法")]),a("h3",[s._v("transformToMarkdown(data)")]),a("ul",[a("li",[a("code",[s._v("data")]),s._v(":思维导图数据,可以通过"),a("code",[s._v("mindMap.getData()")]),s._v("方法获取。")])]),a("p",[s._v("将思维导图数据转换成"),a("code",[s._v("Markdown")]),s._v("格式数据,返回的是字符串。")]),a("h3",[s._v("transformMarkdownTo(mdContent)")]),a("ul",[a("li",[a("code",[s._v("mdContent")]),s._v(":要转换的"),a("code",[s._v("Markdown")]),s._v("数据,字符串类型。")])]),a("p",[s._v("将"),a("code",[s._v("Markdown")]),s._v("字符串转换成节点树数据,返回一个"),a("code",[s._v("Promise")]),s._v("实例。可以使用"),a("code",[s._v("mindMap.setData()")]),s._v("方法将转换后的数据渲染到画布上。")])])}],_={},d=_,o=t("2877"),l=Object(o["a"])(d,n,v,!1,null,null,null);a["default"]=l.exports}}]);

Some files were not shown because too many files have changed in this diff Show More