Files
seweb/client/jsFiles/SEAWebClientConsole.js
Markus Zolliker 97c6aa1a87 major rework
- modified chartjs for better zoom on touchpad
- flexible number of charts
- handle bool as checkbox
- handle enum as select (pull down menu)
- disable swiper where not needed
and many more
2020-12-23 11:11:22 +01: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="
+ 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;
}