
3 changed files with 160 additions and 0 deletions
@ -0,0 +1,25 @@ |
|||
<template> |
|||
<jsonview/> |
|||
</template> |
|||
|
|||
<script> |
|||
import jsonview from './components/jsonview.vue' |
|||
|
|||
export default { |
|||
name: 'App', |
|||
components: { |
|||
jsonview |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
#app { |
|||
font-family: Avenir, Helvetica, Arial, sans-serif; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
text-align: center; |
|||
color: #2c3e50; |
|||
margin-top: 60px; |
|||
} |
|||
</style> |
@ -0,0 +1,15 @@ |
|||
[ |
|||
{ |
|||
"title":"Nadpis1", |
|||
"content": "Obsah1", |
|||
"date": "1. 3. 2022", |
|||
"img": "image_01.jpg" |
|||
}, |
|||
{ |
|||
"title":"Nadpis2", |
|||
"content": "Obsah2", |
|||
"date":"2. 3. 2022", |
|||
"img": "image_02.jpg" |
|||
} |
|||
|
|||
] |
@ -0,0 +1,120 @@ |
|||
<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> |
Loading…
Reference in new issue