Après moult recherches sur le web, je n'ai pas trouvé de treeview opensource et gratuit pouvant faire tout ce dont j'avais envie. J'ai donc développé ce petit arbre bien sympa, avec une bonne grosse poignée d'options diverses et variées, comme le drag&drop, les checkbox, les événements, etc.
Il est basé sur la librairie de Script Aculous (http://script.aculo.us). C'est une superbe librairie JS avec moults effets, drag&drop et j'en passe.
Voici une petite liste non-exhaustive des possibilités (pour tout voir, il vaut mieux aller sur le site : http://tafel.developpez.com/
- gestion complète du clavier (ctrl+x et compagnie, navigation, etc)
- RTL mode (affichage de droite à gauche)
- création de l'arbre avec JSON ou avec des simples UL - LI
- plusieurs arbres sur la même page
- drag&drop (dans l'arbre ou entre plusieurs arbres)
- checkboxes (à 2 ou 3 états)
- édition du texte
- ouverture d'une seule branche à la fois
- possibilité de mettre ses propres paramètres pour les branches
- gestion des événements (onclick, ondblclick, onmouseover, onmouseout, onload, onedit, et j'en passe)
- drag&drop ajax (voir la doc pour plus d'info)
- copy-drag
- insertion de branches où on veut dans l'arbre avec insertBefore(), insertAfter(), insertIntoFirst() et insertIntoLast()
- multi-ligne
- branche "HTMLisable" à souhait
- et encore bien d'autres choses
Pour voir toute la doc, allez faire un tour sur le site :
http://tafel.developpez.com/