diff --git a/src/pages/home.py b/src/pages/home.py
index 7696f31..00ed52a 100644
--- a/src/pages/home.py
+++ b/src/pages/home.py
@@ -2,11 +2,14 @@ from dash import html, dcc, dash_table, register_page, Input, Output, State, cal
from dotenv import load_dotenv
import os
import polars as pl
-from src.utils import split_filter_part
+from src.utils import split_filter_part, add_annuaire_link
load_dotenv()
-df = pl.scan_parquet(os.getenv("DATA_FILE_PARQUET_PATH"))
+df: pl.LazyFrame = pl.scan_parquet(os.getenv("DATA_FILE_PARQUET_PATH"))
+
+# Ajout des liens vers l'annuaire
+df = add_annuaire_link(df)
title = "Tableau"
register_page(__name__, path="/", title=f"decp.info - {title}", name=title, order=1)
@@ -19,7 +22,10 @@ datatable = dash_table.DataTable(
page_action="custom",
filter_action="custom",
filter_options={"case": "insensitive", "placeholder_text": "Filtrer..."},
- columns=[{"name": i, "id": i} for i in df.collect_schema().names()],
+ columns=[
+ {"name": i, "id": i, "presentation": "markdown"}
+ for i in df.collect_schema().names()
+ ],
selected_columns=[],
selected_rows=[],
# sort_action="native",
@@ -38,6 +44,7 @@ datatable = dash_table.DataTable(
},
],
data_timestamp=0,
+ markdown_options={"html": True},
)
layout = [
diff --git a/src/utils.py b/src/utils.py
index d422ada..a10f729 100644
--- a/src/utils.py
+++ b/src/utils.py
@@ -1,3 +1,5 @@
+import polars as pl
+
operators = [
["s<", "<"],
["s>", ">"],
@@ -17,3 +19,26 @@ def split_filter_part(filter_part):
return name, operator_group[1], value
return [None] * 3
+
+
+def add_annuaire_link(df: pl.LazyFrame):
+ df = df.with_columns(
+ pl.when(pl.col("titulaire_typeIdentifiant") == "SIRET")
+ .then(
+ pl.col("titulaire_id")
+ + f' 📑'
+ )
+ .otherwise(pl.col("titulaire_id"))
+ .alias("titulaire_id")
+ )
+ df = df.with_columns(
+ (
+ pl.col("acheteur_id")
+ + f' 📑'
+ ).alias("acheteur_id")
+ )
+ return df