2023-11-14 22:33:34 -06:00
|
|
|
function main() {
|
2024-03-24 18:50:55 -05:00
|
|
|
let socket = new WebSocket("ws://localhost:8764");
|
2023-11-14 22:33:34 -06:00
|
|
|
var ids = [];
|
|
|
|
|
|
|
|
socket.onopen = function(e) {
|
2023-12-12 11:06:54 -06:00
|
|
|
console.log("[LOG] sending client ping")
|
2023-11-14 22:33:34 -06:00
|
|
|
socket.send("client ping");
|
|
|
|
}
|
|
|
|
|
|
|
|
socket.onmessage = function(e) {
|
|
|
|
var message = JSON.parse(e.data);
|
|
|
|
|
|
|
|
console.log(message.message)
|
|
|
|
if (message.message === "clear") {
|
2023-12-12 11:06:54 -06:00
|
|
|
console.log("[LOG] removing expressions from the graph");
|
2023-11-14 22:33:34 -06:00
|
|
|
for(i in ids) {
|
2023-12-12 11:06:54 -06:00
|
|
|
console.log(`[LOG] removing expression ${ids[i]}`)
|
2023-11-14 22:33:34 -06:00
|
|
|
Calc.removeExpression({
|
|
|
|
id: ids[i],
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
ids = [];
|
|
|
|
} else if (message.message === "expression") {
|
2023-12-12 11:06:54 -06:00
|
|
|
console.log(`[LOG] adding expression ${message.payload} as id ${message.id}`);
|
2023-11-14 22:33:34 -06:00
|
|
|
Calc.setExpression({
|
|
|
|
type: "expression",
|
|
|
|
latex: message.payload,
|
|
|
|
id: message.id,
|
|
|
|
})
|
|
|
|
ids.push(message.id)
|
|
|
|
} else if (message.message === "ticker") {
|
|
|
|
var state = Calc.getState();
|
|
|
|
|
|
|
|
state.expressions.ticker = {
|
|
|
|
handlerLatex: message.payload,
|
|
|
|
minStepLatex: message.rate,
|
|
|
|
open: true,
|
|
|
|
};
|
|
|
|
|
|
|
|
Calc.setState(JSON.stringify(state))
|
|
|
|
} else {
|
2023-12-12 11:06:54 -06:00
|
|
|
console.log(`[LOG] couldn't parse message ${e.data}`)
|
2023-11-14 22:33:34 -06:00
|
|
|
}
|
|
|
|
}
|
2024-03-24 18:50:55 -05:00
|
|
|
} main();
|