1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
<?php
namespace Commercetools\Core\Helper\State\Renderer;
use Commercetools\Core\Model\State\State;
class TransitionRenderer
{
const COMMAND_COLOR = '#555555';
public function render(State $state)
{
$graph = '';
$color = static::COMMAND_COLOR;
if ($state->getTransitions()) {
foreach ($state->getTransitions() as $transition) {
$targetState = $transition->getObj();
if ($targetState->getKey() === $state->getKey()) {
$graph .= ' edge[dir="back",style="solid",color="' . $color . '"] state_'
. $state->getKey() . ' -> state_' . $state->getKey() . ';' . PHP_EOL;
} else {
$graph .= ' edge[dir="forward",style="solid",color="' . $color . '"] state_'
. $state->getKey() . ' -> state_' . $targetState->getKey() . ' ;' . PHP_EOL;
}
}
}
return $graph;
}
}