diff options
Diffstat (limited to '')
| -rw-r--r-- | js/dojo-1.6/dojox/data/css.xd.js | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/js/dojo-1.6/dojox/data/css.xd.js b/js/dojo-1.6/dojox/data/css.xd.js new file mode 100644 index 0000000..1c94fdb --- /dev/null +++ b/js/dojo-1.6/dojox/data/css.xd.js @@ -0,0 +1,113 @@ +/*
+ Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
+ Available via Academic Free License >= 2.1 OR the modified BSD license.
+ see: http://dojotoolkit.org/license for details
+*/
+
+
+dojo._xdResourceLoaded(function(dojo, dijit, dojox){
+return {depends: [["provide", "dojox.data.css"]],
+defineResource: function(dojo, dijit, dojox){if(!dojo._hasResource["dojox.data.css"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.data.css"] = true;
+dojo.provide("dojox.data.css");
+
+
+
+dojox.data.css.rules = {};
+
+dojox.data.css.rules.forEach = function(fn,ctx,context){
+ if(context){
+ var _processSS = function(styleSheet){
+ //iterate across rules in the stylesheet
+ dojo.forEach(styleSheet[styleSheet.cssRules?"cssRules":"rules"], function(rule){
+ if(!rule.type || rule.type !== 3){// apply fn to current rule with approp ctx. rule is arg (all browsers)
+ var href = "";
+ if(styleSheet && styleSheet.href){
+ href = styleSheet.href;
+ }
+ fn.call(ctx?ctx:this,rule, styleSheet, href);
+ }
+ });
+ //process any child stylesheets
+ };
+ dojo.forEach(context,_processSS);
+ }
+};
+dojox.data.css.findStyleSheets = function(sheets){
+ // Takes an array of stylesheet paths and finds the currently loaded StyleSheet objects matching
+ // those names
+ var sheetObjects = [];
+ var _processSS = function(styleSheet){
+ var s = dojox.data.css.findStyleSheet(styleSheet);
+ if(s){
+ dojo.forEach(s, function(sheet){
+ if(dojo.indexOf(sheetObjects, sheet) === -1){
+ sheetObjects.push(sheet);
+ }
+ });
+ }
+ };
+ dojo.forEach(sheets, _processSS);
+ return sheetObjects;
+};
+dojox.data.css.findStyleSheet = function(sheet){
+ // Takes a stylesheet path and finds the currently loaded StyleSheet objects matching
+ // those names (and it's parent(s), if it is imported from another)
+ var sheetObjects = [];
+ if(sheet.charAt(0) === '.'){
+ sheet = sheet.substring(1);
+ }
+ var _processSS = function(styleSheet){
+ if(styleSheet.href && styleSheet.href.match(sheet)){
+ sheetObjects.push(styleSheet);
+ return true;
+ }
+ if(styleSheet.imports){
+ return dojo.some(styleSheet.imports, function(importedSS){ //IE stylesheet has imports[] containing @import'ed rules
+ //console.debug("Processing IE @import rule",importedSS);
+ return _processSS(importedSS);
+ });
+ }
+ //iterate across rules in the stylesheet
+ return dojo.some(styleSheet[styleSheet.cssRules?"cssRules":"rules"], function(rule){
+ if(rule.type && rule.type === 3 && _processSS(rule.styleSheet)){// CSSImportRule (firefox)
+ //sheetObjects.push(styleSheet);
+ return true;
+ }
+ return false;
+ });
+ };
+ dojo.some(document.styleSheets, _processSS);
+ return sheetObjects;
+};
+dojox.data.css.determineContext = function(initialStylesheets){
+ // Takes an array of stylesheet paths and returns an array of all stylesheets that fall in the
+ // given context. If no paths are given, all stylesheets are returned.
+ var ret = [];
+ if(initialStylesheets && initialStylesheets.length > 0){
+ initialStylesheets = dojox.data.css.findStyleSheets(initialStylesheets);
+ }else{
+ initialStylesheets = document.styleSheets;
+ }
+ var _processSS = function(styleSheet){
+ ret.push(styleSheet);
+ if(styleSheet.imports){
+ dojo.forEach(styleSheet.imports, function(importedSS){ //IE stylesheet has imports[] containing @import'ed rules
+ //console.debug("Processing IE @import rule",importedSS);
+ _processSS(importedSS);
+ });
+ }
+ //iterate across rules in the stylesheet
+ dojo.forEach(styleSheet[styleSheet.cssRules?"cssRules":"rules"], function(rule){
+ if(rule.type && rule.type === 3){// CSSImportRule (firefox)
+ _processSS(rule.styleSheet);
+ }
+ });
+ };
+ dojo.forEach(initialStylesheets,_processSS);
+ return ret;
+};
+
+}
+
+}};});
|
