a:26:{s:9:"#provides";s:25:"dijit.tree.TreeStoreModel";s:9:"#resource";s:22:"tree/TreeStoreModel.js";s:25:"dijit.tree.TreeStoreModel";a:7:{s:4:"type";s:8:"Function";s:7:"summary";s:46:"Passed the arguments listed above (store, etc)";s:8:"examples";a:1:{i:0;s:14:" {id:'ROOT'}";}s:10:"parameters";a:1:{s:4:"args";a:1:{s:4:"type";s:6:"Object";}}s:6:"source";s:579:" dojo.mixin(this, args); this.connects = []; var store = this.store; if(!store.getFeatures()['dojo.data.api.Identity']){ throw new Error("dijit.Tree: store must support dojo.data.Identity"); } // if the store supports Notification, subscribe to the notification events if(store.getFeatures()['dojo.data.api.Notification']){ this.connects = this.connects.concat([ dojo.connect(store, "onNew", this, "_onNewItem"), dojo.connect(store, "onDelete", this, "_onDeleteItem"), dojo.connect(store, "onSet", this, "_onSetItem") ]); }";s:4:"tags";s:7:"private";s:9:"classlike";b:1;}s:31:"dijit.tree.TreeStoreModel.store";a:3:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:15:"dojo.data.Store";s:7:"summary";s:16:"Underlying store";}s:39:"dijit.tree.TreeStoreModel.childrenAttrs";a:3:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:7:"String[";s:7:"summary";s:96:"One or more attribute names (attributes in the dojo.data item) that specify that item's children";}s:35:"dijit.tree.TreeStoreModel.labelAttr";a:3:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:6:"String";s:7:"summary";s:98:"If specified, get label for tree node from this attribute, rather than by calling store.getLabel()";}s:30:"dijit.tree.TreeStoreModel.root";a:5:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:8:"instance";s:25:"dijit.tree.TreeStoreModel";s:4:"tags";a:1:{i:0;s:8:"readonly";}s:4:"type";s:14:"dojo.data.Item";s:7:"summary";s:53:"Pointer to the root item (read only, not a parameter)";}s:31:"dijit.tree.TreeStoreModel.query";a:3:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:8:"anything";s:7:"summary";s:148:"Specifies datastore query to return the root item for the tree. Must only return a single item. Alternately can just pass in pointer to root item.";}s:33:"dijit.tree.TreeStoreModel.destroy";a:4:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:8:"Function";s:6:"source";s:129:" dojo.forEach(this.connects, dojo.disconnect); // TODO: should cancel any in-progress processing of getRoot(), getChildren()";s:7:"summary";s:0:"";}s:33:"dijit.tree.TreeStoreModel.getRoot";a:5:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:6:"onItem";a:1:{s:4:"type";s:0:"";}s:7:"onError";a:1:{s:4:"type";s:0:"";}}s:6:"source";s:449:" if(this.root){ onItem(this.root); }else{ this.store.fetch({ query: this.query, onComplete: dojo.hitch(this, function(items){ if(items.length != 1){ throw new Error(this.declaredClass + ": query " + dojo.toJson(this.query) + " returned " + items.length + " items, but must return exactly one item"); } this.root = items[0]; onItem(this.root); }), onError: onError }); }";s:7:"summary";s:97:"Calls onItem with the root item for the tree, possibly a fabricated item. Calls onError on error.";}s:41:"dijit.tree.TreeStoreModel.mayHaveChildren";a:5:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:4:"item";a:1:{s:4:"type";s:14:"dojo.data.Item";}}s:6:"source";s:116:" return dojo.some(this.childrenAttrs, function(attr){ return this.store.hasAttribute(item, attr); }, this);";s:7:"summary";s:264:"Tells if an item has or may have children. Implementing logic here avoids showing +/- expando icon for nodes that we know don't have children. (For efficiency reasons we may not want to check if an element actually has children until user clicks the expando node)";}s:37:"dijit.tree.TreeStoreModel.getChildren";a:5:{s:9:"prototype";s:25:"dijit.tree.TreeStoreModel";s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:10:"parentItem";a:1:{s:4:"type";s:14:"dojo.data.Item";}s:10:"onComplete";a:1:{s:4:"type";s:15:"function(items)";}s:7:"onError";a:1:{s:4:"type";s:8:"function";}}s:6:"source";s:961:" var store = this.store; // get children of specified item var childItems = []; for (var i=0; i