class GlobalSearch {
setup() {
+ this.container = this.$el;
this.input = this.$refs.input;
this.suggestions = this.$refs.suggestions;
this.suggestionResultsWrap = this.$refs.suggestionResults;
child.remove();
}
- this.suggestions.style.display = 'block';
this.suggestionResultsWrap.innerHTML = '';
this.suggestionResultsWrap.append(resultDom);
+ if (!this.container.classList.contains('search-active')) {
+ this.showSuggestions();
+ }
+ }
+
+ showSuggestions() {
+ this.container.classList.add('search-active');
+ window.requestAnimationFrame(() => {
+ this.suggestions.classList.add('search-suggestions-animation');
+ })
}
hideSuggestions() {
- this.suggestions.style.display = null;
+ this.container.classList.remove('search-active');
+ this.suggestions.classList.remove('search-suggestions-animation');
this.suggestionResultsWrap.innerHTML = '';
}
}