{"version":3,"file":"autocomplete_mixin-Cjw4Kha4.js","sources":["../../../app/frontend/entrypoints/vue/components/suggestion_container.vue?vue&type=template&lang.js","../../../app/frontend/entrypoints/vue/components/suggestion_container.vue","../../../app/frontend/entrypoints/vue/autocomplete_mixin.js"],"sourcesContent":["\n
\n
'+current_word+'')\">
\n
\n","\n\n","import axios from 'axios';\nimport SuggestionContainer from './components/suggestion_container.vue';\n\nexport default {\n data() {\n const vm = this;\n let freeword = document.location.search.substring(1).split('&');\n freeword = freeword ? freeword.find(val => decodeURIComponent(val).indexOf('jobs_search[free_word]') > -1) : undefined;\n return {\n autocomplete: {\n freeword: freeword === undefined ? '' : decodeURIComponent(freeword).split('=')[1],\n handlers: {\n keydown: vm.navigateSuggestions,\n input: vm.fetchSuggestions,\n blur: vm.deactivateSuggestions,\n },\n },\n };\n },\n computed: {\n freewords() {\n return this.autocomplete.freeword.split('\\u3000');\n },\n current_word() {\n return this.freewords[this.freewords.length - 1];\n },\n },\n components: {\n SuggestionContainer,\n },\n methods: {\n fetchSuggestions(e) {\n const vm = this;\n vm.autocomplete.freeword = e.target.value;\n const ref = e.target.id;\n if (this.current_word.length > 0) {\n axios\n .get(`/autocomplete?free_word=${this.current_word}`)\n .then((response) => {\n vm.$refs[ref].setSuggestions(response.data);\n vm.$refs[ref].setActive(true);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(error);\n });\n }\n },\n navigateSuggestions(e) {\n const vm = this;\n const sc = vm.$refs[e.target.id];\n // Down-arrow key pressed\n if (e.keyCode === 40) {\n sc.focusInc();\n return;\n }\n // Up-arrow key pressed\n if (e.keyCode === 38) {\n sc.focusDec();\n return;\n }\n // Enter key pressed\n if (e.keyCode === 13 && sc.currentFocus > -1) {\n e.preventDefault();\n sc.selectSuggestion(e);\n return;\n }\n\n sc.setFocus(-1);\n },\n activateSuggestions(e) {\n const ref = e.target.id;\n this.$refs[ref].setActive(true);\n },\n deactivateSuggestions(e) {\n const ref = e.target.id;\n this.$refs[ref].setActive(false);\n },\n updateInput(e) {\n this.autocomplete.freeword = e;\n },\n },\n};\n"],"names":["render","_vm","_h","_c","suggestion","index","staticRenderFns","__vue2_script","width","suggestions","vm","n","AutocompleteMixin","freeword","val","SuggestionContainer","ref","axios","response","error","sc"],"mappings":"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"}