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;
    }
}
×