* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShopBundle\Form\Admin\Extension; use Symfony\Component\Form\AbstractTypeExtension; use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\FormInterface; use Symfony\Component\Form\FormView; use Symfony\Component\OptionsResolver\OptionsResolver; /** * Adds the "row_attr" option to all Form Types. * * You can use it together with the UI kit form theme to add classes to your from rows: * * ``` * 'row_attr' => [ * 'class' => 'foo bar', * ], * ``` */ class RowAttributesExtension extends AbstractTypeExtension { /** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver ->setDefaults([ 'row_attr' => null, ]) ->setAllowedTypes('row_attr', ['null', 'array']) ; } /** * {@inheritdoc} */ public function buildView(FormView $view, FormInterface $form, array $options) { $view->vars['row_attr'] = $options['row_attr'] ?? []; } /** * {@inheritdoc} */ public static function getExtendedTypes(): iterable { return [FormType::class]; } }