]> BookStack Code Mirror - bookstack/blobdiff - resources/js/components/global-search.js
Add default_template as Book setting
[bookstack] / resources / js / components / global-search.js
index c940ad98389d153818ab8d56016b3715128e35ff..7bc8a1d45187f8f711f0362c15bcab42119996db 100644 (file)
@@ -1,10 +1,13 @@
 import {htmlToDom} from "../services/dom";
 import {debounce} from "../services/util";
+import {KeyboardNavigationHandler} from "../services/keyboard-navigation";
+import {Component} from "./component";
 
 /**
- * @extends {Component}
+ * Global (header) search box handling.
+ * Mainly to show live results preview.
  */
-class GlobalSearch {
+export class GlobalSearch extends Component {
 
     setup() {
         this.container = this.$el;
@@ -37,7 +40,11 @@ class GlobalSearch {
             this.input.setAttribute('autocomplete', 'on');
             this.button.focus();
             this.input.focus();
-        })
+        });
+
+        new KeyboardNavigationHandler(this.container, () => {
+            this.hideSuggestions();
+        });
     }
 
     /**
@@ -72,6 +79,4 @@ class GlobalSearch {
         this.suggestions.classList.remove('search-suggestions-animation');
         this.suggestionResultsWrap.innerHTML = '';
     }
-}
-
-export default GlobalSearch;
\ No newline at end of file
+}
\ No newline at end of file