feat(tableau): vues sauvegardées en JSON AST, retrait URL riche (#41)
Les vues stockent désormais {filterModel, columnState} en JSON dans
saved_views.query au lieu d'une query string DSL. Le rappel d'une vue
applique filterModel + columnState à la grille AG Grid via un nouveau
callback apply_saved_view, déclenché par pattern-matching sur les items
du menu "Mes vues" (désormais cliquables au lieu de liens href).
Retire restore_view_from_url, sync_url_and_reset_button,
show_confirmation, le bouton "Partager la vue" et le clientside
clean_filters de tableau.py - la migration AG Grid retire le mécanisme
d'URL riche sans rétrocompatibilité.
Le lien "Ouvrir" de compte/vues.py pointe maintenant vers /tableau nu
(limitation connue documentée, le rappel cross-page reste à faire).
This commit is contained in:
@@ -38,13 +38,14 @@ def test_prepare_accepts_valid():
|
||||
assert err is None
|
||||
|
||||
|
||||
def test_saved_views_items_build_links():
|
||||
def test_saved_views_items_build_clickable_entries():
|
||||
items = ui.saved_views_items(
|
||||
[_view(1, "Vue A", "filtres=a"), _view(2, "Vue B", "tris=b")]
|
||||
)
|
||||
assert len(items) == 2
|
||||
assert items[0].href == "/tableau?filtres=a"
|
||||
assert items[0].id == {"type": "saved-view-item", "index": 1}
|
||||
assert items[0].children == "Vue A"
|
||||
assert items[1].id == {"type": "saved-view-item", "index": 2}
|
||||
|
||||
|
||||
def test_views_table_empty_state():
|
||||
|
||||
Reference in New Issue
Block a user