Skip to content
Snippets Groups Projects
Commit e402ef15 authored by Ole Voldsæter's avatar Ole Voldsæter
Browse files

re meta#248 , meta#261 avventer korrigering av etikettene fra UB

parent 22f6b0e1
No related branches found
No related tags found
No related merge requests found
...@@ -51,7 +51,6 @@ ...@@ -51,7 +51,6 @@
import axios from "axios" import axios from "axios"
import entities from './utils/entities.js' import entities from './utils/entities.js'
import Article from './components/Article.vue' import Article from './components/Article.vue'
import Preview from './components/Preview.vue'
import SearchResults from './components/SearchResults.vue' import SearchResults from './components/SearchResults.vue'
import Autocomplete from './components/Autocomplete.vue' import Autocomplete from './components/Autocomplete.vue'
...@@ -194,8 +193,7 @@ export default { ...@@ -194,8 +193,7 @@ export default {
components: { components: {
Article, Article,
Autocomplete, Autocomplete,
SearchResults, SearchResults
Preview
}, },
methods: { methods: {
select_result: function(event) { select_result: function(event) {
......
...@@ -50,7 +50,7 @@ export default { ...@@ -50,7 +50,7 @@ export default {
}[this.dictionary] || '' }[this.dictionary] || ''
}, },
group_list: function() { group_list: function() {
return helpers.group_list(this.lemmas) return helpers.group_list(this.lemmas, this.dictionary)
}, },
inflection_groups_by_lemma: function() { inflection_groups_by_lemma: function() {
let components = Object.keys(this.$options.components) let components = Object.keys(this.$options.components)
......
<template>
<li>
<div class="preview">
<h4 v-html="previewHeader"></h4>
<h5 v-if="searchHit.body">{{group_list}}</h5>
{{previewText.substring(0, 40) + (previewText ? '...' : '')}}
</div>
</li>
</template>
<script>
import entities from '../utils/entities.js'
import helpers from '../utils/helpers.js'
let labels = {
'bob': 'Bokmål',
'nob': 'Nynorsk',
'norsk_ordbok': 'Norsk Ordbok'
}
export default {
name: 'Preview',
props: {
searchHit: Object
},
computed: {
previewHeader: function(){
return this.searchHit.match && this.searchHit.match + " (" + labels[this.searchHit.dictionary] + ")" ||
(this.searchHit.lemmas && this.searchHit.lemmas.map(l => `${l.lemma}`) || []).join(',') ||
"Alle søkeresultater..."
},
previewText: function(){
if (! this.searchHit.body) return ''
let element = this.searchHit.body.definitions[0] || ''
while (element.type_ == 'definition') element = element.elements[0]
if (element.type_ == 'example') {
element = element.quote
} else if (! element.content){
element = {content: '', items: []}
}
let lang = this.searchHit.dictionary
let replacements = element.items.map(item => item.text ||
item.string ||
(entities[lang][item.id] || {})['expansion'] ||
item.id ||
item.lemmas[0].lemma).reverse()
let replacement = () => replacements.pop()
return element.content.replace(/\$/gi, replacement)
},
group_list: function() {
return helpers.group_list(this.searchHit.lemmas)
}
},
components: {
}
}
</script>
<style scoped>
h4, h5 {
padding: 0px;
margin: 0px;
}
</style>
var mapping = { var mapping = {
"NOUN": "Substantiv", "bob": {
"VERB": "Verb", "NOUN": "Substantiv",
"ADJ": "Adjektiv", "VERB": "Verb",
"ADP": "Preposisjon", "ADJ": "Adjektiv",
"PFX": "Prefiks", "ADP": "Preposisjon",
"ADV": "Adverb", "PFX": "Prefiks",
"DET": "Determinativ", "ADV": "Adverb",
"PROPN": "Egennavn", "DET": "Determinativ",
"ABBR": "Forkortelse", "PROPN": "Egennavn",
"INTJ": "Interjeksjon", "ABBR": "Forkortelse",
"SYM": "Symbol", "INTJ": "Interjeksjon",
"PRON": "Pronomen", "SYM": "Symbol",
"CCONJ": "Konjunksjon", "PRON": "Pronomen",
"SCONJ": "Subjunksjon", "CCONJ": "Konjunksjon",
"INFM": "Infinitivsmerke", "SCONJ": "Subjunksjon",
"COMPPFX": "I sammensetting", "INFM": "Infinitivsmerke",
"Masc": "Mask.", "COMPPFX": "I sammensetting",
"Fem": "Fem.", "Masc": "hankjønn.",
"Neuter": "Nøytr.", "Fem": "hunkjønn.",
"Uninfl": "Ubøyd" "Neuter": "Nøytr.",
"Uninfl": "ubøyelig"
},
"nob": {
"NOUN": "Substantiv",
"VERB": "Verb",
"ADJ": "Adjektiv",
"ADP": "Preposisjon",
"PFX": "Prefiks",
"ADV": "Adverb",
"DET": "Determinativ",
"PROPN": "Egennavn",
"ABBR": "Forkortelse",
"INTJ": "Interjeksjon",
"SYM": "Symbol",
"PRON": "Pronomen",
"CCONJ": "Konjunksjon",
"SCONJ": "Subjunksjon",
"INFM": "Infinitivsmerke",
"COMPPFX": "I sammensetting",
"Masc": "hankjønn.",
"Fem": "hokjønn",
"Neuter": "nøytr.",
"Uninfl": "ubøyd"
}
} }
var group_list = function(grps) { var group_list = function(grps, dictionary) {
var grp_collection = new Set() var grp_collection = new Set()
grps.forEach(function(lemma){ grps.forEach(function(lemma){
lemma.paradigm_info.forEach(function(grp){ lemma.paradigm_info.forEach(function(grp){
if (grp.tags){ if (grp.tags){
grp_collection.add(grp.tags[0] == 'NOUN' ? mapping[grp.tags[0]] + ', ' + mapping[grp.tags[1]] : mapping[grp.tags[0]]) grp_collection.add(grp.tags[0] == 'NOUN' ? mapping[dictionary][grp.tags[0]] + ', ' + mapping[dictionary][grp.tags[1]] : mapping[dictionary][grp.tags[0]])
} }
}) })
}) })
......
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