|
|
|
<template>
|
|
|
|
<div class="ulohavzoraknode">
|
|
|
|
<!--pre>UlohaVzorakNode {{item}} {{typeof(item)}}</pre-->
|
|
|
|
<!--h5 v-if="!editorMode">Řešení {{item.node.uloha.cislo_zadani.poradi}}.{{ item.node.uloha.kod }}: {{ item.node.uloha.nazev }}</h5-->
|
|
|
|
<h5>Řešení!</h5>
|
|
|
|
<button v-if="editorMode" v-on:click="showSelect=!showSelect" class="upravit">Upravit</button>
|
|
|
|
<div v-if="showSelect">
|
|
|
|
<form class="searchForm" v-on:submit.prevent="submitSearch">
|
|
|
|
<input type="text" v-model="searchQuery" placeholder="Napište název" @keyup="submitSearch">
|
|
|
|
</form>
|
|
|
|
<div class="searchResult" v-show="isResult">
|
|
|
|
<ul>
|
|
|
|
<li v-for="res in searchResults" :key="res.id" v-on:click="setSelected(res)">{{res.nazev}}</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import axios from 'axios'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
name: 'UlohaVzorakNode',
|
|
|
|
data: () => {
|
|
|
|
return {
|
|
|
|
isResult: false,
|
|
|
|
searchQuery: '',
|
|
|
|
searchResults: [],
|
|
|
|
showSelect: false,
|
|
|
|
selected: null,
|
|
|
|
selected_id: null
|
|
|
|
}
|
|
|
|
},
|
|
|
|
props: {
|
|
|
|
item: Object,
|
|
|
|
create: Boolean,
|
|
|
|
showSelect: Boolean,
|
|
|
|
editorMode: Boolean,
|
|
|
|
},
|
|
|
|
mounted: function(){
|
|
|
|
if (this.create){
|
|
|
|
this.showSelect = true;
|
|
|
|
console.log('Creating');
|
|
|
|
}
|
|
|
|
if (this.item !== null && this.item.node.uloha === null){
|
|
|
|
console.log("Uloha je null!");
|
|
|
|
console.log(this.item);
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
submitSearch: function(){
|
|
|
|
if (this.searchQuery.length < 3) { return;}
|
|
|
|
var reqURL = "/api/ulohavzoraknode/?nazev="+this.searchQuery;
|
|
|
|
axios.get(reqURL).then( (response) => {
|
|
|
|
this.searchResults = response.data.results;
|
|
|
|
this.isResult = true;
|
|
|
|
console.log("Got:");
|
|
|
|
console.log(this.searchResults);
|
|
|
|
}).catch( (err) => { /* fail response msg */
|
|
|
|
console.log(err);
|
|
|
|
});
|
|
|
|
},
|
|
|
|
setSelected: function(res){
|
|
|
|
this.searchQuery = res.nazev
|
|
|
|
this.selected_id = res.id
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.upravit {
|
|
|
|
margin-top:-40px;
|
|
|
|
}
|
|
|
|
</style>
|