<?php
namespace App\Form\Inc;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use function Symfony\Component\String\u;
class SubmitFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add($builder->getName(), SubmitType::class, [
'label' => $options['sub_label'],
'translation_domain' => (false === $options['translation_domain'] && u($options['sub_label'])->containsAny('.') ? 'messages' : $options['translation_domain']),
'attr' => [
'class' => $options['sub_class'].' '.$options['sub_extra_class'],
'data_icon_before' => ($options['icon'] ? $options['icon'] : 'fas fa-save'),
'data-load-text' => $options['loading_text'],
],
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
// Configure your form options here
'label' => false,
'icon' => false,
'sub_label' => false,
'translation_domain' => false,
'loading_text' => 'Guardando',
'sub_class' => 'btn',
'sub_extra_class' => '',
'mapped' => false,
'inherit_data' => true
]);
}
}