Dans mon projet, j’ai mis des icones de base du catalogue par défaut de Simplicité, pour représenter chacun de mes objets métier
Lorsque l’utilisateur fait une recherche dans une vue, on lui affiche un visuel représentant sa recherche et pour un soucis de lisibilité, je voudrais reprendre l’iconographie utilisé
Ceci étant, via code javascript, j’ai réussi à récupérer le nom de l’icone, cependant je ne sais comment où est stocké cette icone dans Simplicité
Par exemple, un de mes objets possède l’icone “feedback” dans son paramètrage d’icone
Où se trouve l’icone “feedback” dans Simplicité ? Existe-t-il une méthode qui pourrait renvoyer l’image, ou même une chemin d’accès Simplicité pour pouvoir y accéder
Le nom de l’icon fait partie des metatdata de l’objet envoyé en front :
obj.metadata.icon
et son élément graphique :
$ui.view.icon(obj.metadata.icon)
Dans votre exemple, il suffit d’insérer ce que retourne $ui.view.icon("feedback","myicon") dans votre DOM. ou pour une icone à base de font awesome: $ui.view.icon("far/circle","myicon"), etc.
et où “myicon” peut être une classe CSS à ajouter pour définir votre style (width, color, font-size…).
Je ne sais pas si c’est disponible dans le contexte des vues, mais je rappelle l’existence de l’expression [EXPR:[OBJECTICON:BCSIAbbreviation]] qu’on utilise fréquemment pour les icônes de zones d’attributs, et qui retourne l’icône de l’objet spécifié.
Si ce n’est pas disponible, on pourra penser à généraliser cette expression.
Cette syntaxe n’est pas reconnue dans un template HTML front.
Elle sert en back dans la définition d’un objet pour forcer son icone à être égale à celle d’un autre objet, typiquement une zone d’attributs avec les champs d’un objet lié, avant d’être envoyé dans les metadata de l’objet.
Dites-en nous plus sur la façon de construire votre vue, code front, copie d’écran… car j’ai l’impression que vous réinventez une recherche indexée / multi-objets.
Dans mon projet, je voudrais juste reprendre l’iconographie afin que le visuel qu’on a ajouté pour le projet soit plus précis pour les utilisateurs
Nous utilisons Cytoscape, j’obtiens ce visuel
J’ai réussi à retrouver le nom de l’icone (dans mon exemple précédent, c’était l’icone “feedback”), je n’ai juste pas le path à mettre dans le ‘background-image’ afin de lui donner l’icone
L’URL d’une icone de type image est donnée par l’usage d’une API, il ne faut pas y accéder avec une URL en dur (car la tuyauterie peut être amenée à évoluer, pas l’API) :
app.getIconURL(icon)
Et son élément UI :
$('<img/>').attr("src", app.getIconURL(icon));
et où par exemple app=$ui.getAjax() et icon="feedback"
Attention : ça ne marche que pour les icones de type image, si vous utilisez des fonts (glyph ou awesome) comme icone d’objet, il faudra les insérer autrement dans votre code, car ce ne sont pas des URL.
Pour le cas général, il serait donc préférable d’insérer dans votre graph directement l’élément $ui.view.icon(icon) si c’est possible, sans passer par un CSS background.