You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.1 KiB
120 lines
3.1 KiB
<template>
|
|
<div>
|
|
<!-- jsonhead -> hlavička pro navigaci a změnu datumu -->
|
|
<div id="jsonhead">
|
|
<h1>JSON</h1>
|
|
<p>Použi navigační tlačítka pro změnu datumu</p>
|
|
<button class="navigace" @click="increment()">+</button>
|
|
<button class="navigace" @click="resetdate()">RESET</button>
|
|
<button class="navigace" @click="decrement()">-</button>
|
|
</div>
|
|
<!-- jsonmain -> div pro zobrazeni hlavní části-->
|
|
<div id="jsonmain">
|
|
<div v-for="data1 in selectDatum(selectDate(date,numberino))" :key="data1.date">
|
|
<b>{{data1.title}}</b> - {{data1.content}} - <i>{{data1.date}}</i> <br>
|
|
<img :src="getImgUrl(data1.img)" v-bind:alt="data1.img">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- DEBUG SEKCE -->
|
|
<button @click="showdebug()"> DEBUG</button>
|
|
<div id="jsondebug" style="display:none">
|
|
|
|
<!-- Test Proměných -->
|
|
<p> {{ selectDate(date,numberino) }} </p>
|
|
<p> {{ date }} </p>
|
|
<p> {{ numberino }} </p>
|
|
|
|
<!-- Toto je výpis celé JSON "Databáze" -->
|
|
<ul>
|
|
<li v-for="jsondata in jsondata" :key="jsondata.date">
|
|
<b>{{jsondata.title}}</b> - {{jsondata.content}} - <i>{{jsondata.date}}</i>
|
|
</li>
|
|
</ul>
|
|
|
|
<!-- Vypisování JSON dat na dnešní datum -->
|
|
<!-- h3 -> vypisování neformátovaného JSON -->
|
|
<h3>{{ todayData() }}</h3>
|
|
<!-- h2 -> vypisování formátovaného JSON pro zpracovávání -->
|
|
<h2 v-for="data in todayData()" :key="data.date">
|
|
<b>{{data.title}}</b> - {{data.content}} - <i>{{data.date}}</i>
|
|
|
|
</h2>
|
|
|
|
<!-- Vypisování neformátovaných JSON dat na dynamicky měněný datum -->
|
|
<h3>{{ selectDatum(selectDate(date,numberino) ) }}</h3>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import jsondata from '../assets/jsondata.json'
|
|
|
|
export default {
|
|
name: 'jsonView',
|
|
data: () => ({
|
|
date: '',
|
|
numberino: 0,
|
|
jsondata: jsondata
|
|
}),
|
|
methods: {
|
|
printDate: function () {
|
|
return new Date();
|
|
//return new Date().toLocaleDateString();
|
|
},
|
|
selectDate: function(date, days){
|
|
var result = new Date(date);
|
|
result.setDate(result.getDate() + days);
|
|
return result.toLocaleDateString();
|
|
},
|
|
|
|
todayData: function () {
|
|
return this.jsondata.filter(
|
|
jsondata => jsondata.date == (new Date().toLocaleDateString()));
|
|
},
|
|
selectDatum: function (datum) {
|
|
return this.jsondata.filter(
|
|
jsondata => jsondata.date == datum);
|
|
},
|
|
getImgUrl(pic) {
|
|
return require('../assets/img/'+pic);
|
|
},
|
|
|
|
|
|
increment(){
|
|
this.numberino += 1;
|
|
},
|
|
decrement(){
|
|
this.numberino -= 1;
|
|
},
|
|
resetdate(){
|
|
this.numberino = 0;
|
|
},
|
|
showdebug(){
|
|
var x = document.getElementById("jsondebug");
|
|
if (x.style.display === "none") {
|
|
x.style.display = "block";
|
|
} else {
|
|
x.style.display = "none";
|
|
}
|
|
}
|
|
},
|
|
mounted: function () {
|
|
this.date = this.printDate();
|
|
},
|
|
computed: {
|
|
selectedDate: function () {
|
|
return this.selectDate();
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
h4{
|
|
color: blue;
|
|
}
|
|
</style>
|