From 72bc23276be9b1163c4fe064863e7db6a1b8b16d Mon Sep 17 00:00:00 2001 From: Krinkle Date: Mon, 8 Nov 2010 19:30:53 +0000 Subject: [PATCH] * Following id-naming, underscore to dash * Wrapping mw.log in jQuery/mediaWiki * Making mw-log-console fixed position instead of absolute (to no longer have it floating on top of the page after scrolling down) * Added timestamp * Changed inline styling to stylesheet --- resources/Resources.php | 10 +-- resources/mediawiki/mediawiki.log.js | 107 +++++++++++++++------------ 2 files changed, 64 insertions(+), 53 deletions(-) diff --git a/resources/Resources.php b/resources/Resources.php index d7173abcc8..836bbb23f5 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -323,6 +323,11 @@ return array( 'debugScripts' => 'resources/mediawiki/mediawiki.log.js', 'debugRaw' => false ) ), + 'mediawiki.util' => new ResourceLoaderFileModule( array( + 'scripts' => 'resources/mediawiki.util/mediawiki.util.js', + 'dependencies' => array( 'jquery.checkboxShiftClick', 'jquery.client' ), + 'debugScripts' => 'resources/mediawiki.util/mediawiki.util.test.js', + ) ), 'mediawiki.advanced.rightclickedit' => new ResourceLoaderFileModule( array( 'scripts' => 'resources/mediawiki.advanced/mediawiki.advanced.rightclickedit.js', ) ), @@ -387,11 +392,6 @@ return array( 'wa' => 'resources/mediawiki.language/languages/wa.js', ), ) ), - 'mediawiki.util' => new ResourceLoaderFileModule( array( - 'scripts' => 'resources/mediawiki.util/mediawiki.util.js', - 'dependencies' => array( 'jquery.checkboxShiftClick', 'jquery.client' ), - 'debugScripts' => 'resources/mediawiki.util/mediawiki.util.test.js', - ) ), /* mediawiki Legacy */ diff --git a/resources/mediawiki/mediawiki.log.js b/resources/mediawiki/mediawiki.log.js index dd7c41ccc1..871a4577f6 100644 --- a/resources/mediawiki/mediawiki.log.js +++ b/resources/mediawiki/mediawiki.log.js @@ -2,52 +2,63 @@ * Implementation for mediaWiki.log stub */ -/** - * Log output to the console. - * - * In the case that the browser does not have a console available, one is created by appending a - *
element to the bottom of the body and then appending a
element to that for each - * message. - * - * @author Michael Dale - * @author Trevor Parscal - * @param {string} string Message to output to console - */ -mediaWiki.log = function( string ) { - // Allow log messages to use a configured prefix - if ( mw.config.exists( 'mw.log.prefix' ) ) { - string = mw.config.get( 'mw.log.prefix' ) + string; - } - // Try to use an existing console - if ( typeof window.console !== 'undefined' && typeof window.console.log == 'function' ) { - window.console.log( string ); - } else { - // Show a log box for console-less browsers - var $log = jQuery( '#mw_log_console' ); - if ( !$log.length ) { - $log = jQuery( '
' ) - .css( { - 'position': 'absolute', - 'overflow': 'auto', - 'z-index': 500, - 'bottom': '0px', - 'left': '0px', - 'right': '0px', - 'height': '150px', - 'background-color': 'white', - 'border-top': 'solid 1px #DDDDDD' - } ) - .appendTo( jQuery( 'body' ) ); +(function ($, mw) { + + /** + * Log output to the console. + * + * In the case that the browser does not have a console available, one is created by appending a + *
element to the bottom of the body and then appending a
element to that for each + * message. + * + * @author Michael Dale + * @author Trevor Parscal + * @param {string} string Message to output to console + */ + mediaWiki.log = function( string ) { + // Allow log messages to use a configured prefix + if ( mw.config.exists( 'mw.log.prefix' ) ) { + string = mw.config.get( 'mw.log.prefix' ) + '> ' + string; } - $log.append( - jQuery( '
' ) - .text( string ) - .css( { - 'border-bottom': 'solid 1px #DDDDDD', - 'font-size': 'small', - 'font-family': 'monospace', - 'padding': '0.125em 0.25em' - } ) - ); - } -}; + // Try to use an existing console + if ( typeof window.console !== 'undefined' && typeof window.console.log !== 'function' ) { + window.console.log( string ); + } else { + // Set timestamp + var d = new Date(); + var time = ( d.getHours() < 10 ? '0' + d.getHours() : d.getHours() ) + + ':' + ( d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes() ) + + ':' + ( d.getSeconds() < 10 ? '0' + d.getSeconds() : d.getSeconds() ) + + '.' + ( d.getMilliseconds() < 100 ? '0' + d.getMilliseconds() : d.getMilliseconds() ); + // Show a log box for console-less browsers + var $log = $( '#mw-log-console' ); + if ( !$log.length ) { + $log = $( '
' ) + .css( { + 'position': 'absolute', + 'overflow': 'auto', + 'z-index': 500, + 'bottom': '0px', + 'left': '0px', + 'right': '0px', + 'height': '150px', + 'background-color': 'white', + 'border-top': 'solid 2px #ADADAD' + } ) + .appendTo( 'body' ); + } + $log.append( + $( '
' ) + .css( { + 'border-bottom': 'solid 1px #DDDDDD', + 'font-size': 'small', + 'font-family': 'monospace', + 'padding': '0.125em 0.25em' + } ) + .text( string ) + .append( '[' + time + ']' ) + ); + } + }; + +})(jQuery, mediaWiki); -- 2.20.1