mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-03 04:27:53 +00:00
* fix: Resolve and go next keyboard shortcuts doesn't work * refactor: use buildHotKeys instead of hasPressedCommandPlusAltAndEKey * feat: install tinykeys * refactor: use tinykeys * test: update buildKeyEvents * fix: remove stray import * feat: handle action list globally * feat: allow configuring `allowOnFocusedInput` * chore: Navigate chat list item * chore: Navigate dashboard * feat: Navigate editor top panel * feat: Toggle file upload * chore: More keyboard shortcuts * chore: Update mention selection mixin * chore: Phone input * chore: Clean up * chore: Clean up * chore: Dropdown and editor * chore: Enter key to send and clean up * chore: Rename mixin * chore: Review fixes * chore: Removed unused shortcut from modal * fix: Specs --------- Co-authored-by: iamsivin <iamsivin@gmail.com> Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
import keyboardEventListenerMixins from 'shared/mixins/keyboardEventListenerMixins';
|
|
|
|
export default {
|
|
mixins: [keyboardEventListenerMixins],
|
|
methods: {
|
|
moveSelectionUp() {
|
|
if (!this.selectedIndex) {
|
|
this.selectedIndex = this.items.length - 1;
|
|
} else {
|
|
this.selectedIndex -= 1;
|
|
}
|
|
this.adjustScroll();
|
|
},
|
|
moveSelectionDown() {
|
|
if (this.selectedIndex === this.items.length - 1) {
|
|
this.selectedIndex = 0;
|
|
} else {
|
|
this.selectedIndex += 1;
|
|
}
|
|
this.adjustScroll();
|
|
},
|
|
getKeyboardEvents() {
|
|
return {
|
|
ArrowUp: {
|
|
action: e => {
|
|
this.moveSelectionUp();
|
|
e.preventDefault();
|
|
},
|
|
allowOnFocusedInput: true,
|
|
},
|
|
'Control+KeyP': {
|
|
action: e => {
|
|
this.moveSelectionUp();
|
|
e.preventDefault();
|
|
},
|
|
allowOnFocusedInput: true,
|
|
},
|
|
ArrowDown: {
|
|
action: e => {
|
|
this.moveSelectionDown();
|
|
e.preventDefault();
|
|
},
|
|
allowOnFocusedInput: true,
|
|
},
|
|
'Control+KeyN': {
|
|
action: e => {
|
|
this.moveSelectionDown();
|
|
e.preventDefault();
|
|
},
|
|
allowOnFocusedInput: true,
|
|
},
|
|
Enter: {
|
|
action: e => {
|
|
this.onSelect();
|
|
e.preventDefault();
|
|
},
|
|
allowOnFocusedInput: true,
|
|
},
|
|
};
|
|
},
|
|
},
|
|
};
|