SDK Form demonstrator refactor

This commit is contained in:
Eric Espie
2025-04-17 14:30:16 +02:00
parent 3c879759be
commit c91efa53bc
9 changed files with 33 additions and 28 deletions

View File

@@ -4,7 +4,7 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Base;
namespace Combodo\iTop\Forms\FormType\Base;
use Symfony\Component\Form\AbstractType as SymfonyAbstractType;
use Symfony\Component\Form\FormBuilderInterface;
@@ -18,7 +18,7 @@ abstract class AbstractType extends SymfonyAbstractType
parent::buildForm($builder, $options);
if (isset($options['callback']) && isset($options['hook_type'])) {
$builder->addEventListener($options['hook_type'], function (FormEvent $event) use ($options): void {
\IssueLog::Info($event->getForm()->getName().' '.$options['hook_type']);
\IssueLog::Info($event->getForm()->getName().' AbstractType.php'.$options['hook_type']);
call_user_func($options['callback'], $event);
});
}

View File

@@ -4,10 +4,10 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Base;
namespace Combodo\iTop\Forms\FormType\Base;
use Combodo\iTop\FormType\Orm\AttCodeGroupByType;
use Combodo\iTop\FormType\Orm\ValuesFromAttcodeType;
use Combodo\iTop\Forms\FormType\Orm\AttCodeGroupByType;
use Combodo\iTop\Forms\FormType\Orm\ValuesFromAttcodeType;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Form\DataMapperInterface;
@@ -86,21 +86,13 @@ class FormBuilder implements FormBuilderInterface, \IteratorAggregate
}
}
/*
* ----------------------------------------
*
* Pure decoration methods below.
*
* ----------------------------------------
*/
public function count(): int
{
return $this->builder->count();
}
/**
* @param string|FormBuilderInterface $child
* @param string|null $type
* @param array $options
*
* @return \Combodo\iTop\Forms\FormType\Base\FormBuilder
* @throws \Exception
*/
public function add($child, ?string $type = null, array $options = []): static
{
@@ -122,6 +114,19 @@ class FormBuilder implements FormBuilderInterface, \IteratorAggregate
return $this;
}
/*
* ----------------------------------------
*
* Pure decoration methods below.
*
* ----------------------------------------
*/
public function count(): int
{
return $this->builder->count();
}
public function create(string $name, ?string $type = null, array $options = []): FormBuilderInterface
{
return $this->builder->create($name, $type, $options);

View File

@@ -4,7 +4,7 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Base;
namespace Combodo\iTop\Forms\FormType\Base;
use Symfony\Component\Form\Extension\Core\Type\HiddenType as SymfonyHiddenType;

View File

@@ -4,7 +4,7 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Base;
namespace Combodo\iTop\Forms\FormType\Base;
use Symfony\Component\Form\Extension\Core\Type\TextType as SymfonyTextType;

View File

@@ -4,7 +4,7 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Base;
namespace Combodo\iTop\Forms\FormType\Base;
use Symfony\Component\Form\Extension\Core\Type\TextareaType as SymfonyTextareaType;
use Symfony\Component\OptionsResolver\OptionsResolver;

View File

@@ -4,9 +4,9 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Orm;
namespace Combodo\iTop\Forms\FormType\Orm;
use Combodo\iTop\FormType\Base\AbstractType;
use Combodo\iTop\Forms\FormType\Base\AbstractType;
use Dict;
use Exception;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType as SymfonyChoiceType;

View File

@@ -4,9 +4,9 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Orm;
namespace Combodo\iTop\Forms\FormType\Orm;
use Combodo\iTop\FormType\Base\AbstractType;
use Combodo\iTop\Forms\FormType\Base\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType as SymfonyTextareaType;
use Symfony\Component\OptionsResolver\OptionsResolver;

View File

@@ -4,9 +4,9 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\FormType\Orm;
namespace Combodo\iTop\Forms\FormType\Orm;
use Combodo\iTop\FormType\Base\AbstractType;
use Combodo\iTop\Forms\FormType\Base\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType as SymfonyChoiceType;
use utils;

View File

@@ -6,7 +6,7 @@
namespace Combodo\iTop\Test\UnitTest\Application\FormType\Base;
use Combodo\iTop\FormType\Orm\AttCodeGroupByType;
use Combodo\iTop\Forms\FormType\Orm\AttCodeGroupByType;
use Combodo\iTop\Test\UnitTest\ItopTestCase;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationExtension;