123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /*=====
- declare(
- "dijit.tree.model",
- null,
- {
- // summary:
- // Contract for any data provider object for the tree.
- // description:
- // Tree passes in values to the constructor to specify the callbacks.
- // "item" is typically a dojo.data.Item but it's just a black box so
- // it could be anything.
- //
- // This (like `dojo.data.api.Read`) is just documentation, and not meant to be used.
- destroy: function(){
- // summary:
- // Destroys this object, releasing connections to the store
- // tags:
- // extension
- },
- // =======================================================================
- // Methods for traversing hierarchy
- getRoot: function(onItem){
- // summary:
- // Calls onItem with the root item for the tree, possibly a fabricated item.
- // Throws exception on error.
- // tags:
- // extension
- },
- mayHaveChildren: function(item){
- // summary:
- // 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)
- // item: dojo.data.Item
- // tags:
- // extension
- },
- getChildren: function(parentItem, onComplete){
- // summary:
- // Calls onComplete() with array of child items of given parent item, all loaded.
- // Throws exception on error.
- // parentItem: dojo.data.Item
- // onComplete: function(items)
- // tags:
- // extension
- },
- // =======================================================================
- // Inspecting items
- isItem: function(something){
- // summary:
- // Returns true if *something* is an item and came from this model instance.
- // Returns false if *something* is a literal, an item from another model instance,
- // or is any object other than an item.
- // tags:
- // extension
- },
- fetchItemByIdentity: function(keywordArgs){
- // summary:
- // Given the identity of an item, this method returns the item that has
- // that identity through the onItem callback. Conforming implementations
- // should return null if there is no item with the given identity.
- // Implementations of fetchItemByIdentity() may sometimes return an item
- // from a local cache and may sometimes fetch an item from a remote server.
- // tags:
- // extension
- },
- getIdentity: function(item){
- // summary:
- // Returns identity for an item
- // tags:
- // extension
- },
- getLabel: function(item){
- // summary:
- // Get the label for an item
- // tags:
- // extension
- },
- // =======================================================================
- // Write interface
- newItem: function(args, parent, insertIndex){
- // summary:
- // Creates a new item. See `dojo.data.api.Write` for details on args.
- // args: dojo.dnd.Item
- // parent: Item
- // insertIndex: int?
- // tags:
- // extension
- },
- pasteItem: function(childItem, oldParentItem, newParentItem, bCopy){
- // summary:
- // Move or copy an item from one parent item to another.
- // Used in drag & drop.
- // If oldParentItem is specified and bCopy is false, childItem is removed from oldParentItem.
- // If newParentItem is specified, childItem is attached to newParentItem.
- // childItem: Item
- // oldParentItem: Item
- // newParentItem: Item
- // bCopy: Boolean
- // tags:
- // extension
- },
- // =======================================================================
- // Callbacks
- onChange: function(item){
- // summary:
- // Callback whenever an item has changed, so that Tree
- // can update the label, icon, etc. Note that changes
- // to an item's children or parent(s) will trigger an
- // onChildrenChange() so you can ignore those changes here.
- // item: dojo.data.Item
- // tags:
- // callback
- },
- onChildrenChange: function(parent, newChildrenList){
- // summary:
- // Callback to do notifications about new, updated, or deleted items.
- // parent: dojo.data.Item
- // newChildrenList: dojo.data.Item[]
- // tags:
- // callback
- }
- });
- =====*/
|