mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
New build scripts
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5282 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
115
source/web/scripts/ajax/dojo/src/debug/console.js
Normal file
115
source/web/scripts/ajax/dojo/src/debug/console.js
Normal file
@@ -0,0 +1,115 @@
|
||||
/*
|
||||
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.debug.console");
|
||||
dojo.require("dojo.logging.ConsoleLogger");
|
||||
|
||||
// summary:
|
||||
// Console logger, for use with FireFox Firebug, Safari and Opera's consoles.
|
||||
// description:
|
||||
// This package redirects the normal dojo debugging output to the console log in modern browsers.
|
||||
// When using Firebug, it does this by sending the entire object to the console,
|
||||
// rather than just overriding dojo.hostenv.println, so that Firebug's interactive
|
||||
// object inspector is available.
|
||||
// see: http://www.joehewitt.com/software/firebug/docs.php
|
||||
|
||||
if (window.console) {
|
||||
if (console.info != null) {
|
||||
// using a later version of Firebug -- lots of fun stuff!
|
||||
|
||||
dojo.hostenv.println = function() {
|
||||
// summary: Write all of the arguments to the Firebug console
|
||||
// description: Uses console.info() so that the (i) icon prints next to the debug line
|
||||
// rather than munging the arguments by adding "DEBUG:" in front of them.
|
||||
// This allows us to use Firebug's string handling to do interesting things
|
||||
if (!djConfig.isDebug) { return; }
|
||||
console.info.apply(console, arguments);
|
||||
}
|
||||
dojo.debug=dojo.hostenv.println;
|
||||
dojo.debugDeep = dojo.debug;
|
||||
|
||||
dojo.debugShallow = function(/*Object*/ obj, /*Boolean?*/showMethods, /*Boolean?*/sort) {
|
||||
// summary: Write first-level properties of obj to the console.
|
||||
// obj: Object or Array to debug
|
||||
// showMethods: Pass false to skip outputing methods of object, any other value will output them.
|
||||
// sort: Pass false to skip sorting properties, any other value will sort.
|
||||
if (!djConfig.isDebug) { return; }
|
||||
|
||||
showMethods = (showMethods != false);
|
||||
sort = (sort != false);
|
||||
|
||||
// handle null or something without a constructor (in which case we don't know the type)
|
||||
if (obj == null || obj.constructor == null) {
|
||||
return dojo.debug(obj);
|
||||
}
|
||||
|
||||
// figure out type via a standard constructor (Object, String, Date, etc)
|
||||
var type = obj.declaredClass;
|
||||
if (type == null) {
|
||||
type = obj.constructor.toString().match(/function\s*(.*)\(/);
|
||||
if (type) { type = type[1] };
|
||||
}
|
||||
// if we got a viable type, use Firebug's interactive property dump feature
|
||||
if (type) {
|
||||
if (type == "String" || type == "Number") {
|
||||
return dojo.debug(type+": ", obj);
|
||||
}
|
||||
if (showMethods && !sort) {
|
||||
var sortedObj = obj;
|
||||
} else {
|
||||
var propNames = [];
|
||||
if (showMethods) {
|
||||
for (var prop in obj) {
|
||||
propNames.push(prop);
|
||||
}
|
||||
} else {
|
||||
for (var prop in obj) {
|
||||
if (typeof obj[prop] != "function") { propNames.push(prop); }
|
||||
else dojo.debug(prop);
|
||||
}
|
||||
}
|
||||
if (sort) propNames.sort();
|
||||
var sortedObj = {};
|
||||
dojo.lang.forEach(propNames, function(prop) {
|
||||
sortedObj[prop] = obj[prop];
|
||||
});
|
||||
}
|
||||
|
||||
return dojo.debug(type+": %o\n%2.o",obj,sortedObj);
|
||||
}
|
||||
|
||||
// otherwise just output the constructor + object,
|
||||
// which is nice for a DOM element, etc
|
||||
return dojo.debug(obj.constructor + ": ", obj);
|
||||
}
|
||||
|
||||
} else if (console.log != null) {
|
||||
// using Safari or an old version of Firebug
|
||||
dojo.hostenv.println=function() {
|
||||
if (!djConfig.isDebug) { return ; }
|
||||
// make sure we're only writing a single string to Safari's console
|
||||
var args = dojo.lang.toArray(arguments);
|
||||
console.log("DEBUG: " + args.join(" "));
|
||||
}
|
||||
dojo.debug=dojo.hostenv.println;
|
||||
} else {
|
||||
// not supported
|
||||
dojo.debug("dojo.debug.console requires Firebug > 0.4");
|
||||
}
|
||||
} else if (dojo.render.html.opera) {
|
||||
// using Opera 8.0 or later
|
||||
if (opera && opera.postError) {
|
||||
dojo.hostenv.println=opera.postError;
|
||||
// summary: hook debugging up to Opera's postError routine
|
||||
} else {
|
||||
dojo.debug("dojo.debug.Opera requires Opera > 8.0");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user