Skip to content
Snippets Groups Projects
Commit a7b65be2 authored by Henrik Askjer's avatar Henrik Askjer
Browse files

add pattern search

parent 3e5e1c34
No related branches found
No related tags found
No related merge requests found
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<span class="search-hit"> <span class="search-hit">
{{data.item.label}} {{data.item.label}}
</span> </span>
({{data.item.lang? data.item.lang[1] ? "bm, nn" : {"bob": "bm", "nob": "nn"}[data.item.lang[0]] : 'fritekstsøk'}}) ({{data.item.lang? data.item.lang[1] ? "bm, nn" : {"bob": "bm", "nob": "nn"}[data.item.lang[0]] : data.item.mode}})
</template> </template>
<template slot="no-data"> <template slot="no-data">
<div></div> <div></div>
...@@ -79,27 +79,36 @@ ...@@ -79,27 +79,36 @@
// Keep full text search in the list while requesting suggestions // Keep full text search in the list while requesting suggestions
if (this.items[0]) { if (this.items[0]) {
if (this.items[0].time < time) { if (this.items[0].time < time) {
this.items.splice(0,1, {q: q, label: q, time: time}) this.items.splice(0,1, {q: q, label: q, time: time, mode: 'fritekst'})
} }
} }
else { else {
this.items.push({q: q, label: q, time: time}) this.items.push({q: q, label: q, time: time})
} }
let self = this let self = this
self.api.get('suggest?', {params: {q: q, dict: self.$parent.lang, n: 9}}) self.api.get('suggest?', {params: {q: q, dict: self.$parent.lang, n: 9, scope: 'nf'}})
.then(async (response) => { .then(async (response) => {
if (self.$refs.autocomplete.searchInput == q & self.suggesting) { if (self.$refs.autocomplete.searchInput == q & self.suggesting) {
let hits = [] let hits = []
response.data.forEach((item, i) => {
if (/_|\*|\|/.test(q)) {
hits.push({q: q, label: q + ' ', time: time, mode: "mønster"})
}
response.data.a.n.forEach((item) => {
let match = item[0] let match = item[0]
let hit = {q: q, match: match, label: match, time: time} let hit = {q: q, match: match, label: match, time: time, lang: item[1]}
hit.lang = item[1]
hits.push(hit) hits.push(hit)
}); });
response.data.a.f.forEach((item) => {
let match = item[0]
let hit = {q: q, match: match, label: match, time: time, mode: "fulltekst"}
hits.push(hit)
});
// whitespace necessary because duplicates aren't allowed in the dropdown // whitespace necessary because duplicates aren't allowed in the dropdown
hits.push({q: q, label: q + ' ', time: time}) hits.push({q: q, label: q + ' ', time: time, mode: "fritekst"})
self.items = hits self.items = hits
} }
self.loading = false self.loading = false
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment