mirror of
https://github.com/nuintun/command-manager.git
synced 2025-06-07 11:34:05 +08:00
87 lines
1.8 KiB
JavaScript
87 lines
1.8 KiB
JavaScript
/**
|
|
* Created by nuintun on 2015/12/2.
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
importScripts('../../terminal/index.js');
|
|
|
|
var xterm;
|
|
|
|
onconnect = function (event){
|
|
var port = event.ports[0];
|
|
|
|
port.onmessage = function (event){
|
|
var message = event.data;
|
|
|
|
function send(name, xterm){
|
|
var data = {
|
|
name: name,
|
|
screen: xterm.toString('html')
|
|
};
|
|
|
|
port.postMessage(data);
|
|
}
|
|
|
|
switch (message.action) {
|
|
case 'open':
|
|
if (!xterm) {
|
|
xterm = new AnsiTerminal(120, 60, 0);
|
|
xterm.newline_mode = true;
|
|
}
|
|
|
|
send(message.name, xterm);
|
|
break;
|
|
case 'close':
|
|
delete xterm.reset();
|
|
break;
|
|
case 'write':
|
|
xterm.write(message.data);
|
|
send(message.name, xterm);
|
|
break;
|
|
}
|
|
};
|
|
|
|
//function send(name, xterm){
|
|
// postMessage({
|
|
// name: name,
|
|
// screen: xterm.toString('html')
|
|
// });
|
|
//}
|
|
//
|
|
//switch (message.action) {
|
|
// case 'open':
|
|
// xterm = RUNTIMECACHE[message.name];
|
|
//
|
|
// if (!xterm) {
|
|
// xterm = new AnsiTerminal(120, 60, 0);
|
|
// xterm.newline_mode = true;
|
|
// SCREENCACHE[message.name] = '';
|
|
// RUNTIMECACHE[message.name] = xterm;
|
|
// }
|
|
//
|
|
// ACTIVE = message.name;
|
|
//
|
|
// if (SCREENCACHE[message.name]) {
|
|
// xterm.write(SCREENCACHE[message.name]);
|
|
// SCREENCACHE[message.name] = '';
|
|
// }
|
|
//
|
|
// send(message.name, xterm);
|
|
// break;
|
|
// case 'close':
|
|
// delete RUNTIMECACHE[message.name];
|
|
// break;
|
|
// case 'write':
|
|
// xterm = RUNTIMECACHE[message.name];
|
|
//
|
|
// if (ACTIVE === message.name) {
|
|
// xterm.write(message.data);
|
|
// send(message.name, xterm);
|
|
// } else {
|
|
// SCREENCACHE[message.name] += message.data;
|
|
// }
|
|
// break;
|
|
//}
|
|
};
|