silvrgit/app/js/clockSocket.js
Martin Donnelly b945f54fd0 Clock
2016-10-05 15:08:57 +01:00

57 lines
1.4 KiB
JavaScript

/**
*
* User: Martin Donnelly
* Date: 2016-09-09
* Time: 11:38
*
*/
/* global Backbone, _, WEBSOCKET */
/* jshint browser: true , devel: true*/
'use strict';
var SOCKETMANAGER = (function() {
var SocketManager = Backbone.Model.extend({
deviceId: ['CENSIS-LoRa-1','CENSIS-LoRa-2','CENSIS-LoRa-3','CENSIS-LoRa-4','HIE-mobile-1----','HIE-mobile-2----','HIE-smart-campus-1','HIE-smart-campus-2','HIE-smart-campus-3','HIE-smart-campus-4','HIE-smart-campus-5','HIE-smart-campus-6','HIE-smart-campus-7','HIE-mDot-1'],
initialize: function() {
_.bindAll(this, 'turnOn', 'turnOff');
this.listeningID = null;
this.listening = false;
this.webSocket = new WEBSOCKET(this);
this.on('message', function(o) {
if (this.listening) {
this.checkItem(o);
}
});
},
turnOn: function() {
this.listening = true;
},
turnOff: function() {
this.listening = false;
},
listenFor: function(id) {
this.listeningID = this.deviceId.indexOf(id);
},
checkItem: function(item) {
if (item.hasOwnProperty('tick')) {
// Ticks are ignored
} else {
if (item.data.deviceid === this.listeningID) {
console.log('Updated', item.data);
this.set({data: item.data});
}
}
}
});
return SocketManager;
}());