From 054592520ef5a1c67565400d7b4324aa7caf441e Mon Sep 17 00:00:00 2001 From: Bruno Ribeito Date: Sun, 1 Jul 2018 18:56:58 +0100 Subject: [PATCH 1/2] Add recreate terminal after disposing to the demo --- demo/main.js | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/demo/main.js b/demo/main.js index cccf5a04..00e675f5 100644 --- a/demo/main.js +++ b/demo/main.js @@ -50,6 +50,23 @@ addDomListener(actionElements.findPrevious, 'keypress', function (e) { } }); +const disposeRecreateButtonHandler = () => { + // If the terminal exists dispose of it, otherwise recreate it + if (term) { + term.dispose(); + term = null; + window.term = null; + socket = null; + document.getElementById('dispose').innerHTML = 'Recreate Terminal'; + } + else { + createTerminal(); + document.getElementById('dispose').innerHTML = 'Dispose terminal'; + } +}; + +document.getElementById('dispose').addEventListener('click', disposeRecreateButtonHandler); + function createTerminal() { // Clean terminal while (terminalContainer.children.length) { @@ -76,15 +93,6 @@ function createTerminal() { term.fit(); term.focus(); - const buttonHandler = () => { - term.dispose(); - term = null; - window.term = null; - socket = null; - document.getElementById('dispose').removeEventListener('click', buttonHandler); - }; - document.getElementById('dispose').addEventListener('click', buttonHandler); - // fit is called within a setTimeout, cols and rows need this. setTimeout(function () { initOptions(term); From ed58c42513d6444cdeb07bfb36b2d8f666502c80 Mon Sep 17 00:00:00 2001 From: Bruno Ribeito Date: Sun, 1 Jul 2018 22:48:38 +0100 Subject: [PATCH 2/2] Fix actions and styles --- demo/main.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/demo/main.js b/demo/main.js index 00e675f5..a9b11655 100644 --- a/demo/main.js +++ b/demo/main.js @@ -35,21 +35,6 @@ function setPadding() { createTerminal(); -addDomListener(paddingElement, 'change', setPadding); - -addDomListener(actionElements.findNext, 'keypress', function (e) { - if (e.key === "Enter") { - e.preventDefault(); - term.findNext(actionElements.findNext.value); - } -}); -addDomListener(actionElements.findPrevious, 'keypress', function (e) { - if (e.key === "Enter") { - e.preventDefault(); - term.findPrevious(actionElements.findPrevious.value); - } -}); - const disposeRecreateButtonHandler = () => { // If the terminal exists dispose of it, otherwise recreate it if (term) { @@ -93,6 +78,21 @@ function createTerminal() { term.fit(); term.focus(); + addDomListener(paddingElement, 'change', setPadding); + + addDomListener(actionElements.findNext, 'keypress', function (e) { + if (e.key === "Enter") { + e.preventDefault(); + term.findNext(actionElements.findNext.value); + } + }); + addDomListener(actionElements.findPrevious, 'keypress', function (e) { + if (e.key === "Enter") { + e.preventDefault(); + term.findPrevious(actionElements.findPrevious.value); + } + }); + // fit is called within a setTimeout, cols and rows need this. setTimeout(function () { initOptions(term);