Personnaliser le libellé d'un attribut en fonction d'un autre

Personnaliser le libellé d'un attribut en fonction d'un autre
0
Tags: #<Tag:0x00007f85fe569a60>

Bonjour,

J’ai un objet Obj1 avec deux attributs A (énuméré) et B (double avec une traduction attribut B = Attribut_B). Serait-il possible de modifier l’affichage du nom de l’attribut B et le remplacer par le choix effectué dans l’attribut A ? Si l’attribut A change, le libellé de B change aussi.

Si oui, comment faire pour que ce changement soit appliqué dans le formulaire et la liste liée où l’attribut B apparaît, mais pas dans la liste principale de l’objet où il doit conserver son nom d’origine (Attribut_B).

En effet, dans un écran lié, toutes les lignes de Obj1 possèdent la même valeur pour l’attribut A, nous pouvons donc personnaliser le libellé de B, or dans la liste principale de l’Obj1, plusieurs valeurs de A sont possibles, et donc impossible de personnaliser le libellé du B, on garde donc celui d’origine.

Merci d’avance.

Abed.

Pour tout ce qui est pur affichage front qui n’est pas faisable par contrainte, il suffit de créer une resource SCRIPT front avec un hook sur le form.onload.

D’après votre besoin, il suffit de créer un event change (ou input) sur votre champ A pour influencer le <label> d’un autre champ facilement retrouvable via jQuery.

var f = ui.getUIField(ctn, object, "field1").ui.on("input change", function() {
   var v = f.ui.val(); // valeur de A à l'écran (f.value() est la valeur serveur)
   $('.objform .field[data-field="field2"] label').text(v); // label de B
})