Sha256: 1d9ba5a23fa2ee626acfac0eedc8934d30b06d995a32aca03a5a02854287b633
Contents?: true
Size: 1.6 KB
Versions: 2
Compression:
Stored size: 1.6 KB
Contents
define(["../has", "require"], function(has, require){ "use strict"; var testDiv = document.createElement("div"); has.add("dom-qsa2.1", !!testDiv.querySelectorAll); has.add("dom-qsa3", function(){ // test to see if we have a reasonable native selector engine available try{ testDiv.innerHTML = "<p class='TEST'></p>"; // test kind of from sizzle // Safari can't handle uppercase or unicode characters when // in quirks mode, IE8 can't handle pseudos like :empty return testDiv.querySelectorAll(".TEST:empty").length == 1; }catch(e){} }); var fullEngine; var acme = "./acme", lite = "./lite"; return { // summary: // This module handles loading the appropriate selector engine for the given browser load: function(id, parentRequire, loaded, config){ var req = require; // here we implement the default logic for choosing a selector engine id = id == "default" ? has("config-selectorEngine") || "css3" : id; id = id == "css2" || id == "lite" ? lite : id == "css2.1" ? has("dom-qsa2.1") ? lite : acme : id == "css3" ? has("dom-qsa3") ? lite : acme : id == "acme" ? acme : (req = parentRequire) && id; if(id.charAt(id.length-1) == '?'){ id = id.substring(0,id.length - 1); var optionalLoad = true; } // the query engine is optional, only load it if a native one is not available or existing one has not been loaded if(optionalLoad && (has("dom-compliant-qsa") || fullEngine)){ return loaded(fullEngine); } // load the referenced selector engine req([id], function(engine){ if(id != "./lite"){ fullEngine = engine; } loaded(engine); }); } }; });
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dojo_rails-0.0.2 | vendor/assets/javascripts/dojo/selector/_loader.js |
dojo_rails-0.0.1 | vendor/assets/javascripts/dojo/selector/_loader.js |