MediaWiki:Gadget-refToolbar.js

From MOASSpedia
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/**
 * 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 );
}

}() );