République
française
dsfr-data
Documentation — Web Components DSFR pour la dataviz
Composant visuel intermediaire qui affiche un champ de recherche DSFR et filtre les donnees en amont avant de les redistribuer aux composants en aval.
Visuel et intermediaire : Ce composant affiche un champ de recherche
ET redistribue les donnees filtrees aux composants en aval via le systeme d'evenements.
Il se combine naturellement avec dsfr-data-facets.
dsfr-data-source → dsfr-data-normalize → dsfr-data-search → dsfr-data-facets → dsfr-data-display / dsfr-data-list
La recherche reduit le jeu de donnees, les facettes affinent ensuite. Les compteurs de facettes se recalculent dynamiquement.
| Attribut | Type | Defaut | Description |
|---|---|---|---|
id | String | - | Requis. Identifiant de la sortie (donnees filtrees). |
source | String | "" | Requis. ID de la source a ecouter. |
fields | String | "" | Champs a rechercher (virgule-separes). Vide = tous les champs. |
placeholder | String | "Rechercher..." | Placeholder du champ de saisie. |
label | String | "Rechercher" | Label du champ (accessible). |
debounce | Number | 300 | Delai en ms avant declenchement du filtre. |
min-length | Number | 0 | Nombre minimum de caracteres avant declenchement. |
highlight | Boolean | false | Ajoute _highlight avec <mark> pour dsfr-data-display. |
operator | String | "contains" | Mode : contains, starts, words. |
sr-label | Boolean | false | Label en sr-only (masque visuellement, accessible). |
count | Boolean | false | Affiche un compteur de resultats. |
url-search-param | String | "" | Nom du parametre URL a lire comme terme de recherche initial (vide = desactive). |
url-sync | Boolean | false | Synchronise l'URL quand l'utilisateur tape (replaceState). |
server-search | Boolean | false | Deleguer la recherche au serveur via l'adapter de la source amont. Envoie une commande WHERE a dsfr-data-source au lieu de filtrer localement. |
search-template | String | "" | Template de la clause WHERE server-side. {q} est remplace par le terme saisi. Ex : "Nom:contains:{q}". Si vide et server-search actif, lu depuis l'adapter. |
Modes de recherche :
contains (defaut) : sous-chaine insensible a la casse et aux accents.
starts : chaque mot du champ doit commencer par le terme.
words : tous les mots saisis doivent etre presents (dans n'importe quel champ, n'importe quel ordre). Le plus utile pour la recherche multi-criteres.
Recherche textuelle sur les champs Produit, Marque et Categorie.
Le tableau se filtre en temps reel avec un compteur de resultats.
<dsfr-data-search id="searched" source="clean"
fields="Produit, Marque, Categorie"
placeholder="Produit, marque ou categorie..."
operator="words"
min-length="2"
count>
</dsfr-data-search>
<dsfr-data-list source="searched"
colonnes="Produit, Categorie, Marque, Date"
tri="Date:desc"
pagination="10">
</dsfr-data-list>
La recherche et les facettes se combinent. La recherche reduit le jeu de donnees, les facettes affinent. Les cartes affichent les resultats.
{{Marque}}
<dsfr-data-search id="searched" source="clean"
fields="Produit, Marque, Categorie"
placeholder="Rechercher un produit rappele..."
operator="words"
count>
</dsfr-data-search>
<dsfr-data-facets id="filtered" source="searched"
fields="Categorie, Marque"
labels="Categorie:Categorie | Marque:Marque"
max-values="6">
</dsfr-data-facets>
<dsfr-data-display source="filtered" cols="3" pagination="9">
<template>
<div class="fr-card">
<div class="fr-card__body">
<div class="fr-card__content">
<h3 class="fr-card__title">{{Produit}}</h3>
<p class="fr-card__desc">{{Marque}}</p>
</div>
<div class="fr-card__footer">
<p class="fr-badge fr-badge--sm">{{Categorie}}</p>
</div>
</div>
</div>
</template>
</dsfr-data-display>
Les KPI et le graphique se recalculent en temps reel selon la recherche. Rechercher par nom d'entreprise, departement ou region.
<dsfr-data-search id="searched" source="clean"
fields="Entreprise, Region, Departement"
placeholder="Entreprise, region, departement..."
operator="words"
count>
</dsfr-data-search>
<dsfr-data-kpi source="searched" valeur="count" label="Projets" couleur="bleu"></dsfr-data-kpi>
<dsfr-data-kpi source="searched" valeur="sum:montant_investissement" label="Investissement" format="euro"></dsfr-data-kpi>
<dsfr-data-query id="stats" source="searched"
group-by="Region"
aggregate="nombre_beneficiaires:sum:Beneficiaires"
order-by="Beneficiaires:desc"
limit="10">
</dsfr-data-query>
<dsfr-data-chart source="stats" type="bar"
label-field="Region"
value-field="Beneficiaires"
selected-palette="categorical">
</dsfr-data-chart>