]> BookStack Code Mirror - bookstack/blobdiff - resources/js/components/auto-suggest.js
Opensearch: Fixed XML declaration when php short tags enabled
[bookstack] / resources / js / components / auto-suggest.js
index b2435961c8121b79bf409b4c21b76f853d92d389..0b828e71bd1ea35976f348d02fd1c31dca2c5de6 100644 (file)
@@ -1,7 +1,7 @@
-import {escapeHtml} from '../services/util';
-import {onChildEvent} from '../services/dom';
+import {escapeHtml} from '../services/util.ts';
+import {onChildEvent} from '../services/dom.ts';
 import {Component} from './component';
-import {KeyboardNavigationHandler} from '../services/keyboard-navigation';
+import {KeyboardNavigationHandler} from '../services/keyboard-navigation.ts';
 
 const ajaxCache = {};
 
@@ -25,13 +25,16 @@ export class AutoSuggest extends Component {
     setupListeners() {
         const navHandler = new KeyboardNavigationHandler(
             this.list,
-            event => {
+            () => {
                 this.input.focus();
                 setTimeout(() => this.hideSuggestions(), 1);
             },
             event => {
                 event.preventDefault();
-                this.selectSuggestion(event.target.textContent);
+                const selectionValue = event.target.textContent;
+                if (selectionValue) {
+                    this.selectSuggestion(selectionValue);
+                }
             },
         );
         navHandler.shareHandlingToEl(this.input);
@@ -104,7 +107,8 @@ export class AutoSuggest extends Component {
      */
     displaySuggestions(suggestions) {
         if (suggestions.length === 0) {
-            return this.hideSuggestions();
+            this.hideSuggestions();
+            return;
         }
 
         // This used to use <button>s but was changed to div elements since Safari would not focus on buttons