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
MENU VERTICALE GAUCHE ET DROIT DEROULANTMENU VERTICALE GAUCHE ET DROIT DEROULANTc'est repris d'une de mes source (menu glissant) sauf que au lieu de deplacer un element dans le document c'est un div en overflow hidden qui s'agrand...
par kazma
MENU VERTICALE EN TRANSPARENCEMENU VERTICALE EN TRANSPARENCECe menu est complètement modifiable, les fenêtres de sous menus étant composées de plusieur images, vous pouvez modifier la taille des sous menus en...
par dlvains
MENU DÉROULANT EN IMAGESMENU DÉROULANT EN IMAGES un menu simple a modifier, il vous suffit de changer le texte sur le PSD et d'enregistrer au format PNG.
si vous modifiez la largeur des images, pe...
par dlvains
TBFRAME: TAB BROWSING FRAMETBFRAME: TAB BROWSING FRAME Cela fait un moment que j'avais eu l'idée de mettre en ligne ce script, mais je n'avais jamais eu le temps de mettre un coup de propre dans le code ai...
par triumphs
MENU PRINCIPALMENU PRINCIPALBonjour, dans ce petit source, j'ai met une belle menu avec php,javascript, css, pour me contactet , ABOUSSEBABA ALI <contact@aliwebmaster.com>, à vou...
par ali1987
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
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
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
Interaction avec le serveur : AJAX + PHP [ par kate1910 ]
bonjour , est ce que quelqu'un pourra me dire c'est koi l'erreur dans mon code : [code=js]function ajax() { var xhr=null; if (window.XMLH
problem ds ma fonction ajax [ par kate1910 ]
bonjour tout le monde svp est ce que quelqu'un peut me dire c'est quoi le probleme dans ma fonction ajax,normalement cette derniére va permettre a de
création d'un bouton de menu [ par hanen8989 ]
bonjours, je veux créer un bouton dans le menu de mon site personnel et lorsque l'utilisateur clique sur ce bouton il s'affiche un sous menu ( c.a.d
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|