summaryrefslogtreecommitdiff
path: root/lib/dijit/_Contained.js.uncompressed.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dijit/_Contained.js.uncompressed.js')
-rw-r--r--lib/dijit/_Contained.js.uncompressed.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/dijit/_Contained.js.uncompressed.js b/lib/dijit/_Contained.js.uncompressed.js
new file mode 100644
index 000000000..280a368db
--- /dev/null
+++ b/lib/dijit/_Contained.js.uncompressed.js
@@ -0,0 +1,60 @@
+define("dijit/_Contained", [
+ "dojo/_base/declare", // declare
+ "./registry" // registry.getEnclosingWidget(), registry.byNode()
+], function(declare, registry){
+
+ // module:
+ // dijit/_Contained
+
+ 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/_WidgetBase
+ },
+
+ 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/_WidgetBase
+ },
+
+ 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/_WidgetBase
+ },
+
+ 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
+ }
+ });
+});