Liste de colonnes dans les URL plus compacte #58

This commit is contained in:
Colin Maudry
2025-12-24 11:32:15 +01:00
parent e6960dc16d
commit 04ec9438f1
+6 -6
View File
@@ -13,6 +13,7 @@ from src.utils import (
get_default_hidden_columns, get_default_hidden_columns,
invert_columns, invert_columns,
meta_content, meta_content,
schema,
sort_table_data, sort_table_data,
) )
from utils import prepare_table_data from utils import prepare_table_data
@@ -213,11 +214,9 @@ def restore_view_from_url(search):
pass pass
if "colonnes" in params: if "colonnes" in params:
try: columns = params["colonnes"][0].split(",")
columns = json.loads(params["colonnes"][0]) verified_columns = [column for column in columns if column in schema.names()]
hidden_columns = invert_columns(columns) hidden_columns = invert_columns(verified_columns)
except json.JSONDecodeError:
pass
return filter_query, sort_by, hidden_columns, "" return filter_query, sort_by, hidden_columns, ""
@@ -246,7 +245,8 @@ def sync_url_and_reset_button(filter_query, sort_by, hidden_columns, href):
if hidden_columns: if hidden_columns:
columns = invert_columns(hidden_columns) columns = invert_columns(hidden_columns)
params["colonnes"] = json.dumps(columns) columns = ",".join(columns)
params["colonnes"] = columns
query_string = urllib.parse.urlencode(params) query_string = urllib.parse.urlencode(params)
full_url = f"{base_url}?{query_string}" if query_string else base_url full_url = f"{base_url}?{query_string}" if query_string else base_url