Skip to content
Snippets Groups Projects
Commit fa5d1086 authored by dcz's avatar dcz
Browse files

Schemata alternation bugfix

parent 1fa58da1
Branches
No related tags found
No related merge requests found
......@@ -34,26 +34,18 @@ export default {
getSchemataPositionCnt(schema) {
return schema.positions.length;
},
getRealisationDescriptions(schema) {
getRealisationDescriptions(schema, alternation_id) {
const alternationDescList = [];
if (this.alternations) {
const curr_alternations = this.alternations[this.frame.id][schema.id];
const curr_realisation_descriptions = this.realisation_descriptions[this.frame.id][schema.id];
for (let i in curr_alternations) {
alternationDescList.push(curr_realisation_descriptions[i]);
}
alternationDescList.push(this.realisation_descriptions[this.frame.id][schema.id][alternation_id]);
}
return '<i>' + alternationDescList + '</i>';
},
getPhraseCss(schema, position) {
getPhraseCss(position, alternation) {
const styles = [];
if (this.alternations) {
const argumentIdSet = new Set();
const curr_alternations = this.alternations[this.frame.id][schema.id];
for (let i in curr_alternations) {
const alternation = curr_alternations[i]
for (let arg_id in alternation) {
const phrase_ids = alternation[arg_id];
phrase_ids.forEach(phrase_id => {
......@@ -62,7 +54,6 @@ export default {
}
});
}
}
argumentIdSet.forEach(argumentId => {
const argument = this.frame.arguments.find(arg => argumentId.endsWith(arg.argument_id));
......@@ -78,20 +69,22 @@ export default {
}
return styles;
},
getPositionPhrases(schema, position) {
getAlternation(schema, alternation) {
const r = this.alternations[this.frame.id][schema.id][alternation];
return r;
},
getPositionPhrases(curr_alternations, index, curr_phrase_id) {
const phrases = [];
if (this.alternations) {
const curr_alternations = this.alternations[this.frame.id][schema.id];
for (let i in curr_alternations) {
const alternation = curr_alternations[i]
for (let arg_id in alternation) {
const phrase_ids = alternation[arg_id];
phrase_ids.forEach(phrase_id => {
if (phrase_id.startsWith(position.id)) {
phrases.push(this.realisation_phrases[arg_id][i][phrase_id]);
const phrase_id = alternation[arg_id];
if(phrase_id.startsWith(curr_phrase_id)) {
const phrase = this.realisation_phrases[i][index][phrase_id];
phrases.push(phrase);
}
});
}
}
}
......@@ -151,19 +144,24 @@ export default {
</tr>
<template v-for="(alternation, index) in this.alternations[this.frame.id][schema.id]">
<tr class="realisation-description">
<td class="px-1 py-2" :colspan="getSchemataPositionCnt(schema)" v-html="getRealisationDescriptions(schema)"></td>
<td class="px-1 py-2" :colspan="getSchemataPositionCnt(schema)"
v-html="getRealisationDescriptions(schema, index)"></td>
</tr>
<tr class="phrase-types alt-0">
<th scope="row" class="py-0 px-1 text-secondary">Typy fraz</th>
<td v-for="position in schema.positions" class="px-0 py-0 border-top border-left border-secondary">
<div v-for="phrase in position.phrases" class="phrase px-1 py-2"
:class="getPhraseCss(schema, position)">
<template v-for="phrase in position.phrases">
<div class="phrase px-1 py-2"
:class="getPhraseCss(position, alternation)">
<info-tooltip :text="phrase.desc" :visibleText="phrase.str"/>
</div>
<div v-for="phrase in getPositionPhrases(schema, position)" class="realisation-phrase px-1 py-2"><i>{{phrase}}</i></div>
<div v-for="phrase in getPositionPhrases(alternation, index, phrase.id)" class="realisation-phrase px-1 py-2"><i>{{phrase}}</i></div>
</template>
</td>
</tr>
</template>
</tbody>
</table>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment