MediaWiki:Gadget-refToolbar.js

/** * RefToolbar * * Adds tools for citing references to the edit toolbar. * See 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: 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 ); }

} );