Ajax Refresh et QueryHandler

Ritchie Nithoo · le 01/10/19 à 14:56

Bonjour , 

Dans le cadre du redéveloppement du gabarit de recherche, je cherche à implémenter un filtre (à l'instar du filtre sur les dates (qh.getDateSinceInt()). 
En m'inspirant des gabarit déjà présents , j'ai donc mis en place ce champs dans la page de recherche : 

<div>
<jalios:field name="dateSince" value='<%= qh.getBeginDate() %>'
resource="field-light">
<jalios:control type='<%= ControlType.DATE %>'
settings='<%= new DateSettings().displayDateOnly().onChange("ajax-refresh") %>' />
</jalios:field>
</div>

Malheureusement, la date choisie ne semble pas influer sur le queryHandler.

Pour informations je me suis inspiré d'une partie du gabarit fourni par défaut qui est le suivant : 

<div>
<jalios:field name="dateSince" resource="field-light" value="<%= dsdDateSince %>">
<jalios:control settings='<%=
new EnumerateSettings().radio()
.enumValues(values)
.enumLabels(labels)
.dataAttribute("jalios-action", "ajax-refresh") %>' />
</jalios:field>
</div>

J'ai bien tenté en utilisant la méthode dataAttribute mais mon html généré ne semble pas prendre en compte le ajax-refresh. 

Auriez-vous des idées ? 

En vous remerciant par avance

4 pts
Kevin Bransard · le 02/10/19 à 12:20

Essayez en rajoutant l'attribut jalios-event: change comme l'exemple suivant : 

      <jalios:control settings='<%= 
      new EnumerateSettings()
      .dataAttribute("jalios-event", "change")
      .dataAttribute("jalios-action", "ajax-refresh")
      .select()
      .enumValues(dateTypeValues)
      .enumLabels(dateTypeLabels) %>' />
    </jalios:field>  
    
#1

Merci pour votre réponse, 

J'ai réussi a faire fonctionner mon filtre de la manière suivante : 

<jalios:field name="beginDateStr" value='<%= qh.getBeginDate() %>'
resource="field-light">
<jalios:control type='<%= ControlType.DATE %>'
settings='<%= new DateSettings()
.displayDateOnly()
.onChange("ajax-refresh")
.placeholder("Begin date") %>' />
</jalios:field>

Il fallait fournir le bon "name" au tag <jalios:field> afin que la valeur de la date sois prise en compte. 

Ritchie Nithoo · le 02/10/19 à 15:51
0 pt