switch: server-side IDs

This commit is contained in:
Maxim Devaev 2025-05-07 18:23:13 +03:00
parent 6005ed38b9
commit 32425c1903
2 changed files with 15 additions and 12 deletions

View File

@ -163,7 +163,17 @@ class StateCache: # pylint: disable=too-many-instance-attributes,too-many-publi
}, },
} }
if x_summary: if x_summary:
state["summary"] = {"active_port": self.__active_port, "synced": self.__synced} state["summary"] = {
"active_port": self.__active_port,
"active_id": (
"" if self.__active_port < 0 else (
f"{self.__active_port // 4 + 1}.{self.__active_port % 4 + 1}"
if len(self.__units) > 1 else
f"{self.__active_port + 1}"
)
),
"synced": self.__synced,
}
if x_edids: if x_edids:
state["edids"] = { state["edids"] = {
"all": { "all": {
@ -224,6 +234,7 @@ class StateCache: # pylint: disable=too-many-instance-attributes,too-many-publi
"unit": unit, "unit": unit,
"channel": ch, "channel": ch,
"name": self.__port_names[port], "name": self.__port_names[port],
"id": (f"{unit + 1}.{ch + 1}" if len(self.__units) > 1 else f"{ch + 1}"),
"atx": { "atx": {
"click_delays": { "click_delays": {
"power": self.__atx_cp_delays[port], "power": self.__atx_cp_delays[port],

View File

@ -306,7 +306,7 @@ export function Switch() {
if (active < 0 || active >= __state.model.ports.length) { if (active < 0 || active >= __state.model.ports.length) {
$("switch-active-port").innerText = "N/A"; $("switch-active-port").innerText = "N/A";
} else { } else {
$("switch-active-port").innerText = "p" + __formatPort(__state.model, active); $("switch-active-port").innerText = "p" + summary.active_id;
} }
for (let port = 0; port < __state.model.ports.length; ++port) { for (let port = 0; port < __state.model.ports.length; ++port) {
__setLedState($(`__switch-port-led-p${port}`), "green", (port === active)); __setLedState($(`__switch-port-led-p${port}`), "green", (port === active));
@ -361,7 +361,7 @@ export function Switch() {
content += ` content += `
<tr> <tr>
<td>Port:</td> <td>Port:</td>
<td class="value">${__formatPort(model, port)}</td> <td class="value">${pa.id}</td>
<td>&nbsp;&nbsp;</td> <td>&nbsp;&nbsp;</td>
<td> <td>
<div class="buttons-row"> <div class="buttons-row">
@ -541,7 +541,7 @@ export function Switch() {
} }
}; };
wm.modal(`Port ${__formatPort(__state.model, port)} settings`, create_content, true, true).then(function(ok) { wm.modal(`Port ${__state.model.ports[port].id} settings`, create_content, true, true).then(function(ok) {
if (ok) { if (ok) {
let params = { let params = {
"port": port, "port": port,
@ -557,14 +557,6 @@ export function Switch() {
}); });
}; };
var __formatPort = function(model, port) {
if (model.units.length > 1) {
return `${model.ports[port].unit + 1}.${model.ports[port].channel + 1}`;
} else {
return `${port + 1}`;
}
};
var __setLedState = function(el, color, on) { var __setLedState = function(el, color, on) {
el.classList.toggle(`led-${color}`, on); el.classList.toggle(`led-${color}`, on);
el.classList.toggle("led-gray", !on); el.classList.toggle("led-gray", !on);