i have a problem : I can't add option to my autocomplete generated by Easyadmin.
Here the context
I have a YoloController extends AbstractCrudController
I override createEditFormBuilder with a field :
public function createEditFormBuilder(EntityDto $entityDto, KeyValueStore $formOptions, AdminContext $context): FormBuilderInterface
{
$formBuilder = parent::createEditFormBuilder($entityDto, $formOptions, $context);
$user = $formBuilder->getData();
$formBuilder->add('userAddressRestrictions', EntityType::class, [
'label' => 'Restriction d\'adresses',
'class' => ClientAddress::class,
'query_builder' => function (EntityRepository $er) use ($user) {
return $er->createQueryBuilder('ca')
->where('ca.client IN (:clients)')
->setParameter('clients', $user->getClients());
},
'required' => false,
'multiple' => true,
'expanded' => false,
'attr' => ['data-ea-widget' => 'ea-autocomplete'],
]);
}
I use a custom html file :
{% extends '@EasyAdmin/crud/edit.html.twig' %}
{% block edit_form %}
{{ form_start(edit_form) }}
{{ form_row(edit_form) }}
{{ form_end(edit_form) }}
{% endblock edit_form %}
{% block body_javascript %}
{{ parent() }}
{{ encore_entry_script_tags('user', null, 'super-admin') }}
{% endblock %}
In my user.js file, i want to get the autocomplete generated by easyAdmin on my userAddressRestrictions :
$(document).ready(function () {
let userAddressRestrictionsElement = $('#User_userAddressRestrictions')[0].selectize;
userAddressRestrictionsElement.addOption(...);
});
Problem : userAddressRestrictionsElement is undefined
Note : my autocomplete work well. I don't understand why and How get my autocomplete to add options dynamically
What i tried :
- Delete all my JS file to avoid any conflict -- same problem
- use a new TomSelect() because EasyAdmin use it -- error "is not defined"
- use a new Autocomplete() like EasyAdmin did in his app.js -- error "is not defined"
- use a select2() like i use on my normal forms witch they dont use easyAdmin -- error "is not defined"
What i want : i want to can add dynamically options to my autocomplete
I don't know how to proceed, can you help me ?