mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
[addon attach] Implement auto-detaching on socket close/error
This commit is contained in:
+17
-5
@@ -25,14 +25,26 @@
|
||||
bidirectional = (typeof bidirectional == 'undefined') ? true : bidirectional;
|
||||
this.socket = socket;
|
||||
|
||||
socket.addEventListener('message', function (ev) {
|
||||
function _getMessage (ev) {
|
||||
term.write(ev.data);
|
||||
});
|
||||
}
|
||||
|
||||
function _sendData (data) {
|
||||
socket.send(data);
|
||||
}
|
||||
|
||||
function _detach () {
|
||||
term.off('data', _sendData);
|
||||
socket.removeEventListener('message', _getMessage);
|
||||
}
|
||||
|
||||
socket.addEventListener('message', _getMessage);
|
||||
|
||||
if (bidirectional) {
|
||||
this.on('data', function (data) {
|
||||
socket.send(data);
|
||||
});
|
||||
this.on('data', _sendData);
|
||||
}
|
||||
|
||||
socket.addEventListener('close', _detach);
|
||||
socket.addEventListener('error', _detach);
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user