📄 dojo.js.uncompressed.js
字号:
// called:// // dojo.kwCompoundRequire({// browser: [// ["foo.bar.baz", true, true], // an example that passes multiple args to loadModule()// "foo.sample.*",// "foo.test,// ],// default: [ "foo.sample.*" ],// common: [ "really.important.module.*" ]// }); var common = modMap["common"]||[]; var result = modMap[dojo.hostenv.name_] ? common.concat(modMap[dojo.hostenv.name_]||[]) : common.concat(modMap["default"]||[]); for(var x=0; x<result.length; x++){ var curr = result[x]; if(curr.constructor == Array){ dojo.hostenv.loadModule.apply(dojo.hostenv, curr); }else{ dojo.hostenv.loadModule(curr); } }}dojo.require = function(/*String*/ resourceName){ // summary // Ensure that the given resource (ie, javascript // source file) has been loaded. // description // dojo.require() is similar to C's #include command or java's "import" command. // You call dojo.require() to pull in the resources (ie, javascript source files) // that define the functions you are using. // // Note that in the case of a build, many resources have already been included // into dojo.js (ie, many of the javascript source files have been compressed and // concatened into dojo.js), so many dojo.require() calls will simply return // without downloading anything. dojo.hostenv.loadModule.apply(dojo.hostenv, arguments);}dojo.requireIf = function(/*Boolean*/ condition, /*String*/ resourceName){ // summary // If the condition is true then call dojo.require() for the specified resource var arg0 = arguments[0]; if((arg0 === true)||(arg0=="common")||(arg0 && dojo.render[arg0].capable)){ var args = []; for (var i = 1; i < arguments.length; i++) { args.push(arguments[i]); } dojo.require.apply(dojo, args); }}dojo.requireAfterIf = dojo.requireIf;dojo.provide = function(/*String*/ resourceName){ // summary // Each javascript source file must have (exactly) one dojo.provide() // call at the top of the file, corresponding to the file name. // For example, dojo/src/foo.js must have dojo.provide("dojo.foo"); at the top of the file. // // description // Each javascript source file is called a resource. When a resource // is loaded by the browser, dojo.provide() registers that it has // been loaded. // // For backwards compatibility reasons, in addition to registering the resource, // dojo.provide() also ensures that the javascript object for the module exists. For // example, dojo.provide("dojo.html.common"), in addition to registering that common.js // is a resource for the dojo.html module, will ensure that the dojo.html javascript object // exists, so that calls like dojo.html.foo = function(){ ... } don't fail. // // In the case of a build (or in the future, a rollup), where multiple javascript source // files are combined into one bigger file (similar to a .lib or .jar file), that file // will contain multiple dojo.provide() calls, to note that it includes // multiple resources. return dojo.hostenv.startPackage.apply(dojo.hostenv, arguments);}dojo.registerModulePath = function(/*String*/module, /*String*/prefix){ // summary: maps a module name to a path // description: An unregistered module is given the default path of ../<module>, // relative to Dojo root. For example, module acme is mapped to ../acme. // If you want to use a different module name, use dojo.registerModulePath. return dojo.hostenv.setModulePrefix(module, prefix);}dojo.setModulePrefix = function(/*String*/module, /*String*/prefix){ // summary: maps a module name to a path dojo.deprecated('dojo.setModulePrefix("' + module + '", "' + prefix + '")', "replaced by dojo.registerModulePath", "0.5"); return dojo.registerModulePath(module, prefix);}dojo.exists = function(/*Object*/obj, /*String*/name){ // summary: determine if an object supports a given method // description: useful for longer api chains where you have to test each object in the chain var p = name.split("."); for(var i = 0; i < p.length; i++){ if(!obj[p[i]]){ return false; } // Boolean obj = obj[p[i]]; } return true; // Boolean}// Localization routinesdojo.hostenv.normalizeLocale = function(/*String?*/locale){// summary:// Returns canonical form of locale, as used by Dojo. All variants are case-insensitive and are separated by '-'// as specified in RFC 3066. If no locale is specified, the user agent's default is returned. var result = locale ? locale.toLowerCase() : dojo.locale; if(result == "root"){ result = "ROOT"; } return result;// String};dojo.hostenv.searchLocalePath = function(/*String*/locale, /*Boolean*/down, /*Function*/searchFunc){// summary:// A helper method to assist in searching for locale-based resources. Will iterate through// the variants of a particular locale, either up or down, executing a callback function.// For example, "en-us" and true will try "en-us" followed by "en" and finally "ROOT". locale = dojo.hostenv.normalizeLocale(locale); var elements = locale.split('-'); var searchlist = []; for(var i = elements.length; i > 0; i--){ searchlist.push(elements.slice(0, i).join('-')); } searchlist.push(false); if(down){searchlist.reverse();} for(var j = searchlist.length - 1; j >= 0; j--){ var loc = searchlist[j] || "ROOT"; var stop = searchFunc(loc); if(stop){ break; } }}//These two functions are placed outside of preloadLocalizations//So that the xd loading can use/override them.dojo.hostenv.localesGenerated /***BUILD:localesGenerated***/; // value will be inserted here at build time, if necessarydojo.hostenv.registerNlsPrefix = function(){// summary:// Register module "nls" to point where Dojo can find pre-built localization files dojo.registerModulePath("nls","nls"); }dojo.hostenv.preloadLocalizations = function(){// summary:// Load built, flattened resource bundles, if available for all locales used in the page.// Execute only once. Note that this is a no-op unless there is a build. if(dojo.hostenv.localesGenerated){ dojo.hostenv.registerNlsPrefix(); function preload(locale){ locale = dojo.hostenv.normalizeLocale(locale); dojo.hostenv.searchLocalePath(locale, true, function(loc){ for(var i=0; i<dojo.hostenv.localesGenerated.length;i++){ if(dojo.hostenv.localesGenerated[i] == loc){ dojo["require"]("nls.dojo_"+loc); return true; // Boolean } } return false; // Boolean }); } preload(); var extra = djConfig.extraLocale||[]; for(var i=0; i<extra.length; i++){ preload(extra[i]); } } dojo.hostenv.preloadLocalizations = function(){};}dojo.requireLocalization = function(/*String*/moduleName, /*String*/bundleName, /*String?*/locale, /*String?*/availableFlatLocales){// summary:// Declares translated resources and loads them if necessary, in the same style as dojo.require.// Contents of the resource bundle are typically strings, but may be any name/value pair,// represented in JSON format. See also dojo.i18n.getLocalization.//// moduleName: name of the package containing the "nls" directory in which the bundle is found// bundleName: bundle name, i.e. the filename without the '.js' suffix// locale: the locale to load (optional) By default, the browser's user locale as defined by dojo.locale// availableFlatLocales: A comma-separated list of the available, flattened locales for this bundle.// This argument should only be set by the build process.//// description:// Load translated resource bundles provided underneath the "nls" directory within a package.// Translated resources may be located in different packages throughout the source tree. For example,// a particular widget may define one or more resource bundles, structured in a program as follows,// where moduleName is mycode.mywidget and bundleNames available include bundleone and bundletwo:// ...// mycode/// mywidget/// nls/// bundleone.js (the fallback translation, English in this example)// bundletwo.js (also a fallback translation)// de/// bundleone.js// bundletwo.js// de-at/// bundleone.js// en/// (empty; use the fallback translation)// en-us/// bundleone.js// en-gb/// bundleone.js// es/// bundleone.js// bundletwo.js// ...etc// ...// Each directory is named for a locale as specified by RFC 3066, (http://www.ietf.org/rfc/rfc3066.txt),// normalized in lowercase. Note that the two bundles in the example do not define all the same variants.// For a given locale, bundles will be loaded for that locale and all more general locales above it, including// a fallback at the root directory. For example, a declaration for the "de-at" locale will first// load nls/de-at/bundleone.js, then nls/de/bundleone.js and finally nls/bundleone.js. The data will// be flattened into a single Object so that lookups will follow this cascading pattern. An optional build// step can preload the bundles to avoid data redundancy and the multiple network hits normally required to// load these resources. dojo.hostenv.preloadLocalizations(); var targetLocale = dojo.hostenv.normalizeLocale(locale); var bundlePackage = [moduleName, "nls", bundleName].join(".");//NOTE: When loading these resources, the packaging does not match what is on disk. This is an// implementation detail, as this is just a private data structure to hold the loaded resources.// e.g. tests/hello/nls/en-us/salutations.js is loaded as the object tests.hello.nls.salutations.en_us={...}// The structure on disk is intended to be most convenient for developers and translators, but in memory// it is more logical and efficient to store in a different order. Locales cannot use dashes, since the// resulting path will not evaluate as valid JS, so we translate them to underscores. //Find the best-match locale to load if we have available flat locales. var bestLocale = ""; if(availableFlatLocales){ var flatLocales = availableFlatLocales.split(","); for(var i = 0; i < flatLocales.length; i++){ //Locale must match from start of string. if(targetLocale.indexOf(flatLocales[i]) == 0){ if(flatLocales[i].length > bestLocale.length){ bestLocale = flatLocales[i]; } } } if(!bestLocale){ bestLocale = "ROOT"; } } //See if the desired locale is already loaded. var tempLocale = availableFlatLocales ? bestLocale : targetLocale; var bundle = dojo.hostenv.findModule(bundlePackage); var localizedBundle = null; if(bundle){ if(djConfig.localizationComplete && bundle._built){return;} var jsLoc = tempLocale.replace('-', '_'); var translationPackage = bundlePackage+"."+jsLoc; localizedBundle = dojo.hostenv.findModule(translationPackage); } if(!localizedBundle){ bundle = dojo.hostenv.startPackage(bundlePackage); var syms = dojo.hostenv.getModuleSymbols(moduleName); var modpath = syms.concat("nls").join("/"); var parent; dojo.hostenv.searchLocalePath(tempLocale, availableFlatLocales, function(loc){ var jsLoc = loc.replace('-', '_'); var translationPackage = bundlePackage + "." + jsLoc; var loaded = false; if(!dojo.hostenv.findModule(translationPackage)){ // Mark loaded whether it's found or not, so that further load attempts will not be made dojo.hostenv.startPackage(translationPackage); var module = [modpath]; if(loc != "ROOT"){module.push(loc);} module.push(bundleName); var filespec = module.join("/") + '.js'; loaded = dojo.hostenv.loadPath(filespec, null, function(hash){ // Use singleton with prototype to point to parent bundle, then mix-in result from loadPath var clazz = function(){}; clazz.prototype = parent; bundle[jsLoc] = new clazz(); for(var j in hash){ bundle[jsLoc][j] = hash[j]; } }); }else{ loaded = true; } if(loaded && bundle[jsLoc]){ parent = bundle[jsLoc]; }else{ bundle[jsLoc] = parent; } if(availableFlatLocales){ //Stop the locale path searching if we know the availableFlatLocales, since //the first call to this function will load the only bundle that is needed. return true; } }); } //Save the best locale bundle as the target locale bundle when we know the //the available bundles. if(availableFlatLocales && targetLocale != bestLocale){ bundle[targetLocale.replace('-', '_')] = bundle[bestLocale.replace('-', '_')]; }};(function(){ // If other locales are used, dojo.requireLocalization should load them as well, by default. // Override dojo.requireLocalization to do load the default bundle, then iterate through the // extraLocale list and load those translations as well, unless a particular locale was requested. var extra = djConfig.extraLocale; if(extra){ if(!extra instanceof Array){ extra = [extra]; } var req = dojo.requireLocalization; dojo.requireLocalization = function(m, b, locale, availableFlatLocales){ req(m,b,locale, availableFlatLocales); if(locale){return;} for(var i=0; i<extra.length; i++){ req(m,b,extra[i], availableFlatLocales); } }; }})();};if(typeof window != 'undefined'){ // attempt to figure out the path to dojo if it isn't set in the config (function(){ // before we get any further with the config options, try to pick them out // of the URL. Most of this code is from NW if(djConfig.allowQueryConfig){ var baseUrl = document.location.toString(); // FIXME: use location.query instead? var params = baseUrl.split("?", 2); if(params.length > 1){ var paramStr = params[1]; var pairs = paramStr.split("&"); for(var x in pairs){ var sp = pairs[x].split("="); // FIXME: is this eval dangerous? if((sp[0].length > 9)&&(sp[0].substr(0, 9) == "djConfig.")){ var opt = sp[0].substr(9); try{ djConfig[opt]=eval(sp[1]); }catch(e){ djConfig[opt]=sp[1]; } } } } } if( ((djConfig["baseScriptUri"] == "")||(djConfig["baseRelativePath"] == "")) && (document && document.getElementsByTagName) ){ var scripts = document.getElementsByTagName("script"); var rePkg = /(__package__|dojo|bootstrap1)\.js([\?\.]|$)/i; for(var i = 0; i < scripts.length; i++) { var src = scripts[i].getAttribute("src"); if(!src) { continue; } var m = src.match(rePkg); if(m) { var root = src.substring(0, m.index); if(src.indexOf("bootstrap1") > -1) { root += "../"; } if(!this["djConfig"]) { djConfig = {}; } if(djConfig["baseScriptUri"] == "") { djConfig["baseScriptUri"] = root; } if(djConfig["baseRelativePath"] == "") { djConfig["baseRelativePath"] = root; } break; } } } // fill in the rendering support information in dojo.render.*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -