From d079b9bf16956fa86d105545d96f7b24f4b261f1 Mon Sep 17 00:00:00 2001 From: nuintun Date: Wed, 25 Nov 2015 22:44:15 +0800 Subject: [PATCH] update files --- static/js/terminal/index.js | 8 +++----- static/js/terminal/lib/close.js | 26 ++++++++++++++++++++++++++ static/js/terminal/lib/destroy.js | 18 ------------------ static/js/terminal/lib/esc/reset.js | 17 +++++++++++++++-- 4 files changed, 44 insertions(+), 25 deletions(-) create mode 100644 static/js/terminal/lib/close.js delete mode 100644 static/js/terminal/lib/destroy.js diff --git a/static/js/terminal/index.js b/static/js/terminal/index.js index 806a1f1..cb291d1 100644 --- a/static/js/terminal/index.js +++ b/static/js/terminal/index.js @@ -90,7 +90,7 @@ function Terminal(options){ // misc this.element = null; - this.children = null; + this.children = []; this.refreshStart = null; this.refreshEnd = null; this.savedX = null; @@ -126,8 +126,8 @@ require('./lib/colors')(Terminal); require('./lib/options')(Terminal); require('./lib/open')(Terminal); -require('./lib/destroy')(Terminal); require('./lib/refresh')(Terminal); +require('./lib/close')(Terminal); require('./lib/write')(Terminal); @@ -149,11 +149,11 @@ require('./lib/focused')(Terminal); require('./lib/scrollDisp')(Terminal); require('./lib/resize')(Terminal); - require('./lib/esc/index.js')(Terminal); require('./lib/esc/reset.js')(Terminal); require('./lib/esc/tabSet.js')(Terminal); +require('./lib/charsets.js')(Terminal); require('./lib/csi/charAttributes')(Terminal); require('./lib/csi/insert-delete')(Terminal); require('./lib/csi/position')(Terminal); @@ -163,5 +163,3 @@ require('./lib/csi/tabClear')(Terminal); require('./lib/csi/softReset')(Terminal); require('./lib/csi/scroll')(Terminal); require('./lib/csi/device')(Terminal); - -require('./lib/charsets.js')(Terminal); diff --git a/static/js/terminal/lib/close.js b/static/js/terminal/lib/close.js new file mode 100644 index 0000000..898f7eb --- /dev/null +++ b/static/js/terminal/lib/close.js @@ -0,0 +1,26 @@ +/** + * Created by nuintun on 2015/11/24. + */ + +'use strict'; + +module.exports = function (Terminal){ + Terminal.prototype.close = function (){ + this.lines = []; + this.children = []; + this.readable = false; + this.writable = false; + this.handler = function (){}; + this.write = function (){}; + + if (this.element) { + var parent = this.element.parentNode; + + if (parent) { + parent.removeChild(this.element); + } + + this.element = null; + } + }; +}; diff --git a/static/js/terminal/lib/destroy.js b/static/js/terminal/lib/destroy.js deleted file mode 100644 index 80fd727..0000000 --- a/static/js/terminal/lib/destroy.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Created by nuintun on 2015/11/24. - */ - -'use strict'; - -module.exports = function (Terminal){ - Terminal.prototype.destroy = function (){ - this.readable = false; - this.writable = false; - this.handler = function (){}; - this.write = function (){}; - - if (this.element.parentNode) { - this.element.parentNode.removeChild(this.element); - } - }; -}; diff --git a/static/js/terminal/lib/esc/reset.js b/static/js/terminal/lib/esc/reset.js index a9a3b5b..126154c 100644 --- a/static/js/terminal/lib/esc/reset.js +++ b/static/js/terminal/lib/esc/reset.js @@ -7,10 +7,23 @@ module.exports = function (Terminal){ // ESC c Full Reset (RIS). Terminal.prototype.reset = function (){ - this.options.rows = this.rows; - this.options.cols = this.cols; + var parent; + + if (this.element) { + parent = this.element.parentNode; + + if (parent) { + parent.removeChild(this.element); + } + } Terminal.call(this, this.options); + + this.open(); this.refresh(0, this.rows - 1); + + if (parent) { + parent.appendChild(this.element); + } }; };