feat: 增加默认配置fit,支持初始化的时候是否fit view

This commit is contained in:
wanghao1993 2023-09-17 18:42:29 +08:00
parent 1452fd2a28
commit e063724ab6
3 changed files with 34 additions and 33 deletions

View File

@ -36,7 +36,8 @@ class MindMap {
// 画布宽高
this.width = this.elRect.width
this.height = this.elRect.height
if (this.width <= 0 || this.height <= 0) throw new Error('容器元素el的宽高不能为0')
if (this.width <= 0 || this.height <= 0)
throw new Error('容器元素el的宽高不能为0')
// 添加css
this.cssEl = null
@ -87,7 +88,7 @@ class MindMap {
})
// 初始渲染
this.render()
this.render(this.opt.fit ? () => this.view.fit() : () => {})
setTimeout(() => {
this.command.addHistory()
}, 0)
@ -360,7 +361,7 @@ class MindMap {
// 克隆一份数据
let clone = svg.clone()
// 添加必要的样式
clone.add(SVG(`<style>${ cssContent }</style>`))
clone.add(SVG(`<style>${cssContent}</style>`))
// 如果实际图形宽高超出了屏幕宽高,且存在水印的话需要重新绘制水印,否则会出现超出部分没有水印的问题
if (
(rect.width > origWidth || rect.height > origHeight) &&

View File

@ -186,5 +186,7 @@ export const defaultOpt = {
// 删除节点后激活相邻节点
deleteNodeActive: true,
// 拖拽节点时鼠标移动到画布边缘是否开启画布自动移动
autoMoveWhenMouseInEdgeOnDrag: true
autoMoveWhenMouseInEdgeOnDrag: true,
// 是否首次加载fit view
fit: false
}

View File

@ -12,10 +12,7 @@
<ShortcutKey></ShortcutKey>
<Contextmenu v-if="mindMap" :mindMap="mindMap"></Contextmenu>
<RichTextToolbar v-if="mindMap" :mindMap="mindMap"></RichTextToolbar>
<NodeNoteContentShow
v-if="mindMap"
:mindMap="mindMap"
></NodeNoteContentShow>
<NodeNoteContentShow v-if="mindMap" :mindMap="mindMap"></NodeNoteContentShow>
<NodeImgPreview v-if="mindMap" :mindMap="mindMap"></NodeImgPreview>
<SidebarTrigger v-if="!isZenMode"></SidebarTrigger>
<Search v-if="mindMap" :mindMap="mindMap"></Search>
@ -268,7 +265,7 @@ export default {
if (hasFileURL) {
root = {
"data": {
"text": "根节点"
"text": "根节点"
},
"children": []
}
@ -279,6 +276,7 @@ export default {
this.mindMap = new MindMap({
el: this.$refs.mindMapContainer,
data: root,
fit: true,
layout: layout,
theme: theme.template,
themeConfig: theme.config,
@ -346,31 +344,31 @@ export default {
this.mindMap.keyCommand.addShortcut('Control+s', () => {
this.manualSave()
})
//
;[
'node_active',
'data_change',
'view_data_change',
'back_forward',
'node_contextmenu',
'node_click',
'draw_click',
'expand_btn_click',
'svg_mousedown',
'mouseup',
'mode_change',
'node_tree_render_end',
'rich_text_selection_change',
'transforming-dom-to-images',
'generalization_node_contextmenu',
'painter_start',
'painter_end',
'scrollbar_change'
].forEach(event => {
this.mindMap.on(event, (...args) => {
this.$bus.$emit(event, ...args)
//
;[
'node_active',
'data_change',
'view_data_change',
'back_forward',
'node_contextmenu',
'node_click',
'draw_click',
'expand_btn_click',
'svg_mousedown',
'mouseup',
'mode_change',
'node_tree_render_end',
'rich_text_selection_change',
'transforming-dom-to-images',
'generalization_node_contextmenu',
'painter_start',
'painter_end',
'scrollbar_change'
].forEach(event => {
this.mindMap.on(event, (...args) => {
this.$bus.$emit(event, ...args)
})
})
})
this.bindSaveEvent()
// setTimeout(() => {
//