feat(tableau): masquage du bloc de partage piloté par événements AG Grid (#112)
Remplace le verrou de dérive à compteur (suppress-next) par une détection événementielle : eventListeners AG Grid (filterChanged/sortChanged) → dashAgGridFunctions.hideShareOnUserAction, qui efface active-view sur action utilisateur (source != 'api') et ignore l'écho de l'application programmatique. Le compteur suppress-next souffrait d'une course d'ordonnancement Dash (l'écho lisait la valeur pré-batch) et le diff de columnState était impraticable (état réémis bruité). La visibilité du bloc bascule via la classe (d-flex/d-none) et non le style inline, car .d-flex est display:flex !important. Task 7 : test E2E de bout en bout (application + masquage sur action).
This commit is contained in:
@@ -1184,6 +1184,7 @@ def ag_grid(
|
||||
column_defs: list[dict],
|
||||
persisted_props=("filterModel", "columnState"),
|
||||
persistence: bool = True,
|
||||
event_listeners: "dict | None" = None,
|
||||
) -> "dag.AgGrid":
|
||||
"""Grille AG Grid server-side (infinite) pour la page Tableau.
|
||||
|
||||
@@ -1195,6 +1196,7 @@ def ag_grid(
|
||||
id=grid_id,
|
||||
columnDefs=column_defs,
|
||||
defaultColDef={"resizable": True, "minWidth": 120, "floatingFilter": True},
|
||||
eventListeners=event_listeners,
|
||||
rowModelType="infinite",
|
||||
dangerously_allow_code=True, # rend le HTML <a> des cellules liens
|
||||
dashGridOptions={
|
||||
|
||||
Reference in New Issue
Block a user