Lista Sortable y Drag and Drop para Angular | ng-hub-ui-sortable

Utilidades sortable y drag-and-drop para Angular sobre arrays, FormArray, flujos con Signals y listas conectadas.

Referencia API

Aquí tienes el contrato completo de sortable: todo lo que puedes enlazar, escuchar, proyectar y personalizar, reunido en un solo sitio. Enlaza lo que necesites y dale el estilo que quieras — es standalone y reactivo con signals.

Inputs

Ajusta sortable a tu gusto con 13 inputs. Se enlazan como cualquier @Input de Angular.

NombreTipoPor defectoDescripción
hubSortableObligatorioT[] | FormArray | WritableSignal<T[]>Datos enlazados al contenedor ordenable: un array, un `FormArray` reactivo o una signal escribible. Se mantiene sincronizado con las operaciones de arrastrar y soltar.
optionsOptionsObjeto completo de opciones de SortableJS. Cada opción de SortableJS también puede enlazarse directamente como su propio input (por ejemplo `handle`, `animation` o `group`).
autoUpdateArraybooleantrueCon `true` (por defecto) la directiva muta el array enlazado automáticamente tras cada arrastre. Ponlo a `false` para control manual y actualiza tú mismo el array.
cloneFunction(item: T) => TFunción usada para clonar un elemento cuando el grupo está configurado en modo `pull: 'clone'`.
containerstringSelector CSS del elemento anidado que debe volverse ordenable cuando el host envuelve la lista real.
groupOptions['group']Nombre u objeto de configuración del grupo para conectar varias listas y controlar cuáles pueden ceder o recibir elementos.
sortbooleanHabilita o deshabilita el reordenamiento de elementos dentro de la lista.
handlestringSelector CSS del elemento dentro de cada ítem que inicia el arrastre, dejando interactivo el resto.
draggablestringSelector CSS que restringe qué elementos hijos pueden arrastrarse.
filterstring | ((event, target, sortable) => boolean)Selector CSS (o predicado) que marca los elementos que no pueden arrastrarse.
disabledbooleanDeshabilita el comportamiento ordenable sin retirar la directiva.
animationnumberDuración en milisegundos de la animación de reordenamiento.
ghostClassstringClase CSS aplicada al marcador de posición que se muestra durante el arrastre.

Outputs

Reacciona a lo que hace sortable: 13 eventos a los que enganchar tu lógica.

NombreTipoDescripción
initSortableSe emite una vez creada la instancia subyacente de SortableJS.
startSortableEventSe emite cuando comienza una operación de arrastre.
endSortableEventSe emite cuando termina una operación de arrastre, sea cual sea el resultado.
addSortableEventSe emite cuando se suelta un elemento en esta lista procedente de otra.
updateSortableEventSe emite cuando un elemento cambia de posición dentro de la misma lista.
sortEventSortableEventSe emite cada vez que cambia el orden de la lista (tras `add` o `update`).
removeSortableEventSe emite cuando un elemento sale de esta lista hacia otra.
filterEventSortableEventSe emite al intentar arrastrar un elemento filtrado (no arrastrable).
changeSortableEventSe emite cuando la lista cambia por una operación de adición o eliminación.
chooseSortableEventSe emite cuando se elige un elemento (al pulsar el puntero).
unchooseSortableEventSe emite cuando se suelta un elemento sin haberlo arrastrado.
cloneSortableEventSe emite cuando se clona un elemento en modo clonación.
moveSortableMoveEventPayloadSe emite continuamente durante el arrastre; su valor de retorno puede controlar si el movimiento se permite.

Templates

Todavía no hay templates documentados.