Files
@ 5f4c8705cf73
Branch filter:
Location: light9/web/light9-collector-client.html - annotation
5f4c8705cf73
1.6 KiB
text/html
vscode
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>
|