Files
seweb/client/jsFiles/SEAWebClientConsole.js
l_samenv cd306c45ac fix URI encoding and let SECoP module show value
- URI encoding must happen by element
- show values in SECoP module
2024-09-27 13:47:59 +02:00

68 lines
2.1 KiB
JavaScript

// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
// % CONSOLE
var commandHistory = []; // Stores commands executed by console.
var histIndex = -1; // Selected element of 'commandHistory'. (-1 = "")
function createContentConsole(s) {
// Creates input-textfield and texarea showing console-history.
var commandline = document.createElement('input');
commandline.type = "text";
commandline.classList.add("row", "commandline");
commandline.onkeydown = function (e) {
//console.log(histIndex);
if (e.which === 38 || e.key == "ArrowUp") {
if (histIndex + 1 < commandHistory.length) {
histIndex++;
this.value = commandHistory[histIndex];
}
var input = this;
window.setTimeout(
function () {
input.setSelectionRange(input.value.length,
input.value.length);
}, 0, input);
}
if (e.which === 40 || e.key == "ArrowDown") {
if (histIndex >= 0) {
histIndex--;
if (histIndex > -1) {
this.value = commandHistory[histIndex];
} else {
this.value = "";
}
}
}
};
commandline.autocomplete = "on";
var wrapper = document.createElement('form');
wrapper.classList.add("commandline-wrapper");
wrapper.onsubmit = function (e) {
e.preventDefault();
histIndex = -1;
// Request for command.
reqJSON(s, "http://" + hostPort + "/sendcommand?command="
+ encodeURIComponent(commandline.value) + "&id=" + clientID, successHandler,
errorHandler);
commandline.value = "";
};
wrapper.method = "GET";
wrapper.appendChild(commandline);
var history = document.createElement('div');
history.classList.add("history");
var content = document.createElement('div');
content.classList.add("content-console");
content.appendChild(wrapper);
content.appendChild(history);
return content;
}