j-Tree
Configuration :
first {Boolean}sélectionne le premier élément d'arbre, par défaut:true(optionnel)exec {String}required: lien vers une fonction, cette fonction est exécutée lorsque le node est sélectionné dans l'arbreautoreset {Boolean}remet l'état lorsque la source de données est modifiée (optionnelle, par défaut:false)selected {String}classe sélectionnée (optionnelle, défaut :selected)checked {String}Optionnel, un chemin àfunction(arr, component)ou le chemin àpropertycheckednested {Boolean}optionnel, vérifie tous les éléments nés (défaut:true)upload {String}optionnel, un chemin versfunction(item, files)(autorise les fichiers de drag & drop)dragdrop {String}optionnel, un chemin versfunction(item, target_item, itemel, targetel)(autorise les éléments de tir et de jeter)options {String}optionnel, un chemin versfunction(item, el)permet un petit bouton pour un menu de contexte en ligne pour chaque élémentrename {String}en option, un chemin versfunction(item, newname, fn_accept(true))unselectexpand {Boolean}optionnel, peutunselectélément sélectionné lorsque l'utilisateur clique sur l'élément élargi (defaut:false)reselect {Boolean}optionnel, évalue encoreexecsi l'arbre est rafraîchit (defaut:false)selectexpand {Boolean}facultatif, permettant l'ajout de la classeselectedaux éléments expansibles (défaut:false)- Icône
iconoptions {String}à options (defaut :ti ti-ellipsis-h) expanded {Boolean}élargit tous les enfants (defaut:false)- NEW:
contextmenu {String}facultatif, un chemin versfunction(item, el)permet le menu de contexte de la souris - NEW:
key {String}une valeur peut être utilisée commeindexdans les méthodes ci-dessous (defaut:path)
Structure des données:
- Objectif Array
- L'objet doit contenir
name:Stringetchildren:[another similar object]ouchildren:null(sans enfants) - L'objet peut contenir
..., icon: 'home' }, il peut changer une icône de fichier - L'élément d'objet peut contenir
..., classname: 'css_custom_class' }, il ajoute une classe CSS à l'élémen "label" - L’objet peut contenir
..., html: 'RAW_HTML'{String} rend les tags HTML au lieu denamechamps
Méthodes :
component.expand([index])- élargit les nœudsindexouall(avec pas deindex)component.collapse([index])- collapse des nœudsindexouall(avec pas deindex)component.clear()- nettoie un cache pour rafraîchir la sourcecomponent.select(index)- Sélectionnez le nodecomponent.unselect()- Node non sélectionnéecomponent.rename(index)- afficheinputpour la renommée de nom (il fonctionne avecconfig.rename)
Bon à savoir :
Setter étend automatiquement chaque objet en ajoutant une propriété .$pointer avec un index d'arbre.
Utilisez-le avec <ui-component name="tree">. 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.
<style>
.ui-tree { border: 1px solid #E0E0E0; }
.ui-dark .ui-tree { border: 1px solid #404040; }
</style>
<div class="container">
<div class="col-md-6">
<div>Open Web Developer Console</div>
<br />
<ui-component name="tree" path="nodes" config="exec:fn_selected;checked:fn_checked"></ui-component>
</div>
</div>
<script>
var nodes = [];
nodes.push({ name: 'Item 1', children: null });
nodes.push({ name: 'Item 2', children: null });
nodes.push({ name: 'Item 3', children: [{ name: 'SubItem 3 / 1', children: [{ name: 'SubItem 3 / 1 / 1', children: null }]}]});
nodes.push({ name: 'Item 4', children: null });
nodes.push({ name: 'Item 5', children: [{ name: 'Subitem 5 / 1', children: null }, { name: 'Subitem 5 / 2', children: [{ name: 'Subitem 5 / 2 / 1', children: [{ name: 'Subitem 5 / 2 / 1 / 1', children: null }]}] }, { name: 'Subitem 5 / 3', children: null }]});
function fn_selected(node, isGroup, expanded) {
console.log('SELECTED NODE:', node, isGroup, expanded);
}
function fn_checked(checked) {
console.log('CHECKED', checked);
}
</script>