diff --git a/src/views/chart/ContentEdit/components/EditShortcutKey/ShortcutKeyModal.vue b/src/views/chart/ContentEdit/components/EditShortcutKey/ShortcutKeyModal.vue index 74a3574c..24af3ca7 100644 --- a/src/views/chart/ContentEdit/components/EditShortcutKey/ShortcutKeyModal.vue +++ b/src/views/chart/ContentEdit/components/EditShortcutKey/ShortcutKeyModal.vue @@ -63,6 +63,26 @@ const shortcutKeyOptions = [ win: `${WinKeyboard.CTRL.toUpperCase()} + ← `, mac: `${MacKeyboard.CTRL.toUpperCase()} + ← ` }, + { + label: '锁定', + win: `${WinKeyboard.CTRL.toUpperCase()} + L `, + mac: `${MacKeyboard.CTRL.toUpperCase()} + L ` + }, + { + label: '解锁', + win: `${WinKeyboard.CTRL.toUpperCase()} + ${WinKeyboard.SHIFT.toUpperCase()}+ L `, + mac: `${MacKeyboard.CTRL.toUpperCase()} + ${MacKeyboard.SHIFT.toUpperCase()} + L ` + }, + { + label: '展示', + win: `${WinKeyboard.CTRL.toUpperCase()} + H `, + mac: `${MacKeyboard.CTRL.toUpperCase()} + H ` + }, + { + label: '隐藏', + win: `${WinKeyboard.CTRL.toUpperCase()} + ${WinKeyboard.SHIFT.toUpperCase()} + H `, + mac: `${MacKeyboard.CTRL.toUpperCase()} + ${MacKeyboard.SHIFT.toUpperCase()} + H ` + }, { label: '删除', win: 'Delete'.toUpperCase(), diff --git a/src/views/chart/hooks/useContextMenu.hook.ts b/src/views/chart/hooks/useContextMenu.hook.ts index f79447cc..2bf8fdf8 100644 --- a/src/views/chart/hooks/useContextMenu.hook.ts +++ b/src/views/chart/hooks/useContextMenu.hook.ts @@ -44,7 +44,7 @@ export const defaultOptions: MenuOptionsItemType[] = [ fnHandle: chartEditStore.setLock }, { - label: '解除锁定', + label: '解锁', key: MenuEnum.UNLOCK, icon: renderIcon(LockOpenOutlineIcon), fnHandle: chartEditStore.setUnLock @@ -100,13 +100,13 @@ export const defaultOptions: MenuOptionsItemType[] = [ fnHandle: chartEditStore.setBottom }, { - label: '上移一层', + label: '上移', key: MenuEnum.UP, icon: renderIcon(ChevronUpIcon), fnHandle: chartEditStore.setUp }, { - label: '下移一层', + label: '下移', key: MenuEnum.DOWN, icon: renderIcon(ChevronDownIcon), fnHandle: chartEditStore.setDown diff --git a/src/views/chart/hooks/useKeyboard.hook.ts b/src/views/chart/hooks/useKeyboard.hook.ts index 19e219dd..a2ee49c0 100644 --- a/src/views/chart/hooks/useKeyboard.hook.ts +++ b/src/views/chart/hooks/useKeyboard.hook.ts @@ -24,6 +24,10 @@ export const winKeyboardValue = { [MenuEnum.FORWORD]: winCtrlMerge(winShiftMerge('z')), [MenuEnum.GROUP]: winCtrlMerge('g'), [MenuEnum.UN_GROUP]: winCtrlMerge(winShiftMerge('g')), + [MenuEnum.LOCK]: winCtrlMerge('l'), + [MenuEnum.UNLOCK]: winCtrlMerge(winShiftMerge('l')), + [MenuEnum.HIDE]: winCtrlMerge('h'), + [MenuEnum.SHOW]: winCtrlMerge(winShiftMerge('h')), } // 这个 Ctrl 后面还是换成了 ⌘ @@ -45,6 +49,10 @@ export const macKeyboardValue = { [MenuEnum.FORWORD]: macCtrlMerge(macShiftMerge('z')), [MenuEnum.GROUP]: macCtrlMerge('g'), [MenuEnum.UN_GROUP]: macCtrlMerge(macShiftMerge('g')), + [MenuEnum.LOCK]: macCtrlMerge('l'), + [MenuEnum.UNLOCK]: macCtrlMerge(macShiftMerge('l')), + [MenuEnum.HIDE]: macCtrlMerge('h'), + [MenuEnum.SHOW]: macCtrlMerge(macShiftMerge('h')), } // Win 快捷键列表 @@ -64,6 +72,12 @@ const winKeyList: Array = [ winKeyboardValue.group, winKeyboardValue.unGroup, + + winKeyboardValue.lock, + winKeyboardValue.unLock, + + winKeyboardValue.hide, + winKeyboardValue.show, ] // Mac 快捷键列表 @@ -83,6 +97,12 @@ const macKeyList: Array = [ macKeyboardValue.group, macKeyboardValue.unGroup, + + macKeyboardValue.lock, + macKeyboardValue.unLock, + + macKeyboardValue.hide, + macKeyboardValue.show, ] // 处理键盘记录 @@ -156,6 +176,24 @@ export const useAddKeyboard = () => { case keyboardValue.unGroup: keymaster(e, throttle(() => { chartEditStore.setUnGroup(); return false }, throttleTime)) break; + + // 锁定 ct+l + case keyboardValue.lock: + keymaster(e, throttle(() => { chartEditStore.setLock(); return false }, throttleTime)) + break; + // 解除锁定 ct+sh+l + case keyboardValue.unLock: + keymaster(e, throttle(() => { chartEditStore.setUnLock(); return false }, throttleTime)) + break; + + // 锁定 ct+h + case keyboardValue.hide: + keymaster(e, throttle(() => { chartEditStore.setHide(); return false }, throttleTime)) + break; + // 解除锁定 ct+sh+h + case keyboardValue.show: + keymaster(e, throttle(() => { chartEditStore.setShow(); return false }, throttleTime)) + break; } } winKeyList.forEach((key: string) => {