Commit d05dc0a4 by Alexander Bazo

Add current build

parent 1f751395
...@@ -47,6 +47,18 @@ ...@@ -47,6 +47,18 @@
} }
} }
class ConnectionClosedEvent extends Event {
constructor() {
super("connectionclosed");
}
}
class ConnectionErrorEvent extends Event {
constructor() {
super("erroroccurred");
}
}
class WebSocketClient extends Observable { class WebSocketClient extends Observable {
constructor() { constructor() {
...@@ -56,6 +68,8 @@ ...@@ -56,6 +68,8 @@
connect(url) { connect(url) {
this.ws = new WebSocket(url); this.ws = new WebSocket(url);
this.ws.onopen = onOpen.bind(this); this.ws.onopen = onOpen.bind(this);
this.ws.onclose = onClose.bind(this);
this.ws.onerror = onError.bind(this);
this.ws.onmessage = onMessage.bind(this); this.ws.onmessage = onMessage.bind(this);
} }
...@@ -66,6 +80,16 @@ ...@@ -66,6 +80,16 @@
this.notifyAll(connectionEvent); this.notifyAll(connectionEvent);
} }
function onClose() {
let connectionEvent = new ConnectionClosedEvent();
this.notifyAll(connectionEvent);
}
function onError() {
let connectionEvent = new ConnectionErrorEvent();
this.notifyAll(connectionEvent);
}
function onMessage(event) { function onMessage(event) {
let dataEvent = new DataEvent(event.data); let dataEvent = new DataEvent(event.data);
this.notifyAll(dataEvent); this.notifyAll(dataEvent);
...@@ -82,6 +106,7 @@ ...@@ -82,6 +106,7 @@
this.client = new WebSocketClient(); this.client = new WebSocketClient();
this.client.addEventListener("connectionopened", this.onConnected.bind(this)); this.client.addEventListener("connectionopened", this.onConnected.bind(this));
this.client.addEventListener("connectionclosed", this.onDisconnected.bind(this)); this.client.addEventListener("connectionclosed", this.onDisconnected.bind(this));
this.client.addEventListener("erroroccurred", this.onDisconnected.bind(this));
this.client.addEventListener("dataAvailable", this.onDataAvailable this.client.addEventListener("dataAvailable", this.onDataAvailable
.bind(this)); .bind(this));
this.client.connect(url); this.client.connect(url);
...@@ -95,6 +120,10 @@ ...@@ -95,6 +120,10 @@
this.notifyAll(event); this.notifyAll(event);
} }
onError(event) {
this.notifyAll(event);
}
onDataAvailable(event) { onDataAvailable(event) {
this.notifyAll(event); this.notifyAll(event);
} }
......
(function(){"use strict";class Observable{constructor(){this.listeners={}}addEventListener(type,callback){if(this.listeners[type]===undefined){this.listeners[type]=[]}this.listeners[type].push(callback)}notifyAll(event){let listeners=this.listeners[event.type];if(listeners){for(let i=0;i<listeners.length;i++){listeners[i](event)}}}}class Event{constructor(type,data){this.type=type;this.data=data}}class DataEvent extends Event{constructor(data){super("dataavailable",data)}}class ConnectionOpenedEvent extends Event{constructor(){super("connectionopened")}}class WebSocketClient extends Observable{constructor(){super()}connect(url){this.ws=new WebSocket(url);this.ws.onopen=onOpen.bind(this);this.ws.onmessage=onMessage.bind(this)}}function onOpen(){let connectionEvent=new ConnectionOpenedEvent;this.notifyAll(connectionEvent)}function onMessage(event){let dataEvent=new DataEvent(event.data);this.notifyAll(dataEvent)}class GazeClient extends Observable{constructor(){super()}connect(url){this.url=url;this.client=new WebSocketClient;this.client.addEventListener("connectionopened",this.onConnected.bind(this));this.client.addEventListener("connectionclosed",this.onDisconnected.bind(this));this.client.addEventListener("dataAvailable",this.onDataAvailable.bind(this));this.client.connect(url)}onConnected(event){this.notifyAll(event)}onDisconnected(event){this.notifyAll(event)}onDataAvailable(event){this.notifyAll(event)}}window.GazeClient=GazeClient})(); (function(){"use strict";class Observable{constructor(){this.listeners={}}addEventListener(type,callback){if(this.listeners[type]===undefined){this.listeners[type]=[]}this.listeners[type].push(callback)}notifyAll(event){let listeners=this.listeners[event.type];if(listeners){for(let i=0;i<listeners.length;i++){listeners[i](event)}}}}class Event{constructor(type,data){this.type=type;this.data=data}}class DataEvent extends Event{constructor(data){super("dataavailable",data)}}class ConnectionOpenedEvent extends Event{constructor(){super("connectionopened")}}class ConnectionClosedEvent extends Event{constructor(){super("connectionclosed")}}class ConnectionErrorEvent extends Event{constructor(){super("erroroccurred")}}class WebSocketClient extends Observable{constructor(){super()}connect(url){this.ws=new WebSocket(url);this.ws.onopen=onOpen.bind(this);this.ws.onclose=onClose.bind(this);this.ws.onerror=onError.bind(this);this.ws.onmessage=onMessage.bind(this)}}function onOpen(){let connectionEvent=new ConnectionOpenedEvent;this.notifyAll(connectionEvent)}function onClose(){let connectionEvent=new ConnectionClosedEvent;this.notifyAll(connectionEvent)}function onError(){let connectionEvent=new ConnectionErrorEvent;this.notifyAll(connectionEvent)}function onMessage(event){let dataEvent=new DataEvent(event.data);this.notifyAll(dataEvent)}class GazeClient extends Observable{constructor(){super()}connect(url){this.url=url;this.client=new WebSocketClient;this.client.addEventListener("connectionopened",this.onConnected.bind(this));this.client.addEventListener("connectionclosed",this.onDisconnected.bind(this));this.client.addEventListener("erroroccurred",this.onDisconnected.bind(this));this.client.addEventListener("dataAvailable",this.onDataAvailable.bind(this));this.client.connect(url)}onConnected(event){this.notifyAll(event)}onDisconnected(event){this.notifyAll(event)}onError(event){this.notifyAll(event)}onDataAvailable(event){this.notifyAll(event)}}window.GazeClient=GazeClient})();
\ No newline at end of file \ No newline at end of file
(function(){"use strict";class Observable{constructor(){this.listeners={}}addEventListener(type,callback){if(this.listeners[type]===undefined){this.listeners[type]=[]}this.listeners[type].push(callback)}notifyAll(event){let listeners=this.listeners[event.type];if(listeners){for(let i=0;i<listeners.length;i++){listeners[i](event)}}}}class Event{constructor(type,data){this.type=type;this.data=data}}class DataEvent extends Event{constructor(data){super("dataavailable",data)}}class ConnectionOpenedEvent extends Event{constructor(){super("connectionopened")}}class WebSocketClient extends Observable{constructor(){super()}connect(url){this.ws=new WebSocket(url);this.ws.onopen=onOpen.bind(this);this.ws.onmessage=onMessage.bind(this)}}function onOpen(){let connectionEvent=new ConnectionOpenedEvent;this.notifyAll(connectionEvent)}function onMessage(event){let dataEvent=new DataEvent(event.data);this.notifyAll(dataEvent)}class GazeClient extends Observable{constructor(){super()}connect(url){this.url=url;this.client=new WebSocketClient;this.client.addEventListener("connectionopened",this.onConnected.bind(this));this.client.addEventListener("connectionclosed",this.onDisconnected.bind(this));this.client.addEventListener("dataAvailable",this.onDataAvailable.bind(this));this.client.connect(url)}onConnected(event){this.notifyAll(event)}onDisconnected(event){this.notifyAll(event)}onDataAvailable(event){this.notifyAll(event)}}window.GazeClient=GazeClient})(); (function(){"use strict";class Observable{constructor(){this.listeners={}}addEventListener(type,callback){if(this.listeners[type]===undefined){this.listeners[type]=[]}this.listeners[type].push(callback)}notifyAll(event){let listeners=this.listeners[event.type];if(listeners){for(let i=0;i<listeners.length;i++){listeners[i](event)}}}}class Event{constructor(type,data){this.type=type;this.data=data}}class DataEvent extends Event{constructor(data){super("dataavailable",data)}}class ConnectionOpenedEvent extends Event{constructor(){super("connectionopened")}}class ConnectionClosedEvent extends Event{constructor(){super("connectionclosed")}}class ConnectionErrorEvent extends Event{constructor(){super("erroroccurred")}}class WebSocketClient extends Observable{constructor(){super()}connect(url){this.ws=new WebSocket(url);this.ws.onopen=onOpen.bind(this);this.ws.onclose=onClose.bind(this);this.ws.onerror=onError.bind(this);this.ws.onmessage=onMessage.bind(this)}}function onOpen(){let connectionEvent=new ConnectionOpenedEvent;this.notifyAll(connectionEvent)}function onClose(){let connectionEvent=new ConnectionClosedEvent;this.notifyAll(connectionEvent)}function onError(){let connectionEvent=new ConnectionErrorEvent;this.notifyAll(connectionEvent)}function onMessage(event){let dataEvent=new DataEvent(event.data);this.notifyAll(dataEvent)}class GazeClient extends Observable{constructor(){super()}connect(url){this.url=url;this.client=new WebSocketClient;this.client.addEventListener("connectionopened",this.onConnected.bind(this));this.client.addEventListener("connectionclosed",this.onDisconnected.bind(this));this.client.addEventListener("erroroccurred",this.onDisconnected.bind(this));this.client.addEventListener("dataAvailable",this.onDataAvailable.bind(this));this.client.connect(url)}onConnected(event){this.notifyAll(event)}onDisconnected(event){this.notifyAll(event)}onError(event){this.notifyAll(event)}onDataAvailable(event){this.notifyAll(event)}}window.GazeClient=GazeClient})();
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment