Aller au contenu

Modèle de Filtres de Recherche

Modes d'Utilisation

Il existe deux modes d'utilisation des filtres :

Mode 1 : Utilisation Littérale du Filtre sur un Attribut

Format de requête consommé :

/search?entityType[]=binaryContent...

Mode 2 : Utilisation via le Modèle lui-même

Format de requête consommé :

/search?template.my_filter_model.identifier[]=value...

Attributs Communs

Attribut Description
type Type du champ (string / array / date)
title Libellé du champ
position Ordre d'affichage
readOnly Champ en lecture seule
default Valeur définie par défaut lors de initialisation du champ
paths (optionnel) Permet de spécifier plusieurs identifiants cibles (active le mode 2)
➝ Peut cibler un attribut système ou un attribut d'un modèle spécifique
view.type Type d'entrée pour l'affichage
view.hidden Champs "caché" ou non

Types de Champs Disponibles

1. Champ Texte

{
  "identifier": {
    "type": "string",
    "view": {
      "type": "input-text",
      "size": "small-block"
    },
    "paths": ["displayName"],
    "title": "Nom d'affichage",
    "position": 1
  }
}

Avec valeur(s) par défaut :

{
  "identifier": {
    "type": "string",
    "default": "LY2025",
    "view": {
      "type": "input-text",
      "size": "small-block"
    },
    "paths": ["displayName"],
    "title": "Nom d'affichage",
    "position": 1
  }
}

Mot clé @me

Le mot-clé @me peut être utilisé en valeur par défaut. Tous les champs décrits ici sont disponibles.

Exemple :

{
  "identifier": {
    "type": "string",
    "default": "@me.displayName",
    "view": {
      "type": "input-text",
      "size": "small-block"
    },
    "paths": ["displayName"],
    "title": "Nom d'affichage",
    "position": 1
  }
}

2. Plage de Date

{
  "lifecycle.publishedAt": {
    "type": "date",
    "view": {
      "type": "input-date"
    },
    "title": "Période de mise en ligne",
    "position": 6
  }
}

Avec valeur(s) par défaut :

{
  "lifecycle.publishedAt": {
    "default": {
      "start": "2025-01-01"
      "end": "2025-01-15",
    },
    "type": "date",
    "view": {
      "type": "input-date"
    },
    "title": "Période de mise en ligne",
    "position": 6
  }
}

start ouend` peuvent être définie en valeurs par défaut


3. Liste à Choix Multiple

{
  "type_activite": {
    "type": "array",
    "enum": ["Contrôle", "Conseil", "Contentieux"],
    "view": {
      "type": "input-select-multiple"
    },
    "paths": ["attributes.saisine.contenu_saisine.type_activite"],
    "title": "Type d'activité",
    "position": 3
  }
}

Avec valeur(s) par défaut :

{
  "type_activite": {
    "type": "array",
    "default": ["Conseil"],
    "enum": ["Contrôle", "Conseil", "Contentieux"],
    "view": {
      "type": "input-select-multiple"
    },
    "paths": ["attributes.saisine.contenu_saisine.type_activite"],
    "title": "Type d'activité",
    "position": 3
  }
}

Champs Spéciaux (Chargement Dynamique)

{
  "entityType": {
    "type": "array",
    "enum": [ "entry","binaryContent" ],
    "enumNames": [
      "Dossier",
      "Document"
    ],
    "view": {
      "type": "input-select-multiple"
    },
    "title": "Type",
    "position": 1
  }
}
{
  "subType.identifier": {
    "enum": [],
    "type": "array",
    "view": {
      "type": "input-select-multiple"
    },
    "title": "Sous-type",
    "position": 2
  }
}