Example #1
0
 /**
  * @param StateInterface      $initialState
  * @param TransitionInterface $transition
  * @param StateMachine        $stateMachine
  * @param array               $properties
  */
 public function __construct(StateInterface $initialState, TransitionInterface $transition, StateMachine $stateMachine, array $properties = array())
 {
     $this->transition = $transition;
     $this->initialState = $initialState;
     $this->properties = $properties;
     if ($transition instanceof PropertiesAwareTransitionInterface) {
         $this->properties = $transition->resolveProperties($properties);
     }
     parent::__construct($stateMachine);
 }
Example #2
0
 /**
  * Dispatches event for the transition
  *
  * @param TransitionInterface $transition
  * @param TransitionEvent $event
  * @param type $transitionState
  */
 private function dispatchTransitionEvent(TransitionInterface $transition, TransitionEvent $event, $transitionState)
 {
     $this->dispatcher->dispatch($transitionState, $event);
     $this->dispatcher->dispatch($transitionState . '.' . $transition->getName(), $event);
     if (null !== $this->getGraph()) {
         $this->dispatcher->dispatch($transitionState . '.' . $this->getGraph() . '.' . $transition->getName(), $event);
     }
 }
Example #3
0
 /**
  * Default attributes for an edge (transition)
  *
  * @param $trans
  *
  * @return array
  */
 private function getEdgeDefaultAttributes(TransitionInterface $trans)
 {
     return ['label' => $trans->getName()];
 }