viernes, 14 de diciembre de 2007

sortable_element y el misterioso scroll

Un cliente nos ha pedido una aplicación para gestionar una serie de datos en sus oficinas, uno de estos es la gestión de los horarios de los empleados, parten de un horario propuesto y el empleado en base a este genera el suyo propio adaptando, agregando y moviendo las tareas en el horario. El cliente especificó que esta operación de mover se realizara mediante drag and drop, está claro que tiré rápidamente del sortable_element y todo era maravilloso hasta que de pronto el horario creció y superó el área de visualización, entonces fue necesario recurrir al scroll, en la documentación de rails no encontré nada y en scriptaculous algo muy somero, luego de mirar muchas cosas por ahí pude determinar esto para rails
  • :scroll => "id_del_contenedor_a_scrollear" #lo siento pero esto falla
  • :scroll => "$('id_del_contenedor_a_scrollear')" #esta es la forma correcta
Luego cambié también los parámetros de :scrollSensitivity a 5 (va un poco lento pero es mucho más preciso).
Aún y así después de estas mejoras seguía sin funcionar bien del todo y fue cuando encontré este "apaño" en la misma web de scriptaculous

<script type="text/javascript">

//arreglo para que haga bien el scroll el drag and drop

Position.includeScrollOffsets = true;

</script>

Este trozo de script hay que ponerlo antes de la llamada a

<%= sortable_element "mi_lista", ........ %>

No hay comentarios: