Restructure the frontend a wee bit to allow for a reconnecting websocket
The Vue Hello World is still in place, slowly replacing..
This commit is contained in:
parent
115bf2f25e
commit
65bdd2b6ea
|
@ -5,6 +5,34 @@ import App from './App'
|
|||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
console.log('Kafkakitty bootstrapping..')
|
||||
|
||||
function wsConnect () {
|
||||
const socket = new WebSocket('ws://localhost:8001')
|
||||
socket.onopen = (event) => {
|
||||
console.log('Kafkakitty connected! 😺')
|
||||
}
|
||||
socket.onerror = (err) => {
|
||||
console.error('😿 Kafkakitty encountered an error:', err)
|
||||
socket.close()
|
||||
wsConnect()
|
||||
}
|
||||
socket.onclose = (event) => {
|
||||
console.log('Kafkakitty connection lost, retrying..')
|
||||
wsConnect()
|
||||
}
|
||||
|
||||
socket.onmessage = (event) => {
|
||||
console.log(`Received: ${event.data}`)
|
||||
const container = document.getElementById('app')
|
||||
const d = document.createElement('div')
|
||||
d.className = 'row'
|
||||
d.innerHTML = `<pre><code>${event.data}</code></pre>`
|
||||
container.insertBefore(d, container.firstChild)
|
||||
}
|
||||
}
|
||||
wsConnect()
|
||||
|
||||
/* eslint-disable no-new */
|
||||
new Vue({
|
||||
el: '#app',
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
|
||||
<title>Kafkakitty 😻</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
|
@ -12,8 +10,6 @@
|
|||
Kafkakitty needs JavaScript to work! 😿
|
||||
</h1>
|
||||
</noscript>
|
||||
|
||||
<div id="app"></div>
|
||||
<script type="text/javascript" src="/assets/static/sock.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
/*
|
||||
* Main module for the Kafkakitty client side code
|
||||
*/
|
||||
|
||||
console.log('😺 Kafkakitty bootstrapping..');
|
||||
|
||||
const socket = new WebSocket('ws://127.0.0.1:8001');
|
||||
|
||||
socket.onmessage = (event) => {
|
||||
console.log(`Received: ${event.data}`);
|
||||
const container = document.getElementById('app');
|
||||
const d = document.createElement('div');
|
||||
d.className = 'row'
|
||||
d.innerHTML = `<pre><code>${event.data}</code></pre>`;
|
||||
container.insertBefore(d, container.firstChild);
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue