2016-12-09 5 views
5

J'utilise le plugin Jstree pour dessiner un arbre de dossiers et de fichiers. Je veux obtenir la liste des dossiers en haut puis la liste des fichiers (la liste des dossiers et des fichiers doit être triée par ordre alphabétique).JsTree: Comment trier les nœuds jstree avec des dossiers en haut

Il est ma fonction de initilization de l'arbre:

$('#jstree_demo_div').jstree({ 
    'core' : { 
     'data' : [ 

      {"id":"index_0","text":"test_folder","parent":"#","icon":""}, 
      {"id":"index_1","text":"vide","parent":"index_0","icon":""}, 
      {"id":"index_2","text":"05nesf-sdfdgd.mp4","parent":"index_1","icon":"fa fa-film"}, 
      {"id":"index_3","text":"naissance-d-une-fleur-ouwzp9me-41.mp4","parent":"index_0","icon":"fa fa-film"}, 
      {"id":"index_4","text":"za05nesfsdfsdg.mp4","parent":"index_0","icon":"fa fa-film"}, 
      {"id":"index_5","text":"ddd","parent":"#","icon":""}, 
      {"id":"index_6","text":"05nes-ibw6q9me-41.mp4","parent":"index_5","icon":"fa fa-film"}, 
      {"id":"index_7","text":"tom-jerry-soundscape-ttar8gme-41.mp4","parent":"#","icon":"fa fa-film"}, 
      {"id":"index_8","text":"aaes-qmc8q-9me-41.mp4","parent":"#","icon":"fa fa-film"}, 
      {"id":"index_9","text":"bb05nes.mp4","parent":"#","icon":"fa fa-film"} 
     ] 
    }, 
    'plugins' : ['sort','types'], 
    'sort' : function(a, b) { 
     //What is the function of sorting 
    }, 
}); 

le résultat de mon initialisation: Tree

Quelle est la fonction de tri-je utiliser?

Répondre

6

Vous pouvez trier par icône et après par le texte:

'sort' : function(a, b) { 
     a1 = this.get_node(a); 
     b1 = this.get_node(b); 
     if (a1.icon == b1.icon){ 
      return (a1.text > b1.text) ? 1 : -1; 
     } else { 
      return (a1.icon > b1.icon) ? 1 : -1; 
     } 

Voici une jsfiddle