Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50654 views
1
define ([], function() {
2
"use strict";
3
function make_terminal(element, size, ws_url) {
4
var ws = new WebSocket(ws_url);
5
Terminal.brokenBold = true;
6
var term = new Terminal({
7
cols: size.cols,
8
rows: size.rows,
9
screenKeys: false,
10
useStyle: false
11
});
12
ws.onopen = function(event) {
13
ws.send(JSON.stringify(["set_size", size.rows, size.cols,
14
window.innerHeight, window.innerWidth]));
15
term.on('data', function(data) {
16
ws.send(JSON.stringify(['stdin', data]));
17
});
18
19
term.on('title', function(title) {
20
document.title = title;
21
});
22
23
term.open(element);
24
25
ws.onmessage = function(event) {
26
var json_msg = JSON.parse(event.data);
27
switch(json_msg[0]) {
28
case "stdout":
29
term.write(json_msg[1]);
30
break;
31
case "disconnect":
32
term.write("\r\n\r\n[CLOSED]\r\n");
33
break;
34
}
35
};
36
};
37
return {socket: ws, term: term};
38
}
39
40
return {make_terminal: make_terminal};
41
});
42
43