<?php

namespace App\Form;

use App\Entity\Document;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\Range;
use Symfony\Component\Validator\Constraints\File;

class DocumentType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('title', TextType::class, [
                'label' => 'basics.name'
            ])
            //->add('filename', TextType::class, [
            //    'label' => 'basics.filename',
            //])
            ->add('filename', FileType::class, ['data_class' => null,
                'label' => 'basics.attachment',
            ])
            ->add('icon', ChoiceType::class, [
                'label' => 'basics.filetype',
                'choices' => [
                    'PDF' => 'pdf',
                    'Word' => 'doc',
                    'Excel' => 'xls',
                    'CSV' => 'csv',
                    'Powerpoint' => 'ppt',
                    'Texte' => 'txt',
                    'Image JPG' => 'jpg',
                    'Image PNG' => 'png',
                    'Photoshop' => 'psd',
                    'Ilustrator' => 'ai',
                    'Vidéo AVI' => 'avi',
                    'Vidéo MP4' => 'mp4',
                    'Audio MP3' => 'mp3',
                    'Fichier Zip' => 'zip',
                ],
                'placeholder' => '',
            ])
            ->add('publicationDate', DateType::class, [
                'label' => 'basics.publicationDate',
            ])
            ->add('description', TextareaType::class, [
                'label' => 'basics.description',
                'required' => false,
            ])
            ->add('published', CheckboxType::class, [
                'label' => 'Publié',
                'required' => false,
            ])
            /*->add('upperBound', RangeType::class, [
                'label' => 'basics.upperBound',
                'attr' => [
                    'min' => 0,
                    'max' => 100
                ]
            
            ])
            ->add('flag', ChoiceType::class, [
                'label' => 'basics.flag',
                'choices' => [
                    'Rouge' => 'danger',
                    'Jaune' => 'warning',
                    'Bleu' => 'info',
                    'Vert' => 'success',
                ],
                'placeholder' => 'departement.type.placeholder',
            ])*/
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => Document::class
        ));
    }
}
