public function getAvailableStates($actionName)
{
$actionConfig = $this->workflow->getActionConfig($actionName, $this->getElementStatus());
$globalAction = $this->workflow->isGlobalAction($actionName);
$hasTransition = $this->actionHasTransition($actionConfig);
//if the action is global just return the current object state
if ($globalAction || !$hasTransition) {
$objectState = $this->getElementState();
$availableStates = [$objectState => $this->workflow->getStateConfig($objectState)];
} else {
$availableStates = [];
foreach ($actionConfig['transitionTo'] as $state => $statuses) {
$availableStates[$state] = $this->workflow->getStateConfig($state);
}
}
return $availableStates;
}