109 lines
3.1 KiB
JavaScript
109 lines
3.1 KiB
JavaScript
|
|
||
|
dojo.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(/*dojo.data.Item*/ 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)
|
||
|
// tags:
|
||
|
// extension
|
||
|
},
|
||
|
|
||
|
getChildren: function(/*dojo.data.Item*/ parentItem, /*function(items)*/ onComplete){
|
||
|
// summary:
|
||
|
// Calls onComplete() with array of child items of given parent item, all loaded.
|
||
|
// Throws exception on error.
|
||
|
// tags:
|
||
|
// extension
|
||
|
},
|
||
|
|
||
|
// =======================================================================
|
||
|
// Inspecting items
|
||
|
|
||
|
getIdentity: function(/* item */ item){
|
||
|
// summary:
|
||
|
// Returns identity for an item
|
||
|
// tags:
|
||
|
// extension
|
||
|
},
|
||
|
|
||
|
getLabel: function(/*dojo.data.Item*/ item){
|
||
|
// summary:
|
||
|
// Get the label for an item
|
||
|
// tags:
|
||
|
// extension
|
||
|
},
|
||
|
|
||
|
// =======================================================================
|
||
|
// Write interface
|
||
|
|
||
|
newItem: function(/* Object? */ args, /*Item?*/ parent){
|
||
|
// summary:
|
||
|
// Creates a new item. See `dojo.data.api.Write` for details on args.
|
||
|
// tags:
|
||
|
// extension
|
||
|
},
|
||
|
|
||
|
pasteItem: function(/*Item*/ childItem, /*Item*/ oldParentItem, /*Item*/ newParentItem, /*Boolean*/ 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.
|
||
|
// tags:
|
||
|
// extension
|
||
|
},
|
||
|
|
||
|
// =======================================================================
|
||
|
// Callbacks
|
||
|
|
||
|
onChange: function(/*dojo.data.Item*/ 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.
|
||
|
// tags:
|
||
|
// callback
|
||
|
},
|
||
|
|
||
|
onChildrenChange: function(/*dojo.data.Item*/ parent, /*dojo.data.Item[]*/ newChildrenList){
|
||
|
// summary:
|
||
|
// Callback to do notifications about new, updated, or deleted items.
|
||
|
// tags:
|
||
|
// callback
|
||
|
}
|
||
|
});
|
||
|
|