Ok donc, j'ai ce site que je suis en train de mettre dans le cadre de jeu. Il se connecte essentiellement à un site FTP sur le backend, récupère une liste de dossiers/fichiers et l'envoie à un front end ExtJS de base comme JSON.TreeLoader: Ne pas déclencher une requête ajax pour les nœuds enfants?
Je l'ai fait fonctionner de sorte que le panneau d'arborescence soit rempli correctement, mais il ne semble pas faire quelque chose de spécial quand je développe un nœud non-feuille. Basé sur ce que j'ai lu, il devrait utiliser l'URL de données, et passer un paramètre de nœud avec l'ID du nœud à cette URL de données pour obtenir les données pour les nœuds enfants, mais dans firebug je ne sais pas voir les demandes envoyées pour ces données.
Que dois-je faire pour permettre aux appels ajax de se déclencher afin que les nœuds qui ont des enfants les obtiennent dynamiquement lorsque le nœud est développé?
Voici le code correspondant pour référence:
Ext.onReady(function() {
new Ext.Viewport({
layout: 'border',
defaults: {
height: 100,
width: 250,
collapseMode: 'mini'
},
items : [
{
region: 'center',
margins: '5 5 0 0',
contentEl: 'center-content'
},
{
id: 'file-tree',
region: 'west',
title: 'Files',
split: true,
collapsible: true,
xtype: 'treepanel',
autoScroll: true,
loader: new Ext.tree.TreeLoader({
dataUrl: 'http://localhost:9000/application/listFiles',
}),
root: new Ext.tree.AsyncTreeNode({
expand: true,
text: "/",
id: "/"
}),
rootVisibile: true,
listeners: {
click: function(n) {
Ext.Msg.alert('File Tree Click', 'You clicked: ' + n.attributes.id);
}
}
}
]
});
});
L'ID retourné dans le JSON est le chemin complet vers sous-répertoire je voudrais développer, et l'action listfiles prendra ce paramètre et retourner le approprié des dossiers.
Comme demandé, voici un extrait de la sortie JSON:
[
{
id: "/./",
text: "./",
leaf: false,
children: [ ]
},
{
id: "/../",
text: "../",
leaf: false,
children: [ ]
},
{
id: "/.ftpquota",
text: ".ftpquota",
leaf: true,
children: [ ]
},
{
id: "/.htaccess",
text: ".htaccess",
leaf: true,
children: [ ]
},
{
id: "/022610.html",
text: "022610.html",
leaf: true,
children: [ ]
},
{
id: "/Gail/",
text: "Gail/",
leaf: false,
children: [ ]
}
]
Ce dernier élément est un exemple du dossier que je suis à la recherche charger dynamiquement les enfants à.
ok je vais essayer, voir si je peux le faire fonctionner. Merci pour votre réponse. –
Je pense que je vais aller dans une direction légèrement différente, mais comme vous avez fourni la meilleure réponse pour ce que j'essayais d'accomplir, je vais vous donner la prime. –