diff --git a/src/figures.py b/src/figures.py index 1b49db2..b769335 100644 --- a/src/figures.py +++ b/src/figures.py @@ -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 # largeur définie dans columnDefs (cf. _column_width dans diff --git a/tests/test_figures.py b/tests/test_figures.py index 23b8383..20f5834 100644 --- a/tests/test_figures.py +++ b/tests/test_figures.py @@ -370,3 +370,14 @@ def test_ag_grid_keeps_base_appearance(): grid = ag_grid("tableau_grid", []) 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