Icon Resolver
Dans certaines situations, il peut être nécessaire de définir une icône en fonction des tags d’un composant. Pour cela, il est possible de définir un Icon Resolver permettant de définir l’icône à appliquer à un composant. Plusieurs Icon Resolver peuvent être définis, dans ce cas, le premier répondant avec une valeur sera pris en compte.
Les Icon Resolvers sont utilisés pour résoudre l’icône d’un composant lorsqu’il est affiché dans FlowerDocs GUI.
Enregistrement
Un Icon Resolver peut être enregistré à l’aide de la fonction registerComponentIconResolver(resolver,tags)
exposée par JSAPI.get().getHelperFactory()
.
Le paramètre resolver
correspond à une fonction acceptant deux paramètres :
component
: le composant dont l’icône doit être définiecallback
: objet dont la fonctiononSuccess()
doit être appelée une fois le calcul de l’icône terminé (dans le cas où l’icône n’est pas définie par l’Icon Resolver, la fonctiononSuccess()
doit être appelée sans valeur)
Le paramètre tags
correspond à la liste de tags en fonction desquels l’icône sera résolue.
Exemple : Pour définir une icône de type loupe à tous les composants de classe CourrierEntrant
, il est possible d’enregistrer un Icon Resolver tel que :
JSAPI.get().getHelperFactory().registerComponentIconResolver(function(component, callback){
if(component.getClassId() == 'CourrierEntrant'){
callback.onSuccess('fa fa-search');
}else{
callback.onSuccess(null);
}
});
Exemple : Pour définir une icône de type loupe à tous les composants ayant la valeur du tag TypeCourrier
égale à Commande
et le Statut
égal à ATRAITER
, il est possible d’enregistrer un Icon Resolver tel que :
JSAPI.get().getHelperFactory().registerComponentIconResolver(function (component, callback) {
if (component.getTagValue('TypeCourrier') == 'Commande' && component.getTagValue('Statut') == 'ATRAITER') {
callback.onSuccess('fa fa-search');
} else {
callback.onSuccess(null);
}},'TypeCourrier','Statut');