Par défaut, le composant Filter propose automatiquement tous les champs filtrables du type de document, y compris des champs internes rarement utiles. Il est désormais possible de définir précisément les champs proposés et leur ordre d’affichage, ainsi que de déclarer des champs résolus directement par l’application.
fieldsLa propriété fields accepte un tableau contenant soit des noms de champs existants (chaîne), soit des objets décrivant des champs définis directement par l’application.
<Filter
doctype="Insights Workbook"
align="start"
:fields="[
'owner',
'modified',
{
fieldname: 'data_source',
label: 'Data Source',
fieldtype: 'Link',
options: 'Insights Data Source v3'
}
]"
v-model="filters"
/>
Dans cet exemple, seuls trois champs sont proposés à l’utilisateur lorsqu’il crée une condition de filtre : owner (propriétaire), modified (date de modification), et data_source (un champ de type Lien résolu par l’application). Le champ imported_checksum et tous les autres champs internes ne sont pas proposés.
Un champ déclaré sous forme d’objet doit comporter au minimum les propriétés suivantes :
| Propriété | Obligatoire | Description |
|---|---|---|
fieldname | Oui | Identifiant interne du champ |
label | Oui | Libellé affiché dans la liste des champs |
fieldtype | Oui | Type de champ (Link, Data, Date, …) |
options | Non | Type de document lié pour les champs de type Link |
Les champs déclarés peuvent être mélangés librement avec des noms de champs existants du type de document.
La propriété align détermine l’alignement horizontal du popover de filtre par rapport à la zone d’entrée. Les valeurs acceptées sont :
start : le popover s’aligne sur le bord gauche de la zone d’entrée.end : le popover s’aligne sur le bord droit de la zone d’entrée.center : le popover est centré sur la zone d’entrée (comportement par défaut).Cette propriété est particulièrement utile lorsque le composant Filter est placé dans une zone restreinte de l’interface et que le popover risquerait de déborder.
serializeFilters ignore désormais les conditions qui ne contiennent pas de valeur. Auparavant, lorsqu’un utilisateur sélectionnait un champ dans un filtre sans saisir de valeur, une condition vide était envoyée (par exemple LIKE vide), ce qui pouvait restreindre la liste des résultats involontairement. Les conditions vides ne sont plus transmises.
Lorsqu’un utilisateur ajoute une condition sur un champ de type Lien, l’opérateur initial est désormais égal à (equals). Cette opération ouvre automatiquement le sélecteur d’enregistrements, permettant à l’utilisateur de choisir directement l’enregistrement lié.
Dans le sélecteur de lien, la description de chaque option ne répète plus le nom de l’enregistrement s’il est déjà affiché dans le libellé de l’option. Cela évite les redondances visuelles dans les listes déroulantes.