Skip to content

Instantly share code, notes, and snippets.

@simonj
Created October 8, 2016 10:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simonj/26a129392a4b06840269f89bce7437ec to your computer and use it in GitHub Desktop.
Save simonj/26a129392a4b06840269f89bce7437ec to your computer and use it in GitHub Desktop.
module.exports = {
data() {
return {
personData: []
}
},
ready() {
console.log('ready');
// trigger function every 1 sec.
// setInterval(this.triggerStats, 1000);
// Listen for any push data from Pusher.com
Echo.channel('public-test-channel')
.listen('TrainingStats', (response) => {
this.personData = [];
let data = JSON.parse(response.data.original).data;
let then = this;
_.forEach(data, function(person) {
then.personData.push({
'username': person.person.username,
'lastMeasurementTime': person.person.created_at,
'lastMeasurementData': person.person.measurements,
'group': person.person.group,
'groupColor': person.person.groupColor,
'order': person.person.measurements[0].value
});
});
});
// Watch for any changes in the json object.
this.$watch('personData', function(value, mutation) {
console.log('changed');
console.log(value);
console.log(mutation);
if(mutation) {
mutation.method // e.g. 'push'
mutation.args // raw arguments to the mutation method
mutation.result // return value
mutation.inserted // new, inserted elements
mutation.removed // removed elements
}
});
},
methods: {
/**
* Trigger route to send json data to Pusher.com
*/
triggerStats() {
this.$http.get('/triggerStats').then((response) => {
}, (response) => {
});
},
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment