acheteur : le clientside callback est aussi trigger quand les colonnes affichées changent
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user