Accueil > > > TREEVIEW TAFELTREE
TREEVIEW TAFELTREE
Information sur la source
Description
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/
Source
- <script type="text/javascript">
- // Cette fonction est automatiquement appelée au chargement de la page
- function TafelTreeInit() {
- // L'item dont l'id vaut "specialOpen" n'a pas d'enfants. Au moment de cliquer dessus,
- // c'est le serveur qui donnera les informations concernant les enfants
- var struct = [
- {
- 'id':'root1',
- 'txt':'Element racine',
- 'img':'page.gif', // Image s'il n'a pas d'enfants
- 'imgopen':'folderopen.gif', // Image s'il a des enfants et qu'il est ouvert
- 'imgclose':'folder.gif', // Image s'il a des enfants et qu'il est fermé
- 'items':[
- {
- 'id':'child1',
- 'txt':'Un enfant',
- 'img':'page.gif',
- 'tooltip':'Un petit tooltip sympa',
- },
- {
- 'id':'specialOpen',
- 'txt':'Les enfants sont sur le serveur',
- 'img':'page.gif',
- 'imgopen':'folderopen.gif',
- 'imgclose':'folder.gif',
- 'canhavechildren':true,
- 'onopenpopulate':function(branch, response){ return true;},
- 'openlink':'scripts/open.php'
- }
- ]
- }
- ];
- var tree = new TafelTree('test2', struct, {
- 'generate' : true,
- 'imgBase' : 'tree/imgs/',
- 'width' : '100%',
- 'height' : 'auto',
- 'defaultImg' : 'page.gif',
- 'defaultImgOpen' : 'folderopen.gif',
- 'defaultImgClose' : 'folder.gif'
- });
- }
- </script>
- <div id="test2"></div>
<script type="text/javascript">
// Cette fonction est automatiquement appelée au chargement de la page
function TafelTreeInit() {
// L'item dont l'id vaut "specialOpen" n'a pas d'enfants. Au moment de cliquer dessus,
// c'est le serveur qui donnera les informations concernant les enfants
var struct = [
{
'id':'root1',
'txt':'Element racine',
'img':'page.gif', // Image s'il n'a pas d'enfants
'imgopen':'folderopen.gif', // Image s'il a des enfants et qu'il est ouvert
'imgclose':'folder.gif', // Image s'il a des enfants et qu'il est fermé
'items':[
{
'id':'child1',
'txt':'Un enfant',
'img':'page.gif',
'tooltip':'Un petit tooltip sympa',
},
{
'id':'specialOpen',
'txt':'Les enfants sont sur le serveur',
'img':'page.gif',
'imgopen':'folderopen.gif',
'imgclose':'folder.gif',
'canhavechildren':true,
'onopenpopulate':function(branch, response){ return true;},
'openlink':'scripts/open.php'
}
]
}
];
var tree = new TafelTree('test2', struct, {
'generate' : true,
'imgBase' : 'tree/imgs/',
'width' : '100%',
'height' : 'auto',
'defaultImg' : 'page.gif',
'defaultImgOpen' : 'folderopen.gif',
'defaultImgClose' : 'folder.gif'
});
}
</script>
<div id="test2"></div>
Conclusion
A disposition, il y a de la documentation en français et en anglais. Le site comporte également des exemples et un forum, pour celles et ceusses qui auraient des questions.
L'arbre est compatible IE, firefox (pc, mac, linux), Safari, Opera et Konqueror.
Pour plus de doc, allez voir l'adresse : http://tafel.developpez.com/
Historique
- 21 août 2006 13:43:50 :
- J'ai oublié de spécifier que, bien entendu, l'arbre est compatible IE, firefox (pc, mac, linux), Safari.
- 21 août 2006 13:52:38 :
- Il est compatible Opera, aussi, j'ai oublié de le dire
- 22 août 2006 10:07:43 :
- Précision des sources. Et c'est compatible Konqueror !
- 26 août 2006 17:59:06 :
- Ajout de la fonctionnalité "last" et y'avait un bug avec Toncheck et Tonbeforecheck lors de la création ul-li
- 28 août 2006 14:38:07 :
- Corrections de bugs, ajout de quelques tests unitaires
- 30 août 2006 09:23:20 :
- Ajout de la fonctionnalité " onopenpopulate " et de ses dérivés (setOnOpenPopulate, openlink et canhavechildren)
- 31 août 2006 14:12:19 :
- Ajout des méthodes monTree.serialize() et maBranche.serialize() qui retourne une string JSON parsable ensuite en PHP, par exemple.
Correction d'un bug concernant les icônes des racines
- 01 septembre 2006 14:08:54 :
- Ajout de la fonctionnalité " tooltip ". De plus, j'ai rajouté branch.getText(), getIcon(), getOpenIcon(), getCloseIcon(), getCurrentIcon, setIcons(), setText() et getChildren()
- 01 septembre 2006 17:31:20 :
- Corrections de bugs
- 08 septembre 2006 11:53:52 :
- Ajout de plusieurs fonctions (getLevel(), removeChildren(), changeId(), setOnEditAjax(), etc.)
Corrections de bugs (cookies)
- 25 septembre 2006 11:33:21 :
- On peut maintenant faire des drag&drop "as sibling", ajout de la fonction moveBefore() et gestion du paramètre "option" dans le constructeur
- 23 octobre 2006 13:19:03 :
- Gestion du clavier, copydrag, gestion d'erreurs ajax, corrections de bugs
- 27 novembre 2006 10:23:32 :
- Mise à jour du site, documentation en anglais, corrections de bug.
http://tafel.developpez.com/
- 11 décembre 2006 10:34:09 :
- RTL mode, onmousedown et up, images transparentes
- 03 janvier 2007 09:40:30 :
- fonctions getParent(), getParents(), getAncestor(), isVisible() et corrections de bugs
- 20 janvier 2007 01:01:36 :
- Corrections de bug, désactivation de checkboxes, switchWith() et replace(), modif de clone(), optimisation de getBranchById()
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Menu "tree" sans frame (tres important: menu reste ouvert et highkighté ou en gras apres avoir cliqué sur un lien) [ par simriv123 ]
Bonjour, le titre est asser long, mais il dit ce qu'il dit.j'ai cherché un peu sur le site mais je n'ai pas trouvé ce que je cherchais.Ce que je désir
Ajax et Send [ par syndrael ]
Bonjour, J'ai un souci avec Ajax et IE. Mon code fonctionne très bien sous Firefox. Voila le problème: J'ai un menu déroulant qui fait
tree menu listant le contenu d'un dossier [ par tony27 ]
Hello ! Est-il possible de creer une arborescence d'un dossier qui se trouvent sur un hdd, mais de pouvoir l'inclure dans une page html donc pour un
ExtJs et menu contextuel [ par Carboo ]
Bonjour,Voila j'aimerai créer un menu contextuel avec le frameworks Extjs que je souhaite integrer a un Tree (source du tree : http://extjs.com/deploy
menu horizontal/vertical sous ajax/php/mysql [ par thibill ]
Salut à tous et toutes, Est-ce qu'il y a qq'un qui a déjà fabriqué un menu horizontal 3 niveaux permettant de tirer les données du menu directement d
Ajax, un défit entre javascript et php ? [ par abcdiscussion ]
Bonjour, j'ai un petit soucis, puisque je n'arrive pas à créer une partie de mon formulaire, sûrement toute bête en AJAX, je m'explique : Le but de ce
Menu Déroulant Ajax [ par Catalarem ]
Alors ben tout d'abord un grand merci à cette fabuleuse communauté qui je le sens (depuis que je me suis enfin convaincu moi même que le bon vieux HTM
Execution d'un JS appelé par AJAX [ par soularix ]
Bonjour, Je suis débutant (plutôt amateur) et je n'arrive pas [^^sad1] exécuter un JS appelé par un AJAX. Voici un exemple simplifié de ce que je veu
javascript et ajax [ par wilto ]
Bonjour à tous, Voilà j'ai un problème: sur mon site j'utilise l'ajax pour l'affichage des pages seulement dans une des pages j'aimerai y insérer un
recherche correction des effets .hover() indésirable dû à la fenêtre d'affichage [ par dY00Yb ]
Bonjour, Je me doute que ce problème a dû se rencontrer nombre de fois, et qu'il existe une solution. Malheureusement mes recherches Google ont été i
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|