diff options
Diffstat (limited to 'src_js/hatter/main.js')
| -rw-r--r-- | src_js/hatter/main.js | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src_js/hatter/main.js b/src_js/hatter/main.js index 892b6af..3f64ed3 100644 --- a/src_js/hatter/main.js +++ b/src_js/hatter/main.js @@ -1,7 +1,7 @@ import bean from 'bean'; -import R from 'ramda'; import r from 'hatter/renderer'; +import * as util from 'hatter/util'; import * as common from 'hatter/common'; import * as vt from 'hatter/vt'; @@ -10,8 +10,31 @@ import 'style/main.scss'; function main() { - let root = document.body.appendChild(document.createElement('div')); - r.init(root, common.defaultState, vt.main); + let conn = new WebSocket(wsAddress); + + conn.onopen = () => { + let root = document.body.appendChild(document.createElement('div')); + let state = util.set('conn', conn, common.defaultState); + r.init(root, state, vt.main); + }; + + conn.onclose = () => { + alert("Disconnected from server"); + }; + + conn.onerror = () => { + alert("Couldn't connect to server"); + }; + + conn.onmessage = (evt) => { + try { + let msg = JSON.parse(evt.data); + common.processMsg(msg); + } catch(e) { + conn.close(); + throw e; + } + }; } |
