Files
@ 561fad2a2859
Branch filter:
Location: light9/web/light9-collector-client.html - annotation
561fad2a2859
1.6 KiB
text/html
dmx rate
4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 4556eebe5d73 | <link rel="import" href="/lib/polymer/polymer.html">
<link rel="import" href="/lib/iron-ajax/iron-ajax.html">
<dom-module id="light9-collector-client">
<template>
<iron-ajax url="/collector/attrs" method="PUT" id="put"></iron-ajax>
<span>{{status}} ([[sent]] sent)</span>
</template>
<script>
Polymer({
is: "light9-collector-client",
properties: {
status: {type: String, value: 'init'},
clientSession: {value: ""+Date.now()},
self: {type: Object, notify: true},
sent: {type: Number, value: 0},
},
ready: function() {
this.self = this;
var self = this;
this.lastSent = [];
self.$.put.addEventListener(
'error', function() { self.status = 'err'; });
self.$.put.addEventListener(
'request', function() { self.status = 'send'; });
self.$.put.addEventListener(
'response', function() { self.status = 'ok'; });
// collector gives up on clients after 10sec
setInterval(self.ping.bind(self), 9000);
self.status = 'ready';
},
ping: function() {
this.send(this.lastSent);
},
send: function(settings) {
this.$.put.body = JSON.stringify({
"settings": settings,
"client": window.location.href,
"clientSession": this.clientSession,
"sendTime": Date.now() / 1000
});
this.$.put.generateRequest();
this.sent += 1;
this.lastSent = settings.slice();
}
});
</script>
</dom-module>
|