Sonata Admin: el calendario no se cierra

Escenario

Incluir un filtro de rango de fechas en SonataAdmin que use un calendario para seleccionar la fecha es más o menos fácil. Primero añadimos el siguiente bloque en el admin de nuestra entidad: Y la siguiente clave bajo form_themesen el fichero config/packages/twig.yaml:

Problema

El calendario no se cierra automáticamente cuando se selecciona una fecha. Hay que pinchar fuera de la ventana para que desaparezca. Lo cual es un incordio para el pobre usuario.

Solución

Como no podía ser de otra manera, debemos sobreescribir la plantilla que muestra el calendario. Copiamos vendor/sonata-project/form-extensions/src/Bridge/Symfony/Resources/views/Form/datepicker.html.twig en Acme/templates/Form/datepicker.html.twig, nos quedamos con el bloque que nos intersa ( sonata_type_datetime_range_script_block), extendemos el fichero original y añadimos la dos líneas que cierran el calendario cuando se selecciona la fecha: Por último modificamos form_themesen el fichero config/packages/twig.yaml para que use nuestra plantilla:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *