mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2026-11-02 08:10:02 -06:00
changes
This commit is contained in:
1 parent
a41396ea5a
commit
1b18353062
4 files changed
+19
-7
No files matched your search
@@ -25,7 +25,7 @@ Esta página documenta las vistas clave de la WebUI (Node Manager) y su comporta
|
||||
- Vista jerárquica de nodos/circuitos desde la perspectiva del shaper.
|
||||
- Útil para identificar cuellos de botella y patrones de utilización padre/hijo.
|
||||
- Las páginas de detalle del árbol muestran una ruta tipo breadcrumb, conteos de rama e indicadores de estado para el nodo seleccionado.
|
||||
- `Node Details` resume el tipo de nodo seleccionado, el tamaño de la rama, las velocidades configuradas y la velocidad efectiva.
|
||||
- `Node Details` resume las velocidades configuradas del nodo seleccionado, el estado de overrides y la velocidad efectiva.
|
||||
- `Node Snapshot` ofrece un resumen visual rápido del throughput y el QoO del nodo seleccionado.
|
||||
- Los circuitos adjuntos se muestran en una tabla dedicada para el nodo seleccionado.
|
||||
- La columna de IP de circuitos adjuntos mantiene las filas compactas mostrando una dirección inline y colapsando las adicionales como `+X`, mientras la lista completa sigue disponible al pasar el cursor.
|
||||
@@ -37,6 +37,7 @@ Esta página documenta las vistas clave de la WebUI (Node Manager) y su comporta
|
||||
- La página del árbol mantiene `Node Details` como una tarjeta compacta de resumen y coloca los editores de override como filas compactas directamente debajo de la tabla de detalles.
|
||||
- Los nodos de UISP con estrategia `full` también pueden exponer un editor de `Topology Override` en la página del árbol. Las compilaciones actuales soportan solo `Pinned Parent`, usando los candidatos inmediatos detectados aguas arriba del nodo y guardando esa decisión del operador en `lqos_overrides.json`.
|
||||
- El selector de padre fijado usa `Default upstream parent` cuando no existe un override. Elegir esa opción deja el nodo con el padre seleccionado por la integración.
|
||||
- En el nodo sintético `Root`, el topology override se muestra como no aplicable en lugar de mostrar una advertencia genérica por falta de `node_id`.
|
||||
|
||||
### Site Map
|
||||
- Mapa operativo plano de sitios y APs usando geodatos importados de nodos.
|
||||
|
||||
@@ -25,7 +25,7 @@ This page documents key WebUI (Node Manager) views and operational behavior in t
|
||||
- Hierarchical topology view of nodes/circuits from the shaper perspective.
|
||||
- Useful for spotting bottlenecks and parent/child utilization patterns.
|
||||
- Tree detail pages show a breadcrumb path, branch counts, and status indicators for the selected node.
|
||||
- `Node Details` summarizes the selected node’s type, branch size, configured rates, and effective rate.
|
||||
- `Node Details` summarizes the selected node’s configured rates, override state, and effective rate.
|
||||
- `Node Snapshot` provides a quick visual summary of throughput and QoO for the selected node.
|
||||
- Attached circuits are shown in a dedicated table for the selected node.
|
||||
- The attached-circuits IP column keeps rows compact by showing one address inline and collapsing additional addresses as `+X`, with the full list still available on hover.
|
||||
@@ -37,6 +37,7 @@ This page documents key WebUI (Node Manager) views and operational behavior in t
|
||||
- The tree page keeps `Node Details` as a compact summary card and places the override editors as compact inline rows directly beneath the details table.
|
||||
- UISP `full` strategy nodes can also expose a `Topology Override` editor on the tree page. Current builds support `Pinned Parent` only, using the node's detected immediate upstream candidates and storing that operator choice in `lqos_overrides.json`.
|
||||
- The pinned-parent selector defaults to `Default upstream parent` when no override is set. Choosing that default leaves the node on the integration-selected parent.
|
||||
- On the synthetic `Root` node, topology override is shown as not applicable rather than as a generic missing-node-ID warning.
|
||||
|
||||
### Site Map
|
||||
- Flat operational map of Sites and APs using imported node geodata.
|
||||
|
||||
@@ -947,6 +947,13 @@ function renderTopologyOverrideValue(overrideData) {
|
||||
wrap.classList.add("lqos-tree-detail-value");
|
||||
|
||||
const value = document.createElement("span");
|
||||
const node = currentNode();
|
||||
if (node && isSyntheticRootNode(node)) {
|
||||
value.textContent = "Not applicable for Root";
|
||||
wrap.appendChild(value);
|
||||
target.appendChild(wrap);
|
||||
return;
|
||||
}
|
||||
if (!overrideData?.has_override) {
|
||||
value.textContent = "None";
|
||||
wrap.appendChild(value);
|
||||
@@ -1084,11 +1091,8 @@ function renderNodeTopologySettings(node) {
|
||||
nodeTopologyOverrideState.data?.warnings || [],
|
||||
"warning",
|
||||
);
|
||||
renderAlertMessages(
|
||||
"nodeTopologyDisabledReason",
|
||||
nodeTopologyOverrideState.data?.disabled_reason ? [nodeTopologyOverrideState.data.disabled_reason] : [],
|
||||
"secondary",
|
||||
);
|
||||
const disabledReason = isSyntheticRootNode(node) ? null : nodeTopologyOverrideState.data?.disabled_reason;
|
||||
renderAlertMessages("nodeTopologyDisabledReason", disabledReason ? [disabledReason] : [], "secondary");
|
||||
|
||||
maybeSeedTopologyOverrideInputs(nodeTopologyOverrideState.data);
|
||||
|
||||
|
||||
@@ -276,6 +276,12 @@ fn edit_disabled_reason(
|
||||
));
|
||||
}
|
||||
let Some(node_id) = query.node_id.as_deref() else {
|
||||
if trimmed_name == "Root" {
|
||||
return Ok(Some(
|
||||
"The Root node has no upstream parent, so a pinned-parent override does not apply."
|
||||
.to_string(),
|
||||
));
|
||||
}
|
||||
return Ok(Some(
|
||||
"This node cannot be edited from the tree because it does not expose a stable node ID."
|
||||
.to_string(),
|
||||
|
||||
Reference in new issue
Block a user