mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5282 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
92 lines
2.9 KiB
JavaScript
92 lines
2.9 KiB
JavaScript
/*
|
|
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.debug = function(/*...*/){
|
|
// summary:
|
|
// Produce a line of debug output. Does nothing unless
|
|
// djConfig.isDebug is true. Accepts any nubmer of args, joined with
|
|
// ' ' to produce a single line of debugging output. Caller should not
|
|
// supply a trailing "\n".
|
|
if (!djConfig.isDebug) { return; }
|
|
var args = arguments;
|
|
if(dj_undef("println", dojo.hostenv)){
|
|
dojo.raise("dojo.debug not available (yet?)");
|
|
}
|
|
var isJUM = dj_global["jum"] && !dj_global["jum"].isBrowser;
|
|
var s = [(isJUM ? "": "DEBUG: ")];
|
|
for(var i=0;i<args.length;++i){
|
|
if(!false && args[i] && args[i] instanceof Error){
|
|
var msg = "[" + args[i].name + ": " + dojo.errorToString(args[i]) +
|
|
(args[i].fileName ? ", file: " + args[i].fileName : "") +
|
|
(args[i].lineNumber ? ", line: " + args[i].lineNumber : "") + "]";
|
|
} else {
|
|
try {
|
|
var msg = String(args[i]);
|
|
} catch(e) {
|
|
if(dojo.render.html.ie) {
|
|
var msg = "[ActiveXObject]";
|
|
} else {
|
|
var msg = "[unknown]";
|
|
}
|
|
}
|
|
}
|
|
s.push(msg);
|
|
}
|
|
|
|
dojo.hostenv.println(s.join(" "));
|
|
}
|
|
|
|
/**
|
|
* this is really hacky for now - just
|
|
* display the properties of the object
|
|
**/
|
|
|
|
dojo.debugShallow = function(/*Object*/obj){
|
|
// summary:
|
|
// outputs a "name: value" style listing of all enumerable properties
|
|
// in obj. Does nothing if djConfig.isDebug == false.
|
|
// obj: the object to be enumerated
|
|
if (!djConfig.isDebug) { return; }
|
|
dojo.debug('------------------------------------------------------------');
|
|
dojo.debug('Object: '+obj);
|
|
var props = [];
|
|
for(var prop in obj){
|
|
try {
|
|
props.push(prop + ': ' + obj[prop]);
|
|
} catch(E) {
|
|
props.push(prop + ': ERROR - ' + E.message);
|
|
}
|
|
}
|
|
props.sort();
|
|
for(var i = 0; i < props.length; i++) {
|
|
dojo.debug(props[i]);
|
|
}
|
|
dojo.debug('------------------------------------------------------------');
|
|
}
|
|
|
|
dojo.debugDeep = function(/*Object*/obj){
|
|
// summary:
|
|
// provides an "object explorer" view of the passed obj in a popup
|
|
// window.
|
|
// obj: the object to be examined
|
|
if (!djConfig.isDebug) { return; }
|
|
if (!dojo.uri || !dojo.uri.dojoUri){ return dojo.debug("You'll need to load dojo.uri.* for deep debugging - sorry!"); }
|
|
if (!window.open){ return dojo.debug('Deep debugging is only supported in host environments with window.open'); }
|
|
var idx = dojo.debugDeep.debugVars.length;
|
|
dojo.debugDeep.debugVars.push(obj);
|
|
// dojo.undo.browser back and forward breaks relpaths
|
|
var url = new dojo.uri.Uri(location, dojo.uri.dojoUri("src/debug/deep.html?var="+idx)).toString();
|
|
var win = window.open(url, '_blank', 'width=600, height=400, resizable=yes, scrollbars=yes, status=yes');
|
|
try{
|
|
win.debugVar = obj;
|
|
}catch(e){}
|
|
}
|
|
dojo.debugDeep.debugVars = [];
|