MediaWiki:Gadget-refToolbar.js: Difference between revisions

From Eurovision Wiki
Jump to navigation Jump to search
en>SD0001
double check content model here; combine the two if conditions
 
m 1 revision imported
 
(No difference)

Latest revision as of 05:58, 19 March 2026

/**
 * 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: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() {

		// 2010 wikitext editor
		mw.hook('wikiEditor.toolbarReady').add(() => {
			// 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'
			// * Replace the code below by mw.loader.load( 'ext.gadget.refToolbarDialogs' );
			mw.loader.using('ext.gadget.refToolbarBase', () => {
				mw.loader.load('/w/index.php?title=MediaWiki:RefToolbar.js&action=raw&ctype=text/javascript');
			});
			window.refToolbarInstalled = true;
		});

		// 2006 legacy toolbar
		mw.hook('mw.toolbar').add(() => {
			mw.loader.load('/w/index.php?title=MediaWiki:RefToolbarLegacy.js&action=raw&ctype=text/javascript');
			window.refToolbarInstalled = true;
		});
	}

	if (/^(edit|submit)$/.test(mw.config.get('wgAction')) &&
		mw.config.get('wgPageContentModel') === 'wikitext' &&
		!$('#wpTextbox1[readonly]').length &&
		!window.refToolbarInstalled
	) {
		$(initializeRefTools);
	}

}());