Usted tiene una estructura definida para su TreeMap, básicamente, tiene todos los nodos con claves id
, name
, data
y children
. Por lo que leo en los documentos, no hay restricciones en otras teclas. De modo que puede agregar claves adicionales dentro del atributo data
.
Por ejemplo, su respuesta JSON podría ser así:
{
"data": {
"myCustomData": { /* your data here */ }
},
"id": "root",
"name": "Top Albums",
"children": [
{
"data": {
"playcount": 547,
"$area": 547,
"myCustomData": { /* your data here */ }
},
"id": "artist_A Perfect Circle",
"name": "A Perfect Circle"
}
]
}
Cuando se desea utilizar sus datos extra que hace esto:
...
onClick: function(node) {
...
if(node.data.myCustomData){
/*** you have data, do something here ***/
}
}
Aquí tienes un LIVE EXAMPLE con una alerta cuando haces clic en los nodos con myCustomData
. Pase el mouse sobre la casilla "Hacerse usted mismo" en la esquina superior izquierda para ver los datos personalizados en la información sobre herramientas y una alerta con los datos personalizados al hacer clic.
Busque el código de "mycustomdata" para ver cómo se hace.
¿En qué parte del código realiza las devoluciones de llamada? De mano, veo un par de controladores de eventos, pero no veo llamadas ajax en lo que publicaste. –