ajout dans le framework front de deux fonctions pour permettre de simplifier l’initialisation d’un contrôleur et de mutualiser les templates.
Il est désormais possible d’appeler une fonction initObj sur la factory, qui permet de ne renseigner que les paramètres qui nous intéressent :
var fct = BaseFct.init($stateParams, scope,undefined,
'form', undefined,
Undefined, undefined,
Undefined, undefined, false, 'suiviSiteCtl');
devient :
var fct = BaseFct.initObj({params : $stateParams,
scope:scope,
formName:'form',
controllerName : 'suiviSiteCtl'});
Ajout d'un paramètre dans l’init de la factory qui est le « nom du contrôleur ».
Via ce paramètre, la factory implémente dans le scope une fonction « getController() » qui va permettre de mutualiser plus facilement le code des templates.
Attention : cela reste à utiliser a la marge, mais cela peut être très utile.
Exemple : mutualiser le contenu du template d’un élément de l’historique ticket entre l’écran popup « Recap Interv » et « Histo Ticket ». Plutôt que de partager la factory, alors qu'aucune des fonctionnalités de l’écran ticket est utilisée, on mutualise simplement le template de cette façon (getController()):
p.timeline-description(class='{{::((item.stockageFichier_TicketEvtR.data !== null) ? "max-width-timeline-panel" : "")}}') {{::item.description_TicketEvtR}} {{::getController().fct.lib.getCoreLib('core.autre.date.le')}} {{::(item.dateTicketEvt_TicketEvtR|amDateFormat:'llll')}}
p(ng-if='::(item.comment_TicketEvtR)', class='{{::((item.stockageFichier_TicketEvtR.data !== null) ? "max-width-timeline-panel" : "")}}', ng-bind-html='::(getController().fct.trustAsHtml(item.comment_TicketEvtR))')