From cb5de9ed6d3aa866034ab27489ba062c75609b9d Mon Sep 17 00:00:00 2001 From: Lisa Milne Date: Tue, 28 Nov 2023 17:37:30 +1000 Subject: [PATCH] remove term.preventInput() --- clite/core.js | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/clite/core.js b/clite/core.js index bc1ca4e..24cb3f1 100644 --- a/clite/core.js +++ b/clite/core.js @@ -59,14 +59,13 @@ var clite = { reboot:function() { clite.log.write('The system is rebooting'); setTimeout(function() { - clite.term.preventInput(); + clite.term.ttyctrl('hide'); clite.log.write('Bringing down the system'); var l = clite.core.load.script; var s = Array.from(document.getElementsByTagName('src')); s.forEach(function(el,i) { el.parentNode.removeChild(el); }); - clite.term.preventInput(); clite.log.write('Resetting system core'); delete clite; clite = null; @@ -166,7 +165,7 @@ var clite = { s.forEach(function(el) { el.parentNode.removeChild(el); }); - clite.term.preventInput(); + clite.term.ttyctrl('hide'); delete clite; clite = null; },10); @@ -1790,6 +1789,7 @@ clite.log = { clite.term = { data:{ type:'text', + show:true, form:null, field:null, handler:null, @@ -1835,13 +1835,6 @@ clite.term = { clear:function() { document.getElementById('terminal').innerHTML = ''; }, - preventInput:function() { - return; - var f = document.getElementById('form'); - if (!f) - return; - f.parentNode.removeChild(f); - }, writeLine:function(txt) { var a = document.createElement('article'); a.innerHTML = clite.lib.htmlEncode(txt); @@ -1855,6 +1848,11 @@ clite.term = { }, genForm:function() { var f = document.getElementById('form'); + if (!clite.term.data.show) { + if (f) + f.parentNode.removeChild(f); + return; + } if (!f) f = document.createElement('form'); f.id = 'form'; @@ -1883,14 +1881,12 @@ clite.term = { var cb = clite.term.data.type.callback; clite.term.setPass(false); clite.term.writeLine('loaded'); - clite.term.preventInput(); cb(reader.result); }; reader.onerror = function() { var cb = clite.term.data.type.callback; clite.term.setPass(false); clite.term.writeLine('load failed'); - clite.term.preventInput(); cb(null); }; reader.readAsText(e.target.files[0]); @@ -1937,6 +1933,17 @@ clite.term = { clite.term.data.prompt = v; return true; break; + case 'hide': // turns off input + clite.term.data.show = false; + var f = document.getElementById('form'); + if (!f) + return; + f.parentNode.removeChild(f); + break; + case 'show': // turns on input + clite.term.data.show = true; + clite.term.genForm(); + break; default: return false; }