Files
meranie/resources/js/app.js
2021-01-12 12:51:06 +01:00

131 lines
3.6 KiB
JavaScript
Vendored

/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
require('./bootstrap');
window.Vue = require('vue');
window.moment = require('moment');
/**
* The following block of code may be used to automatically register your
* Vue components. It will recursively scan this directory for the Vue
* components and automatically register them with their "basename".
*
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
*/
// const files = require.context('./', true, /\.vue$/i)
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))
Vue.component('example-component', require('./components/ExampleComponent.vue').default);
/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
* or customize the JavaScript scaffolding to fit your unique needs.
*/
import VueThermometer from 'vuejs-thermometer'
Vue.use(VueThermometer);
import VueDygraphs from 'vue-dygraphs';
Vue.use(VueDygraphs);
//(function () {
var app = new Vue({
el: '#app',
data: {
tmin: -10,
tmax: 50,
temperature: 0,
humidity: null,
pressure: null,
voltage: null,
time: null,
temp_options: {
legend: 'always',
title: 'Teplotný graf',
xlabel: 'Dátum',
labels: ['Dátum','Teplota'],
ylabel: 'Stupeň',
fillGraph: true
},
hum_options: {
color: 'red',
legend: 'always',
title: 'Vlhkosť graf',
xlabel: 'Dátum',
labels: ['Dátum','Vlhkosť'],
ylabel: 'Percent',
fillGraph: true
},
p_options: {
color: 'blue',
legend: 'always',
title: 'Tlak graf',
xlabel: 'Dátum',
labels: ['Dátum','Tlak'],
ylabel: 'Tlak',
fillGraph: true
},
series: { "temperature" : [], "humidity" : [], "pressure": [] },
},
mounted: function () {
console.log('MOUNTED');
this.getData();
var that = this;
window.setInterval(function(){
console.log("TIMER");
that.getData();
}, 60000);
},
methods: {
getData: function () {
axios.get('/data', {
params: {
}
})
.then(function (response) {
console.log("GET DATA");
console.log(response.data.temperature);
app.temperature = response.data.temperature;
app.humidity = response.data.humidity;
app.pressure = response.data.pressure;
app.voltage = response.data.voltage;
app.time = moment(response.data.time);
})
.catch(function (error) {
console.log(error);
});
let vts = ["temperature","humidity","pressure"];
for (var t in vts) {
console.log("t=",vts[t]);
axios.get('/data/get', {
params: {
type: vts[t],
}
})
.then(function (response) {
console.log("GET DATA");
console.log(response.config.params.type);
let data = response.data.map( x => [moment(x[0]).toDate(),x[1]] );
app.series[response.config.params.type] = data;
})
.catch(function (error) {
console.log(error);
});
}
},
}
});
// })();