Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Gadget-refToolbar.js: Difference between revisions

MediaWiki interface page
Created page with "( function ( mw, $ ) { 'use strict'; function initializeRefTools() { if( window.refToolbarInstalled || $( '#wpTextbox1[readonly]' ).length ){ return; } if ( mw.user.options.get( 'usebetatoolbar' ) ) { // Enhanced editing toolbar is on. Going to load RefToolbar 2.0. $.getScript( '//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-refToolbarBase.js&action=raw&ctype=text/javascript', function() { mw.loader.using( [ 'ext.wikiEditor' ], function () { mw...."
 
No edit summary
 
Line 1: Line 1:
( function ( mw, $ ) {
/**
* RefToolbar
*
* Adds tools for citing references to the edit toolbar.
* See [[Wikipedia:RefToolbar]] for further documentation. One of two
* possible versions will load (Reftoolbar 1.0 or Reftoolbar 2.0)
* depending on the user preferences (the usebetatoolbar preference).
*
* @see: [[Wikipedia:RefToolbar]]
* @see: [[MediaWiki:RefToolbar.js]]
* @see: [[MediaWiki:RefToolbarConfig.js]]
* @see: [[MediaWiki:RefToolbarLegacy.js]]
* @see: [[MediaWiki:RefToolbarMessages-en.js]]
* @see: [[MediaWiki:RefToolbarMessages-de.js]]
* @see: [[MediaWiki:Gadget-refToolbarBase.js]]
* @author: [[User:Mr.Z-man]]
* @author: [[User:Kaldari]]
*/
/*jshint browser: true, camelcase: true, curly: true, eqeqeq: true */
/*global $, mw */
( function () {
'use strict';
'use strict';
function initializeRefTools() {
function initializeRefTools() {
if( window.refToolbarInstalled || $( '#wpTextbox1[readonly]' ).length ){
if ( window.refToolbarInstalled || $( '#wpTextbox1[readonly]' ).length ) {
return;
return;
}
}
if ( mw.user.options.get( 'usebetatoolbar' ) ) {
        // cast to number, support both 1 and "1"
if ( +mw.user.options.get( 'usebetatoolbar' ) === 1 ) {
// Enhanced editing toolbar is on. Going to load RefToolbar 2.0.
// Enhanced editing toolbar is on. Going to load RefToolbar 2.0.
$.getScript( '//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-refToolbarBase.js&action=raw&ctype=text/javascript', function() {
// TODO:
mw.loader.using( [ 'ext.wikiEditor' ], function () {
// * Explicitly declare global variables from [[MediaWiki:RefToolbar.js]] using window.*
mw.loader.load( '//en.wikipedia.org/w/index.php?title=MediaWiki:RefToolbar.js&action=raw&ctype=text/javascript' );
// * Move [[MediaWiki:RefToolbar.js]] to [[MediaWiki:Gadget-refToolbarDialogs.js]]
} );
// * Create the module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase' and 'ext.wikiEditor'
} );
// * Replace the code below by mw.loader.load( 'ext.gadget.refToolbarDialogs' );
} else if ( mw.user.options.get( 'showtoolbar' ) ) {
mw.loader.using( [ 'ext.gadget.refToolbarBase', 'ext.wikiEditor' ], function () {
mw.loader.load( '/w/index.php?title=MediaWiki:RefToolbar.js&action=raw&ctype=text/javascript' );
} );
} else if ( +mw.user.options.get( 'gadget-legacyToolbar' ) === 1 ) {
// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)
// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)
mw.loader.load( '//en.wikipedia.org/w/index.php?title=MediaWiki:RefToolbarLegacy.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400' );
mw.loader.load( '/w/index.php?title=MediaWiki:RefToolbarLegacy.js&action=raw&ctype=text/javascript' );
} else {
} else {
return;
return;
Line 20: Line 44:
window.refToolbarInstalled = true;
window.refToolbarInstalled = true;
}
}
 
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
if ( /^(edit|submit)$/.test( mw.config.get( 'wgAction' ) ) ) {
// Double check if user.options is loaded, to prevent errors when copy pasted accross installations
// Double check if user.options is loaded, to prevent errors when copy pasted accross installations
$.when( mw.loader.using( ['user.options'] ), $.ready ).done( initializeRefTools );
$.when( mw.loader.using( ['user.options'] ), $.ready ).then( initializeRefTools );
}
}
 
}( mediaWiki, jQuery ) );
}() );

Latest revision as of 00:38, 2 July 2024

/**
 * RefToolbar
 *
 * Adds tools for citing references to the edit toolbar.
 * See [[Wikipedia:RefToolbar]] for further documentation. One of two
 * possible versions will load (Reftoolbar 1.0 or Reftoolbar 2.0)
 * depending on the user preferences (the usebetatoolbar preference).
 *
 * @see: [[Wikipedia:RefToolbar]]
 * @see: [[MediaWiki:RefToolbar.js]]
 * @see: [[MediaWiki:RefToolbarConfig.js]]
 * @see: [[MediaWiki:RefToolbarLegacy.js]]
 * @see: [[MediaWiki:RefToolbarMessages-en.js]]
 * @see: [[MediaWiki:RefToolbarMessages-de.js]]
 * @see: [[MediaWiki:Gadget-refToolbarBase.js]]
 * @author: [[User:Mr.Z-man]]
 * @author: [[User:Kaldari]]
 */
/*jshint browser: true, camelcase: true, curly: true, eqeqeq: true */
/*global $, mw */
( function () {
'use strict';
function initializeRefTools() {
	if ( window.refToolbarInstalled || $( '#wpTextbox1[readonly]' ).length ) {
		return;
	}
        // cast to number, support both 1 and "1" 
	if ( +mw.user.options.get( 'usebetatoolbar' ) === 1 ) {
		// Enhanced editing toolbar is on. Going to load RefToolbar 2.0.
		// TODO:
		// * Explicitly declare global variables from [[MediaWiki:RefToolbar.js]] using window.*
		// * Move [[MediaWiki:RefToolbar.js]] to [[MediaWiki:Gadget-refToolbarDialogs.js]]
		// * Create the module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase' and 'ext.wikiEditor'
		// * Replace the code below by mw.loader.load( 'ext.gadget.refToolbarDialogs' );
		mw.loader.using( [ 'ext.gadget.refToolbarBase', 'ext.wikiEditor' ], function () {
			mw.loader.load( '/w/index.php?title=MediaWiki:RefToolbar.js&action=raw&ctype=text/javascript' );
		} );
	} else if ( +mw.user.options.get( 'gadget-legacyToolbar' ) === 1 ) {
		// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)
		mw.loader.load( '/w/index.php?title=MediaWiki:RefToolbarLegacy.js&action=raw&ctype=text/javascript' );
	} else {
		return;
	}
	window.refToolbarInstalled = true;
}

if ( /^(edit|submit)$/.test( mw.config.get( 'wgAction' ) ) ) {
	// Double check if user.options is loaded, to prevent errors when copy pasted accross installations
	$.when( mw.loader.using( ['user.options'] ), $.ready ).then( initializeRefTools );
}

}() );