<link rel="stylesheet" href="/xtermjs/xterm.css?version=@VERSION@" />
<link rel="stylesheet" href="/xtermjs/style.css?version=@VERSION@" />
<script src="/xtermjs/xterm.js?version=@VERSION@" ></script>
- <script src="/xtermjs/fit.js?version=@VERSION@" ></script>
+ <script src="/xtermjs/xterm-addon-fit.js?version=@VERSION@" ></script>
<script src="/xtermjs/util.js?version=@VERSION@" ></script>
</head>
<body>
var terminalContainer = document.getElementById('terminal-container');
document.getElementById('status_bar').addEventListener('click', hideMsg);
-Terminal.applyAddon(fit);
+const fitAddon = new FitAddon.FitAddon();
createTerminal();
function createTerminal() {
term = new Terminal(getTerminalSettings());
+ term.loadAddon(fitAddon);
- term.on('resize', function (size) {
+ term.onResize(function (size) {
if (state === states.connected) {
socket.send("1:" + size.cols + ":" + size.rows + ":");
}
}
};
- term.on('data', function(data) {
+ term.onData(function(data) {
if (state === states.connected) {
socket.send("0:" + unescape(encodeURIComponent(data)).length.toString() + ":" + data);
}
clearTimeout(resize);
resize = setTimeout(function() {
// done resizing
- term.fit();
+ fitAddon.fit();
}, 250);
});
// initial focus and resize
setTimeout(function() {
term.focus();
- term.fit();
+ fitAddon.fit();
}, 250);
}
setTimeout(checkMigration, 5000);
}
+function clearEvents() {
+ term.onResize(() => {});
+ term.onData(() => {});
+}
+
function stopTerminal(event) {
event = event || {};
- term.off('resize');
- term.off('data');
+ clearEvents();
clearInterval(ping);
socket.close();
updateState(states.disconnected, event.msg + event.code);
function errorTerminal(event) {
even = event || {};
- term.off('resize');
- term.off('data');
+ clearEvents();
clearInterval(ping);
socket.close();
term.dispose();