4.3.1 Classe d'accès à un rendu de transition
L'interface PHP Dcp\Ui\IrenderTransitionAccess
permet de choisir un rendu en
fonction du workflow et de la transition.
La seule méthode à implémenter est la méthode getTransitionRender
\Dcp\Ui\TransitionRender getTransitionRender( string $transitionId, \WDoc $workflow)
Les paramètres sont :
transitionId
-
l'id de la transition demandée
Il peut être vide dans le cas où l'utilisateur "admin" demande le passage d'une transition invalide (seul cet utilisateur a le privilège pour ce type de transition).
workflow
- l'objet
\WDoc
en cours.
Cette méthode doit retourner une instance d'une classe implémentant l'interface
Dcp\Ui\IRenderTransition
.
Si la méthode retourne null
, c'est le rendu par défaut qui est appliqué.
Cette méthode est appelée par l'api lors de la demande des caractéristiques d'affichage de la transition.
Exemple :
namespace My; class MyTransitionRenderConfig extends \Dcp\Ui\TransitionRender { /** * @param string $transitionId * * @return \Dcp\Ui\RenderOptions * @throws \Dcp\Ui\Exception */ public function getRenderOptions($transitionId) { $options = parent::getRenderOptions($transitionId); // Change label of parameter frame $options->frame(self::parameterFrameAttribute)->setAttributeLabel("My parameters"); return $options; } } class MyAccess implements \Dcp\Ui\IRenderTransitionAccess { /** * @param string $transitionId * @return \Dcp\Ui\IRenderTransition */ public function getTransitionRender($transitionId, \WDoc $workflow) { if($transitionId) { return new MyTransitionRenderConfig(); } return null; } }