Audit complet de mise en forme — Liste à puces/numérotée (4e élément)
Implémente toutes les options manquantes identifiées pour les listes :
typographie complète, style/position/couleur/taille de puce (validés
selon le kind), puce personnalisée en SVG pour les listes à puces,
padding uniforme par élément (nouveau, il n'y en avait aucun), espacement
entre éléments réglable, et tous les attributs de boîte partagés sur la
liste entière. Bordure/fond/padding par élément individuel et sous-listes
imbriquées volontairement différés (portée actée avec l'utilisateur
avant implémentation : transformeraient le stockage des éléments en
objets structurés, chantier bien plus lourd).
Trois ajouts transversaux bénéficiant à plusieurs éléments : sections
"Contenu"/"Conteneur" dans tous les panneaux de propriétés, alignement
vertical du contenu dans son bloc (Titre/Paragraphe/Liste/Image
légendée), et une option pour retirer un thème appliqué ("Aucun modèle"
dans la modale, avec une nouvelle fonction db.remove_document_theme).
Quatre bugs réels trouvés et corrigés en chaîne pendant la validation
avec le thème "Sécurité incendie" : un badge de thème s'affichait
au-dessus du texte au lieu d'à côté ; le correctif a d'abord fait
disparaître les puces/numéros natifs de TOUTES les listes (bug plus
grave que celui corrigé) ; puis un marqueur natif redondant apparaissait
à côté du badge du thème ; puis une règle CSS site-large de spécificité
supérieure empêchait silencieusement ce dernier correctif. Chaque étape
vérifiée par navigateur automatisé sur un support jetable.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
8f879f6321
commit
4db1269348
@@ -165,7 +165,43 @@ def element_default_attributes(kind: str) -> dict[str, Any]:
|
||||
# "ordonnée ou non" se lit directement sur le kind au moment du
|
||||
# rendu (voir render_document_element._render_list), jamais un
|
||||
# attribut "ordered" redondant à tenir synchronisé avec le kind.
|
||||
return {"items": ["Premier élément", "Deuxième élément"]}
|
||||
#
|
||||
# Audit du 26/09/2026 (réglages manquants — colonne "Liste à
|
||||
# puces/numérotée") : portée actée avec l'utilisateur = style de
|
||||
# la LISTE ENTIÈRE (typo/puces/boîte/bordure/fond), jamais un
|
||||
# style par élément individuel ni de sous-listes (chantier bien
|
||||
# plus lourd, transformerait `items` d'une liste de chaînes en
|
||||
# objets structurés — différé à une demande séparée). Seule
|
||||
# exception : `item_padding`, un padding UNIFORME appliqué à
|
||||
# CHAQUE élément (retour utilisateur explicite : "il faut un
|
||||
# padding de base par élément de liste car y en a pas
|
||||
# aujourd'hui") — une valeur PARTAGÉE par tous les éléments,
|
||||
# jamais réglable individuellement, voir _render_list.
|
||||
# list_style_type : valide uniquement parmi les valeurs propres
|
||||
# au kind (disc/circle/square/none pour puces,
|
||||
# decimal/.../none pour numérotée) — vérifié au rendu, jamais ici.
|
||||
# svg_markup (puce personnalisée) : ignoré au rendu pour
|
||||
# liste_numerotee (une puce imagée n'a pas de sens sur une liste
|
||||
# numérotée, voir _render_list).
|
||||
return {
|
||||
"items": ["Premier élément", "Deuxième élément"],
|
||||
"bold": False,
|
||||
"italic": False,
|
||||
"underline": False,
|
||||
"font_family": "",
|
||||
"font_size": "",
|
||||
"line_height": "",
|
||||
"text_color": "",
|
||||
"list_style_type": "",
|
||||
"list_style_position": "outside",
|
||||
"marker_color": "",
|
||||
"marker_size": "",
|
||||
"svg_markup": "",
|
||||
"item_padding": "6px",
|
||||
"item_spacing": "",
|
||||
**BOX_DEFAULTS,
|
||||
"border": default_border(),
|
||||
}
|
||||
if kind == "badge":
|
||||
# Même esprit que titre/paragraphe (bold/align/color... déjà des
|
||||
# attributs par élément, pas des choix figés par le moteur) :
|
||||
|
||||
Reference in New Issue
Block a user