Je souhaite mettre en place un filtre, de manière dynamique, sur une liste d’une instance Panel, en fonction d’un attribut dans le formulaire de l’objet parent.
C’est-à-dire, si je change la valeur de l’attribut, le nouveau filtre s’applique aussitôt au niveau de la liste panel, sans que j’aie besoin d’enregistrer l’objet parent.
Actuellement, j’utilise le hook « initRefSelect », mais il ne tient compte que des valeurs enregistrées de l’attribut, et non pas d’une nouvelle valeur saisie dans l’attribut (sans enregistrer le formulaire).
Je ne sais pas si le besoin est clair.
Est-ce qu’il y a un moyen d’avoir ce filtre « dynamique » ?
Ce n’est pas un comportement prévu, il n’y a donc pas de hook front pour ce cas d’usage. Il faudrait donc a priori déclencher un rechargement de la liste fille sur un onChange de l’attribut en question. Tu peux ajouter ce comportement dans le hook front form.onload de l’objet parent.
(Ceci étant dit, il peut être intéressant de réfléchir une façon moins détournée de répondre à ton besoin.)
Est-ce que tu aurais une idée de la syntaxe à utiliser pour un setSearchSpec en front pour faire ceci :
if (parent.getName() == 'ImmoComparerInvestment') {
var filtre = '';
var regime = parent.getFieldValue("Simu_B1_REGIME_01");
if (regime.substring(0,1) == 'P' ) {
filtre = filtre + " AND t.property_type ='40'";
}
...
// On applique le filtre sur la liste des lignes à afficher
this.setSearchSpec("("+this.getDefaultSearchSpec()+ " AND " + ImmoTool.LinkedObjSelect(this,this.getGrant(),this.getName(),'E')+")"+filtre);
} else {
this.setSearchSpec("("+this.getDefaultSearchSpec()+ " AND " + ImmoTool.LinkedObjSelect(this,this.getGrant(),this.getName(),'E')+")");
}
D’accord,
Est-ce que tu aurais stp un exemple du code à mettre pour ajouter un filtre sur une liste en front ?
Est-ce que cela aura un impact sur le comportement du SearchSpec de l’objet sur d’autre écrans ?
Est-ce que tu as pu trouver une solution à mon besoin stp ? à savoir, appliquer un filtre en front sur une liste (l’équivalent du initRefSelect et setSearchSpec)
Merci d’avance pour ton aide précieuse car je suis bloqué et je n’arrive pas à gérer ce cas.
Abed
Malheureusement je n’ai pas d’exemple sur étagère à ce jour, et la construction d’une solution sur mesure relève du support personnalisé, que nous fournissons volontiers via des tickets de support.