mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 21:11:30 +08:00 
			
		
		
		
	Merge pull request #585 from TriliumNext/sirius_patch_2
Triggers full text search when Ctrl + Enter is pressed in note_autocomplete.
This commit is contained in:
		
						commit
						cdf8490651
					
				| @ -45,6 +45,16 @@ async function autocompleteSource(term, cb, options = {}) { | ||||
|         ].concat(results); | ||||
|     } | ||||
| 
 | ||||
|     if (term.trim().length >= 1 && options.allowSearchNotes) { | ||||
|         results = results.concat([ | ||||
|             { | ||||
|                 action: 'search-notes', | ||||
|                 noteTitle: term, | ||||
|                 highlightedNotePathTitle: `Search for "${utils.escapeHtml(term)}" <kbd style='color: var(--muted-text-color); background-color: transparent; float: right;'>Ctrl+Enter</kbd>` | ||||
|             } | ||||
|         ]); | ||||
|     } | ||||
| 
 | ||||
|     if (term.match(/^[a-z]+:\/\/.+/i) && options.allowExternalLinks) { | ||||
|         results = [ | ||||
|             { | ||||
| @ -138,6 +148,17 @@ function initNoteAutocomplete($el, options) { | ||||
|         autocompleteOptions.debug = true;   // don't close on blur
 | ||||
|     } | ||||
| 
 | ||||
|     if (options.allowSearchNotes) { | ||||
|         $el.on('keydown', (event) => { | ||||
|             if (event.ctrlKey && event.key === 'Enter') { | ||||
|                 // Prevent Ctrl + Enter from triggering autoComplete.
 | ||||
|                 event.stopImmediatePropagation(); | ||||
|                 event.preventDefault(); | ||||
|                 $el.trigger('autocomplete:selected', { action: 'search-notes', noteTitle: $el.autocomplete("val")}); | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
| 
 | ||||
|     $el.autocomplete({ | ||||
|         ...autocompleteOptions, | ||||
|         appendTo: document.querySelector('body'), | ||||
| @ -192,6 +213,12 @@ function initNoteAutocomplete($el, options) { | ||||
|             suggestion.notePath = note.getBestNotePathString(hoistedNoteId); | ||||
|         } | ||||
| 
 | ||||
|         if (suggestion.action === 'search-notes') { | ||||
|             const searchString = suggestion.noteTitle; | ||||
|             appContext.triggerCommand('searchNotes', { searchString }); | ||||
|             return; | ||||
|         } | ||||
|          | ||||
|         $el.setSelectedNotePath(suggestion.notePath); | ||||
|         $el.setSelectedExternalLink(null); | ||||
| 
 | ||||
|  | ||||
| @ -58,6 +58,7 @@ export default class JumpToNoteDialog extends BasicWidget { | ||||
|         noteAutocompleteService.initNoteAutocomplete(this.$autoComplete, { | ||||
|             allowCreatingNotes: true, | ||||
|             hideGoToSelectedNoteButton: true, | ||||
|             allowSearchNotes: true, | ||||
|             container: this.$results | ||||
|         }) | ||||
|             // clear any event listener added in previous invocation of this function
 | ||||
|  | ||||
| @ -70,6 +70,7 @@ export default class EmptyTypeWidget extends TypeWidget { | ||||
|         noteAutocompleteService.initNoteAutocomplete(this.$autoComplete, { | ||||
|             hideGoToSelectedNoteButton: true, | ||||
|             allowCreatingNotes: true, | ||||
|             allowSearchNotes: true, | ||||
|             container: this.$results | ||||
|         }) | ||||
|             .on('autocomplete:noteselected', function(event, suggestion, dataset) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran