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
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
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
play auto ???? [ par dingofou ]
Bonjour a tous j'ai pas mal cherche sans trouver, je voudrais savoir comment fait-on pour proteger un fichier audio.mp3.Que l'on puisse seulemnt l'ec
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
UTILISER UN .JSUTILISER UN .JS par zaikoe
Cliquez pour lire la suite par zaikoe
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|