Subversion Repositories Applications.papyrus

Rev

Rev 1372 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1372 Rev 1422
1
/*
1
/*
2
	Copyright (c) 2004-2006, The Dojo Foundation
2
	Copyright (c) 2004-2006, The Dojo Foundation
3
	All Rights Reserved.
3
	All Rights Reserved.
4
 
4
 
5
	Licensed under the Academic Free License version 2.1 or above OR the
5
	Licensed under the Academic Free License version 2.1 or above OR the
6
	modified BSD license. For more information on Dojo licensing, see:
6
	modified BSD license. For more information on Dojo licensing, see:
7
 
7
 
8
		http://dojotoolkit.org/community/licensing.shtml
8
		http://dojotoolkit.org/community/licensing.shtml
9
*/
9
*/
-
 
10
 
-
 
11
 
10
 
12
 
11
dojo.provide("dojo.debug.console");
13
dojo.provide("dojo.debug.console");
12
dojo.require("dojo.logging.ConsoleLogger");
14
dojo.require("dojo.logging.ConsoleLogger");
13
if (window.console) {
15
if (window.console) {
14
	if (console.info != null) {
16
	if (console.info != null) {
15
		dojo.hostenv.println = function () {
17
		dojo.hostenv.println = function () {
16
			if (!djConfig.isDebug) {
18
			if (!djConfig.isDebug) {
17
				return;
19
				return;
18
			}
20
			}
19
			console.info.apply(console, arguments);
21
			console.info.apply(console, arguments);
20
		};
22
		};
21
		dojo.debug = dojo.hostenv.println;
23
		dojo.debug = dojo.hostenv.println;
22
		dojo.debugDeep = dojo.debug;
24
		dojo.debugDeep = dojo.debug;
23
		dojo.debugShallow = function (obj, showMethods, sort) {
25
		dojo.debugShallow = function (obj, showMethods, sort) {
24
			if (!djConfig.isDebug) {
26
			if (!djConfig.isDebug) {
25
				return;
27
				return;
26
			}
28
			}
27
			showMethods = (showMethods != false);
29
			showMethods = (showMethods != false);
28
			sort = (sort != false);
30
			sort = (sort != false);
29
			if (obj == null || obj.constructor == null) {
31
			if (obj == null || obj.constructor == null) {
30
				return dojo.debug(obj);
32
				return dojo.debug(obj);
31
			}
33
			}
32
			var type = obj.declaredClass;
34
			var type = obj.declaredClass;
33
			if (type == null) {
35
			if (type == null) {
34
				type = obj.constructor.toString().match(/function\s*(.*)\(/);
36
				type = obj.constructor.toString().match(/function\s*(.*)\(/);
35
				if (type) {
37
				if (type) {
36
					type = type[1];
38
					type = type[1];
37
				}
39
				}
38
			}
40
			}
39
			if (type) {
41
			if (type) {
40
				if (type == "String" || type == "Number") {
42
				if (type == "String" || type == "Number") {
41
					return dojo.debug(type + ": ", obj);
43
					return dojo.debug(type + ": ", obj);
42
				}
44
				}
43
				if (showMethods && !sort) {
45
				if (showMethods && !sort) {
44
					var sortedObj = obj;
46
					var sortedObj = obj;
45
				} else {
47
				} else {
46
					var propNames = [];
48
					var propNames = [];
47
					if (showMethods) {
49
					if (showMethods) {
48
						for (var prop in obj) {
50
						for (var prop in obj) {
49
							propNames.push(prop);
51
							propNames.push(prop);
50
						}
52
						}
51
					} else {
53
					} else {
52
						for (var prop in obj) {
54
						for (var prop in obj) {
53
							if (typeof obj[prop] != "function") {
55
							if (typeof obj[prop] != "function") {
54
								propNames.push(prop);
56
								propNames.push(prop);
55
							} else {
57
							} else {
56
								dojo.debug(prop);
58
								dojo.debug(prop);
57
							}
59
							}
58
						}
60
						}
59
					}
61
					}
60
					if (sort) {
62
					if (sort) {
61
						propNames.sort();
63
						propNames.sort();
62
					}
64
					}
63
					var sortedObj = {};
65
					var sortedObj = {};
64
					dojo.lang.forEach(propNames, function (prop) {
66
					dojo.lang.forEach(propNames, function (prop) {
65
						sortedObj[prop] = obj[prop];
67
						sortedObj[prop] = obj[prop];
66
					});
68
					});
67
				}
69
				}
68
				return dojo.debug(type + ": %o\n%2.o", obj, sortedObj);
70
				return dojo.debug(type + ": %o\n%2.o", obj, sortedObj);
69
			}
71
			}
70
			return dojo.debug(obj.constructor + ": ", obj);
72
			return dojo.debug(obj.constructor + ": ", obj);
71
		};
73
		};
72
	} else {
74
	} else {
73
		if (console.log != null) {
75
		if (console.log != null) {
74
			dojo.hostenv.println = function () {
76
			dojo.hostenv.println = function () {
75
				if (!djConfig.isDebug) {
77
				if (!djConfig.isDebug) {
76
					return;
78
					return;
77
				}
79
				}
78
				var args = dojo.lang.toArray(arguments);
80
				var args = dojo.lang.toArray(arguments);
79
				console.log("DEBUG: " + args.join(" "));
81
				console.log("DEBUG: " + args.join(" "));
80
			};
82
			};
81
			dojo.debug = dojo.hostenv.println;
83
			dojo.debug = dojo.hostenv.println;
82
		} else {
84
		} else {
83
			dojo.debug("dojo.debug.console requires Firebug > 0.4");
85
			dojo.debug("dojo.debug.console requires Firebug > 0.4");
84
		}
86
		}
85
	}
87
	}
86
} else {
88
} else {
87
	if (dojo.render.html.opera) {
89
	if (dojo.render.html.opera) {
88
		if (opera && opera.postError) {
90
		if (opera && opera.postError) {
89
			dojo.hostenv.println = opera.postError;
91
			dojo.hostenv.println = opera.postError;
90
		} else {
92
		} else {
91
			dojo.debug("dojo.debug.Opera requires Opera > 8.0");
93
			dojo.debug("dojo.debug.Opera requires Opera > 8.0");
92
		}
94
		}
93
	}
95
	}
94
}
96
}
95
 
97