acheteur : le clientside callback est aussi trigger quand les colonnes affichées changent

This commit is contained in:
Colin Maudry
2026-02-04 13:04:11 +01:00
parent ad9b4f0fdf
commit f480439985
+8 -3
View File
@@ -1,4 +1,5 @@
import datetime import datetime
import uuid
import dash_bootstrap_components as dbc import dash_bootstrap_components as dbc
import polars as pl import polars as pl
@@ -11,6 +12,7 @@ from dash import (
clientside_callback, clientside_callback,
dcc, dcc,
html, html,
no_update,
register_page, register_page,
) )
@@ -404,16 +406,19 @@ clientside_callback(
@callback( @callback(
Output("acheteur-hidden-columns", "data", allow_duplicate=True), Output("acheteur-hidden-columns", "data", allow_duplicate=True),
Output("filter-cleanup-trigger-acheteur", "data", allow_duplicate=True),
Input("acheteur_column_list", "selected_rows"), Input("acheteur_column_list", "selected_rows"),
State("acheteur-filters", "data"),
prevent_initial_call=True, prevent_initial_call=True,
) )
def update_hidden_columns_from_checkboxes(selected_columns): def update_hidden_columns_from_checkboxes(selected_columns, filter_query):
trigger_cleanup = str(uuid.uuid4()) if filter_query else no_update
if selected_columns: if selected_columns:
selected_columns = [columns[i] for i in selected_columns] selected_columns = [columns[i] for i in selected_columns]
hidden_columns = [col for col in columns if col not in selected_columns] hidden_columns = [col for col in columns if col not in selected_columns]
return hidden_columns return hidden_columns, trigger_cleanup
else: else:
return [] return [], trigger_cleanup
@callback( @callback(