Improve output: distinguish between failed assertions (failures) and unexpected exceptions (errors), and print a filtered stack trace for any exception.
This commit is contained in:
commit
4f2e303079
1839 changed files with 235630 additions and 0 deletions
622
webapp/web/src/doc.js
Normal file
622
webapp/web/src/doc.js
Normal file
|
@ -0,0 +1,622 @@
|
|||
/*
|
||||
Copyright (c) 2004-2006, The Dojo Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
Licensed under the Academic Free License version 2.1 or above OR the
|
||||
modified BSD license. For more information on Dojo licensing, see:
|
||||
|
||||
http://dojotoolkit.org/community/licensing.shtml
|
||||
*/
|
||||
|
||||
dojo.provide("dojo.doc");
|
||||
dojo.require("dojo.io.*");
|
||||
dojo.require("dojo.event.topic");
|
||||
dojo.require("dojo.rpc.JotService");
|
||||
dojo.require("dojo.dom");
|
||||
|
||||
/*
|
||||
* TODO:
|
||||
*
|
||||
* Package summary needs to compensate for "is"
|
||||
* Handle host environments
|
||||
* Deal with dojo.widget weirdness
|
||||
* Parse parameters
|
||||
* Limit function parameters to only the valid ones (Involves packing parameters onto meta during rewriting)
|
||||
* Package display page
|
||||
*
|
||||
*/
|
||||
|
||||
dojo.doc._count = 0;
|
||||
dojo.doc._keys = {};
|
||||
dojo.doc._myKeys = [];
|
||||
dojo.doc._callbacks = {function_names: []};
|
||||
dojo.doc._cache = {}; // Saves the JSON objects in cache
|
||||
dojo.doc._rpc = new dojo.rpc.JotService;
|
||||
dojo.doc._rpc.serviceUrl = "http://dojotoolkit.org/~pottedmeat/jsonrpc.php";
|
||||
|
||||
dojo.lang.mixin(dojo.doc, {
|
||||
functionNames: function(/*mixed*/ selectKey, /*Function*/ callback){
|
||||
// summary: Returns an ordered list of package and function names.
|
||||
dojo.debug("functionNames()");
|
||||
if(!selectKey){
|
||||
selectKey = ++dojo.doc._count;
|
||||
}
|
||||
dojo.doc._buildCache({
|
||||
type: "function_names",
|
||||
callbacks: [dojo.doc._functionNames, callback],
|
||||
selectKey: selectKey
|
||||
});
|
||||
},
|
||||
|
||||
_functionNames: function(/*String*/ type, /*Array*/ data, /*Object*/ evt){
|
||||
dojo.debug("_functionNames()");
|
||||
var searchData = [];
|
||||
for(var key in data){
|
||||
// Add the package if it doesn't exist in its children
|
||||
if(!dojo.lang.inArray(data[key], key)){
|
||||
searchData.push([key, key]);
|
||||
}
|
||||
// Add the functions
|
||||
for(var pkg_key in data[key]){
|
||||
searchData.push([data[key][pkg_key], data[key][pkg_key]]);
|
||||
}
|
||||
}
|
||||
|
||||
searchData = searchData.sort(dojo.doc._sort);
|
||||
|
||||
if(evt.callbacks && evt.callbacks.length){
|
||||
var callback = evt.callbacks.shift();
|
||||
callback.call(null, type, searchData, evt);
|
||||
}
|
||||
},
|
||||
|
||||
getMeta: function(/*mixed*/ selectKey, /*Function*/ callback, /*Function*/ name, /*String?*/ id){
|
||||
// summary: Gets information about a function in regards to its meta data
|
||||
dojo.debug("getMeta(" + name + ")");
|
||||
if(!selectKey){
|
||||
selectKey = ++dojo.doc._count;
|
||||
}
|
||||
dojo.doc._buildCache({
|
||||
type: "meta",
|
||||
callbacks: [callback],
|
||||
name: name,
|
||||
id: id,
|
||||
selectKey: selectKey
|
||||
});
|
||||
},
|
||||
|
||||
_getMeta: function(/*String*/ type, /*Object*/ data, /*Object*/ evt){
|
||||
dojo.debug("_getMeta(" + evt.name + ") has package: " + evt.pkg + " with: " + type);
|
||||
if("load" == type && evt.pkg){
|
||||
evt.type = "meta";
|
||||
dojo.doc._buildCache(evt);
|
||||
}else{
|
||||
if(evt.callbacks && evt.callbacks.length){
|
||||
var callback = evt.callbacks.shift();
|
||||
callback.call(null, "error", {}, evt);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getSrc: function(/*mixed*/ selectKey, /*Function*/ callback, /*String*/ name, /*String?*/ id){
|
||||
// summary: Gets src file (created by the doc parser)
|
||||
dojo.debug("getSrc()");
|
||||
if(!selectKey){
|
||||
selectKey = ++dojo.doc._count;
|
||||
}
|
||||
dojo.doc._buildCache({
|
||||
type: "src",
|
||||
callbacks: [callback],
|
||||
name: name,
|
||||
id: id,
|
||||
selectKey: selectKey
|
||||
});
|
||||
},
|
||||
|
||||
_getSrc: function(/*String*/ type, /*Object*/ data, /*Object*/ evt){
|
||||
dojo.debug("_getSrc()");
|
||||
if(evt.pkg){
|
||||
evt.type = "src";
|
||||
dojo.doc._buildCache(evt);
|
||||
}else{
|
||||
if(evt.callbacks && evt.callbacks.length){
|
||||
var callback = evt.callbacks.shift();
|
||||
callback.call(null, "error", {}, evt);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getDoc: function(/*mixed*/ selectKey, /*Function*/ callback, /*String*/ name, /*String?*/ id){
|
||||
// summary: Gets external documentation stored on jot
|
||||
dojo.debug("getDoc()");
|
||||
if(!selectKey){
|
||||
selectKey = ++dojo.doc._count;
|
||||
}
|
||||
var input = {
|
||||
type: "doc",
|
||||
callbacks: [callback],
|
||||
name: name,
|
||||
id: id,
|
||||
selectKey: selectKey
|
||||
}
|
||||
dojo.doc.functionPackage(dojo.doc._getDoc, input);
|
||||
},
|
||||
|
||||
_getDoc: function(/*String*/ type, /*Object*/ data, /*Object*/ evt){
|
||||
dojo.debug("_getDoc(" + evt.pkg + "/" + evt.name + ")");
|
||||
|
||||
dojo.doc._keys[evt.selectKey] = {count: 0};
|
||||
|
||||
var search = {};
|
||||
search.forFormName = "DocFnForm";
|
||||
search.limit = 1;
|
||||
|
||||
if(!evt.id){
|
||||
search.filter = "it/DocFnForm/require = '" + evt.pkg + "' and it/DocFnForm/name = '" + evt.name + "' and not(it/DocFnForm/id)";
|
||||
}else{
|
||||
search.filter = "it/DocFnForm/require = '" + evt.pkg + "' and it/DocFnForm/name = '" + evt.name + "' and it/DocFnForm/id = '" + evt.id + "'";
|
||||
}
|
||||
dojo.debug(dojo.json.serialize(search));
|
||||
|
||||
dojo.doc._rpc.callRemote("search", search).addCallbacks(function(data){ evt.type = "fn"; dojo.doc._gotDoc("load", data.list[0], evt); }, function(data){ evt.type = "fn"; dojo.doc._gotDoc("error", {}, evt); });
|
||||
|
||||
search.forFormName = "DocParamForm";
|
||||
|
||||
if(!evt.id){
|
||||
search.filter = "it/DocParamForm/fns = '" + evt.pkg + "=>" + evt.name + "'";
|
||||
}else{
|
||||
search.filter = "it/DocParamForm/fns = '" + evt.pkg + "=>" + evt.name + "=>" + evt.id + "'";
|
||||
}
|
||||
delete search.limit;
|
||||
|
||||
dojo.doc._rpc.callRemote("search", search).addCallbacks(function(data){ evt.type = "param"; dojo.doc._gotDoc("load", data.list, evt); }, function(data){ evt.type = "param"; dojo.doc._gotDoc("error", {}, evt); });
|
||||
},
|
||||
|
||||
_gotDoc: function(/*String*/ type, /*Array*/ data, /*Object*/ evt){
|
||||
dojo.debug("_gotDoc(" + evt.type + ") for " + evt.selectKey);
|
||||
dojo.doc._keys[evt.selectKey][evt.type] = data;
|
||||
if(++dojo.doc._keys[evt.selectKey].count == 2){
|
||||
dojo.debug("_gotDoc() finished");
|
||||
var keys = dojo.doc._keys[evt.selectKey];
|
||||
var description = '';
|
||||
if(!keys.fn){
|
||||
keys.fn = {}
|
||||
}
|
||||
if(keys.fn["main/text"]){
|
||||
description = dojo.dom.createDocumentFromText(keys.fn["main/text"]).childNodes[0].innerHTML;
|
||||
if(!description){
|
||||
description = keys.fn["main/text"];
|
||||
}
|
||||
}
|
||||
data = {
|
||||
description: description,
|
||||
returns: keys.fn["DocFnForm/returns"],
|
||||
id: keys.fn["DocFnForm/id"],
|
||||
parameters: {},
|
||||
variables: []
|
||||
}
|
||||
for(var i = 0, param; param = keys["param"][i]; i++){
|
||||
data.parameters[param["DocParamForm/name"]] = {
|
||||
description: param["DocParamForm/desc"]
|
||||
};
|
||||
}
|
||||
|
||||
delete dojo.doc._keys[evt.selectKey];
|
||||
|
||||
if(evt.callbacks && evt.callbacks.length){
|
||||
var callback = evt.callbacks.shift();
|
||||
callback.call(null, "load", data, evt);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
getPkgMeta: function(/*mixed*/ selectKey, /*Function*/ callback, /*String*/ name){
|
||||
dojo.debug("getPkgMeta(" + name + ")");
|
||||
if(!selectKey){
|
||||
selectKey = ++dojo.doc._count;
|
||||
}
|
||||
dojo.doc._buildCache({
|
||||
type: "pkgmeta",
|
||||
callbacks: [callback],
|
||||
name: name,
|
||||
selectKey: selectKey
|
||||
});
|
||||
},
|
||||
|
||||
_getPkgMeta: function(/*Object*/ input){
|
||||
dojo.debug("_getPkgMeta(" + input.name + ")");
|
||||
input.type = "pkgmeta";
|
||||
dojo.doc._buildCache(input);
|
||||
},
|
||||
|
||||
_onDocSearch: function(/*Object*/ input){
|
||||
dojo.debug("_onDocSearch(" + input.name + ")");
|
||||
if(!input.name){
|
||||
return;
|
||||
}
|
||||
if(!input.selectKey){
|
||||
input.selectKey = ++dojo.doc._count;
|
||||
}
|
||||
input.callbacks = [dojo.doc._onDocSearchFn];
|
||||
input.name = input.name.toLowerCase();
|
||||
input.type = "function_names";
|
||||
|
||||
dojo.doc._buildCache(input);
|
||||
},
|
||||
|
||||
_onDocSearchFn: function(/*String*/ type, /*Array*/ data, /*Object*/ evt){
|
||||
dojo.debug("_onDocSearchFn(" + evt.name + ")");
|
||||
var packages = [];
|
||||
var size = 0;
|
||||
pkgLoop:
|
||||
for(var pkg in data){
|
||||
for(var i = 0, fn; fn = data[pkg][i]; i++){
|
||||
if(fn.toLowerCase().indexOf(evt.name) != -1){
|
||||
// Build a list of all packages that need to be loaded and their loaded state.
|
||||
++size;
|
||||
packages.push(pkg);
|
||||
continue pkgLoop;
|
||||
}
|
||||
}
|
||||
}
|
||||
dojo.doc._keys[evt.selectKey] = {};
|
||||
dojo.doc._keys[evt.selectKey].pkgs = packages;
|
||||
dojo.doc._keys[evt.selectKey].pkg = evt.name; // Remember what we were searching for
|
||||
dojo.doc._keys[evt.selectKey].loaded = 0;
|
||||
for(var i = 0, pkg; pkg = packages[i]; i++){
|
||||
setTimeout("dojo.doc.getPkgMeta(\"" + evt.selectKey + "\", dojo.doc._onDocResults, \"" + pkg + "\");", i*10);
|
||||
}
|
||||
},
|
||||
|
||||
_onDocResults: function(/*String*/ type, /*Object*/ data, /*Object*/ evt){
|
||||
dojo.debug("_onDocResults(" + evt.name + "/" + dojo.doc._keys[evt.selectKey].pkg + ") " + type);
|
||||
++dojo.doc._keys[evt.selectKey].loaded;
|
||||
|
||||
if(dojo.doc._keys[evt.selectKey].loaded == dojo.doc._keys[evt.selectKey].pkgs.length){
|
||||
var info = dojo.doc._keys[evt.selectKey];
|
||||
var pkgs = info.pkgs;
|
||||
var name = info.pkg;
|
||||
delete dojo.doc._keys[evt.selectKey];
|
||||
var results = {selectKey: evt.selectKey, docResults: []};
|
||||
data = dojo.doc._cache;
|
||||
|
||||
for(var i = 0, pkg; pkg = pkgs[i]; i++){
|
||||
if(!data[pkg]){
|
||||
continue;
|
||||
}
|
||||
for(var fn in data[pkg]["meta"]){
|
||||
if(fn.toLowerCase().indexOf(name) == -1){
|
||||
continue;
|
||||
}
|
||||
if(fn != "requires"){
|
||||
for(var pId in data[pkg]["meta"][fn]){
|
||||
var result = {
|
||||
pkg: pkg,
|
||||
name: fn,
|
||||
summary: ""
|
||||
}
|
||||
if(data[pkg]["meta"][fn][pId].summary){
|
||||
result.summary = data[pkg]["meta"][fn][pId].summary;
|
||||
}
|
||||
results.docResults.push(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dojo.debug("Publishing docResults");
|
||||
dojo.doc._printResults(results);
|
||||
}
|
||||
},
|
||||
|
||||
_printResults: function(results){
|
||||
dojo.debug("_printResults(): called");
|
||||
// summary: Call this function to send the /doc/results topic
|
||||
},
|
||||
|
||||
_onDocSelectFunction: function(/*Object*/ input){
|
||||
// summary: Get doc, meta, and src
|
||||
var name = input.name;
|
||||
var selectKey = selectKey;
|
||||
dojo.debug("_onDocSelectFunction(" + name + ")");
|
||||
if(!name){
|
||||
return false;
|
||||
}
|
||||
if(!selectKey){
|
||||
selectKey = ++dojo.doc._count;
|
||||
}
|
||||
|
||||
dojo.doc._keys[selectKey] = {size: 0};
|
||||
dojo.doc._myKeys[++dojo.doc._count] = {selectKey: selectKey, type: "meta"}
|
||||
dojo.doc.getMeta(dojo.doc._count, dojo.doc._onDocSelectResults, name);
|
||||
dojo.doc._myKeys[++dojo.doc._count] = {selectKey: selectKey, type: "src"}
|
||||
dojo.doc.getSrc(dojo.doc._count, dojo.doc._onDocSelectResults, name);
|
||||
dojo.doc._myKeys[++dojo.doc._count] = {selectKey: selectKey, type: "doc"}
|
||||
dojo.doc.getDoc(dojo.doc._count, dojo.doc._onDocSelectResults, name);
|
||||
},
|
||||
|
||||
_onDocSelectResults: function(/*String*/ type, /*Object*/ data, /*Object*/ evt){
|
||||
dojo.debug("dojo.doc._onDocSelectResults(" + evt.type + ", " + evt.name + ")");
|
||||
var myKey = dojo.doc._myKeys[evt.selectKey];
|
||||
dojo.doc._keys[myKey.selectKey][myKey.type] = data;
|
||||
dojo.doc._keys[myKey.selectKey].size;
|
||||
if(++dojo.doc._keys[myKey.selectKey].size == 3){
|
||||
var key = dojo.lang.mixin(evt, dojo.doc._keys[myKey.selectKey]);
|
||||
delete key.size;
|
||||
dojo.debug("Publishing docFunctionDetail");
|
||||
dojo.doc._printFunctionDetail(key);
|
||||
delete dojo.doc._keys[myKey.selectKey];
|
||||
delete dojo.doc._myKeys[evt.selectKey];
|
||||
}
|
||||
},
|
||||
|
||||
_printFunctionDetail: function(results) {
|
||||
// summary: Call this function to send the /doc/functionDetail topic event
|
||||
},
|
||||
|
||||
_buildCache: function(/*Object*/ input){
|
||||
var type = input.type;
|
||||
var pkg = input.pkg;
|
||||
var callbacks = input.callbacks;
|
||||
var id = input.id;
|
||||
if(!id){
|
||||
id = "_";
|
||||
}
|
||||
var name = input.name;
|
||||
|
||||
dojo.debug("_buildCache() type: " + type);
|
||||
if(type == "function_names"){
|
||||
if(!dojo.doc._cache["function_names"]){
|
||||
dojo.debug("_buildCache() new cache");
|
||||
if(callbacks && callbacks.length){
|
||||
dojo.doc._callbacks.function_names.push([input, callbacks.shift()]);
|
||||
}
|
||||
dojo.doc._cache["function_names"] = {loading: true};
|
||||
dojo.io.bind({
|
||||
url: "json/function_names",
|
||||
mimetype: "text/json",
|
||||
error: function(type, data, evt){
|
||||
dojo.debug("Unable to load function names");
|
||||
for(var i = 0, callback; callback = dojo.doc._callbacks.function_names[i]; i++){
|
||||
callback[1].call(null, "error", {}, callback[0]);
|
||||
}
|
||||
},
|
||||
load: function(type, data, evt){
|
||||
dojo.doc._cache['function_names'] = data;
|
||||
for(var i = 0, callback; callback = dojo.doc._callbacks.function_names[i]; i++){
|
||||
callback[1].call(null, "load", data, callback[0]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}else if(dojo.doc._cache["function_names"].loading){
|
||||
dojo.debug("_buildCache() loading cache");
|
||||
if(callbacks && callbacks.length){
|
||||
dojo.doc._callbacks.function_names.push([input, callbacks.shift()]);
|
||||
}
|
||||
}else{
|
||||
dojo.debug("_buildCache() from cache");
|
||||
if(callbacks && callbacks.length){
|
||||
var callback = callbacks.shift();
|
||||
callback.call(null, "load", dojo.doc._cache["function_names"], input);
|
||||
}
|
||||
}
|
||||
}else if(type == "meta" || type == "src"){
|
||||
if(!pkg){
|
||||
if(type == "meta"){
|
||||
dojo.doc.functionPackage(dojo.doc._getMeta, input);
|
||||
}else{
|
||||
dojo.doc.functionPackage(dojo.doc._getSrc, input);
|
||||
}
|
||||
}else{
|
||||
try{
|
||||
var cached = dojo.doc._cache[pkg][name][id][type];
|
||||
}catch(e){}
|
||||
|
||||
if(cached){
|
||||
if(callbacks && callbacks.length){
|
||||
var callback = callbacks.shift();
|
||||
callback.call(null, "load", cached, input);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
dojo.debug("Finding " + type + " for: " + pkg + ", function: " + name + ", id: " + id);
|
||||
|
||||
var mimetype = "text/json";
|
||||
if(type == "src"){
|
||||
mimetype = "text/plain"
|
||||
}
|
||||
|
||||
var url = "json/" + pkg + "/" + name + "/" + id + "/" + type;
|
||||
|
||||
dojo.io.bind({
|
||||
url: url,
|
||||
input: input,
|
||||
mimetype: mimetype,
|
||||
error: function(type, data, evt, args){
|
||||
var input = args.input;
|
||||
var pkg = input.pkg;
|
||||
var type = input.type;
|
||||
var callbacks = input.callbacks;
|
||||
var id = input.id;
|
||||
var name = input.name;
|
||||
|
||||
if(callbacks && callbacks.length){
|
||||
if(!data){
|
||||
data = {};
|
||||
}
|
||||
if(!dojo.doc._cache[pkg]){
|
||||
dojo.doc._cache[pkg] = {};
|
||||
}
|
||||
if(!dojo.doc._cache[pkg][name]){
|
||||
dojo.doc._cache[pkg][name] = {};
|
||||
}
|
||||
if(type == "meta"){
|
||||
data.sig = dojo.doc._cache[pkg][name][id].sig;
|
||||
data.params = dojo.doc._cache[pkg][name][id].params;
|
||||
}
|
||||
var callback = callbacks.shift();
|
||||
callback.call(null, "error", data, args.input);
|
||||
}
|
||||
},
|
||||
load: function(type, data, evt, args){
|
||||
var input = args.input;
|
||||
var pkg = input.pkg;
|
||||
var type = input.type;
|
||||
var id = input.id;
|
||||
var name = input.name;
|
||||
var cache = dojo.doc._cache;
|
||||
dojo.debug("_buildCache() loaded " + type);
|
||||
|
||||
if(!data){
|
||||
data = {};
|
||||
}
|
||||
if(!cache[pkg]){
|
||||
dojo.doc._cache[pkg] = {};
|
||||
}
|
||||
if(!cache[pkg][name]){
|
||||
dojo.doc._cache[pkg][name] = {};
|
||||
}
|
||||
if(!cache[pkg][name][id]){
|
||||
dojo.doc._cache[pkg][name][id] = {};
|
||||
}
|
||||
if(!cache[pkg][name][id].meta){
|
||||
dojo.doc._cache[pkg][name][id].meta = {};
|
||||
}
|
||||
dojo.doc._cache[pkg][name][id][type] = data;
|
||||
if(callbacks && callbacks.length){
|
||||
var callback = callbacks.shift();
|
||||
callback.call(null, "load", data, args.input);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}else if(type == "pkgmeta"){
|
||||
try{
|
||||
var cached = dojo.doc._cache[name]["meta"];
|
||||
}catch(e){}
|
||||
|
||||
if(cached){
|
||||
if(callbacks && callbacks.length){
|
||||
var callback = callbacks.shift();
|
||||
callback.call(null, "load", cached, input);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
dojo.debug("Finding package meta for: " + name);
|
||||
|
||||
dojo.io.bind({
|
||||
url: "json/" + name + "/meta",
|
||||
input: input,
|
||||
mimetype: "text/json",
|
||||
error: function(type, data, evt, args){
|
||||
var callbacks = args.input.callbacks;
|
||||
if(callbacks && callbacks.length){
|
||||
var callback = callbacks.shift();
|
||||
callback.call(null, "error", {}, args.input);
|
||||
}
|
||||
},
|
||||
load: function(type, data, evt, args){
|
||||
var pkg = args.input.name;
|
||||
var cache = dojo.doc._cache;
|
||||
|
||||
dojo.debug("_buildCache() loaded for: " + pkg);
|
||||
if(!cache[pkg]){
|
||||
dojo.doc._cache[pkg] = {};
|
||||
}
|
||||
|
||||
if(!cache[pkg]["meta"]){
|
||||
dojo.doc._cache[pkg]["meta"] = {};
|
||||
}
|
||||
|
||||
var methods = data.methods;
|
||||
if(methods){
|
||||
for(var method in methods){
|
||||
if (method == "is") {
|
||||
continue;
|
||||
}
|
||||
for(var pId in methods[method]){
|
||||
if(!cache[pkg]["meta"][method]){
|
||||
dojo.doc._cache[pkg]["meta"][method] = {};
|
||||
}
|
||||
if(!cache[pkg]["meta"][method][pId]){
|
||||
dojo.doc._cache[pkg]["meta"][method][pId] = {};
|
||||
}
|
||||
dojo.doc._cache[pkg]["meta"][method][pId].summary = methods[method][pId];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dojo.doc._cache[pkg]["meta"].methods = methods;
|
||||
var requires = data.requires;
|
||||
if(requires){
|
||||
dojo.doc._cache[pkg]["meta"].requires = requires;
|
||||
}
|
||||
if(callbacks && callbacks.length){
|
||||
var callback = callbacks.shift();
|
||||
callback.call(null, "load", methods, input);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
selectFunction: function(/*String*/ name, /*String?*/ id){
|
||||
// summary: The combined information
|
||||
},
|
||||
|
||||
savePackage: function(/*String*/ name, /*String*/ description){
|
||||
dojo.doc._rpc.callRemote(
|
||||
"saveForm",
|
||||
{
|
||||
form: "DocPkgForm",
|
||||
path: "/WikiHome/DojoDotDoc/id",
|
||||
pname1: "main/text",
|
||||
pvalue1: "Test"
|
||||
}
|
||||
).addCallbacks(dojo.doc._results, dojo.doc._results);
|
||||
},
|
||||
|
||||
functionPackage: function(/*Function*/ callback, /*Object*/ input){
|
||||
dojo.debug("functionPackage() name: " + input.name + " for type: " + input.type);
|
||||
input.type = "function_names";
|
||||
input.callbacks.unshift(callback);
|
||||
input.callbacks.unshift(dojo.doc._functionPackage);
|
||||
dojo.doc._buildCache(input);
|
||||
},
|
||||
|
||||
_functionPackage: function(/*String*/ type, /*Array*/ data, /*Object*/ evt){
|
||||
dojo.debug("_functionPackage() name: " + evt.name + " for: " + evt.type + " with: " + type);
|
||||
evt.pkg = '';
|
||||
|
||||
var data = dojo.doc._cache['function_names'];
|
||||
for(var key in data){
|
||||
if(dojo.lang.inArray(data[key], evt.name)){
|
||||
evt.pkg = key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(evt.callbacks && evt.callbacks.length){
|
||||
var callback = evt.callbacks.shift();
|
||||
callback.call(null, type, data[key], evt);
|
||||
}
|
||||
},
|
||||
|
||||
_sort: function(a, b){
|
||||
if(a[0] < b[0]){
|
||||
return -1;
|
||||
}
|
||||
if(a[0] > b[0]){
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
dojo.event.topic.subscribe("/doc/search", dojo.doc, "_onDocSearch");
|
||||
dojo.event.topic.subscribe("/doc/selectFunction", dojo.doc, "_onDocSelectFunction");
|
||||
|
||||
dojo.event.topic.registerPublisher("/doc/results", dojo.doc, "_printResults");
|
||||
dojo.event.topic.registerPublisher("/doc/functionDetail", dojo.doc, "_printFunctionDetail");
|
Loading…
Add table
Add a link
Reference in a new issue