1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- define("dijit/_Contained", [
- "dojo/_base/declare", // declare
- "./registry" // registry.getEnclosingWidget(), registry.byNode()
- ], function(declare, registry){
- // module:
- // dijit/_Contained
- // summary:
- // Mixin for widgets that are children of a container widget
- return declare("dijit._Contained", null, {
- // summary:
- // Mixin for widgets that are children of a container widget
- //
- // example:
- // | // make a basic custom widget that knows about it's parents
- // | declare("my.customClass",[dijit._Widget,dijit._Contained],{});
- _getSibling: function(/*String*/ which){
- // summary:
- // Returns next or previous sibling
- // which:
- // Either "next" or "previous"
- // tags:
- // private
- var node = this.domNode;
- do{
- node = node[which+"Sibling"];
- }while(node && node.nodeType != 1);
- return node && registry.byNode(node); // dijit._Widget
- },
- getPreviousSibling: function(){
- // summary:
- // Returns null if this is the first child of the parent,
- // otherwise returns the next element sibling to the "left".
- return this._getSibling("previous"); // dijit._Widget
- },
- getNextSibling: function(){
- // summary:
- // Returns null if this is the last child of the parent,
- // otherwise returns the next element sibling to the "right".
- return this._getSibling("next"); // dijit._Widget
- },
- getIndexInParent: function(){
- // summary:
- // Returns the index of this widget within its container parent.
- // It returns -1 if the parent does not exist, or if the parent
- // is not a dijit._Container
- var p = this.getParent();
- if(!p || !p.getIndexOfChild){
- return -1; // int
- }
- return p.getIndexOfChild(this); // int
- }
- });
- });
|