Symfony Collection jQuery

Par Manuel Alvarez-Iglisias, il y a 8 ans


Bonjour tous le monde !

Voilà j'essaye de brancher ceci : Symfony Collection jQuery

En prenant l'exemple le plus basique :

<?php /** * Created by PhpStorm. * User: deshiloh * Date: 16/08/2017 * Time: 15:10 */ namespace Analyse\AnalyseBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CollectionType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; class PaillasseType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add("values", CollectionType::class, [ "entry_type" => TextType::class, "entry_options" => [ "label" => "Value" ], "label" => "Molécules à analyser", "allow_add" => true, "allow_delete" => true, "prototype" => true, "attr" => [ "class" => "mySelector" ] ]) ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ ]); } } <?php namespace Paillasse\PaillasseBundle\Controller; use Analyse\AnalyseBundle\Form\PaillasseType; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class PaillasseController extends Controller { public function indexAction() { $em = $this->getDoctrine()->getManager(); $moleculesEchantillon = $em->getRepository("Echantillon\EchantillonBundle\Entity\MoleculesEchantillon")->findAll(); $datas = ["values" => ["a", "b", 'c']]; $form = $this->createForm(PaillasseType::class, $datas); return $this->render('PaillasseBundle:Default:index.html.twig', [ "moleculesEchantillon" => $moleculesEchantillon, "form" => $form->createView(), ]); } } {% extends "base.html.twig" %} {% block body %} <h1>Paillasse</h1> <div class="row"> <div class="col-md-12"> {% form_theme form 'jquery.collection.html.twig' %} {{ form(form) }} </div> </div> {% endblock %} {% block javascripts %} <script src="{{ asset('js/jquery.collection.js') }}"></script> <script> $( document ).ready(function() { $('.mySelector').collection({ drag_drop : true }); }); </script> {% endblock %}

Et mon problème est que le drag and drop ne fonctionne pas.
Je n'arrive pas à voir ce que j'ai du faire de mal ou oublié.

Merci d'avance pour l'aide.

1 réponse

Manuel Alvarez-Iglisias, il y a 8 ans

Quel idiot je fais ! si je n'inclut pas ui sortable je risque pas d'aller loin !

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>