# j-Kanban

> Important : chaque élément a besoin de son propre ID {String}, regardez l'exemple.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: fr
Content-SHA256: 251395eb73339b0073bb683b9257b0e8eb1cd1162447be097e8be9dd40f415b3
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

__Configuration__ :

- `parent {String}` un conteneur à hauteur fixe, peut être `window`. Valeur par défaut : élément `parent`.
- `margin {Number}` une marge supérieure/inférieure ensemble (par défaut : `0`)
- `padding {Number}` un rembourrage entre les panneaux (par défaut : `10`)
- `style {Number}` un style, `1` (par défaut) : les boîtes auront une pleine hauteur, les boîtes `2` auront `max-height `
- `move {String}` un chemin vers la méthode `function(group, target)`, est exécuté si l'utilisateur déplace un élément vers un autre groupe
- `remove {String}` un chemin vers la méthode `function(group)`, est exécuté si l'utilisateur supprime un élément du groupe
- `dblclick {String}` un chemin vers la méthode `function(group)`, est exécuté si l'utilisateur effectue un double clic

__Méthodes__ :

- `component.remove(id)` peut supprimer un élément du groupe
- `component.findgroup(id)` renvoie une instance de groupe

__Important__ : chaque élément a besoin de son propre ID {String}, regardez l'exemple.

Utilisez-le avec `<ui-component name="kanban">`. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans `DEF.fallback` (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.

```html example.html
<style>
	.caption { line-height: 50px; border-bottom: 1px solid #E0E0E0; padding: 0 10px; font-weight: bold; }
	.ui-dark .caption { border-bottom-color: #404040; }
</style>

<ui-component name="kanban" path="items" config="parent:window;move:onmoveitem;margin:50">

	<!-- Group header rendering -->
	<script type="text/html">
		<div class="caption">{{ name }}</div>
	</script>

	<!-- Item rendering -->
	<script type="text/html">
		<div>{{ name }}</div>
	</script>
</ui-component>

<script>

	var items = [];
	items.push({ id: '1', name: 'In progress', items: [{ id: '11', name: 'Better life Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea culpa voluptatem asperiores aspernatur doloremque cupiditate error, qui sit est quas.' }] });
	items.push({ id: '2', name: 'Pending', items: [{ id: '21', name: 'Improve j-ChunkyScroll' }] });
	items.push({ id: '3', name: 'Done', items: [{ id: '31', name: 'Fix scrollbars j-DataGrid' }, { id: '32', name: 'Improve performace' }] });

	function onmoveitem(group, target) {
		console.log('MOVEMENT:', group, target);
	}

</script>
```
