X-Git-Url: http://git.roojs.org/?p=roojs1;a=blobdiff_plain;f=Roo.js;h=67147c5ee6efd7a6f1be03c969fb9561af26ca52;hp=346acb69d7fbe38d0b684cabc5dcaa0c07a8adb0;hb=refs%2Fheads%2Fwip_alan_T6102_issue_with_word_clean;hpb=aa2bc8db0ea5786140ba6563e5c67049381867a9 diff --git a/Roo.js b/Roo.js index 346acb69d7..67147c5ee6 100644 --- a/Roo.js +++ b/Roo.js @@ -53,15 +53,35 @@ 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), + isEdge = ua.indexOf("edge") > -1, 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; - + isSecure = window.location.href.toLowerCase().indexOf("https") === 0, + isIOS = /iphone|ipad/.test(ua), + isAndroid = /android/.test(ua), + isTouch = (function() { + try { + if (ua.indexOf('chrome') != -1 && ua.indexOf('android') == -1) { + window.addEventListener('touchstart', function __set_has_touch__ () { + Roo.isTouch = true; + window.removeEventListener('touchstart', __set_has_touch__); + }); + return false; // no touch on chrome!? + } + document.createEvent("TouchEvent"); + return true; + } catch (e) { + return false; + } + + })(); // remove css image flicker if(isIE && !isIE7){ try{ @@ -121,24 +141,6 @@ Roo.apply = function(o, c, defaults){ emptyFn : function(){}, - /** - * Clone the object - * - * - */ - clone : function(obj){ - if (obj === null || typeof obj !== 'object') { - return obj; - } - - var temp = obj.constructor(); // give temp the original obj's constructor - for (var key in obj) { - temp[key] = this.clone(obj[key]); - } - - return temp; - }, - /** * Copies all the properties of config to obj if they don't already exist. * @param {Object} obj The receiver of the properties @@ -321,7 +323,7 @@ Roo.factory(conf, Roo.data); return c; } if (ns[c.xtype]) { - if (Roo.debug) Roo.log("Roo.Factory(" + c.xtype + ")"); + if (Roo.debug) { Roo.log("Roo.Factory(" + c.xtype + ")"); } var ret = new ns[c.xtype](c); ret.xns = false; return ret; @@ -340,8 +342,8 @@ Roo.factory(conf, Roo.data); if ((typeof(console) == 'undefined') || (typeof(console.log) == 'undefined')) { return; // alerT? } - console.log(s); + console.log(s); }, /** * Takes an object and converts it to an encoded URL. e.g. Roo.urlEncode({foo: 1, bar: 2}); would return "foo=1&bar=2". Optionally, property values can be arrays, instead of keys and the resulting string that's returned will contain a name/value pair for each array value. @@ -620,10 +622,16 @@ 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 */ + isEdge : isEdge, + /** @type Boolean */ isGecko : isGecko, /** @type Boolean */ isBorderBox : isBorderBox, @@ -633,6 +641,12 @@ Roo.factory(conf, Roo.data); isLinux : isLinux, /** @type Boolean */ isMac : isMac, + /** @type Boolean */ + isIOS : isIOS, + /** @type Boolean */ + isAndroid : isAndroid, + /** @type Boolean */ + isTouch : isTouch, /** * By default, Ext intelligently decides whether floating elements should be shimmed. If you are using flash, @@ -662,4 +676,7 @@ Roo.factory(conf, Roo.data); })(); Roo.namespace("Roo", "Roo.util", "Roo.grid", "Roo.dd", "Roo.tree", "Roo.data", - "Roo.form", "Roo.menu", "Roo.state", "Roo.lib", "Roo.layout", "Roo.app", "Roo.ux"); + "Roo.form", "Roo.menu", "Roo.state", "Roo.lib", "Roo.layout", + "Roo.app", "Roo.ux", + "Roo.bootstrap", + "Roo.bootstrap.dash");