update files

This commit is contained in:
nuintun 2015-11-27 13:01:42 +08:00
parent dfc881fcb4
commit 47814518cd

View File

@ -53,15 +53,17 @@ function scroll(xterm, parent){
* @param xtermNode * @param xtermNode
*/ */
function createXTerm(name, xtermNode){ function createXTerm(name, xtermNode){
var xterm;
var runtime = window.AppRuntime[name]; var runtime = window.AppRuntime[name];
xtermNode.innerHTML = ''; if (Terminal.focus) {
xtermNode.removeChild(Terminal.focus.screen);
}
if (runtime) { if (runtime) {
runtime.xterm.focus(); xterm = runtime.xterm;
xtermNode.appendChild(runtime.xterm.screen);
} else { } else {
var xterm = new Terminal({ xterm = new Terminal({
rows: 66, rows: 66,
scrollback: 66, scrollback: 66,
convertEOL: true, convertEOL: true,
@ -70,13 +72,15 @@ function createXTerm(name, xtermNode){
}); });
xterm.open(); xterm.open();
xterm.focus();
xtermNode.appendChild(xterm.screen);
window.AppRuntime[name] = { window.AppRuntime[name] = {
xterm: xterm xterm: xterm
}; };
} }
xterm.focus();
xtermNode.appendChild(xterm.screen);
scroll(xterm, xtermNode);
} }
module.exports = Vue.component('app-main', { module.exports = Vue.component('app-main', {
@ -172,6 +176,7 @@ module.exports = Vue.component('app-main', {
} }
}, },
created: function (){ created: function (){
var step = 0;
var context = this; var context = this;
document.addEventListener('click', function (event){ document.addEventListener('click', function (event){
@ -181,19 +186,21 @@ module.exports = Vue.component('app-main', {
context.expandCommand = trigger && trigger.contains(target); context.expandCommand = trigger && trigger.contains(target);
}, false); }, false);
var timer;
ipc.on('emulator', function (event, type, project, data){ ipc.on('emulator', function (event, type, project, data){
var xtermNode = context.$els.terminal;
var runtime = window.AppRuntime[project.name]; var runtime = window.AppRuntime[project.name];
if (runtime) { if (runtime) {
xtermNode.innerHTML = ''; step++;
runtime.xterm.write(data + '');
if(runtime.xterm.isFu)
setTimeout(function (){ setTimeout(function (){
xtermNode.appendChild(runtime.xterm.screen); step--;
}, 1);
runtime.xterm.write(data + '');
if (project.name === context.project.name) {
scroll(runtime.xterm, context.$els.terminal);
}
}, step * 16);
} else { } else {
event.sender.send('emulator', project, 'stop'); event.sender.send('emulator', project, 'stop');
} }