Mercurial > code > home > repos > light9
view web/light9-collector-client.html @ 2417:ae4b90efb55a
start calibration tool
author | drewp@bigasterisk.com |
---|---|
date | Mon, 20 May 2024 01:28:12 -0700 |
parents | 4556eebe5d73 |
children |
line wrap: on
line source
<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>