diff --git a/src/callbacks.py b/src/callbacks.py index 0ca434e..9d791db 100644 --- a/src/callbacks.py +++ b/src/callbacks.py @@ -5,14 +5,14 @@ from src.figures import DataTable from utils import add_links_in_dict, format_values, setup_table_columns -def get_top_org_table(data, org_type: str): +def get_top_org_table(data, org_type: str, extra_columns: list): dff = pl.DataFrame(data, strict=False, infer_schema_length=5000) if dff.height == 0: return html.Div() - dff = dff.select( - ["uid", f"{org_type}_id", f"{org_type}_nom", "titulaire_distance", "montant"] - ) + extra_columns = [] if extra_columns is None else extra_columns + + dff = dff.select(["uid", f"{org_type}_id", f"{org_type}_nom"] + extra_columns) dff_nb = dff.group_by( f"{org_type}_id", f"{org_type}_nom", "titulaire_distance" ).agg(pl.len().alias("Attributions"), pl.sum("montant").alias("montant")) diff --git a/src/pages/acheteur.py b/src/pages/acheteur.py index 199c757..76cd2d6 100644 --- a/src/pages/acheteur.py +++ b/src/pages/acheteur.py @@ -340,7 +340,7 @@ def get_last_marches_data( Input(component_id="acheteur_data", component_property="data"), ) def get_top_titulaires(data): - return get_top_org_table(data, "titulaire") + return get_top_org_table(data, "titulaire", ["titulaire_distance", "montant"]) @callback( diff --git a/src/pages/titulaire.py b/src/pages/titulaire.py index b7e9001..ecee685 100644 --- a/src/pages/titulaire.py +++ b/src/pages/titulaire.py @@ -354,7 +354,7 @@ def get_last_marches_data( Input(component_id="titulaire_data", component_property="data"), ) def get_top_acheteurs(data): - return get_top_org_table(data, "acheteur") + return get_top_org_table(data, "acheteur", ["titulaire_distance", "montant"]) @callback(