dijit.Treeが変わってしまった

久々に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系に合わせライブラリ作り直し・・・

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です