moobugger - bookmark it!
diff --git a/Specs/SlickSpec/moobugger/debugger-iframe.js b/Specs/SlickSpec/moobugger/debugger-iframe.js index a30d1d8..45abbbc 100644 --- a/Specs/SlickSpec/moobugger/debugger-iframe.js +++ b/Specs/SlickSpec/moobugger/debugger-iframe.js @@ -11,7 +11,7 @@ var FOR_IN_MAX = 20; var debug = { $nil: Function.empty, - + $init: function(){ debug.loaded = false; debug.$groups = {'keys': [], 'values': []}; @@ -51,7 +51,7 @@ var debug = { holder.adopt(new Element('span').setHTML('{')); var x = 0; var length = 0; - + for (var len in chunk.value) length++; for (var key in chunk.value){ x++; @@ -82,22 +82,22 @@ var debug = { $element: function(el){ var el_style = el.style; if (!el_style) el_style = {}; - + var oldbg = el_style.backgroundColor; var oldfg = el_style.color; - + var link = new Element('a', {'href': '#'}).addEvents({ mouseenter: function(){ el_style.backgroundColor = '#DBEAF0'; el_style.color = '#757E8A'; }, - + mouseleave: function(){ el_style.backgroundColor = oldbg; el_style.color = oldfg; }, - + click: function(){ return false; } @@ -109,7 +109,7 @@ var debug = { }); return link.setHTML(htm.join(' '), '>'); }, - + $pre: function(content, klass){ var pre = new Element('pre', {'class': klass || 'message'}); if ($type(content) == "string") pre.appendText(content); @@ -118,7 +118,7 @@ var debug = { if (debug.loaded) debug._scroll.toBottom(); return pre; }, - + $log: function(args, separator, klass){ separator = $pick(separator, ', '); var sRegExp = /%[sdifo]/gi; @@ -139,14 +139,14 @@ var debug = { debug.$parse(args, separator, false, klass); return debug.$nil; }, - + $special: function(obj, klass){ if (obj.length == 1){ var one = obj[0]; var type = $type(one); if ((type == 'object' && one.name && one.message) || (type == 'string')){ var name, message; - + if (type == 'object'){ name = one.name; message = one.message; @@ -154,7 +154,7 @@ var debug = { name = klass.capitalize(); message = one; } - + return debug.$pre(name + ': ' + message, klass); } } @@ -166,32 +166,32 @@ var debug = { debug.$messages = Cookie.get('mootools-debugger-history') || []; debug.$messages = debug.$messages.length ? debug.$messages.replace(/%%%/g, ';').split('|||') : []; debug.$midx = debug.$messages.length; - + debug._body = $('debug').setStyle('display', 'block'); debug._messages = $('debug-messages'); - + debug.$groups.keys.push('$main$'); debug.$groups.values.push(debug._messages); - + debug._input = $('debug-input'); - + debug._scroll = new Fx.Scroll(debug._messages, {duration: 300, wait: false}); - + debug._input.addEvent('keydown', debug.$key); debug._max = $('debug-button-max').addEvent('click', debug.$max); debug._min = $('debug-button-min').addEvent('click', debug.$min); - + debug._close = $('debug-button-close').addEvent('click', debug.$unload); - + debug._maxValue = 132; debug._minValue = 18; - + var state = Cookie.get('mootools-debugger-state'); if (state) debug[state](); else debug.$max(); - + for (var i = 0, l = parent.debug.queue.length; i < l; i++){ var kue = parent.debug.queue[i]; debug[kue.name].apply(debug, kue.arguments); @@ -210,7 +210,7 @@ var debug = { debug._min.setStyle('display', 'block'); debug.$pad(); }, - + $min: function(){ Cookie.set('mootools-debugger-state', '$min', {duration: 10}); debug._messages.setStyles({ @@ -221,19 +221,19 @@ var debug = { debug._min.setStyle('display', 'none'); debug.$pad(); }, - + $pad: function(){ parent.debug.iFrame.style.height = debug._body.offsetHeight + 'px'; debug._messages.scrollTop = debug._messages.scrollHeight - debug._messages.offsetHeight; parent.Moo.Debugger.reposition(); }, - + $unload: function(){ if (!debug.loaded) return; debug.$init(); parent.Moo.Debugger.unload(); }, - + $focus: function(){ debug._input.focus(); }, @@ -257,7 +257,7 @@ var debug = { if (value.indexOf('var ') == 0) value = value.substring(4, value.length); if (value.charAt(value.length - 1) == ';') value = value.substring(0, value.length - 1); if (value.indexOf('{') == 0) value = '(' + value + ')'; - + parent.Moo.Debugger.evaluate(value); break; @@ -281,7 +281,7 @@ var debug = { debug.$midx = debug.$messages.length; } } - + return debug.$focus.delay(50); }, @@ -334,7 +334,7 @@ var debug = { else debug.error("no such timer called " + name); return debug.$nil; }, - + group: function(name){ if (debug.$groups.keys.contains(name)){ debug.error('a group called ' + name + ' already exists'); @@ -352,7 +352,7 @@ var debug = { } return debug.$nil; }, - + groupEnd: function(name){ var idx = debug.$groups.keys.indexOf(name); if (idx >= 0){ @@ -363,17 +363,17 @@ var debug = { } return debug.$nil; }, - + error: function(){ debug.$special($A(arguments), 'error'); return debug.$nil; }, - + warn: function(warning){ debug.$special($A(arguments), 'warning'); return debug.$nil; }, - + info: function(){ debug.$special($A(arguments), 'info'); return debug.$nil; diff --git a/Specs/SlickSpec/moobugger/debugger.js b/Specs/SlickSpec/moobugger/debugger.js index 166b72d..bf8af26 100644 --- a/Specs/SlickSpec/moobugger/debugger.js +++ b/Specs/SlickSpec/moobugger/debugger.js @@ -1,9 +1,9 @@ var Moo = { - + defined: function(obj){ return (obj != undefined); }, - + type: function(obj){ if (obj == null) return false; if (!Moo.defined(obj)) return false; @@ -26,7 +26,7 @@ var Moo = { } return type; } - + }; Moo.Client = { @@ -84,7 +84,7 @@ Moo.ViewPort = { }; Moo.Element = { - + addEvent: function(element, type, fn){ if (element.addEventListener) element.addEventListener(type, fn, false); else element.attachEvent('on' + type, fn); @@ -94,7 +94,7 @@ Moo.Element = { if (item.removeEventListener) item.removeEventListener(type, fn, false); else item.detachEvent('on' + type, fn); }, - + remove: function(item){ if (!item || !item.parentNode) return; item.parentNode.removeChild(item); @@ -111,11 +111,11 @@ Moo.Array = { }; Moo.String = { - + contains: function(item, string, s){ return (s) ? (s + item + s).indexOf(s + string + s) > -1 : item.indexOf(string) > -1; } - + }; Moo.Object = { @@ -141,17 +141,17 @@ Moo.Array.forEach(debug.methods, function(name){ }); Moo.Debugger = { - + load: function(){ - + document.documentElement.className = document.documentElement.className + ' moobugger'; - + debug.spacer = document.createElement('div'); debug.spacer.className = 'debug-spacer'; document.body.appendChild(debug.spacer); debug.iFrame = document.createElement('iframe'); - + debug.iFrame.frameBorder = 0; Moo.Object.add(debug.iFrame.style, { @@ -164,18 +164,18 @@ Moo.Debugger = { 'left': 0, 'zIndex': 999999 }); - + if (Moo.Client.Engine.ie) debug.iFrame.style.position = 'absolute'; debug.iFrame.id = debug.iFrame.name = 'debugger'; debug.iFrame.src = (debug.local) ? debug.path + 'debugger.html' : 'javascript:parent.debug.htmlString'; - - + + document.body.appendChild(debug.iFrame); - + Moo.Element.addEvent(debug.iFrame, 'load', Moo.Debugger.onFrameLoaded); }, - + getPath: function(){ var path = ''; Moo.Array.forEach(document.getElementsByTagName('script'), function(script){ @@ -183,20 +183,20 @@ Moo.Debugger = { }); return path + '/'; }, - + onFrameLoaded: function(){ debug.frame = window.frames['debugger']; - + Moo.Array.forEach(debug.methods, function(name){ debug[name] = debug.frame.debug[name]; }); - + Moo.Element.addEvent(window, 'resize', Moo.Debugger.reposition); Moo.Element.addEvent(window, 'scroll', Moo.Debugger.reposition); - + Moo.Debugger.reposition(); }, - + reposition: function(){ debug.spacer.style.height = debug.iFrame.offsetHeight + 'px'; var top = Moo.ViewPort.getHeight() - debug.iFrame.offsetHeight; @@ -206,7 +206,7 @@ Moo.Debugger = { debug.iFrame.style.top = top + 'px'; } }, - + unload: function(){ debug.queue = []; document.documentElement.className = document.documentElement.className.replace(/ ?moobugger ?/,' '); @@ -214,7 +214,7 @@ Moo.Debugger = { Moo.Element.remove(debug.spacer); Moo.Element.remove(document.getElementById('debug-bookmarklet')); }, - + evaluate: function(value){ try { var evaluation = value; diff --git a/Specs/SlickSpec/moobugger/test.html b/Specs/SlickSpec/moobugger/test.html index 550f51e..9d4b8e7 100644 --- a/Specs/SlickSpec/moobugger/test.html +++ b/Specs/SlickSpec/moobugger/test.html @@ -8,47 +8,47 @@Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
- +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
@@ -57,29 +57,29 @@Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.