diff options
Diffstat (limited to 'includes/js/dojox/help/_base.js')
-rw-r--r-- | includes/js/dojox/help/_base.js | 473 |
1 files changed, 0 insertions, 473 deletions
diff --git a/includes/js/dojox/help/_base.js b/includes/js/dojox/help/_base.js deleted file mode 100644 index 109f3ca..0000000 --- a/includes/js/dojox/help/_base.js +++ /dev/null @@ -1,473 +0,0 @@ -if(!dojo._hasResource["dojox.help._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.help._base"] = true; -dojo.provide("dojox.help._base"); -dojo.require("dojox.rpc.Service"); -dojo.require("dojo.io.script"); - -dojo.experimental("dojox.help"); -console.warn("Script causes side effects (on numbers, strings, and booleans). Call dojox.help.noConflict() if you plan on executing code."); - -dojox.help = { - // summary: - // Adds the help function to all variables. - locate: function(/*String*/ searchFor, /*String|Object|String[]|Object[]*/ searchIn, /*Number*/ maxResults){ - // summary: - // Search for dojo functionality that has something to do with the given string. - // description: - // Search for locally available data; variable names and any cached - // documentation results for matches containing our search parameter - // searchFor - // The string to search for. - // searchIn: - // The namespaces to search in. Defaults to dojox.help._namespaces - // maxResults: - // The maximum number of results. - maxResults = maxResults || 20; - var namespaces = []; - var roots = {}; - var root; - if(searchIn){ - if(!dojo.isArray(searchIn)){ - searchIn = [searchIn]; - } - for(var i = 0, namespace; namespace = searchIn[i]; i++){ - root = namespace; - if(dojo.isString(namespace)){ - namespace = dojo.getObject(namespace); - if(!namespace){ - continue; - } - }else if(dojo.isObject(namespace)){ - root = namespace.__name__; - }else{ - continue; - } - // Add to a list of namespace objects (in object form) - namespaces.push(namespace); - if(root){ - root = root.split(".")[0]; - if(!roots[root] && dojo.indexOf(dojox.help._namespaces, root) == -1){ - // Refresh anything that's not part of our global namespace list - dojox.help.refresh(root); - } - roots[root] = true; - } - } - } - if(!namespaces.length){ - namespaces.push({ __name__: "window" }); - dojo.forEach(dojox.help._namespaces, function(item){ roots[item] = true; }); - } - - var found = []; - out: - for(var i = 0, namespace; namespace = namespaces[i]; i++){ - var name = namespace.__name__ || ""; - var shorter = dojo.some(namespaces, function(item){ - // Return true if we find a namespace below - // the current namespace - item = item.__name__ || ""; - return (name.indexOf(item + ".") == 0); - }); - if(name && !shorter){ - root = name.split(".")[0]; - var names = []; - if(name == "window"){ - for(root in dojox.help._names){ - if(dojo.isArray(dojox.help._names[root])){ - names = names.concat(dojox.help._names[root]); - } - } - }else{ - names = dojox.help._names[root]; - } - for(var j = 0, variable; variable = names[j]; j++){ - if((name == "window" || variable.indexOf(name + ".") == 0) && variable.toLowerCase().indexOf(searchFor) != -1){ - if(variable.slice(-10) == ".prototype"){ continue; } - var obj = dojo.getObject(variable); - if(obj){ - found.push([variable, obj]); - if(found.length == maxResults){ - break out; - } - } - } - } - } - } - - dojox.help._displayLocated(found); - if(!+dojo.isFF){ - return ""; - } - }, - refresh: function(/*String?*/ namespace, /*Boolean?*/ recursive){ - // summary: - // Useful if you reset some values, and want to restore their - // help function - // namespace: - // The string-representation of a namespace. - // recursive: - // Whether to recurse through the namespace. - if(arguments.length < 2){ - recursive = true; - } - dojox.help._recurse(namespace, recursive); - }, - noConflict: function(/*Object?*/ item){ - // summary: - // Use this function when you want to resolve the problems - // created by including a dojox.help package. - // item: - // If you pass an item, only that item will be cleaned - if(arguments.length){ - return dojox.help._noConflict(item); - }else{ - while(dojox.help._overrides.length){ - var override = dojox.help._overrides.pop(); - var parent = override[0]; - var key = override[1]; - var child = parent[key]; - parent[key] = dojox.help._noConflict(child); - } - } - }, - init: function(/*String[]*/ namespaces, /*Boolen?*/ noConflict){ - // summary: - // Should be called by one of the implementations. Runs startup code - // namespaces: - // Any namespaces to add to the default (dojox.help._namespaces) - // noConflict: - // Whether to start in noConflict mode - if(namespaces){ - dojox.help._namespaces.concat(namespaces); - } - dojo.addOnLoad(function(){ - dojo.require = (function(require){ - return function(){ - dojox.help.noConflict(); - require.apply(dojo, arguments); - if(dojox.help._timer){ - clearTimeout(dojox.help._timer); - } - dojox.help._timer = setTimeout(function(){ - dojo.addOnLoad(function(){ - dojox.help.refresh(); - dojox.help._timer = false; - }); - }, 500); - } - })(dojo.require); - - dojox.help._recurse(); - }); - }, - _noConflict: function(item){ - if(item instanceof String){ - return item.toString(); - }else if(item instanceof Number){ - return +item; - }else if(item instanceof Boolean){ - return (item == true); - }else if(dojo.isObject(item)){ - delete item.__name__; - delete item.help; - } - return item; - }, - _namespaces: ["dojo", "dojox", "dijit", "djConfig"], - _rpc: new dojox.rpc.Service(dojo.moduleUrl("dojox.rpc", "documentation.smd")), - _attributes: ["summary", "type", "returns", "parameters"], - _clean: function(self){ - var obj = {}; - for(var i = 0, attribute; attribute = dojox.help._attributes[i]; i++){ - var value = self["__" + attribute + "__"]; - if(value){ - obj[attribute] = value; - } - } - return obj; - }, - _displayLocated: function(located){ - // summary: - // Stub function to be overridden in one of the dojox.help packages - throw new Error("_displayLocated should be overridden in one of the dojox.help packages"); - }, - _displayHelp: function(loading, obj){ - // summary: - // Stub function to be overridden in one of the dojox.help packages - throw new Error("_displayHelp should be overridden in one of the dojox.help packages"); - }, - _addVersion: function(obj){ - if(obj.name){ - obj.version = [dojo.version.major, dojo.version.minor, dojo.version.patch].join("."); - var parts = obj.name.split("."); - if(parts[0] == "dojo" || parts[0] == "dijit" || parts[0] == "dojox"){ - obj.project = parts[0]; - } - } - return obj; - }, - _stripPrototype: function(original){ - var name = original.replace(/\.prototype(\.|$)/g, "."); - var search = name; - if(name.slice(-1) == "."){ - search = name = name.slice(0, -1); - }else{ - name = original; - } - return [search, name]; - }, - _help: function(){ - var name = this.__name__; - var search = dojox.help._stripPrototype(name)[0]; - var attributes = []; - for(var i = 0, attribute; attribute = dojox.help._attributes[i]; i++){ - if(!this["__" + attribute + "__"]){ - attributes.push(attribute); - } - } - - dojox.help._displayHelp(true, { name: this.__name__ }); - - if(!attributes.length || this.__searched__){ - dojox.help._displayHelp(false, dojox.help._clean(this)); - }else{ - this.__searched__ = true; - dojox.help._rpc.get(dojox.help._addVersion({ - name: search, - exact: true, - attributes: attributes - })).addCallback(this, function(data){ - if(this.toString === dojox.help._toString){ - this.toString(data); - } - if(data && data.length){ - data = data[0]; - for(var i = 0, attribute; attribute = dojox.help._attributes[i]; i++){ - if(data[attribute]){ - this["__" + attribute + "__"] = data[attribute]; - } - } - dojox.help._displayHelp(false, dojox.help._clean(this)); - }else{ - dojox.help._displayHelp(false, false); - } - }); - } - if(!+dojo.isFF){ - return ""; - } - }, - _parse: function(data){ - delete this.__searching__; - if(data && data.length){ - var parameters = data[0].parameters; - - if(parameters){ - var signature = ["function ", this.__name__, "("]; - this.__parameters__ = parameters; - for(var i = 0, parameter; parameter = parameters[i]; i++){ - if(i){ - signature.push(", "); - } - signature.push(parameter.name); - if(parameter.types){ - var types = []; - for(var j = 0, type; type = parameter.types[j]; j++){ - types.push(type.title); - } - if(types.length){ - signature.push(": "); - signature.push(types.join("|")); - } - } - if(parameter.repeating){ - signature.push("..."); - } - if(parameter.optional){ - signature.push("?"); - } - } - signature.push(")"); - - this.__source__ = this.__source__.replace(/function[^\(]*\([^\)]*\)/, signature.join("")); - } - - if(this.__output__){ - delete this.__output__; - console.log(this); - } - }else{ - dojox.help._displayHelp(false, false); - } - }, - _toStrings: {}, - _toString: function(data){ - if(!this.__source__){ - return this.__name__; - } - - var first = (!this.__parameters__); - this.__parameters__ = []; - - if(data){ - dojox.help._parse.call(this, data); - }else if(first){ - this.__searching__ = true; - dojox.help._toStrings[dojox.help._stripPrototype(this.__name__)[0]] = this; - if(dojox.help._toStringTimer){ - clearTimeout(dojox.help._toStringTimer); - } - dojox.help._toStringTimer = setTimeout(function(){ dojox.help.__toString(); }, 50); - } - - if(!first || !this.__searching__){ - return this.__source__; - } - - var message = "function Loading info for " + this.__name__ + "... (watch console for result) {}"; - - if(!+dojo.isFF){ - this.__output__ = true; - return message; - } - - return { - toString: dojo.hitch(this, function(){ - // Detect if this was called by Firebug - this.__output__ = true; - return message; - }) - }; - }, - __toString: function(){ - if(dojox.help._toStringTimer){ - clearTimeout(dojox.help._toStringTimer); - } - - var names = []; - dojox.help.noConflict(dojox.help._toStrings); - for(var name in dojox.help._toStrings){ - names.push(name); - } - while(names.length){ - dojox.help._rpc.batch(dojox.help._addVersion({ - names: names.splice(-50, 50), - exact: true, - attributes: ["parameters"] - })).addCallback(this, function(datas){ - for(var i = 0, data; data = datas[i]; i++){ - fn = dojox.help._toStrings[data.name]; - if(fn){ - dojox.help._parse.call(fn, [data]); - delete dojox.help._toStrings[data.name]; - } - } - }); - } - }, - _overrides: [], - _recursions: [], - _names: {}, - _recurse: function(/*String?*/ namespace, /*Boolean?*/ recursive){ - if(arguments.length < 2){ - recursive = true; - } - - var items = []; - - if(namespace && dojo.isString(namespace)){ - dojox.help.__recurse(dojo.getObject(namespace), namespace, namespace, items, recursive); - }else{ - for(var i = 0, namespace; namespace = dojox.help._namespaces[i]; i++){ - if(window[namespace]){ - dojox.help._recursions.push([window[namespace], namespace, namespace]); - window[namespace].__name__ = namespace; - if(!window[namespace].help){ - window[namespace].help = dojox.help._help; - } - } - } - } - - while(dojox.help._recursions.length){ - var recursion = dojox.help._recursions.shift(); - dojox.help.__recurse(recursion[0], recursion[1], recursion[2], items, recursive); - } - - for(var i = 0, item; item = items[i]; i++){ - delete item.__seen__; - } - }, - __recurse: function(namespace, root, name, items, recursive){ - for(var key in namespace){ - if(key.match(/([^\w_.$]|__[\w_.$]+__)/)){ - continue; - } - - var item = namespace[key]; - if(typeof item == "undefined" - || item === document - || item === window - || item === dojox.help._toString - || item === dojox.help._help - || item === null - || (+dojo.isIE && item.tagName) - || item.__seen__ - ) { - continue; - } - - var isFunction = dojo.isFunction(item); - var isObject = dojo.isObject(item) && !dojo.isArray(item) && !item.nodeType; - - var itemName = (name) ? (name + "." + key) : key; - - if(itemName == "dojo._blockAsync"){ - continue; - } - - if(!item.__name__){ - var parent = null; - if(dojo.isString(item)){ - parent = String; - }else if(typeof item == "number"){ - parent = Number; - }else if(typeof item == "boolean"){ - parent = Boolean; - } - if(parent){ - item = namespace[key] = new parent(item); - } - } - - item.__seen__ = true; - item.__name__ = itemName; - (dojox.help._names[root] = dojox.help._names[root] || []).push(itemName); - items.push(item); - if(!isFunction){ - dojox.help._overrides.push([namespace, key]); - } - - if((isFunction || isObject) && recursive){ - dojox.help._recursions.push([item, root, itemName]); - } - - if(isFunction){ - if(!item.__source__){ - item.__source__ = item.toString().replace(/^function\b ?/, "function " + itemName); - } - if(item.toString === Function.prototype.toString){ - item.toString = dojox.help._toString; - } - } - - if(!item.help){ - item.help = dojox.help._help; - } - } - } -}; - -} |