diff --git a/simple-mind-map/src/constants/defaultOptions.js b/simple-mind-map/src/constants/defaultOptions.js index 25e39f28..d93fd734 100644 --- a/simple-mind-map/src/constants/defaultOptions.js +++ b/simple-mind-map/src/constants/defaultOptions.js @@ -511,5 +511,10 @@ export const defaultOpt = { maxImgResizeWidthInheritTheme: false, // 最大允许缩放的尺寸,maxImgResizeWidthInheritTheme选项设置为false时生效,不限制最大值可传递Infinity maxImgResizeWidth: Infinity, - maxImgResizeHeight: Infinity + maxImgResizeHeight: Infinity, + // 自定义删除按钮和尺寸调整按钮的内容 + // 默认为内置图标,你可以传递一个svg字符串,或者其他的html字符串 + // 整体大小请使用上面的minImgResizeWidth和minImgResizeHeight选项设置 + customDeleteBtnInnerHTML: '', + customResizeBtnInnerHTML: '' } diff --git a/simple-mind-map/src/parse/xmind.js b/simple-mind-map/src/parse/xmind.js index 3040e26a..d2bce01f 100644 --- a/simple-mind-map/src/parse/xmind.js +++ b/simple-mind-map/src/parse/xmind.js @@ -253,7 +253,9 @@ const transformToXmind = async (data, name) => { } // 标签 if (node.data.tag !== undefined) { - newData.labels = node.data.tag || [] + newData.labels = (node.data.tag || []).map(item => { + return typeof item === 'object' && item !== null ? item.text : item + }) } // 图片 handleNodeImageToXmind(node, newNode, waitLoadImageList, imageList) diff --git a/simple-mind-map/src/plugins/NodeImgAdjust.js b/simple-mind-map/src/plugins/NodeImgAdjust.js index ce2a17d4..7f859c1d 100644 --- a/simple-mind-map/src/plugins/NodeImgAdjust.js +++ b/simple-mind-map/src/plugins/NodeImgAdjust.js @@ -122,7 +122,11 @@ class NodeImgAdjust { // 创建调整按钮元素 createResizeBtnEl() { - const { imgResizeBtnSize } = this.mindMap.opt + const { + imgResizeBtnSize, + customResizeBtnInnerHTML, + customDeleteBtnInnerHTML + } = this.mindMap.opt // 容器元素 this.handleEl = document.createElement('div') this.handleEl.style.cssText = ` @@ -134,7 +138,7 @@ class NodeImgAdjust { this.handleEl.className = 'node-img-handle' // 调整按钮元素 const btnEl = document.createElement('div') - btnEl.innerHTML = btnsSvg.imgAdjust + btnEl.innerHTML = customResizeBtnInnerHTML || btnsSvg.imgAdjust btnEl.style.cssText = ` position: absolute; right: 0; @@ -179,7 +183,7 @@ class NodeImgAdjust { const btnRemove = document.createElement('div') this.handleEl.prepend(btnRemove) btnRemove.className = 'node-image-remove' - btnRemove.innerHTML = btnsSvg.remove + btnRemove.innerHTML = customDeleteBtnInnerHTML || btnsSvg.remove btnRemove.style.cssText = ` position: absolute; right: 0;top:0;color:#fff; diff --git a/web/src/assets/icon-font/iconfont.css b/web/src/assets/icon-font/iconfont.css index 7cee96a5..2e741b11 100644 --- a/web/src/assets/icon-font/iconfont.css +++ b/web/src/assets/icon-font/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 2479351 */ - src: url('iconfont.woff2?t=1737722825571') format('woff2'), - url('iconfont.woff?t=1737722825571') format('woff'), - url('iconfont.ttf?t=1737722825571') format('truetype'); + src: url('iconfont.woff2?t=1739152990179') format('woff2'), + url('iconfont.woff?t=1739152990179') format('woff'), + url('iconfont.ttf?t=1739152990179') format('truetype'); } .iconfont { @@ -13,6 +13,14 @@ -moz-osx-font-smoothing: grayscale; } +.iconprinting:before { + content: "\ea28"; +} + +.iconwenjianjia:before { + content: "\e614"; +} + .iconcontentleft:before { content: "\e8c9"; } diff --git a/web/src/assets/icon-font/iconfont.ttf b/web/src/assets/icon-font/iconfont.ttf index f4373704..06a6deea 100644 Binary files a/web/src/assets/icon-font/iconfont.ttf and b/web/src/assets/icon-font/iconfont.ttf differ diff --git a/web/src/assets/icon-font/iconfont.woff b/web/src/assets/icon-font/iconfont.woff index a05e1fdd..b98983ec 100644 Binary files a/web/src/assets/icon-font/iconfont.woff and b/web/src/assets/icon-font/iconfont.woff differ diff --git a/web/src/assets/icon-font/iconfont.woff2 b/web/src/assets/icon-font/iconfont.woff2 index aa7a49fe..09818b06 100644 Binary files a/web/src/assets/icon-font/iconfont.woff2 and b/web/src/assets/icon-font/iconfont.woff2 differ diff --git a/web/src/lang/en_us.js b/web/src/lang/en_us.js index e3107902..875cfd20 100644 --- a/web/src/lang/en_us.js +++ b/web/src/lang/en_us.js @@ -217,7 +217,9 @@ export default { }, outline: { title: 'Outline', - nodeDefaultText: 'Branch node' + nodeDefaultText: 'Branch node', + print: 'Print', + fullscreen: 'Fullscreen' }, scale: { zoomIn: 'Zoom in', diff --git a/web/src/lang/zh_cn.js b/web/src/lang/zh_cn.js index 2a5e3385..fa23e30a 100644 --- a/web/src/lang/zh_cn.js +++ b/web/src/lang/zh_cn.js @@ -213,7 +213,9 @@ export default { }, outline: { title: '大纲', - nodeDefaultText: '分支节点' + nodeDefaultText: '分支节点', + print: '打印', + fullscreen: '全屏' }, scale: { zoomIn: '放大', diff --git a/web/src/lang/zh_tw.js b/web/src/lang/zh_tw.js index 6ef2340a..db516066 100644 --- a/web/src/lang/zh_tw.js +++ b/web/src/lang/zh_tw.js @@ -78,7 +78,8 @@ export default { belowNode: '顯示在節點下方', confirm: '確定', cancel: '取消', - changeRichTextTip: '該操作會清空所有曆史修改記錄,並且修改思維導圖數據,是否繼續?', + changeRichTextTip: + '該操作會清空所有曆史修改記錄,並且修改思維導圖數據,是否繼續?', changeRichTextTip2: '是否切換爲富文本模式?', changeRichTextTip3: '是否切換爲非富文本模式?', enableDragImport: '是否允許直接拖拽文件到頁面進行導入', @@ -214,7 +215,9 @@ export default { }, outline: { title: '大綱', - nodeDefaultText: '分支節點' + nodeDefaultText: '分支節點', + print: '打印', + fullscreen: '全屏' }, scale: { zoomIn: '放大', @@ -268,7 +271,7 @@ export default { bottom: '下', left: '左', right: '右', - tag: '標簽', + tag: '標簽' }, theme: { title: '主題', diff --git a/web/src/pages/Edit/components/OutlineEdit.vue b/web/src/pages/Edit/components/OutlineEdit.vue index 1df83d07..dccfd225 100644 --- a/web/src/pages/Edit/components/OutlineEdit.vue +++ b/web/src/pages/Edit/components/OutlineEdit.vue @@ -5,10 +5,26 @@ ref="outlineEditContainer" v-if="isOutlineEdit" > -