Version de développement
Cette documentation décrit la version « next » (develop), non encore publiée. Pour la version stable, basculez sur « v5 » dans l'en-tête.
Developpement Interface

Champs de filtre personnalisés

Sélectionner les champs disponibles dans un filtre et contrôler l’affichage du popover

Sélectionner les champs d’un filtre

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.

Propriété fields

La 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.

Exemple

<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.

Format des champs déclarés

Un champ déclaré sous forme d’objet doit comporter au minimum les propriétés suivantes :

PropriétéObligatoireDescription
fieldnameOuiIdentifiant interne du champ
labelOuiLibellé affiché dans la liste des champs
fieldtypeOuiType de champ (Link, Data, Date, …)
optionsNonType 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.

Alignement du popover

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.

Comportement de la sérialisation des filtres

Conditions sans valeur

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.

Condition initiale sur un champ Lien

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é.

Affichage des options de lien

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.