Ecodev / natural-search

DEPRECATED
MIT License
2 stars 1 forks source link

Output (filtres de sortie) #1

Closed sambaptista closed 6 years ago

sambaptista commented 6 years ago

Ce composant à pour seul but de transformer une configuration (qui peut changer à tout moment) vers une liste d'objets représentant les filtres.

Les attributs des objets répondent à une condition AND. Les listes répondent à une condition OR.

Filtre les résultats contenant 'McClane [{search: 'McClane'}]

Filtre les résultats contenant 'asdf ou 'McClane' [{search: 'McClane'}, {search: 'qwer'}]

Filtre les résultats contenant McClane et ayant un parent dont l'id = 1

[{
  search: 'McClane', 
  parents: ["1"]
}]

Filtre les résultats contenant McClane et ayant un parent dont l'id = 1 ou 2

[{
  search: 'McClane', 
  parents: ["1", "2"]
}]

Filtre les résultats contenant McClane et ayant un parent dont l'id = 1 ou 2, ou ceux contenant Rambo et ayant un parent dont l'id = 3 ou 4

[
{
  search: 'McClane', 
  parents: ["1", "2"]
},
{
  search: 'Rambo', 
  parents: ["3", "4"]
}
]

Filtre les résultats qui n'ont pas de relation [{parents: []}]

Filtre les résultats dont l'attribut est évalué à null ou undefined ignorent le filtre. Ces deux résulalts sont égaux : [{parents: null}] [{}]

Filtre les résultats qui ont n'importe quelle relation (un avis sur cet aspect ?) [{parents: "*"}]

Plages numériques

Filtre les résultats dans une plage donnée (numéros) :

[{
  size: { min: 2, max : 10 }
}]

Filtre les résultats dans une plage donnée (dates) :

[{
  size: { from: 2, to : 10 }
}]
PowerKiKi commented 6 years ago

more or less implemented