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
Auteur
Réponse acceptée

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>