From c29477ed5511a3fafece86f40886d2e674bcdeec 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: Fri, 6 Dec 2024 17:43:24 +0800 Subject: [PATCH] =?UTF-8?q?Demo=EF=BC=9A=E6=94=AF=E6=8C=81=E5=8F=8C?= =?UTF-8?q?=E5=87=BB=E8=8A=82=E7=82=B9=E5=A4=87=E6=B3=A8=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E8=BF=9B=E5=85=A5=E5=A4=87=E6=B3=A8=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/pages/Edit/components/Edit.vue | 3 +- web/src/pages/Edit/components/NodeNote.vue | 43 ++++++++++++---------- web/src/pages/Edit/components/Toolbar.vue | 7 ++++ 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/web/src/pages/Edit/components/Edit.vue b/web/src/pages/Edit/components/Edit.vue index 60738ace..285b0e92 100644 --- a/web/src/pages/Edit/components/Edit.vue +++ b/web/src/pages/Edit/components/Edit.vue @@ -614,7 +614,8 @@ export default { 'node_attachmentClick', 'node_attachmentContextmenu', 'demonstrate_jump', - 'exit_demonstrate' + 'exit_demonstrate', + 'node_note_dblclick' ].forEach(event => { this.mindMap.on(event, (...args) => { this.$bus.$emit(event, ...args) diff --git a/web/src/pages/Edit/components/NodeNote.vue b/web/src/pages/Edit/components/NodeNote.vue index 5f825d79..65ee7fc9 100644 --- a/web/src/pages/Edit/components/NodeNote.vue +++ b/web/src/pages/Edit/components/NodeNote.vue @@ -42,7 +42,8 @@ export default { note: '', activeNodes: [], editor: null, - isMobile: isMobile() + isMobile: isMobile(), + appointNode: null } }, watch: { @@ -63,6 +64,10 @@ export default { methods: { handleNodeActive(...args) { this.activeNodes = [...args[1]] + this.updateNoteInfo() + }, + + updateNoteInfo() { if (this.activeNodes.length > 0) { let firstNode = this.activeNodes[0] this.note = firstNode.getData('note') || '' @@ -71,19 +76,18 @@ export default { } }, - handleShowNodeNote() { + handleShowNodeNote(node) { this.$bus.$emit('startTextEdit') + if (node) { + this.appointNode = node + this.note = node.getData('note') || '' + } this.dialogVisible = true this.$nextTick(() => { this.initEditor() }) }, - /** - * @Author: 王林25 - * @Date: 2022-05-09 11:37:05 - * @Desc: 初始化编辑器 - */ initEditor() { if (!this.editor) { this.editor = new Editor({ @@ -96,25 +100,24 @@ export default { this.editor.setMarkdown(this.note) }, - /** - * @Author: 王林 - * @Date: 2021-06-22 22:08:11 - * @Desc: 取消 - */ cancel() { this.dialogVisible = false + if (this.appointNode) { + this.appointNode = null + this.updateNoteInfo() + } }, - /** - * @Author: 王林 - * @Date: 2021-06-06 22:28:20 - * @Desc: 确定 - */ confirm() { this.note = this.editor.getMarkdown() - this.activeNodes.forEach(node => { - node.setNote(this.note) - }) + if (this.appointNode) { + this.appointNode.setNote(this.note) + } else { + this.activeNodes.forEach(node => { + node.setNote(this.note) + }) + } + this.cancel() } } diff --git a/web/src/pages/Edit/components/Toolbar.vue b/web/src/pages/Edit/components/Toolbar.vue index 5de18d5d..98c27b8a 100644 --- a/web/src/pages/Edit/components/Toolbar.vue +++ b/web/src/pages/Edit/components/Toolbar.vue @@ -234,12 +234,14 @@ export default { window.addEventListener('resize', this.computeToolbarShowThrottle) this.$bus.$on('lang_change', this.computeToolbarShowThrottle) window.addEventListener('beforeunload', this.onUnload) + this.$bus.$on('node_note_dblclick', this.onNodeNoteDblclick) }, beforeDestroy() { this.$bus.$off('write_local_file', this.onWriteLocalFile) window.removeEventListener('resize', this.computeToolbarShowThrottle) this.$bus.$off('lang_change', this.computeToolbarShowThrottle) window.removeEventListener('beforeunload', this.onUnload) + this.$bus.$off('node_note_dblclick', this.onNodeNoteDblclick) }, methods: { // 计算工具按钮如何显示 @@ -501,6 +503,11 @@ export default { } this.$message.warning(this.$t('toolbar.notSupportTip')) } + }, + + onNodeNoteDblclick(node, e) { + e.stopPropagation() + this.$bus.$emit('showNodeNote', node) } } }