/[jquery]/jquery/jquery-log.js
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /jquery/jquery-log.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 43 - (show annotations)
Fri Aug 18 18:01:02 2006 UTC (17 years, 8 months ago) by dpavlin
File MIME type: application/javascript
File size: 2536 byte(s)
scroll also on toggle
1 /*
2 jquery logging plugin
3
4 2006-08-18 Dobrica Pavlinusic <dpavlin@rot13.org>
5 */
6
7 var _jql;
8
9 $.log = {
10
11 /* semi-private functions */
12
13 join: function(a) {
14 var m = '';
15 for (var i=0; i<a.length; i++)
16 m += a[i] + '<br/>';
17 return m;
18 },
19
20 insert: function(class, m) {
21 if (! _jql) this.create();
22
23 _jql.count[ class ]++;
24
25 var html = '<div class="jql-' + class + '"'
26 if ( ! _jql.on[class] ) html += ' style="display:none"';
27 html += '>' + m + '</div>';
28 $('#jql-log').append( html );
29 //$('#jql-log').prepend( html );
30
31 // refresh count
32 $('#jql-counter').html(
33 '<span class="jql-info">'+_jql.count.info+'</span> ' +
34 '<span class="jql-debug">'+_jql.count.debug+'</span> ' +
35 '<span class="jql-error">'+_jql.count.error+'</span>'
36 );
37
38 this.scroll();
39 },
40
41 scroll: function() {
42 // poor man's scroll to bottom
43 var e = document.getElementById('jql-log');
44 e.scrollTop = e.scrollHeight - e.clientHeight;
45 },
46
47 /* public functions */
48
49 create: function() {
50
51 $('body').append(
52 '<div id="jql" class="jql"><div id="jql-bar">' +
53 '<a href="#" onclick="javascript:return $.log.clean();">clean</a> | ' +
54 '<a href="#" class=".jql-info" onclick="javascript:return $.log.toggle(\'info\');">info</a> ' +
55 '<a href="#" class=".jql-debug" onclick="javascript:return $.log.toggle(\'debug\');">debug</a> ' +
56 '<a href="#" class=".jql-error" onclick="javascript:return $.log.toggle(\'error\');">error</a> | ' +
57 '<a href="#" onclick="javascript:return $.log.toggle();">close</a>' +
58 '</div><div id="jql-log"></div></div>' +
59 '<div id="jql-show" class="jql">' +
60 '<a href="#" onclick="javascript:return $.log.toggle();"><span id="jql-counter">?</span></a>' +
61 '</div>'
62 );
63
64 _jql = {
65 count: {
66 info: 0,
67 debug: 0,
68 error: 0
69 },
70 on: {
71 info: true,
72 debug: true,
73 error: true
74 }
75 };
76
77 this.debug('created logger');
78 },
79
80 /* onclick events */
81
82 toggle: function( what ) {
83 if (what) {
84 $.log.debug('toggle '+what);
85 $('.jql-'+what).toggle();
86 _jql.on[what] = ! _jql.on[what];
87 } else {
88 $.log.debug('toggle logger');
89 $('#jql').toggle();
90 $('#jql-show').toggle();
91 }
92 this.scroll();
93 return false;
94 },
95
96 clean: function() {
97 $('#jql-log').html('');
98 },
99
100 /* public methods to call from your code */
101
102 info: function() {
103 if (arguments) this.insert( 'info', this.join(arguments) );
104 },
105 debug: function() {
106 if (arguments) this.insert( 'debug', this.join(arguments) );
107 },
108 error: function() {
109 if (arguments) this.insert( 'error', this.join(arguments) );
110 }
111 };
112

  ViewVC Help
Powered by ViewVC 1.1.26