mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 11:08:04 +00:00 
			
		
		
		
	 47f8b2cd0c
			
		
	
	47f8b2cd0c
	
	
	
		
			
			* 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,
 | |
|         },
 | |
|       };
 | |
|     },
 | |
|   },
 | |
| };
 |