X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775..c8256059947f3aa8f5b0a9a2acf55e2142bb4742:/docs/source/ext-base-dom.html diff --git a/docs/source/ext-base-dom.html b/docs/source/ext-base-dom.html index 857ba636..89b722c1 100644 --- a/docs/source/ext-base-dom.html +++ b/docs/source/ext-base-dom.html @@ -1,167 +1,168 @@ + The source code
/*!
- * Ext JS Library 3.0.3
- * Copyright(c) 2006-2009 Ext JS, LLC
+ * Ext JS Library 3.2.1
+ * Copyright(c) 2006-2010 Ext JS, Inc.
  * licensing@extjs.com
  * http://www.extjs.com/license
  */
-(function(){
-	var doc = document,
-		isCSS1 = doc.compatMode == "CSS1Compat",
-		MAX = Math.max,		
-        ROUND = Math.round,
-		PARSEINT = parseInt;
-		
-	Ext.lib.Dom = {
-	    isAncestor : function(p, c) {
-		    var ret = false;
-			
-			p = Ext.getDom(p);
-			c = Ext.getDom(c);
-			if (p && c) {
-				if (p.contains) {
-					return p.contains(c);
-				} else if (p.compareDocumentPosition) {
-					return !!(p.compareDocumentPosition(c) & 16);
-				} else {
-					while (c = c.parentNode) {
-						ret = c == p || ret;	        			
-					}
-				}	            
-			}	
-			return ret;
-		},
-		
-        getViewWidth : function(full) {
-            return full ? this.getDocumentWidth() : this.getViewportWidth();
-        },
-
-        getViewHeight : function(full) {
-            return full ? this.getDocumentHeight() : this.getViewportHeight();
-        },
-
-        getDocumentHeight: function() {            
-            return MAX(!isCSS1 ? doc.body.scrollHeight : doc.documentElement.scrollHeight, this.getViewportHeight());
-        },
-
-        getDocumentWidth: function() {            
-            return MAX(!isCSS1 ? doc.body.scrollWidth : doc.documentElement.scrollWidth, this.getViewportWidth());
-        },
-
-        getViewportHeight: function(){
-	        return Ext.isIE ? 
-	        	   (Ext.isStrict ? doc.documentElement.clientHeight : doc.body.clientHeight) :
-	        	   self.innerHeight;
-        },
-
-        getViewportWidth : function() {
-	        return !Ext.isStrict && !Ext.isOpera ? doc.body.clientWidth :
-	        	   Ext.isIE ? doc.documentElement.clientWidth : self.innerWidth;
-        },
-        
-        getY : function(el) {
-            return this.getXY(el)[1];
-        },
-
-        getX : function(el) {
-            return this.getXY(el)[0];
-        },
-
-        getXY : function(el) {
-            var p, 
-            	pe, 
-            	b,
-            	bt, 
-            	bl,     
-            	dbd,       	
-            	x = 0,
-            	y = 0, 
-            	scroll,
-            	hasAbsolute, 
-            	bd = (doc.body || doc.documentElement),
-            	ret = [0,0];
-            	
-            el = Ext.getDom(el);
-
-            if(el != bd){
-	            if (el.getBoundingClientRect) {
-	                b = el.getBoundingClientRect();
-	                scroll = fly(document).getScroll();
-	                ret = [ROUND(b.left + scroll.left), ROUND(b.top + scroll.top)];
-	            } else {  
-		            p = el;		
-		            hasAbsolute = fly(el).isStyle("position", "absolute");
-		
-		            while (p) {
-			            pe = fly(p);		
-		                x += p.offsetLeft;
-		                y += p.offsetTop;
-		
-		                hasAbsolute = hasAbsolute || pe.isStyle("position", "absolute");
-		                		
-		                if (Ext.isGecko) {		                    
-		                    y += bt = PARSEINT(pe.getStyle("borderTopWidth"), 10) || 0;
-		                    x += bl = PARSEINT(pe.getStyle("borderLeftWidth"), 10) || 0;	
-		
-		                    if (p != el && !pe.isStyle('overflow','visible')) {
-		                        x += bl;
-		                        y += bt;
-		                    }
-		                }
-		                p = p.offsetParent;
-		            }
-		
-		            if (Ext.isSafari && hasAbsolute) {
-		                x -= bd.offsetLeft;
-		                y -= bd.offsetTop;
-		            }
-		
-		            if (Ext.isGecko && !hasAbsolute) {
-		                dbd = fly(bd);
-		                x += PARSEINT(dbd.getStyle("borderLeftWidth"), 10) || 0;
-		                y += PARSEINT(dbd.getStyle("borderTopWidth"), 10) || 0;
-		            }
-		
-		            p = el.parentNode;
-		            while (p && p != bd) {
-		                if (!Ext.isOpera || (p.tagName != 'TR' && !fly(p).isStyle("display", "inline"))) {
-		                    x -= p.scrollLeft;
-		                    y -= p.scrollTop;
-		                }
-		                p = p.parentNode;
-		            }
-		            ret = [x,y];
-	            }
-         	}
-            return ret
-        },
-
-        setXY : function(el, xy) {
-            (el = Ext.fly(el, '_setXY')).position();
-            
-            var pts = el.translatePoints(xy),
-            	style = el.dom.style,
-            	pos;            	
-            
-            for (pos in pts) {	            
-	            if(!isNaN(pts[pos])) style[pos] = pts[pos] + "px"
-            }
-        },
-
-        setX : function(el, x) {
-            this.setXY(el, [x, false]);
-        },
-
-        setY : function(el, y) {
-            this.setXY(el, [false, y]);
-        }
-    };
-})();
+(function(){ + var doc = document, + isCSS1 = doc.compatMode == "CSS1Compat", + MAX = Math.max, + ROUND = Math.round, + PARSEINT = parseInt; + + Ext.lib.Dom = { + isAncestor : function(p, c) { + var ret = false; + + p = Ext.getDom(p); + c = Ext.getDom(c); + if (p && c) { + if (p.contains) { + return p.contains(c); + } else if (p.compareDocumentPosition) { + return !!(p.compareDocumentPosition(c) & 16); + } else { + while (c = c.parentNode) { + ret = c == p || ret; + } + } + } + return ret; + }, + + getViewWidth : function(full) { + return full ? this.getDocumentWidth() : this.getViewportWidth(); + }, + + getViewHeight : function(full) { + return full ? this.getDocumentHeight() : this.getViewportHeight(); + }, + + getDocumentHeight: function() { + return MAX(!isCSS1 ? doc.body.scrollHeight : doc.documentElement.scrollHeight, this.getViewportHeight()); + }, + + getDocumentWidth: function() { + return MAX(!isCSS1 ? doc.body.scrollWidth : doc.documentElement.scrollWidth, this.getViewportWidth()); + }, + + getViewportHeight: function(){ + return Ext.isIE ? + (Ext.isStrict ? doc.documentElement.clientHeight : doc.body.clientHeight) : + self.innerHeight; + }, + + getViewportWidth : function() { + return !Ext.isStrict && !Ext.isOpera ? doc.body.clientWidth : + Ext.isIE ? doc.documentElement.clientWidth : self.innerWidth; + }, + + getY : function(el) { + return this.getXY(el)[1]; + }, + + getX : function(el) { + return this.getXY(el)[0]; + }, + + getXY : function(el) { + var p, + pe, + b, + bt, + bl, + dbd, + x = 0, + y = 0, + scroll, + hasAbsolute, + bd = (doc.body || doc.documentElement), + ret = [0,0]; + + el = Ext.getDom(el); + + if(el != bd){ + if (el.getBoundingClientRect) { + b = el.getBoundingClientRect(); + scroll = fly(document).getScroll(); + ret = [ROUND(b.left + scroll.left), ROUND(b.top + scroll.top)]; + } else { + p = el; + hasAbsolute = fly(el).isStyle("position", "absolute"); + + while (p) { + pe = fly(p); + x += p.offsetLeft; + y += p.offsetTop; + + hasAbsolute = hasAbsolute || pe.isStyle("position", "absolute"); + + if (Ext.isGecko) { + y += bt = PARSEINT(pe.getStyle("borderTopWidth"), 10) || 0; + x += bl = PARSEINT(pe.getStyle("borderLeftWidth"), 10) || 0; + + if (p != el && !pe.isStyle('overflow','visible')) { + x += bl; + y += bt; + } + } + p = p.offsetParent; + } + + if (Ext.isSafari && hasAbsolute) { + x -= bd.offsetLeft; + y -= bd.offsetTop; + } + + if (Ext.isGecko && !hasAbsolute) { + dbd = fly(bd); + x += PARSEINT(dbd.getStyle("borderLeftWidth"), 10) || 0; + y += PARSEINT(dbd.getStyle("borderTopWidth"), 10) || 0; + } + + p = el.parentNode; + while (p && p != bd) { + if (!Ext.isOpera || (p.tagName != 'TR' && !fly(p).isStyle("display", "inline"))) { + x -= p.scrollLeft; + y -= p.scrollTop; + } + p = p.parentNode; + } + ret = [x,y]; + } + } + return ret + }, + + setXY : function(el, xy) { + (el = Ext.fly(el, '_setXY')).position(); + + var pts = el.translatePoints(xy), + style = el.dom.style, + pos; + + for (pos in pts) { + if(!isNaN(pts[pos])) style[pos] = pts[pos] + "px" + } + }, + + setX : function(el, x) { + this.setXY(el, [x, false]); + }, + + setY : function(el, y) { + this.setXY(el, [false, y]); + } + }; +})(); \ No newline at end of file