From 4a7485c58e53e1f8a4160901973de416c4d612ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=A1=97=E8=A7=92=E5=B0=8F=E6=9E=97?= <1013335014@qq.com>
Date: Tue, 22 Oct 2024 17:32:46 +0800
Subject: [PATCH] =?UTF-8?q?Demo=EF=BC=9A=E8=8A=82=E7=82=B9=E5=8F=B3?=
=?UTF-8?q?=E9=94=AE=E8=8F=9C=E5=8D=95=E6=96=B0=E5=A2=9E=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E5=BE=85=E5=8A=9E=E6=8C=89=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
simple-mind-map/src/constants/constant.js | 3 ++-
web/src/lang/en_us.js | 4 ++-
web/src/lang/zh_cn.js | 4 ++-
web/src/lang/zh_tw.js | 4 ++-
web/src/pages/Edit/components/Contextmenu.vue | 26 ++++++++++++++++++-
web/src/pages/Edit/components/Edit.vue | 13 +++++-----
web/src/store.js | 6 +++++
7 files changed, 49 insertions(+), 11 deletions(-)
diff --git a/simple-mind-map/src/constants/constant.js b/simple-mind-map/src/constants/constant.js
index 20cee026..110c90f4 100644
--- a/simple-mind-map/src/constants/constant.js
+++ b/simple-mind-map/src/constants/constant.js
@@ -167,7 +167,8 @@ export const nodeDataNoStylePropList = [
'range',
'customLeft',
'customTop',
- 'customTextWidth'
+ 'customTextWidth',
+ 'checkbox'
]
// 错误类型
diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js
index 3f25c6dc..c5a8f01f 100644
--- a/web/src/lang/en_us.js
+++ b/web/src/lang/en_us.js
@@ -113,7 +113,9 @@ export default {
copySuccess: 'Copy success',
copyFail: 'Copy fail',
number: 'Number child nodes',
- expandNodeChild: 'Expand all sub nodes'
+ expandNodeChild: 'Expand all sub nodes',
+ addToDo: 'Add toDo',
+ removeToDo: 'Remove toDo'
},
count: {
words: 'Words',
diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js
index 3b02eba1..3c6371aa 100644
--- a/web/src/lang/zh_cn.js
+++ b/web/src/lang/zh_cn.js
@@ -113,7 +113,9 @@ export default {
copySuccess: '复制成功',
copyFail: '复制失败',
number: '编号其子节点',
- expandNodeChild: '展开所有下级节点'
+ expandNodeChild: '展开所有下级节点',
+ addToDo: '添加待办',
+ removeToDo: '删除待办'
},
count: {
words: '字数',
diff --git a/web/src/lang/zh_tw.js b/web/src/lang/zh_tw.js
index 01f2005b..66fc458b 100644
--- a/web/src/lang/zh_tw.js
+++ b/web/src/lang/zh_tw.js
@@ -113,7 +113,9 @@ export default {
copySuccess: '複製成功',
copyFail: '複製失敗',
number: '將其子節點編號',
- expandNodeChild: '展開所有下級節點'
+ expandNodeChild: '展開所有下級節點',
+ addToDo: '添加待辦',
+ removeToDo: '刪除待辦'
},
count: {
words: '字數',
diff --git a/web/src/pages/Edit/components/Contextmenu.vue b/web/src/pages/Edit/components/Contextmenu.vue
index d4fcb711..06dd4bb6 100644
--- a/web/src/pages/Edit/components/Contextmenu.vue
+++ b/web/src/pages/Edit/components/Contextmenu.vue
@@ -89,6 +89,11 @@
+
+ {{
+ hasCheckbox ? $t('contextmenu.removeToDo') : $t('contextmenu.addToDo')
+ }}
+
{{ $t('contextmenu.deleteNode') }}
@@ -244,7 +249,8 @@ export default {
...mapState({
isZenMode: state => state.localConfig.isZenMode,
isDark: state => state.localConfig.isDark,
- supportNumbers: state => state.supportNumbers
+ supportNumbers: state => state.supportNumbers,
+ supportCheckbox: state => state.supportCheckbox
}),
expandList() {
return [
@@ -322,6 +328,9 @@ export default {
},
numberLevelList() {
return numberLevelList[this.$i18n.locale] || numberLevelList.zh
+ },
+ hasCheckbox() {
+ return !!this.node.getData('checkbox')
}
},
created() {
@@ -496,6 +505,21 @@ export default {
this.mindMap.execCommand('SET_NUMBER', [], {
[prop]: value
})
+ this.hide()
+ },
+
+ // 设置待办
+ setCheckbox() {
+ this.mindMap.execCommand(
+ 'SET_CHECKBOX',
+ [],
+ this.hasCheckbox
+ ? null
+ : {
+ done: false
+ }
+ )
+ this.hide()
},
// 复制到剪贴板
diff --git a/web/src/pages/Edit/components/Edit.vue b/web/src/pages/Edit/components/Edit.vue
index 8b46d59f..8ed12d78 100644
--- a/web/src/pages/Edit/components/Edit.vue
+++ b/web/src/pages/Edit/components/Edit.vue
@@ -74,17 +74,14 @@ import OuterFrame from 'simple-mind-map/src/plugins/OuterFrame.js'
import Themes from 'simple-mind-map-plugin-themes'
// 协同编辑插件
// import Cooperate from 'simple-mind-map/src/plugins/Cooperate.js'
-// 手绘风格插件,该插件为付费插件,详情请查看开发文档
+// 以下插件为付费插件,详情请查看开发文档。依次为:手绘风格插件、标记插件、编号插件、Freemind软件格式导入导出插件、Excel软件格式导入导出插件、待办插件
// import HandDrawnLikeStyle from 'simple-mind-map-plugin-handdrawnlikestyle'
-// 标记插件,该插件为付费插件,详情请查看开发文档
// import Notation from 'simple-mind-map-plugin-notation'
-// 编号插件,该插件为付费插件,详情请查看开发文档
// import Numbers from 'simple-mind-map-plugin-numbers'
-// Freemind软件格式导入导出插件,该插件为付费插件,详情请查看开发文档
// import Freemind from 'simple-mind-map-plugin-freemind'
-// Excel软件格式导入导出插件,该插件为付费插件,详情请查看开发文档
// import Excel from 'simple-mind-map-plugin-excel'
-// npm link simple-mind-map-plugin-excel simple-mind-map-plugin-freemind simple-mind-map-plugin-numbers simple-mind-map-plugin-notation simple-mind-map-plugin-handdrawnlikestyle simple-mind-map simple-mind-map-plugin-themes
+// import Checkbox from 'simple-mind-map-plugin-checkbox'
+// npm link simple-mind-map-plugin-excel simple-mind-map-plugin-freemind simple-mind-map-plugin-numbers simple-mind-map-plugin-notation simple-mind-map-plugin-handdrawnlikestyle simple-mind-map-plugin-checkbox simple-mind-map simple-mind-map-plugin-themes
import OutlineSidebar from './OutlineSidebar'
import Style from './Style'
import BaseStyle from './BaseStyle'
@@ -577,6 +574,10 @@ export default {
this.$store.commit('setSupportExcel', true)
Vue.prototype.Excel = Excel
}
+ if (typeof Checkbox !== 'undefined') {
+ this.mindMap.addPlugin(Checkbox)
+ this.$store.commit('setSupportCheckbox', true)
+ }
this.mindMap.keyCommand.addShortcut('Control+s', () => {
this.manualSave()
})
diff --git a/web/src/store.js b/web/src/store.js
index ac0e9aea..9adc970c 100644
--- a/web/src/store.js
+++ b/web/src/store.js
@@ -33,6 +33,7 @@ const store = new Vuex.Store({
supportNumbers: false, // 是否支持编号
supportFreemind: false, // 是否支持Freemind插件
supportExcel: false, // 是否支持Excel插件
+ supportCheckbox: false, // 是否支持Checkbox插件
isDragOutlineTreeNode: false // 当前是否正在拖拽大纲树的节点
},
mutations: {
@@ -105,6 +106,11 @@ const store = new Vuex.Store({
state.supportExcel = data
},
+ // 设置是否支持Checkbox插件
+ setSupportCheckbox(state, data) {
+ state.supportCheckbox = data
+ },
+
// 设置树节点拖拽
setIsDragOutlineTreeNode(state, data) {
state.isDragOutlineTreeNode = data