From 82473027dad905318b9503a1a561d57aed143f5c 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: Wed, 14 Aug 2024 09:41:33 +0800 Subject: [PATCH] =?UTF-8?q?Demo=EF=BC=9A=E5=8F=B3=E9=94=AE=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=96=B0=E5=A2=9E=E8=AE=BE=E7=BD=AE=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simple-mind-map/src/core/render/node/Node.js | 4 +- simple-mind-map/src/layouts/Base.js | 8 +- web/src/config/en.js | 60 ++++++++++ web/src/config/index.js | 22 +++- web/src/config/zh.js | 60 ++++++++++ web/src/lang/en_us.js | 3 +- web/src/lang/zh_cn.js | 3 +- web/src/pages/Edit/components/Contextmenu.vue | 111 +++++++++++++++++- web/src/pages/Edit/components/Edit.vue | 6 + web/src/store.js | 6 + 10 files changed, 267 insertions(+), 16 deletions(-) diff --git a/simple-mind-map/src/core/render/node/Node.js b/simple-mind-map/src/core/render/node/Node.js index 4b96b9a4..f584d307 100644 --- a/simple-mind-map/src/core/render/node/Node.js +++ b/simple-mind-map/src/core/render/node/Node.js @@ -218,8 +218,8 @@ class Node { this._tagData = this.createTagNode() this._noteData = this.createNoteNode() this._attachmentData = this.createAttachmentNode() - if (this.mindMap.number) { - this._numberData = this.mindMap.number.createNumberContent(this) + if (this.mindMap.numbers) { + this._numberData = this.mindMap.numbers.createNumberContent(this) } this._prefixData = createNodePrefixContent ? createNodePrefixContent(this) diff --git a/simple-mind-map/src/layouts/Base.js b/simple-mind-map/src/layouts/Base.js index c5bdf3b4..312b1f02 100644 --- a/simple-mind-map/src/layouts/Base.js +++ b/simple-mind-map/src/layouts/Base.js @@ -72,13 +72,13 @@ class Base { // 获取节点编号信息 getNumberInfo({ parent, ancestors, layerIndex, index }) { // 编号 - const hasNumberPlugin = !!this.mindMap.number + const hasNumberPlugin = !!this.mindMap.numbers const parentNumberStr = hasNumberPlugin && parent && parent._node.number ? parent._node.number : '' const newNumberStr = hasNumberPlugin - ? this.mindMap.number.getNodeNumberStr({ + ? this.mindMap.numbers.getNodeNumberStr({ ancestors, layerIndex, num: index + 1, @@ -122,7 +122,7 @@ class Base { // 判断编号是否改变 let isNumberChange = false if (hasNumberPlugin) { - isNumberChange = this.mindMap.number.updateNumber(newNode, newNumberStr) + isNumberChange = this.mindMap.numbers.updateNumber(newNode, newNumberStr) } // 主题或主题配置改变了、节点层级改变了,需要重新渲染节点文本等情况需要重新计算节点大小和布局 if ( @@ -167,7 +167,7 @@ class Base { // 判断编号是否改变 let isNumberChange = false if (hasNumberPlugin) { - isNumberChange = this.mindMap.number.updateNumber(newNode, newNumberStr) + isNumberChange = this.mindMap.numbers.updateNumber(newNode, newNumberStr) } if ( isResizeSource || diff --git a/web/src/config/en.js b/web/src/config/en.js index 28f32f16..5a5f0968 100644 --- a/web/src/config/en.js +++ b/web/src/config/en.js @@ -497,3 +497,63 @@ export const downTypeList = [ desc: 'Plain text file' } ] + +// 编号类型列表 +export const numberTypeList = [ + { + name: 'None', + value: '' + }, + { + name: '1, 2, 3', + value: 1 + }, + { + name: '1., 2., 3.', + value: 2 + }, + { + name: '(1), (2), (3)', + value: 3 + }, + { + name: 'a., b., c.', + value: 4 + }, + { + name: 'A., B., C.', + value: 5 + }, + { + name: 'i., ii., iii.', + value: 6 + }, + { + name: 'I., II., III.', + value: 7 + }, + { + name: '一、, 二、, 三、', + value: 8 + } +] + +// 编号层级列表 +export const numberLevelList = [ + { + name: '1 level', + value: 1 + }, + { + name: '2 level', + value: 2 + }, + { + name: '3 level', + value: 3 + }, + { + name: 'All level', + value: 0 + } +] diff --git a/web/src/config/index.js b/web/src/config/index.js index 9b8e115d..32affc86 100644 --- a/web/src/config/index.js +++ b/web/src/config/index.js @@ -19,7 +19,9 @@ import { backgroundSizeList as backgroundSizeListZh, downTypeList as downTypeListZh, shapeListMap as shapeListMapZh, - lineStyleMap as lineStyleMapZh + lineStyleMap as lineStyleMapZh, + numberTypeList as numberTypeListZh, + numberLevelList as numberLevelListZh } from './zh' import { fontFamilyList as fontFamilyListEn, @@ -32,7 +34,9 @@ import { shapeList as shapeListEn, sidebarTriggerList as sidebarTriggerListEn, backgroundSizeList as backgroundSizeListEn, - downTypeList as downTypeListEn + downTypeList as downTypeListEn, + numberTypeList as numberTypeListEn, + numberLevelList as numberLevelListEn } from './en' const fontFamilyList = { @@ -100,6 +104,16 @@ const downTypeList = { en: downTypeListEn } +const numberTypeList = { + zh: numberTypeListZh, + en: numberTypeListEn +} + +const numberLevelList = { + zh: numberLevelListZh, + en: numberLevelListEn +} + export { fontSizeList, lineHeightList, @@ -121,5 +135,7 @@ export { shapeList, shapeListMap, sidebarTriggerList, - downTypeList + downTypeList, + numberTypeList, + numberLevelList } diff --git a/web/src/config/zh.js b/web/src/config/zh.js index ea976986..3985d124 100644 --- a/web/src/config/zh.js +++ b/web/src/config/zh.js @@ -591,3 +591,63 @@ export const downTypeList = [ desc: '纯文本文件' } ] + +// 编号类型列表 +export const numberTypeList = [ + { + name: '无编号', + value: '' + }, + { + name: '1, 2, 3', + value: 1 + }, + { + name: '1., 2., 3.', + value: 2 + }, + { + name: '(1), (2), (3)', + value: 3 + }, + { + name: 'a., b., c.', + value: 4 + }, + { + name: 'A., B., C.', + value: 5 + }, + { + name: 'i., ii., iii.', + value: 6 + }, + { + name: 'I., II., III.', + value: 7 + }, + { + name: '一、, 二、, 三、', + value: 8 + } +] + +// 编号层级列表 +export const numberLevelList = [ + { + name: '编号首层', + value: 1 + }, + { + name: '编号前两层', + value: 2 + }, + { + name: '编号前三层', + value: 3 + }, + { + name: '编号所有层', + value: 0 + } +] diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js index 73eeead3..5cd6ca70 100644 --- a/web/src/lang/en_us.js +++ b/web/src/lang/en_us.js @@ -110,7 +110,8 @@ export default { copyToTxt: 'Txt', copyToPng: 'Png', copySuccess: 'Copy success', - copyFail: 'Copy fail' + copyFail: 'Copy fail', + number: 'Number child nodes' }, count: { words: 'Words', diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js index 3a05d242..f92b4c8e 100644 --- a/web/src/lang/zh_cn.js +++ b/web/src/lang/zh_cn.js @@ -110,7 +110,8 @@ export default { copyToTxt: 'Txt', copyToPng: '图片', copySuccess: '复制成功', - copyFail: '复制失败' + copyFail: '复制失败', + number: '编号其子节点' }, count: { words: '字数', diff --git a/web/src/pages/Edit/components/Contextmenu.vue b/web/src/pages/Edit/components/Contextmenu.vue index 8f6ed78c..2110cfbc 100644 --- a/web/src/pages/Edit/components/Contextmenu.vue +++ b/web/src/pages/Edit/components/Contextmenu.vue @@ -39,6 +39,7 @@ {{ $t('contextmenu.insertSummary') }} Ctrl + G +