roojs-core.js
[roojs1] / roojs-core-debug.js
index 0f9b749..31029d7 100644 (file)
@@ -53,14 +53,17 @@ Roo.apply = function(o, c, defaults){
     var isStrict = document.compatMode == "CSS1Compat",
         isOpera = ua.indexOf("opera") > -1,
         isSafari = (/webkit|khtml/).test(ua),
+        isFirefox = ua.indexOf("firefox") > -1,
         isIE = ua.indexOf("msie") > -1,
         isIE7 = ua.indexOf("msie 7") > -1,
+        isIE11 = /trident.*rv\:11\./.test(ua),
         isGecko = !isSafari && ua.indexOf("gecko") > -1,
         isBorderBox = isIE && !isStrict,
         isWindows = (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1),
         isMac = (ua.indexOf("macintosh") != -1 || ua.indexOf("mac os x") != -1),
         isLinux = (ua.indexOf("linux") != -1),
         isSecure = window.location.href.toLowerCase().indexOf("https") === 0,
+        isIOS = /iphone|ipad/.test(ua),
         isTouch =  (function() {
             try {  
                 document.createEvent("TouchEvent");  
@@ -610,10 +613,14 @@ Roo.factory(conf, Roo.data);
         /** @type Boolean */
         isSafari : isSafari,
         /** @type Boolean */
+        isFirefox : isFirefox,
+        /** @type Boolean */
         isIE : isIE,
         /** @type Boolean */
         isIE7 : isIE7,
         /** @type Boolean */
+        isIE11 : isIE11,
+        /** @type Boolean */
         isGecko : isGecko,
         /** @type Boolean */
         isBorderBox : isBorderBox,
@@ -624,6 +631,8 @@ Roo.factory(conf, Roo.data);
         /** @type Boolean */
         isMac : isMac,
         /** @type Boolean */
+        isIOS : isIOS,
+        /** @type Boolean */
         isTouch : isTouch,
 
         /**
@@ -4230,8 +4239,10 @@ Roo.DomHelper = function(){
             if(attr=="cls" && Roo.isIE){
                 el.className = o["cls"];
             }else{
-                if(useSet) el.setAttribute(attr=="cls" ? 'class' : attr, o[attr]);
-                else el[attr] = o[attr];
+                if(useSet) { el.setAttribute(attr=="cls" ? 'class' : attr, o[attr]);}
+                else { 
+                    el[attr] = o[attr];
+                }
             }
         }
         Roo.DomHelper.applyStyles(el, o.style);
@@ -6570,6 +6581,9 @@ Roo.onReady(function(){
     if(Roo.isLinux){
         cls.push("roo-linux");
     }
+    if(Roo.isIOS){
+        cls.push("roo-ios");
+    }
     if(Roo.isBorderBox){
         cls.push('roo-border-box');
     }
@@ -7031,6 +7045,8 @@ if(opt.anim.isAnimated()){
          * @type String
          */
         defaultUnit : "px",
+        
+        pxReg : /^\d+(?:\.\d*)?px$/i,
         /**
          * Sets the element's visibility mode. When setVisible() is called it
          * will use this to determine whether to set the visibility or the display property.
@@ -8104,7 +8120,28 @@ if(opt.anim.isAnimated()){
             if(!local){
                 return this.getX();
             }else{
+                
                 return parseInt(this.getStyle("left"), 10) || 0;
+                
+//                var x = this.getStyle("left");
+//                
+//                if(!x || x === 'AUTO'){
+//                    return 0;
+//                }
+//                
+//                if(this.pxReg.test(x)){
+//                    return parseFloat(x);
+//                }
+//                
+//                x = this.getX();
+//                
+//                var  par = this.dom.offsetParent ? Roo.fly(this.dom.offsetParent) : false;
+//                
+//                 if (par !== false) {
+//                    x -= par.getX();
+//                }
+//
+//                return x;
             }
         },
 
@@ -15176,7 +15213,7 @@ Roo.Component = function(config){
         destroy : true
     });
     if(!this.id){
-        this.id = "ext-comp-" + (++Roo.Component.AUTO_ID);
+        this.id = "roo-comp-" + (++Roo.Component.AUTO_ID);
     }
     Roo.ComponentMgr.register(this);
     Roo.Component.superclass.constructor.call(this);