<?php
namespace App\Form\Common;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormView;
use Symfony\Component\OptionsResolver\OptionsResolver;
class NellappSliderType extends AbstractType
{
public function finishView(FormView $view, FormInterface $form, array $options): void
{
$view->vars['nellapp_slider_config'] = json_encode([
'min' => $options['min'],
'max' => $options['max'],
'step' => $options['step']
]);
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('min', NumberType::class, [
'attr' => [
'data-nellapp-slider-type-min' => true,
'class' => 'd-none',
],
'data' => $options['min'],
'empty_data' => 0,
])
->add('max', NumberType::class, [
'attr' => [
'data-nellapp-slider-type-max' => true,
'class' => 'd-none',
],
'data' => $options['max'],
'empty_data' => $options['max'],
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
]);
$resolver
->setRequired(['min', 'max', 'step'])
->setAllowedTypes('min', 'int')
->setAllowedTypes('max', 'int')
->setAllowedTypes('step', 'int')
;
}
public function getBlockPrefix(): string
{
return 'nellapp_slider_type';
}
}