mirror of https://github.com/arendst/Tasmota.git
console: keep cursor at the end of command input
move the text cursor to the end of the command input when filling the console command from history using JavsScript. this hopefully is more convenient to most users and is similar to the behavior of a desktop terminal.
This commit is contained in:
parent
964f0bd62d
commit
d2e8ca4a25
|
@ -2,7 +2,7 @@
|
|||
// compressed by tools/unishox/compress-html-uncompressed.py
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
const size_t HTTP_SCRIPT_CONSOL_SIZE = 952;
|
||||
const size_t HTTP_SCRIPT_CONSOL_SIZE = 1046;
|
||||
const char HTTP_SCRIPT_CONSOL_COMPRESSED[] PROGMEM = "\x33\xBF\xAF\x71\xF0\xE3\x3A\x8B\x44\x3E\x1C\x67\x51\x18\xA3\xA8\x2A\x2B\x1A\x7C"
|
||||
"\x3E\x84\x3C\x18\x17\xC1\xD6\xE7\x20\x8E\xE8\xC3\xBC\x7B\x4C\xEF\xE8\x33\xAB\x0F"
|
||||
"\x87\xD9\xF6\x78\x0C\x27\x7F\x2A\x2B\xD1\xAF\x05\xD1\xDD\x0A\x8E\xF0\x24\xCD\x31"
|
||||
|
@ -30,12 +30,15 @@ const char HTTP_SCRIPT_CONSOL_COMPRESSED[] PROGMEM = "\x33\xBF\xAF\x71\xF0\xE3\x
|
|||
"\x09\x83\xFC\x7D\x9D\x40\x89\xC7\xF3\x04\x1E\x37\x07\x02\x27\x38\xA7\x50\x67\xC6"
|
||||
"\x74\x34\x66\x44\x1E\x08\xCF\x1A\x60\xEE\x9C\xBF\x9F\x0F\x84\x19\xFE\x3F\xC7\x31"
|
||||
"\x9F\x0F\x84\x19\xDE\x3D\xA3\x8E\x96\x2E\xB0\x3C\x1A\x30\x27\x4C\xF8\x7D\xE1\x83"
|
||||
"\x07\xD9\xE0\xF7\x1C\xBF\x9F\x0F\x84\x19\xDA\x3B\xA7\x6C\xED\x87\xC7\xE0\xA0\xC1"
|
||||
"\x0B\x8C\xD3\xF4\x7E\x8E\xE8\x7C\x7C\x04\x49\x67\x78\xEA\x1C\x08\x5C\x80\x8A\x0C"
|
||||
"\xF7\x83\xE3\xAC\xE4\x3D\xF3\xFC\x7F\x8F\xB3\xEC\xEF\x1E\x78\xCF\x87\xC2\x0C\xED"
|
||||
"\x1D\xD3\x8C\xFC\x3A\xCE\xB2\x0F\x81\x07\x10\x38\xC8\x14\xF0\x83\x92\xCF\x87\xC2"
|
||||
"\x0C\xFD\x1F\xA3\xBA\x08\x99\x89\xF8\x72\x23\xF4\x7E\x88\x50\x67\x41\x98\x30\xEE"
|
||||
"\x9D\xE3\xA8\x50\x67\x41\x7C\x08\x3C\xAB\x82\x16\x38\x77\x8E\xA0\xF8\xF8\x71\x9D"
|
||||
"\xE3\xDC\x77\x8F\x07\xB8\x87\xC2\x3B\xA2\x8E\xF1\xE0";
|
||||
"\x07\xD9\xE0\x11\xB8\x10\x04\x4C\xD0\x71\xDE\x3D\xA3\x8E\x86\x30\x31\x7E\x3B\xA7"
|
||||
"\x78\xF0\x38\xE9\xE7\x45\xE6\x13\x0E\xB7\x38\xBF\x7C\x3C\xCE\xE8\xE0\x41\xE3\xA0"
|
||||
"\x10\xB8\xFA\x3A\x90\x24\xCC\x3B\xC7\x83\xDC\x75\x23\x8C\xEA\x3B\x84\x38\xEF\x1E"
|
||||
"\x0F\x71\xCB\xF9\xF0\xF8\x41\x9D\xA3\xBA\x76\xCE\xD8\x7C\x7E\x0A\x0C\x10\xAE\x9F"
|
||||
"\xA3\xF4\x77\x43\xE3\xE0\x22\x4B\x3B\xC7\x50\x21\x63\x87\xC1\x41\x9E\xF0\x7C\x75"
|
||||
"\x9C\x87\xBE\x7F\x8F\xF1\xF6\x7D\x9D\xE3\xCF\x19\xF0\xF8\x41\x9D\xA3\xBA\x71\x9F"
|
||||
"\x87\x59\xD6\x41\xF0\x20\xE2\x07\x19\x02\x9E\x10\x72\x59\xF0\xF8\x41\x9F\xA3\xF4"
|
||||
"\x77\x41\x13\x31\x3F\x0E\x44\x7E\x8F\xD1\x0A\x0C\xE8\x33\x06\x1D\xD3\xBC\x75\x0A"
|
||||
"\x0C\xE8\x2F\x81\x07\x9B\x50\x42\xC7\x0E\xF1\xD4\x1F\x1F\x0E\x33\xBC\x7B\x8E\xF1"
|
||||
"\xE0\xF7\x10\xF8\x47\x74\x51\xDE\x3C\x1B";
|
||||
|
||||
#define HTTP_SCRIPT_CONSOL Decompress(HTTP_SCRIPT_CONSOL_COMPRESSED,HTTP_SCRIPT_CONSOL_SIZE).c_str()
|
|
@ -45,7 +45,13 @@ const char HTTP_SCRIPT_CONSOL[] PROGMEM =
|
|||
// "if(!(navigator.maxTouchPoints||'ontouchstart'in document.documentElement)){eb('c1').autocomplete='off';}" // No touch so stop browser autocomplete
|
||||
"eb('c1').addEventListener('keydown',function(e){"
|
||||
"var b=eb('c1'),c=e.keyCode;" // c1 = Console command id
|
||||
"if(38==c||40==c){b.autocomplete='off';}" // ArrowUp or ArrowDown must be a keyboard so stop browser autocomplete
|
||||
"if(38==c||40==c){" // ArrowUp or ArrowDown
|
||||
"b.autocomplete='off';" // ArrowUp or ArrowDown must be a keyboard so stop browser autocomplete
|
||||
"setTimeout(function(b){" // for best compatibility (chrome) we need to schedule this function
|
||||
"b.focus();" // for best compatibility (chrome) we need to (re)focus the input element
|
||||
"b.setSelectionRange(b.value.length, b.value.length);" // move cursor to the end of the command inserted from history
|
||||
"}, 0, b);"
|
||||
"}"
|
||||
"38==c?(++cn>hc.length&&(cn=hc.length),b.value=hc[cn-1]||''):" // ArrowUp
|
||||
"40==c?(0>--cn&&(cn=0),b.value=hc[cn-1]||''):" // ArrowDown
|
||||
"13==c&&(hc.length>19&&hc.pop(),hc.unshift(b.value),cn=0)" // Enter, 19 = Max number -1 of commands in history
|
||||
|
|
Loading…
Reference in New Issue