⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 docs.js

📁 初学者
💻 JS
📖 第 1 页 / 共 2 页
字号:
					name = pkg;					dojo.debug("_onDocSearch found a package");					//dojo.docs._onDocSelectPackage(input);					return;				}				for(var i = 0, fn; fn = data[pkg][i]; i++){					if(fn.toLowerCase().indexOf(name) != -1){						dojo.debug("_onDocSearch(): Search matched " + fn);						var meta = _this.getPackageMeta({package: pkg});						meta.addCallback(closure(pkg, fn));						list.push(meta);						// Build a list of all packages that need to be loaded and their loaded state.						continue pkgLoop;					}				}			}						list = new dojo.DeferredList(list);			list.addCallback(function(results){				dojo.debug("_onDocSearch(): All packages loaded");				_this._printFunctionResults(results[0][1]);			});		});	},	_onDocSearchFn: function(/*String*/ type, /*Array*/ data, /*Object*/ evt){		dojo.debug("_onDocSearchFn(" + evt.name + ")");		var name = evt.name || evt.pkg;		dojo.debug("_onDocSearchFn found a function");		evt.pkgs = packages;		evt.pkg = name;		evt.loaded = 0;		for(var i = 0, pkg; pkg = packages[i]; i++){			dojo.docs.getPkgMeta(evt, pkg, dojo.docs._onDocResults);		}	},	_onPkgResults: function(/*String*/ type, /*Object*/ data, /*Object*/ evt, /*Object*/ input){		dojo.debug("_onPkgResults(" + evt.type + ")");		var description = "";		var path = "";		var methods = {};		var requires = {};		if(input){			input[evt.type] = data;			if(input.expects && input.expects.pkgresults){				for(var i = 0, expect; expect = input.expects.pkgresults[i]; i++){					if(!(expect in input)){						dojo.debug("_onPkgResults() waiting for more data");						return;					}				}			}			path = input.pkgdoc.path;			description = input.pkgdoc.description;			methods = input.pkgmeta.methods;			requires = input.pkgmeta.requires;		}		var pkg = evt.name.replace("_", "*");		var results = {			path: path,			description: description,			size: 0,			methods: [],			pkg: pkg,			requires: requires		}		var rePrivate = /_[^.]+$/;		for(var method in methods){			if(!rePrivate.test(method)){				for(var pId in methods[method]){					results.methods.push({						pkg: pkg,						name: method,						id: pId,						summary: methods[method][pId].summary					})				}			}		}		results.size = results.methods.length;		dojo.docs._printPkgResult(results);	},	_onDocResults: function(/*String*/ type, /*Object*/ data, /*Object*/ evt, /*Object*/ input){		dojo.debug("_onDocResults(" + evt.name + "/" + input.pkg + ") " + type);		++input.loaded;		if(input.loaded == input.pkgs.length){			var pkgs = input.pkgs;			var name = input.pkg;			var results = {methods: []};			var rePrivate = /_[^.]+$/;			data = dojo.docs._cache;			for(var i = 0, pkg; pkg = pkgs[i]; i++){				var methods = dojo.docs._getCache(pkg, "meta", "methods");				for(var fn in methods){					if(fn.toLowerCase().indexOf(name) == -1){						continue;					}					if(fn != "requires" && !rePrivate.test(fn)){						for(var pId in methods[fn]){							var result = {								pkg: pkg,								name: fn,								id: "_",								summary: ""							}							if(methods[fn][pId].summary){								result.summary = methods[fn][pId].summary;							}							results.methods.push(result);						}					}				}			}			dojo.debug("Publishing docResults");			dojo.docs._printFnResults(results);		}	},	_printFunctionResults: function(results){		dojo.debug("_printFnResults(): called");		// summary: Call this function to send the /docs/function/results topic	},	_printPkgResult: function(results){		dojo.debug("_printPkgResult(): called");	},	_onDocSelectFunction: function(/*Object*/ input){		// summary: Get doc, meta, and src		var name = input.name;		var package = input.package || "";		var id = input.id || "_";		dojo.debug("_onDocSelectFunction(" + name + ")");		if(!name || !package) return false;		var pkgMeta = this.getPackageMeta({package: package});		var meta = this.getFunctionMeta({package: package, name: name, id: id});		var doc = this.getFunctionDocumentation({package: package, name: name, id: id});				var list = new dojo.DeferredList([pkgMeta, meta, doc]);		list.addCallback(function(results){			dojo.debug("_onDocSelectFunction() loaded");			for(var i = 0, result; result = results[i]; i++){				dojo.debugShallow(result[1]);			}		});				return list;	},	_onDocSelectPackage: function(/*Object*/ input){		dojo.debug("_onDocSelectPackage(" + input.name + ")")		input.expects = {			"pkgresults": ["pkgmeta", "pkgdoc"]		};		dojo.docs.getPkgMeta(input, input.name, dojo.docs._onPkgResults);		dojo.docs.getPkgDoc(input, input.name, dojo.docs._onPkgResults);	},	_onDocSelectResults: function(/*String*/ type, /*Object*/ data, /*Object*/ evt, /*Object*/ input){		dojo.debug("_onDocSelectResults(" + evt.type + ", " + evt.name + ")");		if(evt.type == "meta"){			dojo.docs.getPkgMeta(input, evt.pkg, dojo.docs._onDocSelectResults);		}		if(input){			input[evt.type] = data;			if(input.expects && input.expects.docresults){				for(var i = 0, expect; expect = input.expects.docresults[i]; i++){					if(!(expect in input)){						dojo.debug("_onDocSelectResults() waiting for more data");						return;					}				}			}		}		dojo.docs._printFunctionDetail(input);	},		_printFunctionDetail: function(results) {		// summary: Call this function to send the /docs/function/detail topic event	},	selectFunction: function(/*String*/ name, /*String?*/ id){		// summary: The combined information	},	savePackage: function(/*Object*/ callbackObject, /*String*/ callback, /*Object*/ parameters){		dojo.event.kwConnect({			srcObj: dojo.docs,			srcFunc: "_savedPkgRpc",			targetObj: callbackObject,			targetFunc: callback,			once: true		});				var props = {};		var cache = dojo.docs._getCache(parameters.pkg, "meta");		var i = 1;		if(!cache.path){			var path = "id";			props[["pname", i].join("")] = "DocPkgForm/require";			props[["pvalue", i++].join("")] = parameters.pkg;		}else{			var path = cache.path;		}		props.form = "//DocPkgForm";		props.path = ["/WikiHome/DojoDotDoc/", path].join("");		if(parameters.description){			props[["pname", i].join("")] = "main/text";			props[["pvalue", i++].join("")] = parameters.description;		}				dojo.docs._rpc.callRemote("saveForm",	props).addCallbacks(dojo.docs._pkgRpc, dojo.docs._pkgRpc);	},	_pkgRpc: function(data){		if(data.name){			dojo.docs._getCache(data["DocPkgForm/require"], "meta").path = data.name;			dojo.docs._savedPkgRpc("load");		}else{			dojo.docs._savedPkgRpc("error");		}	},	_savedPkgRpc: function(type){	},	functionPackages: function(/*String*/ name, /*Function*/ callback, /*Object*/ input){		// summary: Gets the package associated with a function and stores it in the .pkg value of input		dojo.debug("functionPackages() name: " + name);		if(!input){			input = {};		}		if(!input.callbacks){			input.callbacks = [];		}		input.type = "function_names";		input.name = name;		input.callbacks.unshift(callback);		input.callbacks.unshift(dojo.docs._functionPackages);	},	_functionPackages: function(/*String*/ type, /*Array*/ data, /*Object*/ evt){		dojo.debug("_functionPackages() name: " + evt.name);		evt.pkg = '';		var results = [];		var data = dojo.docs._cache['function_names'];		for(var key in data){			if(dojo.lang.inArray(data[key], evt.name)){				dojo.debug("_functionPackages() package: " + key);				results.push(key);			}		}		if(evt.callbacks && evt.callbacks.length){			evt.callbacks.shift()(type, results, evt, evt.input);		}	},	setUserName: function(/*String*/ name){		dojo.docs._userName = name;		if(name && dojo.docs._password){			dojo.docs._logIn();		}	},	setPassword: function(/*String*/ password){		dojo.docs._password = password;		if(password && dojo.docs._userName){			dojo.docs._logIn();		}	},	_logIn: function(){		dojo.io.bind({			url: dojo.docs._rpc.serviceUrl.toString(),			method: "post",			mimetype: "text/json",			content: {				username: dojo.docs._userName,				password: dojo.docs._password			},			load: function(type, data){				if(data.error){					dojo.docs.logInSuccess();				}else{					dojo.docs.logInFailure();				}			},			error: function(){				dojo.docs.logInFailure();			}		});	},	logInSuccess: function(){},	logInFailure: function(){},	_set: function(/*Object*/ base, /*String...*/ keys, /*String*/ value){		var args = [];		for(var i = 0, arg; arg = arguments[i]; i++){			args.push(arg);		}		if(args.length < 3) return;		base = args.shift();		value = args.pop();		var key = args.pop();		for(var i = 0, arg; arg = args[i]; i++){			if(typeof base[arg] != "object"){				base[arg] = {};			}			base = base[arg];		}		base[key] = value;	},	_getCache: function(/*String...*/ keys){		var obj = dojo.docs._cache;		for(var i = 0; i < arguments.length; i++){			var arg = arguments[i];			if(!obj[arg]){				obj[arg] = {};			}			obj = obj[arg];		}		return obj;	}});dojo.event.topic.subscribe("/docs/search", dojo.docs, "_onDocSearch");dojo.event.topic.subscribe("/docs/function/select", dojo.docs, "_onDocSelectFunction");dojo.event.topic.subscribe("/docs/package/select", dojo.docs, "_onDocSelectPackage");dojo.event.topic.registerPublisher("/docs/function/results", dojo.docs, "_printFunctionResults");dojo.event.topic.registerPublisher("/docs/function/detail", dojo.docs, "_printFunctionDetail");dojo.event.topic.registerPublisher("/docs/package/detail", dojo.docs, "_printPkgResult");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -