Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / source / util / CSS.js
diff --git a/source/util/CSS.js b/source/util/CSS.js
deleted file mode 100644 (file)
index bb68272..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*\r
- * Ext JS Library 2.2.1\r
- * Copyright(c) 2006-2009, Ext JS, LLC.\r
- * licensing@extjs.com\r
- * \r
- * http://extjs.com/license\r
- */\r
-\r
-/**\r
- * @class Ext.util.CSS\r
- * Utility class for manipulating CSS rules\r
- * @singleton\r
- */\r
-Ext.util.CSS = function(){\r
-       var rules = null;\r
-       var doc = document;\r
-\r
-    var camelRe = /(-[a-z])/gi;\r
-    var camelFn = function(m, a){ return a.charAt(1).toUpperCase(); };\r
-\r
-   return {\r
-   /**\r
-    * Creates a stylesheet from a text blob of rules.\r
-    * These rules will be wrapped in a STYLE tag and appended to the HEAD of the document.\r
-    * @param {String} cssText The text containing the css rules\r
-    * @param {String} id An id to add to the stylesheet for later removal\r
-    * @return {StyleSheet}\r
-    */\r
-   createStyleSheet : function(cssText, id){\r
-       var ss;\r
-       var head = doc.getElementsByTagName("head")[0];\r
-       var rules = doc.createElement("style");\r
-       rules.setAttribute("type", "text/css");\r
-       if(id){\r
-           rules.setAttribute("id", id);\r
-       }\r
-       if(Ext.isIE){\r
-           head.appendChild(rules);\r
-           ss = rules.styleSheet;\r
-           ss.cssText = cssText;\r
-       }else{\r
-           try{\r
-                rules.appendChild(doc.createTextNode(cssText));\r
-           }catch(e){\r
-               rules.cssText = cssText;\r
-           }\r
-           head.appendChild(rules);\r
-           ss = rules.styleSheet ? rules.styleSheet : (rules.sheet || doc.styleSheets[doc.styleSheets.length-1]);\r
-       }\r
-       this.cacheStyleSheet(ss);\r
-       return ss;\r
-   },\r
-\r
-   /**\r
-    * Removes a style or link tag by id\r
-    * @param {String} id The id of the tag\r
-    */\r
-   removeStyleSheet : function(id){\r
-       var existing = doc.getElementById(id);\r
-       if(existing){\r
-           existing.parentNode.removeChild(existing);\r
-       }\r
-   },\r
-\r
-   /**\r
-    * Dynamically swaps an existing stylesheet reference for a new one\r
-    * @param {String} id The id of an existing link tag to remove\r
-    * @param {String} url The href of the new stylesheet to include\r
-    */\r
-   swapStyleSheet : function(id, url){\r
-       this.removeStyleSheet(id);\r
-       var ss = doc.createElement("link");\r
-       ss.setAttribute("rel", "stylesheet");\r
-       ss.setAttribute("type", "text/css");\r
-       ss.setAttribute("id", id);\r
-       ss.setAttribute("href", url);\r
-       doc.getElementsByTagName("head")[0].appendChild(ss);\r
-   },\r
-   \r
-   /**\r
-    * Refresh the rule cache if you have dynamically added stylesheets\r
-    * @return {Object} An object (hash) of rules indexed by selector\r
-    */\r
-   refreshCache : function(){\r
-       return this.getRules(true);\r
-   },\r
-\r
-   // private\r
-   cacheStyleSheet : function(ss){\r
-       if(!rules){\r
-           rules = {};\r
-       }\r
-       try{// try catch for cross domain access issue\r
-           var ssRules = ss.cssRules || ss.rules;\r
-           for(var j = ssRules.length-1; j >= 0; --j){\r
-               rules[ssRules[j].selectorText] = ssRules[j];\r
-           }\r
-       }catch(e){}\r
-   },\r
-   \r
-   /**\r
-    * Gets all css rules for the document\r
-    * @param {Boolean} refreshCache true to refresh the internal cache\r
-    * @return {Object} An object (hash) of rules indexed by selector\r
-    */\r
-   getRules : function(refreshCache){\r
-               if(rules == null || refreshCache){\r
-                       rules = {};\r
-                       var ds = doc.styleSheets;\r
-                       for(var i =0, len = ds.length; i < len; i++){\r
-                           try{\r
-                       this.cacheStyleSheet(ds[i]);\r
-                   }catch(e){} \r
-               }\r
-               }\r
-               return rules;\r
-       },\r
-       \r
-       /**\r
-    * Gets an an individual CSS rule by selector(s)\r
-    * @param {String/Array} selector The CSS selector or an array of selectors to try. The first selector that is found is returned.\r
-    * @param {Boolean} refreshCache true to refresh the internal cache if you have recently updated any rules or added styles dynamically\r
-    * @return {CSSRule} The CSS rule or null if one is not found\r
-    */\r
-   getRule : function(selector, refreshCache){\r
-               var rs = this.getRules(refreshCache);\r
-               if(!Ext.isArray(selector)){\r
-                   return rs[selector];\r
-               }\r
-               for(var i = 0; i < selector.length; i++){\r
-                       if(rs[selector[i]]){\r
-                               return rs[selector[i]];\r
-                       }\r
-               }\r
-               return null;\r
-       },\r
-       \r
-       \r
-       /**\r
-    * Updates a rule property\r
-    * @param {String/Array} selector If it's an array it tries each selector until it finds one. Stops immediately once one is found.\r
-    * @param {String} property The css property\r
-    * @param {String} value The new value for the property\r
-    * @return {Boolean} true If a rule was found and updated\r
-    */\r
-   updateRule : function(selector, property, value){\r
-               if(!Ext.isArray(selector)){\r
-                       var rule = this.getRule(selector);\r
-                       if(rule){\r
-                               rule.style[property.replace(camelRe, camelFn)] = value;\r
-                               return true;\r
-                       }\r
-               }else{\r
-                       for(var i = 0; i < selector.length; i++){\r
-                               if(this.updateRule(selector[i], property, value)){\r
-                                       return true;\r
-                               }\r
-                       }\r
-               }\r
-               return false;\r
-       }\r
-   };  \r
-}();
\ No newline at end of file