Newer
Older
<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">

Ole Voldsæter
committed
<form class="" action="search" method="get">
<input placeholder="Søk..." name="q" />
</form>
import SearchResults from './components/SearchResults.vue'

Ole Voldsæter
committed
//import Autocomplete from '@trevoreyre/autocomplete-vue'
import '@trevoreyre/autocomplete-vue/dist/style.css'

Ole Voldsæter
committed
var api_endpoint = 'https://ordbok-dev.aws.uib.no/api/dict/nob/article'
article_id: parseInt(window.location.href.split("/").pop()),
search_query: window.location.href.split("?q=")[1],
search_results: [],

Ole Voldsæter
committed
article: {lemmas: [], body:{pronunciation: [], definitions: [], etymology: []}},

Ole Voldsæter
committed
return axios.post(api_endpoint + '_search/',
{
"suggest": {
"suggest" : {
"prefix" : q,
"completion" : {
"field" : "suggest"
}
}
}
}).then(function(response) {
let hits = response.data.suggest.suggest[0].options
if(q.length) hits = hits.concat({q: q})
resolve(hits)
})
if (result._source)
return result._source.lemmas.map(x => x.word).join(', ')
else
return 'Alle søkeresultater...'

Ole Voldsæter
committed
//Autocomplete,
},
methods: {
select_result: function(event) {
if(event._source){
this.search_results = []
this.article = event._source
}else{
window.location.href="search?q=" + event.q
}
}
},
mounted: function(){
var self = this;

Ole Voldsæter
committed
axios.get(api_endpoint + '?expand_lemmas=true&lemma_text=' + self.search_query)

Ole Voldsæter
committed
self.search_results = response.data

Ole Voldsæter
committed
axios.get(api_endpoint + '/' + self.article_id + '?expand_lemmas=true&expand_refs=true')

Ole Voldsæter
committed
self.article = response.data
}
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
margin-top: 60px;
.autocomplete {
width: 25em;
}