Backoffice/Form/Type/Component/FieldChoiceType.php
<?php
namespace OpenOrchestra\Backoffice\Form\Type\Component;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
/**
* Class FieldChoiceType
*/
class FieldChoiceType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
if (false === $options['multiple']) {
$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
$data = $event->getData();
if (is_array($data) && $data !== array()) {
$event->setData(current($data));
}
}, 1);
}
}
/**
* @return string
*/
public function getParent()
{
return 'choice';
}
/**
* @return string The name of this type
*/
public function getName()
{
return "oo_field_choice";
}
}