# j-Movable

> El componente maneja elementos arrastrables similares y admite el movimiento entre sí. Cada elemento según el selector debe tener definido el atributo draggable='true'.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: es
Content-SHA256: 5d2e8971fcfe5b4c305f4e9cdd9ea102c5db83c2d6c78c3c711c4be19867a1e3
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

El componente maneja elementos `draggable` similares y admite el movimiento entre sí. Cada elemento según el selector debe tener definido el atributo `draggable="true"`.


__Configuración__:

- `selector {String}` selector jQuery para mirar
- `exec {String}` Una ruta al método que se ejecutará si el usuario mueve el elemento
- Los eventos de arrastrar y soltar `global {Boolean}` se vincularán a `document` (predeterminado: `false`)
- `parent {String}` selector para encontrar el elemento donde se vincularán los envets de arrastrar y soltar (predeterminado: elemento actual)
- `move {Boolean}` habilita el reordenamiento automático de elementos (predeterminado: `true`)
- `container {String}` el selector para encontrar el contenedor principal
- __NEW__ `check {Function(el)}` opcional, una función para comprobar la capacidad de arrastre (debe devolver `true` o `false`)

__Ejemplo de método `Exec`__:

```javascript
function exec_method(list, dragged, target) {
	// @list jQuery list
}
```

__Es bueno saberlo__:

- `path` realiza `CHANGE()`

Úselo con `<ui-component name="movable">`. Cuando el componente aún no está cargado, jComponent lo descarga en el primer uso desde la dirección en `DEF.fallback` (la CDN Componentator de forma predeterminada). Autor: Peter Širka. Fuente: repositorio de componentes Componentator, licencia MIT.

```html example.html
<ui-component name="movable" config="selector:.dragme;exec:moved">
	<div class="dragme" draggable="true" style="width:50px;line-height:50px;background-color:#F0F0F0;text-align:center;position:relative;display:inline-block;margin:10px">A</div>
	<div class="dragme" draggable="true" style="width:50px;line-height:50px;background-color:#E0E0E0;text-align:center;position:relative;display:inline-block;margin:10px">B</div>
	<div class="dragme" draggable="true" style="width:50px;line-height:50px;background-color:#D0D0D0;text-align:center;position:relative;display:inline-block;margin:10px">C</div>
	<div class="dragme" draggable="true" style="width:50px;line-height:50px;background-color:#C0C0C0;text-align:center;position:relative;display:inline-block;margin:10px">D</div>
	<div class="dragme" draggable="true" style="width:50px;line-height:50px;background-color:#B0B0B0;text-align:center;position:relative;display:inline-block;margin:10px">E</div>
	<div class="dragme" draggable="true" style="width:50px;line-height:50px;background-color:#A0A0A0;text-align:center;position:relative;display:inline-block;margin:10px">F</div>
</ui-component>

<script>
	function moved(list) {
		console.log(list);
	}
</script>
```
