Feat:支持配置鼠标滚轮方向对应的缩放行为
This commit is contained in:
parent
74618a8a2b
commit
443a714549
@ -61,6 +61,8 @@ export const defaultOpt = {
|
|||||||
mousewheelAction: CONSTANTS.MOUSE_WHEEL_ACTION.ZOOM, // zoom(放大缩小)、move(上下移动)
|
mousewheelAction: CONSTANTS.MOUSE_WHEEL_ACTION.ZOOM, // zoom(放大缩小)、move(上下移动)
|
||||||
// 当mousewheelAction设为move时,可以通过该属性控制鼠标滚动一下视图移动的步长,单位px
|
// 当mousewheelAction设为move时,可以通过该属性控制鼠标滚动一下视图移动的步长,单位px
|
||||||
mousewheelMoveStep: 100,
|
mousewheelMoveStep: 100,
|
||||||
|
// 当mousewheelAction设为zoom时,默认向前滚动是缩小,向后滚动是放大,如果该属性设为true,那么会反过来
|
||||||
|
mousewheelZoomActionReverse: false,
|
||||||
// 默认插入的二级节点的文字
|
// 默认插入的二级节点的文字
|
||||||
defaultInsertSecondLevelNodeText: '二级节点',
|
defaultInsertSecondLevelNodeText: '二级节点',
|
||||||
// 默认插入的二级以下节点的文字
|
// 默认插入的二级以下节点的文字
|
||||||
|
|||||||
@ -64,7 +64,8 @@ class View {
|
|||||||
customHandleMousewheel,
|
customHandleMousewheel,
|
||||||
mousewheelAction,
|
mousewheelAction,
|
||||||
mouseScaleCenterUseMousePosition,
|
mouseScaleCenterUseMousePosition,
|
||||||
mousewheelMoveStep
|
mousewheelMoveStep,
|
||||||
|
mousewheelZoomActionReverse
|
||||||
} = this.mindMap.opt
|
} = this.mindMap.opt
|
||||||
// 是否自定义鼠标滚轮事件
|
// 是否自定义鼠标滚轮事件
|
||||||
if (
|
if (
|
||||||
@ -81,12 +82,12 @@ class View {
|
|||||||
// 鼠标滚轮,向上和向左,都是缩小
|
// 鼠标滚轮,向上和向左,都是缩小
|
||||||
case CONSTANTS.DIR.UP:
|
case CONSTANTS.DIR.UP:
|
||||||
case CONSTANTS.DIR.LEFT:
|
case CONSTANTS.DIR.LEFT:
|
||||||
this.narrow(cx, cy)
|
mousewheelZoomActionReverse ? this.enlarge(cx, cy) : this.narrow(cx, cy)
|
||||||
break
|
break
|
||||||
// 鼠标滚轮,向下和向右,都是放大
|
// 鼠标滚轮,向下和向右,都是放大
|
||||||
case CONSTANTS.DIR.DOWN:
|
case CONSTANTS.DIR.DOWN:
|
||||||
case CONSTANTS.DIR.RIGHT:
|
case CONSTANTS.DIR.RIGHT:
|
||||||
this.enlarge(cx, cy)
|
mousewheelZoomActionReverse ? this.narrow(cx, cy) : this.enlarge(cx, cy)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
} else {// 鼠标滚轮事件控制画布移动
|
} else {// 鼠标滚轮事件控制画布移动
|
||||||
|
|||||||
@ -43,7 +43,10 @@ export default {
|
|||||||
associativeLineWidth: 'Width',
|
associativeLineWidth: 'Width',
|
||||||
associativeLineColor: 'Color',
|
associativeLineColor: 'Color',
|
||||||
associativeLineActiveWidth: 'Active width',
|
associativeLineActiveWidth: 'Active width',
|
||||||
associativeLineActiveColor: 'Active color'
|
associativeLineActiveColor: 'Active color',
|
||||||
|
mousewheelZoomActionReverse: 'Mouse Wheel Zoom',
|
||||||
|
mousewheelZoomActionReverse1: 'Zoom out forward and zoom in back',
|
||||||
|
mousewheelZoomActionReverse2: 'Zoom in forward and zoom out back'
|
||||||
},
|
},
|
||||||
color: {
|
color: {
|
||||||
moreColor: 'More color'
|
moreColor: 'More color'
|
||||||
|
|||||||
@ -43,7 +43,10 @@ export default {
|
|||||||
associativeLineWidth: '粗细',
|
associativeLineWidth: '粗细',
|
||||||
associativeLineColor: '颜色',
|
associativeLineColor: '颜色',
|
||||||
associativeLineActiveWidth: '激活粗细',
|
associativeLineActiveWidth: '激活粗细',
|
||||||
associativeLineActiveColor: '激活颜色'
|
associativeLineActiveColor: '激活颜色',
|
||||||
|
mousewheelZoomActionReverse: '鼠标滚轮缩放',
|
||||||
|
mousewheelZoomActionReverse1: '向前缩小向后放大',
|
||||||
|
mousewheelZoomActionReverse2: '向前放大向后缩小'
|
||||||
},
|
},
|
||||||
color: {
|
color: {
|
||||||
moreColor: '更多颜色'
|
moreColor: '更多颜色'
|
||||||
|
|||||||
@ -567,6 +567,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 其他配置 -->
|
<!-- 其他配置 -->
|
||||||
<div class="title noTop">{{ $t('baseStyle.otherConfig') }}</div>
|
<div class="title noTop">{{ $t('baseStyle.otherConfig') }}</div>
|
||||||
|
<!-- 配置开启自由拖拽 -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="rowItem">
|
<div class="rowItem">
|
||||||
<el-checkbox v-model="config.enableFreeDrag" @change="
|
<el-checkbox v-model="config.enableFreeDrag" @change="
|
||||||
@ -576,11 +577,13 @@
|
|||||||
">{{ $t('baseStyle.enableFreeDrag') }}</el-checkbox>
|
">{{ $t('baseStyle.enableFreeDrag') }}</el-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 配置是否启用富文本编辑 -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="rowItem">
|
<div class="rowItem">
|
||||||
<el-checkbox v-model="enableNodeRichText" @change="enableNodeRichTextChange">{{ $t('baseStyle.isEnableNodeRichText') }}</el-checkbox>
|
<el-checkbox v-model="enableNodeRichText" @change="enableNodeRichTextChange">{{ $t('baseStyle.isEnableNodeRichText') }}</el-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 配置鼠标滚轮行为 -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="rowItem">
|
<div class="rowItem">
|
||||||
<span class="name">{{ $t('baseStyle.mousewheelAction') }}</span>
|
<span class="name">{{ $t('baseStyle.mousewheelAction') }}</span>
|
||||||
@ -600,6 +603,26 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 配置鼠标缩放行为 -->
|
||||||
|
<div class="row" v-if="config.mousewheelAction === 'zoom'">
|
||||||
|
<div class="rowItem">
|
||||||
|
<span class="name">{{ $t('baseStyle.mousewheelZoomActionReverse') }}</span>
|
||||||
|
<el-select
|
||||||
|
size="mini"
|
||||||
|
style="width: 120px"
|
||||||
|
v-model="config.mousewheelZoomActionReverse"
|
||||||
|
placeholder=""
|
||||||
|
@change="
|
||||||
|
value => {
|
||||||
|
updateOtherConfig('mousewheelZoomActionReverse', value)
|
||||||
|
}
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option :label="$t('baseStyle.mousewheelZoomActionReverse1') " :value="false"></el-option>
|
||||||
|
<el-option :label="$t('baseStyle.mousewheelZoomActionReverse2') " :value="true"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Sidebar>
|
</Sidebar>
|
||||||
</template>
|
</template>
|
||||||
@ -668,7 +691,8 @@ export default {
|
|||||||
},
|
},
|
||||||
config: {
|
config: {
|
||||||
enableFreeDrag: false,
|
enableFreeDrag: false,
|
||||||
mousewheelAction: 'zoom'
|
mousewheelAction: 'zoom',
|
||||||
|
mousewheelZoomActionReverse: false
|
||||||
},
|
},
|
||||||
watermarkConfig: {
|
watermarkConfig: {
|
||||||
show: false,
|
show: false,
|
||||||
@ -720,6 +744,7 @@ export default {
|
|||||||
created () {
|
created () {
|
||||||
this.enableNodeRichText = this.localConfig.openNodeRichText
|
this.enableNodeRichText = this.localConfig.openNodeRichText
|
||||||
this.mousewheelAction = this.localConfig.mousewheelAction
|
this.mousewheelAction = this.localConfig.mousewheelAction
|
||||||
|
this.mousewheelZoomActionReverse = this.localConfig.mousewheelZoomActionReverse
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['setLocalConfig']),
|
...mapMutations(['setLocalConfig']),
|
||||||
@ -765,7 +790,7 @@ export default {
|
|||||||
|
|
||||||
// 初始化其他配置
|
// 初始化其他配置
|
||||||
initConfig() {
|
initConfig() {
|
||||||
;['enableFreeDrag', 'mousewheelAction'].forEach(key => {
|
;['enableFreeDrag', 'mousewheelAction', 'mousewheelZoomActionReverse'].forEach(key => {
|
||||||
this.config[key] = this.mindMap.getConfig(key)
|
this.config[key] = this.mindMap.getConfig(key)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user