Jstreeを使用してツリー構造を表現したい。サーバーが jstree 準拠の形式でデータを返さないという問題に直面しています。これは通常の Json です。
私が実装した 1 つの解決策は、json_data.ajax.success
コールバックを使用してデータを変更し、必要な形式にすることです。ただし、この関数はコンテキスト情報を取得しません。そのため、どのノードがロードされているかがわからず、受信したデータをどのように変換する必要があるかもわかりません。
ノード間で異なる動作を可能にするtypes
プラグインがあることを確認しました。たとえば、対応するアイコンを表示します。このプラグインを使用して、ノード タイプごとに異なる ajax-success-handlers を追加することはできますか? そうでない場合、他にどのような解決策がありますか?
$("#tree").jstree({
"plugins": ["json_data", "themes", "types"],
"json_data": {
"ajax": {
"url": function (n) { // want to make this type-dependent.
if (n === -1) {
return "...";
} else if ( ... ) {
return "...";
}
},
"success": function (data) { // want to make this type-dependent
var result = [];
$.each(data, function (index, value) {
"data": "......",
"attr": {
"id": ".................",
"rel": "..............."
}
});
return result;
}
}
}
}