mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin/stable'
# Conflicts: # src/services/search/services/search.js
This commit is contained in:
		| @@ -40,7 +40,12 @@ function initAttributeNameAutocomplete({ $el, attributeType, open }) { | ||||
| } | ||||
|  | ||||
| async function initLabelValueAutocomplete({ $el, open, nameCallback }) { | ||||
|     if (!$el.hasClass("aa-input")) { | ||||
|     if ($el.hasClass("aa-input")) { | ||||
|         // we reinit everytime because autocomplete seems to have a bug where it retains state from last | ||||
|         // open even though the value was resetted | ||||
|         $el.autocomplete('destroy'); | ||||
|     } | ||||
|  | ||||
|     const attributeName = nameCallback(); | ||||
|  | ||||
|     if (attributeName.trim() === "") { | ||||
| @@ -57,12 +62,13 @@ async function initLabelValueAutocomplete({ $el, open, nameCallback }) { | ||||
|     $el.autocomplete({ | ||||
|         appendTo: document.querySelector('body'), | ||||
|         hint: false, | ||||
|             openOnFocus: true, | ||||
|         openOnFocus: false, // handled manually | ||||
|         minLength: 0, | ||||
|         tabAutocomplete: false | ||||
|     }, [{ | ||||
|         displayKey: 'value', | ||||
|             source: function (term, cb) { | ||||
|         cache: false, | ||||
|         source: async function (term, cb) { | ||||
|             term = term.toLowerCase(); | ||||
|  | ||||
|             const filtered = attributeValues.filter(attr => attr.value.toLowerCase().includes(term)); | ||||
| @@ -75,8 +81,7 @@ async function initLabelValueAutocomplete({ $el, open, nameCallback }) { | ||||
|         if ($el.attr("readonly")) { | ||||
|             $el.autocomplete('close'); | ||||
|         } | ||||
|         }) | ||||
|     } | ||||
|     }); | ||||
|  | ||||
|     if (open) { | ||||
|         $el.autocomplete("open"); | ||||
|   | ||||
| @@ -248,6 +248,8 @@ export default class AttributeDetailWidget extends TabAwareWidget { | ||||
|         this.$rowValue = this.$widget.find('.attr-row-value'); | ||||
|         this.$inputValue = this.$widget.find('.attr-input-value'); | ||||
|         this.$inputValue.on('keyup', () => this.userEditedAttribute()); | ||||
|         this.$inputValue.on('change', () => this.userEditedAttribute()); | ||||
|         this.$inputValue.on('autocomplete:closed', () => this.userEditedAttribute()); | ||||
|         this.$inputValue.on('focus', () => { | ||||
|             attributeAutocompleteService.initLabelValueAutocomplete({ | ||||
|                 $el: this.$inputValue, | ||||
|   | ||||
| @@ -197,18 +197,18 @@ function highlightSearchResults(searchResults, highlightedTokens) { | ||||
|         result.highlightedNotePathTitle = result.notePathTitle.replace('/[<\{\}]/g', ''); | ||||
|  | ||||
|         if (highlightedTokens.find(token => note.type.includes(token))) { | ||||
|             result.highlightedNotePathTitle += ` <type: ${note.type}>`; | ||||
|             result.highlightedNotePathTitle += ` "type: ${note.type}'`; | ||||
|         } | ||||
|  | ||||
|         if (highlightedTokens.find(token => note.mime.includes(token))) { | ||||
|             result.highlightedNotePathTitle += ` <mime: ${note.mime}>`; | ||||
|             result.highlightedNotePathTitle += ` "mime: ${note.mime}'`; | ||||
|         } | ||||
|  | ||||
|         for (const attr of note.attributes) { | ||||
|             if (highlightedTokens.find(token => attr.name.toLowerCase().includes(token) | ||||
|                 || attr.value.toLowerCase().includes(token))) { | ||||
|  | ||||
|                 result.highlightedNotePathTitle += ` <${formatAttribute(attr)}>`; | ||||
|                 result.highlightedNotePathTitle += ` "${formatAttribute(attr)}'`; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| @@ -223,8 +223,8 @@ function highlightSearchResults(searchResults, highlightedTokens) { | ||||
|  | ||||
|     for (const result of searchResults) { | ||||
|         result.highlightedNotePathTitle = result.highlightedNotePathTitle | ||||
|             .replace(/</g, "<small>") | ||||
|             .replace(/>/g, "</small>") | ||||
|             .replace(/"/g, "<small>") | ||||
|             .replace(/'/g, "</small>") | ||||
|             .replace(/{/g, "<b>") | ||||
|             .replace(/}/g, "</b>"); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user