dijit.Treeが変わってしまった
2009 年 6 月 5 日
久々にdijit.Treeを使ってみたら、FireBug上にエラーが・・・
dijit.Treeにdojo.data.ItemFileWriteStoreなどStoreを直結するのは古いらしい。
Modelというアダプタ?を使って、StoreとTreeを接続するのだそうだ。
Modelを調べてみると、dijit.tree.TreeStoreModelとdijit.tree.ForestStoreModelの2種類見つかりました。
TreeStoreModelはルートが1つだけ定義されているStoreに接続するのに対して、
ForestStoreModelはルートが複数あっても良いらしいです。
しかも、dojo1.1系からはStore用のデータがネストノードのものは推奨されないとも記述がありました。
ネストノードの場合、子ノードはユニークになってしまうので、
例えばファイルシステムのエイリアスをStoreで表現できません。
新しい方法では、子ノードの記述にリファレンスIDで指定できるため、ネストノードが要らなくなります。
スマートではありますが、通信用のXMLやJsonデータ自体の可読性は下がります。
将来性を考えると、dojo1.1系に合わせライブラリ作り直し・・・