diff --git a/static/rack.js b/static/rack.js index d42e686..a023bd5 100644 --- a/static/rack.js +++ b/static/rack.js @@ -327,6 +327,13 @@ function onLeave(e) { function openPort(el) { if (el.classList.contains('fp-port')) { + const item = _rack && _rack.items.find(i => i.device === el.dataset.switch); + if (item && !item.linked) { + // A faceplate drawn by Front drawing for gear Gandalf can't see (the NVR) has no device page: + // open the port's cable if one is documented, otherwise the item on the cutsheet + location.href = el.dataset.cable ? `/cutsheet#cable-${encodeURIComponent(el.dataset.cable)}` : item.url; + return; + } location.href = `/device/${encodeURIComponent(el.dataset.switch)}#port-${encodeURIComponent(el.dataset.portIdx)}`; } else if (el.dataset.cable) { location.href = `/cutsheet#cable-${encodeURIComponent(el.dataset.cable)}`;