38 lines
1.9 KiB
HTML
38 lines
1.9 KiB
HTML
{% load i18n %}
|
|
<ul class="list-group list-group-flush bg-transparent">
|
|
{% for asset_node in asset_nodes %}
|
|
<li class="list-group-item bg-transparent border-0 py-1 px-0">
|
|
<!-- Row Header -->
|
|
<div class="d-flex align-items-center justify-content-between py-1 px-2">
|
|
<!-- Contenu gauche (indenté selon la profondeur) -->
|
|
<div class="d-flex align-items-center gap-2 flex-wrap" style="padding-left: calc(({{ depth|default:1 }} - 1) * 1.25rem);">
|
|
{% if asset_node.children %}
|
|
<button class="btn btn-sm btn-light border p-0 px-1 tree-toggle-btn collapsed"
|
|
type="button"
|
|
data-bs-toggle="collapse"
|
|
data-bs-target="#tree-asset-{{ asset_node.asset.id }}"
|
|
aria-expanded="false">
|
|
<i class="bi bi-chevron-right small"></i>
|
|
</button>
|
|
{% else %}
|
|
<span class="px-1"></span>
|
|
{% endif %}
|
|
<i class="bi bi-gear-fill text-info small"></i>
|
|
|
|
<!-- Code en bleu pour indiquer clairement un lien cliquable -->
|
|
<a href="{{ asset_node.asset.get_absolute_url }}" class="fw-bold text-primary text-decoration-underline small">
|
|
{{ asset_node.asset.code }}
|
|
</a>
|
|
<span class="small">{{ asset_node.asset.get_name }}</span>
|
|
<span class="badge bg-info-subtle text-info border small ms-1">{{ asset_node.asset.get_asset_type_display }}</span>
|
|
</div>
|
|
</div>
|
|
|
|
{% if asset_node.children %}
|
|
<div id="tree-asset-{{ asset_node.asset.id }}" class="collapse mt-1">
|
|
{% include "assets/buildings/publicbuilding_asset_tree.html" with asset_nodes=asset_node.children depth=depth|default:1|add:1 only %}
|
|
</div>
|
|
{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|