{% extends 'base/layout.html' %} {% load static %} {% load i18n %} {% block title %}{% trans "Network Topology" %}{% endblock %} {% block header %}

{% trans "Network Topology" %}

{% endblock %} {% block head %} {% endblock %} {% block content %} {% csrf_token %} {# ===== Toolbar ===== #}
{# Row 1: Filters + Actions #}
{{ filter_form.site_id }}
{{ filter_form.location_id }}
{{ filter_form.role_id }}
{{ filter_form.cable_type }}
{{ filter_form.tenant_id }}{{ filter_form.rack_id }}
{% if active_filters %} {% endif %}
0 {% trans "devices" %} · 0 {% trans "cables" %}
{# Saved views #} {% if saved_view %} {% endif %} {# Zoom #}
{# View mode #}
{# Add devices #} {# Role hierarchy editor #} {# Auto-sort ports #} {# Snap to grid #} {# Reset layout #} {# Pass-through collapse #} {# Cable color mode #}
{# Cable style toggle #}
{# Cable labels toggle #} {# PDF Export #}
{# ===== Main layout: SVG graph + sidebar ===== #}
{% trans "Loading topology..." %}

{% trans "Use a filter or click" %} + Add {% trans "to add devices to the canvas." %}

{# Role hierarchy editor (hidden, slides over sidebar) #}
{% trans "Role Layer Order" %}

{% trans "Drag roles to reorder. Top = left side of topology (upstream), bottom = right side (downstream). Click Apply to re-layout." %}

{# Device picker panel (hidden, slides over sidebar) #}
{% trans "Add Devices" %}
{% trans "Search for devices to add" %}
{{ initial_filters_json|json_script:"topo-initial-filters" }} {{ saved_view_data|json_script:"topo-saved-layout" }} {# ===== Footer legend ===== #} {% endblock %} {% block javascript %} {% endblock %}