feat: add shortcut disable option

This commit is contained in:
Hufe921
2023-08-29 22:12:48 +08:00
parent 7b07cf3eb4
commit 640f26292f
4 changed files with 13 additions and 8 deletions
+2 -1
View File
@@ -15,7 +15,8 @@ instance.register.shortcutList([
shift?: boolean;
alt?: boolean;
isGlobal?: boolean;
callback: (command: Command) => any;
callback?: (command: Command) => any;
disable?: boolean;
}
])
```
+2 -1
View File
@@ -15,7 +15,8 @@ instance.register.shortcutList([
shift?: boolean;
alt?: boolean;
isGlobal?: boolean;
callback: (command: Command) => any;
callback?: (command: Command) => any;
disable?: boolean;
}
])
```
+6 -4
View File
@@ -33,12 +33,12 @@ export class Shortcut {
}
private _addShortcutList(payload: IRegisterShortcut[]) {
for (let s = 0; s < payload.length; s++) {
for (let s = payload.length - 1; s >= 0; s--) {
const shortCut = payload[s]
if (shortCut.isGlobal) {
this.globalShortcutList.push(shortCut)
this.globalShortcutList.unshift(shortCut)
} else {
this.agentShortcutList.push(shortCut)
this.agentShortcutList.unshift(shortCut)
}
}
}
@@ -69,8 +69,10 @@ export class Shortcut {
evt.altKey === !!shortCut.alt &&
evt.key === shortCut.key
) {
shortCut.callback(this.command)
if (!shortCut.disable) {
shortCut?.callback?.(this.command)
evt.preventDefault()
}
break
}
}
+2 -1
View File
@@ -9,5 +9,6 @@ export interface IRegisterShortcut {
shift?: boolean
alt?: boolean // windows:alt || mac:option
isGlobal?: boolean
callback: (command: Command) => any
callback?: (command: Command) => any
disable?: boolean
}