Ajuste l'onglet Pages : bouton d'ajout fixe en haut, retire les flèches de réordonnancement, style d'onglet simplifié

- "+ Ajouter une page" passe avant la liste et reste toujours visible
  (flex-shrink:0), seule la liste défile désormais.
- Retire les boutons ↑/↓ par rangée : le glisser-déposer suffit pour
  réordonner, ce qui laisse plus de place à l'affichage du nom de la
  page. forgeDocMovePage devient mort (plus aucun appelant) et est
  supprimé.
- Style de l'onglet actif simplifié : seul le border-bottom change de
  couleur, le texte reste neutre (plus de changement de couleur du
  libellé).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
william
2026-09-23 09:33:45 +02:00
co-authored by Claude Sonnet 5
parent b8e7a4c672
commit 763d26c1f1
4 changed files with 31 additions and 52 deletions
+10 -20
View File
@@ -123,6 +123,11 @@
role="tabpanel"
aria-labelledby="docTabPages"
hidden>
{# Bouton d'ajout EN HAUT, toujours visible (retour utilisateur du
23/09/2026 : "le bouton pour ajouter une page dois être en haut
toujours visible" — avec beaucoup de pages, il disparaissait en
bas de la liste défilante). #}
<button type="button" class="docBtnSecondary docPageManagerAdd" id="docPageManagerAdd">+ Ajouter une page</button>
<div class="docPageManagerList" id="docPageManagerList">
{% for page in pages %}
<div class="docPageRow {{ 'is-active' if page.id == active_page.id else '' }}"
@@ -131,29 +136,15 @@
draggable="true"
data-page-id="{{ page.id }}">
{# //NOSONAR Web:S6819,Web:MouseEventWithoutKeyboardEquivalentCheck - div+role=button
volontaire : la rangée contient de vrais <button> d'action (réordonner/renommer/
supprimer), qu'un <button> englobant ne pourrait pas contenir validement.
L'équivalent clavier (Entrée/Espace) est posé côté JS (forgeDocRenderPageManagerList),
donc le finding clavier de Sonar est un faux positif : l'analyseur statique ne
voit pas les addEventListener dynamiques. #}
volontaire : la rangée contient de vrais <button> d'action (renommer/supprimer),
qu'un <button> englobant ne pourrait pas contenir validement. L'équivalent clavier
(Entrée/Espace) est posé côté JS (forgeDocRenderPageManagerList), donc le finding
clavier de Sonar est un faux positif : l'analyseur statique ne voit pas les
addEventListener dynamiques. #}
<span class="docPageRowHandle" aria-hidden="true">⠿</span>
<span class="docPageRowNumber">{{ loop.index }}</span>
<span class="docPageRowTitle"><span class="docPageRowTitleText">{{ page.title }}</span></span>
<span class="docPageRowActions">
<button type="button"
class="docPageRowMove"
data-dir="up"
data-page-id="{{ page.id }}"
aria-label="Monter"
title="Monter"
{{ 'disabled' if loop.first else '' }}>↑</button>
<button type="button"
class="docPageRowMove"
data-dir="down"
data-page-id="{{ page.id }}"
aria-label="Descendre"
title="Descendre"
{{ 'disabled' if loop.last else '' }}>↓</button>
<button type="button"
class="docPageRowRename"
data-page-id="{{ page.id }}"
@@ -169,7 +160,6 @@
</div>
{% endfor %}
</div>
<button type="button" class="docBtnSecondary docPageManagerAdd" id="docPageManagerAdd">+ Ajouter une page</button>
</div>
<div class="docSidebarTabPanel" id="docTabPanelLayout" role="tabpanel" aria-labelledby="docTabLayout">
{% for category_key, category in element_library.items() %}