mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-30 09:31:53 +08:00
refactoring
This commit is contained in:
@@ -36,30 +36,37 @@ export function Atx() {
|
||||
$("atx-power-led").title = "Power Led";
|
||||
$("atx-hdd-led").title = "Disk Activity Led";
|
||||
|
||||
tools.setOnClick($("atx-power-button"), () => __clickButton("power", "Are you sure to click the power button?"));
|
||||
tools.setOnClick($("atx-power-button-long"), () => __clickButton("power_long", "Are you sure to perform the long press of the power button?"));
|
||||
tools.setOnClick($("atx-reset-button"), () => __clickButton("reset", "Are you sure to reboot the server?"));
|
||||
for (let args of [
|
||||
["atx-power-button", "power", "Are you sure to click the power button?"],
|
||||
["atx-power-button-long", "power_long", "Are you sure to perform the long press of the power button?"],
|
||||
["atx-reset-button", "reset", "Are you sure to reboot the server?"],
|
||||
]) {
|
||||
tools.setOnClick($(args[0]), () => __clickButton(args[1], args[2]));
|
||||
}
|
||||
};
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
self.setState = function(state) {
|
||||
let buttons_enabled = false;
|
||||
if (state) {
|
||||
tools.setFeatureEnabled($("atx-dropdown"), state.enabled);
|
||||
tools.featureSetEnabled($("atx-dropdown"), state.enabled);
|
||||
$("atx-power-led").className = (state.busy ? "led-yellow" : (state.leds.power ? "led-green" : "led-gray"));
|
||||
$("atx-hdd-led").className = (state.leds.hdd ? "led-red" : "led-gray");
|
||||
buttons_enabled = !state.busy;
|
||||
} else {
|
||||
$("atx-power-led").className = "led-gray";
|
||||
$("atx-hdd-led").className = "led-gray";
|
||||
}
|
||||
for (let id of ["atx-power-button", "atx-power-button-long", "atx-reset-button"]) {
|
||||
wm.switchEnabled($(id), buttons_enabled);
|
||||
}
|
||||
|
||||
$("atx-power-led").className = ((state && state.leds.power) ? "led-green" : "led-gray");
|
||||
$("atx-hdd-led").className = ((state && state.leds.hdd) ? "led-red" : "led-gray");
|
||||
|
||||
wm.switchEnabled($("atx-power-button"), (state && !state.busy));
|
||||
wm.switchEnabled($("atx-power-button-long"), (state && !state.busy));
|
||||
wm.switchEnabled($("atx-reset-button"), (state && !state.busy));
|
||||
};
|
||||
|
||||
var __clickButton = function(button, confirm_msg) {
|
||||
wm.confirm(confirm_msg).then(function(ok) {
|
||||
if (ok) {
|
||||
let http = tools.makeRequest("POST", "/api/atx/click?button=" + button, function() {
|
||||
let http = tools.makeRequest("POST", `/api/atx/click?button=${button}`, function() {
|
||||
if (http.readyState === 4) {
|
||||
if (http.status === 409) {
|
||||
wm.error("Performing another ATX operation for other client.<br>Please try again later");
|
||||
|
||||
@@ -42,7 +42,7 @@ export function Msd() {
|
||||
$("msd-image-selector").onchange = __selectImage;
|
||||
tools.setOnClick($("msd-remove-image"), __clickRemoveImageButton);
|
||||
|
||||
tools.setOnClickRadio("msd-mode-radio", __clickModeRadio);
|
||||
tools.radioSetOnClick("msd-mode-radio", __clickModeRadio);
|
||||
|
||||
$("msd-select-new-image-file").onchange = __selectNewImageFile;
|
||||
tools.setOnClick($("msd-select-new-image-button"), () => $("msd-select-new-image-file").click());
|
||||
@@ -85,7 +85,7 @@ export function Msd() {
|
||||
};
|
||||
|
||||
var __clickModeRadio = function() {
|
||||
__sendParam("cdrom", tools.getRadioValue("msd-mode-radio"));
|
||||
__sendParam("cdrom", tools.radioGetValue("msd-mode-radio"));
|
||||
};
|
||||
|
||||
var __sendParam = function(name, value) {
|
||||
@@ -126,7 +126,7 @@ export function Msd() {
|
||||
var __uploadProgress = function(event) {
|
||||
if(event.lengthComputable) {
|
||||
let percent = Math.round((event.loaded * 100) / event.total);
|
||||
tools.setProgressPercent($("msd-uploading-progress"), `${percent}%`, percent);
|
||||
tools.progressSetValue($("msd-uploading-progress"), `${percent}%`, percent);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -135,7 +135,7 @@ export function Msd() {
|
||||
__upload_http.upload.onprogress = null;
|
||||
__upload_http.abort();
|
||||
__upload_http = null;
|
||||
tools.setProgressPercent($("msd-uploading-progress"), "Aborted", 0);
|
||||
tools.progressSetValue($("msd-uploading-progress"), "Aborted", 0);
|
||||
};
|
||||
|
||||
var __clickConnectButton = function(connect) {
|
||||
@@ -183,8 +183,8 @@ export function Msd() {
|
||||
var __applyState = function() {
|
||||
if (__state) {
|
||||
__toggleMsdFeatures();
|
||||
tools.setFeatureEnabled($("msd-dropdown"), __state.enabled);
|
||||
tools.setFeatureEnabled($("msd-reset-button"), __state.enabled);
|
||||
tools.featureSetEnabled($("msd-dropdown"), __state.enabled);
|
||||
tools.featureSetEnabled($("msd-reset-button"), __state.enabled);
|
||||
|
||||
__showMessageOffline(!__state.online);
|
||||
__showMessageImageBroken(__state.online && __state.drive.image && !__state.drive.image.complete && !__state.storage.uploading);
|
||||
@@ -212,10 +212,10 @@ export function Msd() {
|
||||
let size = __state.storage.size;
|
||||
let used = __state.storage.size - __state.storage.free;
|
||||
$("msd-storage-size").innerHTML = tools.formatSize(size);
|
||||
tools.setProgressPercent($("msd-storage-progress"), `Storage: ${tools.formatSize(used)} of ${tools.formatSize(size)} used`, used / size * 100);
|
||||
tools.progressSetValue($("msd-storage-progress"), `Storage: ${tools.formatSize(used)} of ${tools.formatSize(size)} used`, used / size * 100);
|
||||
} else {
|
||||
$("msd-storage-size").innerHTML = "Unavailable";
|
||||
tools.setProgressPercent($("msd-storage-progress"), "Storage: unavailable", 0);
|
||||
tools.progressSetValue($("msd-storage-progress"), "Storage: unavailable", 0);
|
||||
}
|
||||
|
||||
wm.switchEnabled($("msd-image-selector"), (__state.online && __state.features.multi && !__state.drive.connected && !__state.busy));
|
||||
@@ -225,7 +225,7 @@ export function Msd() {
|
||||
wm.switchEnabled($("msd-remove-image"), (__state.online && __state.features.multi && __state.drive.image && !__state.drive.connected && !__state.busy));
|
||||
|
||||
wm.switchRadioEnabled("msd-mode-radio", (__state.online && __state.features.cdrom && !__state.drive.connected && !__state.busy));
|
||||
tools.setRadioValue("msd-mode-radio", `${Number(__state.online && __state.features.cdrom && __state.drive.cdrom)}`);
|
||||
tools.radioSetValue("msd-mode-radio", `${Number(__state.online && __state.features.cdrom && __state.drive.cdrom)}`);
|
||||
|
||||
wm.switchEnabled($("msd-connect-button"), (__state.online && (!__state.features.multi || __state.drive.image) && !__state.drive.connected && !__state.busy));
|
||||
wm.switchEnabled($("msd-disconnect-button"), (__state.online && __state.drive.connected && !__state.busy));
|
||||
@@ -236,11 +236,11 @@ export function Msd() {
|
||||
|
||||
wm.switchEnabled($("msd-reset-button"), (__state.enabled && !__state.busy));
|
||||
|
||||
tools.setHiddenVisible($("msd-submenu-new-image"), __image_file);
|
||||
tools.hiddenSetVisible($("msd-submenu-new-image"), __image_file);
|
||||
$("msd-new-image-name").innerHTML = (__image_file ? __image_file.name : "");
|
||||
$("msd-new-image-size").innerHTML = (__image_file ? tools.formatSize(__image_file.size) : "");
|
||||
if (!__upload_http) {
|
||||
tools.setProgressPercent($("msd-uploading-progress"), "Waiting for upload ...", 0);
|
||||
tools.progressSetValue($("msd-uploading-progress"), "Waiting for upload ...", 0);
|
||||
}
|
||||
|
||||
} else {
|
||||
@@ -255,14 +255,14 @@ export function Msd() {
|
||||
$("msd-image-name").innerHTML = "";
|
||||
$("msd-image-size").innerHTML = "";
|
||||
$("msd-storage-size").innerHTML = "";
|
||||
tools.setProgressPercent($("msd-storage-progress"), "", 0);
|
||||
tools.progressSetValue($("msd-storage-progress"), "", 0);
|
||||
|
||||
wm.switchEnabled($("msd-image-selector"), false);
|
||||
$("msd-image-selector").options.length = 1;
|
||||
wm.switchEnabled($("msd-remove-image"), false);
|
||||
|
||||
wm.switchRadioEnabled("msd-mode-radio", false);
|
||||
tools.setRadioValue("msd-mode-radio", "0");
|
||||
tools.radioSetValue("msd-mode-radio", "0");
|
||||
|
||||
wm.switchEnabled($("msd-connect-button"), false);
|
||||
wm.switchEnabled($("msd-disconnect-button"), false);
|
||||
@@ -274,43 +274,43 @@ export function Msd() {
|
||||
wm.switchEnabled($("msd-reset-button"), false);
|
||||
|
||||
$("msd-select-new-image-file").value = "";
|
||||
tools.setHiddenVisible($("msd-submenu-new-image"), false);
|
||||
tools.hiddenSetVisible($("msd-submenu-new-image"), false);
|
||||
$("msd-new-image-name").innerHTML = "";
|
||||
$("msd-new-image-size").innerHTML = "";
|
||||
tools.setProgressPercent($("msd-uploading-progress"), "", 0);
|
||||
tools.progressSetValue($("msd-uploading-progress"), "", 0);
|
||||
}
|
||||
};
|
||||
|
||||
var __toggleMsdFeatures = function() {
|
||||
for (let el of $$$(".msd-single-storage")) {
|
||||
tools.setFeatureEnabled(el, !__state.features.multi);
|
||||
tools.featureSetEnabled(el, !__state.features.multi);
|
||||
}
|
||||
for (let el of $$$(".msd-multi-storage")) {
|
||||
tools.setFeatureEnabled(el, __state.features.multi);
|
||||
tools.featureSetEnabled(el, __state.features.multi);
|
||||
}
|
||||
for (let el of $$$(".msd-cdrom-emulation")) {
|
||||
tools.setFeatureEnabled(el, __state.features.cdrom);
|
||||
tools.featureSetEnabled(el, __state.features.cdrom);
|
||||
}
|
||||
};
|
||||
|
||||
var __showMessageOffline = function(visible) {
|
||||
tools.setHiddenVisible($("msd-message-offline"), visible);
|
||||
tools.hiddenSetVisible($("msd-message-offline"), visible);
|
||||
};
|
||||
|
||||
var __showMessageImageBroken = function(visible) {
|
||||
tools.setHiddenVisible($("msd-message-image-broken"), visible);
|
||||
tools.hiddenSetVisible($("msd-message-image-broken"), visible);
|
||||
};
|
||||
|
||||
var __showMessageTooBigForCdrom = function(visible) {
|
||||
tools.setHiddenVisible($("msd-message-too-big-for-cdrom"), visible);
|
||||
tools.hiddenSetVisible($("msd-message-too-big-for-cdrom"), visible);
|
||||
};
|
||||
|
||||
var __showMessageOutOfStorage = function(visible) {
|
||||
tools.setHiddenVisible($("msd-message-out-of-storage"), visible);
|
||||
tools.hiddenSetVisible($("msd-message-out-of-storage"), visible);
|
||||
};
|
||||
|
||||
var __showMessageAnotherUserUploads = function(visible) {
|
||||
tools.setHiddenVisible($("msd-message-another-user-uploads"), visible);
|
||||
tools.hiddenSetVisible($("msd-message-another-user-uploads"), visible);
|
||||
};
|
||||
|
||||
var __setStatus = function(led_cls, msg) {
|
||||
|
||||
@@ -92,11 +92,11 @@ export function Session() {
|
||||
let undervoltage = (flags.undervoltage.now || flags.undervoltage.past);
|
||||
let freq_capped = (flags.freq_capped.now || flags.freq_capped.past);
|
||||
|
||||
tools.setHiddenVisible($("hw-health-dropdown"), (undervoltage || freq_capped));
|
||||
tools.hiddenSetVisible($("hw-health-dropdown"), (undervoltage || freq_capped));
|
||||
$("hw-health-undervoltage-led").className = (undervoltage ? (flags.undervoltage.now ? "led-red" : "led-yellow") : "hidden");
|
||||
$("hw-health-overheating-led").className = (freq_capped ? (flags.freq_capped.now ? "led-red" : "led-yellow") : "hidden");
|
||||
tools.setHiddenVisible($("hw-health-message-undervoltage"), undervoltage);
|
||||
tools.setHiddenVisible($("hw-health-message-overheating"), freq_capped);
|
||||
tools.hiddenSetVisible($("hw-health-message-undervoltage"), undervoltage);
|
||||
tools.hiddenSetVisible($("hw-health-message-overheating"), freq_capped);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -43,27 +43,18 @@ export function Streamer() {
|
||||
var __init__ = function() {
|
||||
$("stream-led").title = "Stream inactive";
|
||||
|
||||
$("stream-quality-slider").min = 5;
|
||||
$("stream-quality-slider").max = 100;
|
||||
$("stream-quality-slider").step = 5;
|
||||
$("stream-quality-slider").value = 80;
|
||||
tools.setOnUpSlider($("stream-quality-slider"), 1000, __updateQualityValue, (value) => __sendParam("quality", value));
|
||||
tools.sliderSetParams($("stream-quality-slider"), 5, 100, 5, 80);
|
||||
tools.sliderSetOnUp($("stream-quality-slider"), 1000, __updateQualityValue, (value) => __sendParam("quality", value));
|
||||
|
||||
$("stream-desired-fps-slider").min = 0;
|
||||
$("stream-desired-fps-slider").max = 120;
|
||||
$("stream-desired-fps-slider").step = 1;
|
||||
$("stream-desired-fps-slider").value = 0;
|
||||
tools.setOnUpSlider($("stream-desired-fps-slider"), 1000, __updateDesiredFpsValue, (value) => __sendParam("desired_fps", value));
|
||||
tools.sliderSetParams($("stream-desired-fps-slider"), 0, 120, 1, 0);
|
||||
tools.sliderSetOnUp($("stream-desired-fps-slider"), 1000, __updateDesiredFpsValue, (value) => __sendParam("desired_fps", value));
|
||||
|
||||
$("stream-resolution-selector").onchange = (() => {
|
||||
wm.switchEnabled($("stream-resolution-selector"), false);
|
||||
__sendParam("resolution", $("stream-resolution-selector").value);
|
||||
});
|
||||
|
||||
$("stream-size-slider").min = 20;
|
||||
$("stream-size-slider").max = 200;
|
||||
$("stream-size-slider").step = 5;
|
||||
$("stream-size-slider").value = 100;
|
||||
tools.sliderSetParams($("stream-size-slider"), 20, 200, 5, 100);
|
||||
$("stream-size-slider").oninput = () => __resize();
|
||||
$("stream-size-slider").onchange = () => __resize();
|
||||
|
||||
@@ -75,8 +66,8 @@ export function Streamer() {
|
||||
|
||||
self.setState = function(state) {
|
||||
if (state) {
|
||||
tools.setFeatureEnabled($("stream-quality"), state.features.quality && (state.streamer === null || state.streamer.encoder.quality > 0));
|
||||
tools.setFeatureEnabled($("stream-resolution"), state.features.resolution);
|
||||
tools.featureSetEnabled($("stream-quality"), state.features.quality && (state.streamer === null || state.streamer.encoder.quality > 0));
|
||||
tools.featureSetEnabled($("stream-resolution"), state.features.resolution);
|
||||
}
|
||||
|
||||
if (state && state.streamer) {
|
||||
@@ -211,7 +202,7 @@ export function Streamer() {
|
||||
};
|
||||
|
||||
var __updateQualityValue = function(value) {
|
||||
$("stream-quality-value").innerHTML = value + "%";
|
||||
$("stream-quality-value").innerHTML = `${value}%`;
|
||||
};
|
||||
|
||||
var __updateDesiredFpsValue = function(value) {
|
||||
@@ -253,7 +244,7 @@ export function Streamer() {
|
||||
|
||||
var __resize = function() {
|
||||
let size = $("stream-size-slider").value;
|
||||
$("stream-size-value").innerHTML = size + "%";
|
||||
$("stream-size-value").innerHTML = `${size}%`;
|
||||
__size_factor = size / 100;
|
||||
__applySizeFactor();
|
||||
};
|
||||
@@ -281,9 +272,9 @@ export function Streamer() {
|
||||
};
|
||||
|
||||
var __applySizeFactor = function() {
|
||||
let el_stream_image = $("stream-image");
|
||||
el_stream_image.style.width = __resolution.width * __size_factor + "px";
|
||||
el_stream_image.style.height = __resolution.height * __size_factor + "px";
|
||||
let el = $("stream-image");
|
||||
el.style.width = __resolution.width * __size_factor + "px";
|
||||
el.style.height = __resolution.height * __size_factor + "px";
|
||||
wm.showWindow($("stream-window"), false);
|
||||
};
|
||||
|
||||
|
||||
@@ -42,14 +42,17 @@ export function WakeOnLan() {
|
||||
|
||||
self.setState = function(state) {
|
||||
if (state) {
|
||||
tools.setFeatureEnabled($("wol"), state.enabled);
|
||||
tools.featureSetEnabled($("wol"), state.enabled);
|
||||
__target = state.target;
|
||||
}
|
||||
wm.switchEnabled($("wol-wakeup-button"), (state && state.enabled));
|
||||
};
|
||||
|
||||
var __clickWakeupButton = function() {
|
||||
let msg = `Are you sure to send Wake-on-LAN packet to the server?<br>Target: <b>${__target.mac}</b> (${__target.ip}:${__target.port})?`;
|
||||
let msg = `
|
||||
Are you sure to send Wake-on-LAN packet to the server?<br>
|
||||
Target: <b>${__target.mac}</b> (${__target.ip}:${__target.port})?
|
||||
`;
|
||||
wm.confirm(msg).then(function(ok) {
|
||||
if (ok) {
|
||||
let http = tools.makeRequest("POST", "/api/wol/wakeup", function() {
|
||||
|
||||
Reference in New Issue
Block a user