Bloquage du bouton de téléchargement si trop de lignes #38
This commit is contained in:
@@ -31,7 +31,11 @@ python run.py
|
|||||||
|
|
||||||
## Notes de version
|
## Notes de version
|
||||||
|
|
||||||
### 2.0.1 (23 septembre 2025)
|
#### 2.0.1 (23 septembre 2025)
|
||||||
|
|
||||||
|
- Bloquage du bouton de téléchargement si trop de lignes (+ 65000) [#38](https://github.com/ColinMaudry/decp.info/issues/38)
|
||||||
|
- Meilleures instructions d'installation et lancement
|
||||||
|
- Coquilles 🐚
|
||||||
|
|
||||||
### 2.0.0 (23 septembre 2025)
|
### 2.0.0 (23 septembre 2025)
|
||||||
|
|
||||||
@@ -39,7 +43,7 @@ python run.py
|
|||||||
- section "À propos" plus développée
|
- section "À propos" plus développée
|
||||||
- correction de bugs dans les filtres de la data table
|
- correction de bugs dans les filtres de la data table
|
||||||
|
|
||||||
### 2.0.0-alpha
|
#### 2.0.0-alpha
|
||||||
|
|
||||||
- Data table fonctionnelle
|
- Data table fonctionnelle
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@ layout = [
|
|||||||
children=[
|
children=[
|
||||||
html.H2(title),
|
html.H2(title),
|
||||||
dcc.Markdown(
|
dcc.Markdown(
|
||||||
"""Outil d'exploration libre et gratuit des [Données Essentielles de la Commande Publique](), développé par Colin Maudry.
|
"""Outil d'exploration libre et gratuit des données de marchés publics, développé par Colin Maudry.
|
||||||
|
|
||||||
Ce projet vise à démocratiser l'accès aux données des marchés publics et à un outil performant et gratuit. Si vous le trouvez utile
|
Ce projet vise à démocratiser l'accès aux données des marchés publics et à un outil performant et gratuit. Si vous le trouvez utile
|
||||||
j'aimerais beaucoup échanger avec vous pour comprendre vos cas d'usages et vos besoins. Cet outil ne peut rester performant que si je comprends les problèmes qu'il peut aider à résoudre. Ce projet ne peut rester gratuit que grâce au financement du développement de nouvelles fonctionnalités.
|
j'aimerais beaucoup échanger avec vous pour comprendre vos cas d'usages et vos besoins. Cet outil ne peut rester performant que si je comprends les problèmes qu'il peut aider à résoudre. Ce projet ne peut rester gratuit que grâce au financement du développement de nouvelles fonctionnalités.
|
||||||
|
|||||||
+28
-3
@@ -141,7 +141,11 @@ layout = [
|
|||||||
html.Div(
|
html.Div(
|
||||||
[
|
[
|
||||||
html.P("lignes", id="nb_rows"),
|
html.P("lignes", id="nb_rows"),
|
||||||
html.Button("Télécharger au format Excel", id="btn-download-data"),
|
html.Button(
|
||||||
|
"Téléchargement désactivé au-delà de 65 000 lignes",
|
||||||
|
id="btn-download-data",
|
||||||
|
disabled=True,
|
||||||
|
),
|
||||||
dcc.Download(id="download-data"),
|
dcc.Download(id="download-data"),
|
||||||
html.P("Données mises à jour le " + str(update_date)),
|
html.P("Données mises à jour le " + str(update_date)),
|
||||||
],
|
],
|
||||||
@@ -157,6 +161,9 @@ layout = [
|
|||||||
Output("table", "data"),
|
Output("table", "data"),
|
||||||
Output("table", "data_timestamp"),
|
Output("table", "data_timestamp"),
|
||||||
Output("nb_rows", "children"),
|
Output("nb_rows", "children"),
|
||||||
|
Output("btn-download-data", "disabled"),
|
||||||
|
Output("btn-download-data", "children"),
|
||||||
|
Output("btn-download-data", "title"),
|
||||||
Input("table", "page_current"),
|
Input("table", "page_current"),
|
||||||
Input("table", "page_size"),
|
Input("table", "page_size"),
|
||||||
Input("table", "filter_query"),
|
Input("table", "filter_query"),
|
||||||
@@ -215,7 +222,9 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp)
|
|||||||
|
|
||||||
df_filtered = dff.clone()
|
df_filtered = dff.clone()
|
||||||
|
|
||||||
nb_rows = f"{format_number(dff.height)} lignes"
|
height = dff.height
|
||||||
|
|
||||||
|
nb_rows = f"{format_number(height)} lignes"
|
||||||
|
|
||||||
# Pagination des données
|
# Pagination des données
|
||||||
start_row = page_current * page_size
|
start_row = page_current * page_size
|
||||||
@@ -223,7 +232,23 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp)
|
|||||||
dff = dff.slice(start_row, page_size)
|
dff = dff.slice(start_row, page_size)
|
||||||
dicts = dff.to_dicts()
|
dicts = dff.to_dicts()
|
||||||
|
|
||||||
return dicts, data_timestamp + 1, nb_rows
|
if height > 65000:
|
||||||
|
download_disabled = True
|
||||||
|
download_text = "Téléchargement désactivé au-delà de 65 000 lignes"
|
||||||
|
download_title = "Excel ne supporte pas d'avoir plus de 65 000 URLs dans une même feuille de calcul. Contactez-moi pour me présenter votre besoin en téléchargement afin que je puisse adapter la solution."
|
||||||
|
else:
|
||||||
|
download_disabled = False
|
||||||
|
download_text = "Télécharger au format Excel"
|
||||||
|
download_title = ""
|
||||||
|
|
||||||
|
return (
|
||||||
|
dicts,
|
||||||
|
data_timestamp + 1,
|
||||||
|
nb_rows,
|
||||||
|
download_disabled,
|
||||||
|
download_text,
|
||||||
|
download_title,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@callback(
|
@callback(
|
||||||
|
|||||||
Reference in New Issue
Block a user