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 @@
import axios from "axios"
import entities from './utils/entities.js'
import Article from './components/Article.vue'
import Preview from './components/Preview.vue'
import SearchResults from './components/SearchResults.vue'
import Autocomplete from './components/Autocomplete.vue'
......@@ -194,8 +193,7 @@ export default {
components: {
Article,
Autocomplete,
SearchResults,
Preview
SearchResults
},
methods: {
select_result: function(event) {
......
......@@ -50,7 +50,7 @@ export default {
}[this.dictionary] || ''
},
group_list: function() {
return helpers.group_list(this.lemmas)
return helpers.group_list(this.lemmas, this.dictionary)
},
inflection_groups_by_lemma: function() {
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 = {
"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": "Mask.",
"Fem": "Fem.",
"Neuter": "Nøytr.",
"Uninfl": "Ubøyd"
"bob": {
"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": "hunkjønn.",
"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()
grps.forEach(function(lemma){
lemma.paradigm_info.forEach(function(grp){
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