Nombreuses améliorations esthétiques et texte (font, couleurs, etc.)
This commit is contained in:
+65
-19
@@ -1,12 +1,41 @@
|
|||||||
|
@import url(https://fonts.bunny.net/css?family=fira-code:400|inter:300,500|inter-tight:400);
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--bs-font-monospace: "Fira Code";
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: "Inter";
|
||||||
|
font-weight: 300;
|
||||||
|
background-color: rgb(255 240 240 / 40%);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
font-weight: 300;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 3px;
|
||||||
|
appearance: auto;
|
||||||
|
border: solid rgb(179, 56, 33) 1px; /* couleur thème foncée */
|
||||||
|
}
|
||||||
|
|
||||||
|
button[disabled] {
|
||||||
|
border-color: #ccc;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover:not([disabled]) {
|
||||||
|
background-color: #fee;
|
||||||
|
}
|
||||||
|
|
||||||
/* Change la marge bout d'export */
|
/* Change la marge bout d'export */
|
||||||
.table-menu {
|
.table-menu {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin: 12px;
|
margin: 12px 0 12px 0;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-menu > * {
|
.table-menu > * {
|
||||||
margin: 8px;
|
margin: 8px 16px 8px 0;
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,6 +78,10 @@ p.version > a {
|
|||||||
margin-right: 2px;
|
margin-right: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.navbar-nav .nav-link.active {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
/* Réduire la taille du texte de la colonne Objet */
|
/* Réduire la taille du texte de la colonne Objet */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -68,19 +101,27 @@ td[data-dash-column="objet"],td[data-dash-column="titulaire_nom"],td[data-dash-c
|
|||||||
th.dash-header {
|
th.dash-header {
|
||||||
background-color: #b33821;
|
background-color: #b33821;
|
||||||
color: white;
|
color: white;
|
||||||
font-family: "Open Sans", sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
font-weight: 500;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dash-table-container
|
.dash-table-container
|
||||||
.dash-spreadsheet-container
|
.dash-spreadsheet-container
|
||||||
.dash-spreadsheet-inner
|
.dash-spreadsheet-inner
|
||||||
th.dash-filter
|
.dash-filter
|
||||||
input,
|
input[type="text"] {
|
||||||
dash-table-container .dash-spreadsheet-container *:focus {
|
border-color: #ccc;
|
||||||
outline-color: #ccc;
|
border-style: solid;
|
||||||
outline-style: auto;
|
border-width: 1px;
|
||||||
outline-width: thin;
|
border-radius: 2px;
|
||||||
|
height: 28px;
|
||||||
|
font-family: "Fira Code";
|
||||||
|
caret-color: #000;
|
||||||
|
|
||||||
|
text-align: left !important;
|
||||||
|
padding: 1px 2px 0 2px;
|
||||||
|
vertical-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dash-table-container .dash-spreadsheet-container *:focus {
|
.dash-table-container .dash-spreadsheet-container *:focus {
|
||||||
@@ -94,6 +135,14 @@ dash-table-container .dash-spreadsheet-container *:focus {
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dash-table-container
|
||||||
|
.dash-spreadsheet-container
|
||||||
|
.dash-spreadsheet-inner
|
||||||
|
td
|
||||||
|
div.dash-cell-value.cell-markdown {
|
||||||
|
font-family: "Inter Tight";
|
||||||
|
}
|
||||||
|
|
||||||
.dash-filter--case {
|
.dash-filter--case {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -113,7 +162,7 @@ dash-table-container .dash-spreadsheet-container *:focus {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 150px;
|
height: 150px;
|
||||||
text-wrap: wrap;
|
text-wrap: wrap;
|
||||||
font-family: "Open Sans", sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Menu de masquage des colonnes */
|
/* Menu de masquage des colonnes */
|
||||||
@@ -128,7 +177,7 @@ dash-table-container .dash-spreadsheet-container *:focus {
|
|||||||
.show-hide {
|
.show-hide {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 180px;
|
width: 180px;
|
||||||
margin: 0 0 10px 10px;
|
margin: 0 0 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-hide::before {
|
.show-hide::before {
|
||||||
@@ -146,7 +195,7 @@ dash-table-container .dash-spreadsheet-container *:focus {
|
|||||||
/* Alternance des couleurs pour les lignes */
|
/* Alternance des couleurs pour les lignes */
|
||||||
.marches_table table td,
|
.marches_table table td,
|
||||||
.marches_table table th {
|
.marches_table table th {
|
||||||
font-family: "Open Sans", sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.marches_table.stuck {
|
.marches_table.stuck {
|
||||||
@@ -156,12 +205,11 @@ dash-table-container .dash-spreadsheet-container *:focus {
|
|||||||
|
|
||||||
.marches_table .cell-table tr:nth-child(even) td {
|
.marches_table .cell-table tr:nth-child(even) td {
|
||||||
background-color: #feeeee;
|
background-color: #feeeee;
|
||||||
font-family: "Open Sans", sans-serif;
|
font-family: "Inter", sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
#header > *,
|
#header > * {
|
||||||
.dash-spreadsheet-menu button.export {
|
margin: 0 0 20px 0px;
|
||||||
margin: 0 0 20px 20px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Annonces */
|
/* Annonces */
|
||||||
@@ -207,13 +255,11 @@ dash-table-container .dash-spreadsheet-container *:focus {
|
|||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Menu de navigation */
|
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
margin: 36px 0 20px 0;
|
margin: 36px 0 20px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
summary > h3 {
|
summary > h4 {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
display: inline;
|
display: inline;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -295,7 +295,7 @@ class DataTable(dash_table.DataTable):
|
|||||||
page_action=page_action,
|
page_action=page_action,
|
||||||
filter_options={
|
filter_options={
|
||||||
"case": "insensitive",
|
"case": "insensitive",
|
||||||
"placeholder_text": "Tapez le filtre ici...",
|
"placeholder_text": "",
|
||||||
},
|
},
|
||||||
sort_action=sort_action,
|
sort_action=sort_action,
|
||||||
sort_mode="multi",
|
sort_mode="multi",
|
||||||
|
|||||||
@@ -108,13 +108,14 @@ layout = [
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
dcc.Markdown(
|
dcc.Markdown(
|
||||||
f"Ce tableau vous permet d'appliquer un filtre sur une ou plusieurs colonnes, et ainsi produire la liste de marchés dont vous avez besoin ([exemple de filtre](https://decp.info/tableau?filtres=%7Bmontant%7D+i%3C+40000+%26%26+%7BdateNotification%7D+icontains+2025%2A+%26%26+%7Bacheteur_id%7D+24350013900189+%26%26+%7Bobjet%7D+icontains+voirie&colonnes=uid%2Cacheteur_id%2Cacheteur_nom%2Ctitulaire_id%2Ctitulaire_nom%2Cobjet%2Cmontant%2CdureeMois%2CdateNotification%2Cacheteur_departement_code%2CsourceDataset)). Par défaut seules quelques colonnes sont affichées, mais vous pouvez en afficher jusqu'à {str(df.width)} en cliquant sur le bouton **Colonnes affichées**. Pour le reste, tout est dans le mode d'emploi."
|
f"Ce tableau vous permet d'appliquer un filtre sur une ou plusieurs colonnes, et ainsi produire la liste de marchés dont vous avez besoin ([exemple de filtre](https://decp.info/tableau?filtres=%7Bmontant%7D+i%3C+40000+%26%26+%7BdateNotification%7D+icontains+2025%2A+%26%26+%7Bacheteur_id%7D+24350013900189+%26%26+%7Bobjet%7D+icontains+voirie&colonnes=uid%2Cacheteur_id%2Cacheteur_nom%2Ctitulaire_id%2Ctitulaire_nom%2Cobjet%2Cmontant%2CdureeMois%2CdateNotification%2Cacheteur_departement_code%2CsourceDataset)). Par défaut seules quelques colonnes sont affichées, mais vous pouvez en afficher jusqu'à {str(df.width)} en cliquant sur le bouton **Colonnes affichées**. Cet outil est assez puissant, je vous recommande de lire le mode d'emploi pour en tirer pleinement partie.",
|
||||||
|
style={"maxWidth": "1000px"},
|
||||||
),
|
),
|
||||||
html.Div(
|
html.Div(
|
||||||
html.Details(
|
html.Details(
|
||||||
children=[
|
children=[
|
||||||
html.Summary(
|
html.Summary(
|
||||||
html.H3("Mode d'emploi", style={"textDecoration": "underline"}),
|
html.H4("Mode d'emploi", style={"textDecoration": "underline"}),
|
||||||
),
|
),
|
||||||
dcc.Markdown(
|
dcc.Markdown(
|
||||||
dangerously_allow_html=True,
|
dangerously_allow_html=True,
|
||||||
@@ -147,6 +148,7 @@ layout = [
|
|||||||
##### Trier les données
|
##### Trier les données
|
||||||
|
|
||||||
Pour trier une colonne, utilisez les flèches grises à côté des noms de colonnes. Chaque clic change le tri dans cet ordre :
|
Pour trier une colonne, utilisez les flèches grises à côté des noms de colonnes. Chaque clic change le tri dans cet ordre :
|
||||||
|
|
||||||
1. tri croissant
|
1. tri croissant
|
||||||
2. tri décroissant
|
2. tri décroissant
|
||||||
3. pas de tri
|
3. pas de tri
|
||||||
|
|||||||
+1
-1
@@ -656,7 +656,7 @@ def get_button_properties(height):
|
|||||||
if height > 65000:
|
if height > 65000:
|
||||||
download_disabled = True
|
download_disabled = True
|
||||||
download_text = "Téléchargement désactivé au-delà de 65 000 lignes"
|
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."
|
download_title = " Ajoutez des filtres pour réduire le nombre de lignes, Excel ne supporte pas d'avoir plus de 65 000 URLs dans une même feuille de calcul."
|
||||||
elif height == 0:
|
elif height == 0:
|
||||||
download_disabled = True
|
download_disabled = True
|
||||||
download_text = "Pas de données à télécharger"
|
download_text = "Pas de données à télécharger"
|
||||||
|
|||||||
Reference in New Issue
Block a user