desmos-computer/console.js

47 lines
1.4 KiB
JavaScript
Raw Normal View History

function main() {
2024-03-24 18:50:55 -05:00
let socket = new WebSocket("ws://localhost:8764");
var ids = [];
socket.onopen = function(e) {
2023-12-12 11:06:54 -06:00
console.log("[LOG] sending client ping")
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");
for(i in ids) {
2023-12-12 11:06:54 -06:00
console.log(`[LOG] removing expression ${ids[i]}`)
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}`);
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}`)
}
}
2024-03-24 18:50:55 -05:00
} main();