mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto
synced 2024-11-24 00:05:00 +00:00
ce27d6eefc
Change-Id: Id5630bacfbc97ace3d2c68b69403b463eb6b5e87
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
( function ( $, mw ) {
|
|
|
|
mw.scribunto = {
|
|
errors: null,
|
|
|
|
'setErrors': function ( errors ) {
|
|
this.errors = errors;
|
|
},
|
|
|
|
'init': function () {
|
|
var regex = /^mw-scribunto-error-(\d+)/,
|
|
that = this,
|
|
dialog = $( '<div>' );
|
|
|
|
dialog.dialog( {
|
|
title: mw.msg( 'scribunto-parser-dialog-title' ),
|
|
autoOpen: false
|
|
} );
|
|
|
|
$( '.scribunto-error' ).each( function ( index, span ) {
|
|
var matches = regex.exec( span.id );
|
|
if ( matches === null ) {
|
|
console.log( "mw.scribunto.init: regex mismatch!" );
|
|
return;
|
|
}
|
|
var errorId = parseInt( matches[1] );
|
|
$( span )
|
|
.css( 'cursor', 'pointer' )
|
|
.bind( 'click', function ( evt ) {
|
|
if ( typeof that.errors[ errorId ] !== 'string' ) {
|
|
console.log( "mw.scribunto.init: error " + matches[1] + " not found, " +
|
|
"mw.loader.using() callback may not have been called yet." );
|
|
return;
|
|
}
|
|
var error = that.errors[ errorId ];
|
|
dialog
|
|
.dialog( 'close' )
|
|
.html( error )
|
|
.dialog( 'option', 'position', [ evt.clientX + 5, evt.clientY + 5 ] )
|
|
.dialog( 'open' );
|
|
} );
|
|
} );
|
|
}
|
|
};
|
|
|
|
$( document ).ready( function () {
|
|
mw.scribunto.init();
|
|
} );
|
|
|
|
} ) ( jQuery, mediaWiki );
|
|
|