{% extends 'generic/object_create.html' %} {% load form_helpers %} {% block form %}
{{ obj_type|capfirst }}
{% render_field form.name %} {% render_field form.description %} {% render_field form.manufacturer %} {% render_field form.part_number %} {% render_field form.a_connectors %} {% render_field form.b_connectors %} {% render_field form.total_lanes %} {% render_field form.has_embedded_transceivers %} {% render_field form.is_shuffle %} {% render_field form.strands_per_lane %} {% render_field form.polarity_method %}
{# Lane Mapping — separate card at root level #}
Lane Mapping
{% if form.mapping.errors %}
Mapping errors:
    {% for error in form.mapping.errors %}
  • {{ error }}
  • {% endfor %}
{% endif %}
The mapping is auto-generated from the connector counts and total lanes above. Edit individual lane mappings below if needed, or switch to JSON mode for advanced editing.
{# Table editor — loaded via HTMX from the server #}
{# JSON editor #}
Invalid JSON - please correct it or remove it before switching to the table editor.
{% render_field form.mapping %}
{% include 'inc/extras_features_edit_form_fields.html' %} {% endblock form %} {% block javascript %} {{ block.super }} {% endblock javascript %}