diff --git a/src/components/Autocomplete.vue b/src/components/Autocomplete.vue index 4140eb896addce40d888aa5d89d818fa69d8605f..c6879ed0eff944af3ee0d25b9c50ff68d9092029 100644 --- a/src/components/Autocomplete.vue +++ b/src/components/Autocomplete.vue @@ -37,7 +37,6 @@ <script> import axios from "axios" - import debounce from "debounce" export default { props: { @@ -50,30 +49,6 @@ search: null, select: null, suggesting: null, - debounced: debounce(function(q, self) { - self.loading = true - return axios.get(self.endpoint + 'suggest?', { params: {q: q, - dict: self.$parent.lang, - n: 9}} ) - .then( - function(response) { - if (self.$refs.autocomplete.searchInput == q & self.suggesting) { - - let hits = [] - response.data.forEach((item, i) => { - let hit = {q: q, match: item[0], label: item[0], articles: []} - hit.lang = item[1] - hits.push(hit) - - }); - // whitespace necessary because duplicates aren't allowed in the dropdown - hits.push({q: q, label: q + ' '}) - self.items = hits - } - - self.loading = false - }) - }, 100) } }, watch: { @@ -136,7 +111,29 @@ this.items[0] = {q: q, label: q} } } - this.debounced(q, this) + let self = this + axios.get(self.endpoint + 'suggest?', { params: {q: q, + dict: self.$parent.lang, + n: 9}} ) + .then( + function(response) { + if (self.$refs.autocomplete.searchInput == q & self.suggesting) { + + let hits = [] + response.data.forEach((item, i) => { + let hit = {q: q, match: item[0], label: item[0], articles: []} + hit.lang = item[1] + hits.push(hit) + + }); + // whitespace necessary because duplicates aren't allowed in the dropdown + hits.push({q: q, label: q + ' '}) + self.items = hits + } + + self.loading = false + }) + }, },