Élargir le panneau en glissant son bord

Trois cent quarante pixels suffisaient à des champs de date ; ils ne suffisent
pas à une liste imbriquée, où chaque niveau mange une indentation.

Le panneau reçoit donc la même poignée que la colonne des libellés (décision
18) : même geste, même double-clic de remise à zéro, même mémorisation dans
`localStorage`. Le code de glisser, jusque-là écrit pour la seule colonne, est
paramétré par le sens et la largeur qu'il pilote plutôt que dupliqué.

Une largeur unique pour les deux panneaux : ce qu'on élargit est le volet, pas
l'un ou l'autre de ses contenus. La largeur voulue et la largeur appliquée sont
deux variables distinctes, faute de quoi réduire un instant la fenêtre ferait
perdre le réglage.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-07 18:36:07 +02:00
parent ff147a17b9
commit 7ff1329a86
5 changed files with 214 additions and 41 deletions

View File

@@ -106,6 +106,20 @@
flèches piloter la phase sélectionnée.
-->
<aside class="panneau" id="panneau" hidden tabindex="-1" aria-label="Détail de la phase">
<!--
Poignée de largeur, sur le bord gauche. Même geste que celle de la
colonne des libellés, et même largeur pour les deux panneaux : ce qu'on
élargit, c'est le volet, pas l'un ou l'autre de ses contenus.
-->
<div
class="poignee-panneau"
data-poignee-panneau
role="separator"
aria-orientation="vertical"
aria-label="Largeur du panneau"
tabindex="0"
title="Glisser pour élargir le panneau — double-clic pour le réinitialiser"
></div>
<div class="panneau__entete">
<h2 id="panneau-titre">Phase</h2>
<button type="button" id="fermer-panneau" aria-label="Fermer">&times;</button>
@@ -173,6 +187,15 @@
tabindex="-1"
aria-label="Paramètres du projet"
>
<div
class="poignee-panneau"
data-poignee-panneau
role="separator"
aria-orientation="vertical"
aria-label="Largeur du panneau"
tabindex="0"
title="Glisser pour élargir le panneau — double-clic pour le réinitialiser"
></div>
<div class="panneau__entete">
<h2 id="panneau-projet-titre">Projet</h2>
<button type="button" id="fermer-panneau-projet" aria-label="Fermer">&times;</button>