feat(tableau): réserver l'espace de la barre de défilement horizontale AG Grid

alwaysShowHorizontalScroll force la piste de scroll à rester visible
en permanence (comportement déjà natif sous Chrome). Sans effet sur
Firefox, dont le curseur en overlay est géré par l'OS/le navigateur
et non contrôlable côté appli (#41).
This commit is contained in:
Colin Maudry
2026-07-12 20:30:30 +02:00
parent 6dd7dca271
commit 6e9b451734
2 changed files with 16 additions and 0 deletions
+5
View File
@@ -1149,6 +1149,11 @@ def ag_grid(grid_id: str, column_defs: list[dict]) -> "dag.AgGrid":
"})" "})"
) )
}, },
# Réserve l'espace de la barre de défilement horizontale en permanence
# (comportement natif de Chrome). Sans effet sur Firefox : le curseur
# de la barre y reste en overlay au survol, géré par l'OS/le navigateur
# (ex. réglage GTK overlay-scrollbars), non contrôlable par l'appli.
"alwaysShowHorizontalScroll": True,
}, },
# Pas de columnSize="responsiveSizeToFit" : les colonnes gardent leur # Pas de columnSize="responsiveSizeToFit" : les colonnes gardent leur
# largeur définie dans columnDefs (cf. _column_width dans # largeur définie dans columnDefs (cf. _column_width dans
+11
View File
@@ -370,3 +370,14 @@ def test_ag_grid_keeps_base_appearance():
grid = ag_grid("tableau_grid", []) grid = ag_grid("tableau_grid", [])
assert getattr(grid, "className", None) in (None, "") assert getattr(grid, "className", None) in (None, "")
def test_ag_grid_always_shows_horizontal_scroll():
"""Réserve l'espace de la barre de défilement horizontale en permanence
(comportement natif Chrome). Sans effet sur le curseur en overlay de
Firefox, géré par l'OS/le navigateur, non contrôlable par l'appli."""
from src.figures import ag_grid
grid = ag_grid("tableau_grid", [])
assert grid.dashGridOptions["alwaysShowHorizontalScroll"] is True