Tomas 'Jethro' Pokorny
4 years ago
4 changed files with 190 additions and 15 deletions
@ -1,23 +1,111 @@ |
|||||
<template> |
<template> |
||||
<div class="ulohazadaninode"> |
<div class="ulohazadaninode"> |
||||
<!--pre>UlohaZadaniNode {{item.node.uloha}} {{typeof(item)}}</pre--> |
<template v-if="editorShow"> |
||||
<h5>Zadání {{item.node.uloha.cislo_zadani.poradi}}.{{ item.node.uloha.kod }}: {{ item.node.uloha.nazev }}</h5> |
Název: <input tpye="text" v-model="nazev"><br> |
||||
|
Počet bodů: <input type="number" min="0" max="20" v-model="max_body"><br> |
||||
|
Kód: <input type="text" v-model="kod"><br> |
||||
|
<!--Autor: FIXME!<br--> |
||||
|
<button v-if="create" v-on:click="createNode">Vytvořit úlohu</button> |
||||
|
<button v-if="!create" v-on:click="saveNode">Uložit</button> |
||||
|
</template> |
||||
|
<template v-else> |
||||
|
<h5>Zadání {{item.node.uloha.cislo_zadani.poradi}}.{{ item.node.uloha.kod }}: {{ item.node.uloha.nazev }} ({{item.node.uloha.max_body}} b)</h5> |
||||
|
<button v-if="editorMode" v-on:click="editorShow = !editorShow">Upravit</button> |
||||
|
<!--button v-if="editorMode" v-on:click="deleteText" class="delete">Smazat</button--> |
||||
|
</template> |
||||
</div> |
</div> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
|
import axios from 'axios' |
||||
|
|
||||
export default { |
export default { |
||||
name: 'UlohaZadaniNode', |
name: 'UlohaZadaniNode', |
||||
|
data: () => ({ |
||||
|
max_body: 0, |
||||
|
kod: "", |
||||
|
editorShow: false, |
||||
|
editorMode: false, |
||||
|
}), |
||||
props: { |
props: { |
||||
item: Object, |
item: Object, |
||||
created: Boolean |
editorShow: Boolean, |
||||
, |
editorMode: Boolean, |
||||
|
create: Boolean, |
||||
|
where: String, |
||||
|
refnode: Object |
||||
|
}, |
||||
|
methods: { |
||||
|
getCookie: function (name){ |
||||
|
var cookieValue = null; |
||||
|
if (document.cookie && document.cookie != '') { |
||||
|
var cookies = document.cookie.split(';'); |
||||
|
for (var i = 0; i < cookies.length; i++) { |
||||
|
var cookie = cookies[i].trim(); |
||||
|
// Does this cookie string begin with the name we want? |
||||
|
|
||||
|
if (cookie.substring(0, name.length + 1) == (name + '=')) { |
||||
|
cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); |
||||
|
break; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return cookieValue; |
||||
|
}, |
||||
|
createNode: function(){ |
||||
|
console.log('Creating UlohaZadaniNode'); |
||||
|
this.loading = true |
||||
|
axios.post('/api/ulohazadaninode/',{ |
||||
|
refnode: this.refnode.id, |
||||
|
where: this.where, |
||||
|
max_body: this.max_body, |
||||
|
kod: this.kod, |
||||
|
nazev: this.nazev, |
||||
|
}).then(response => { |
||||
|
console.log(response.data); |
||||
|
this.loading=false; |
||||
|
this.$root.$emit('updateData',"ulohaZadaniNode create update"); |
||||
|
}).catch( e => { |
||||
|
console.log(e); |
||||
|
});}, |
||||
|
saveNode: function(){ |
||||
|
console.log('Saving UlohaZadaniNode'); |
||||
|
this.loading = true |
||||
|
axios.put('/api/ulohazadaninode/'+this.item.node.id+'/',{ |
||||
|
uloha: { |
||||
|
max_body: this.max_body, |
||||
|
kod: this.kod, |
||||
|
nazev: this.nazev, |
||||
|
} |
||||
|
}).then(response => { |
||||
|
console.log(response.data); |
||||
|
this.loading=false; |
||||
|
this.item.node = response.data; |
||||
|
this.$root.$emit('updateData',"ulohaZadaniNode save update"); |
||||
|
}).catch( e => { |
||||
|
console.log(e); |
||||
|
}); |
||||
|
this.editorShow = false; |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
}, |
||||
mounted: function(){ |
mounted: function(){ |
||||
|
axios.defaults.headers.common['X-CSRFToken'] = this.getCookie('csrftoken'); |
||||
|
if (this.create){ |
||||
|
this.editorShow = true; |
||||
|
this.max_body = 0; |
||||
|
this.nazev = ""; |
||||
|
this.kod = ""; |
||||
|
} else { |
||||
|
this.max_body = this.item.node.uloha.max_body; |
||||
|
this.nazev = this.item.node.uloha.nazev; |
||||
|
this.kod = this.item.node.uloha.kod; |
||||
|
} |
||||
if (this.item.node.uloha === null){ |
if (this.item.node.uloha === null){ |
||||
console.log("Uloha je null!"); |
console.log("Uloha je null!"); |
||||
console.log(this.item); |
console.log(this.item); |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
} |
|
||||
</script> |
</script> |
||||
|
Loading…
Reference in new issue