미디어위키:Gadget-refToolbar.js: 두 판 사이의 차이

모든 지식의 총합을 위한 자유지식위키, 리프위키
잔글 (판 1개를 가져왔습니다: 소도구 적용)
잔글편집 요약 없음
 
3번째 줄: 3번째 줄:
  *
  *
  * Adds tools for citing references to the edit toolbar.
  * Adds tools for citing references to the edit toolbar.
  * See [[Wikipedia:RefToolbar]] for further documentation. One of
  * See [[Wikipedia:RefToolbar]] for further documentation. One of two
  * three possible versions will load (Reftoolbar 2.0b, Reftoolbar 2.0a,
  * possible versions will load (Reftoolbar 1.0 or Reftoolbar 1.0)
* or Reftoolbar 1.0) depending on the user preferences (the
* depending on the user preferences (the usebetatoolbar preference).
* usebetatoolbar and usebetatoolbar-cgd parameters).
  *
  *
  * @see: [[Wikipedia:RefToolbar]]
  * @see: [[Wikipedia:RefToolbar]]
14번째 줄: 13번째 줄:
  * @see: [[MediaWiki:RefToolbarMessages-en.js]]
  * @see: [[MediaWiki:RefToolbarMessages-en.js]]
  * @see: [[MediaWiki:RefToolbarMessages-de.js]]
  * @see: [[MediaWiki:RefToolbarMessages-de.js]]
* @see: [[MediaWiki:RefToolbarNoDialogs.js]]
  * @see: [[MediaWiki:Gadget-refToolbarBase.js]]
  * @see: [[MediaWiki:Gadget-refToolbarBase.js]]
  * @author: [[User:Mr.Z-man]]
  * @author: [[User:Mr.Z-man]]
27번째 줄: 25번째 줄:
return;
return;
}
}
if ( mw.user.options.get( 'usebetatoolbar' ) ) {
        // using weak comparison because ("0") is true, but ("0" == true) is false
// Enhanced editing toolbar is on. Going to load RefToolbar 2.0a or 2.0b.
if ( mw.user.options.get( 'usebetatoolbar' ) == true ) {
if ( mw.user.options.get( 'usebetatoolbar-cgd' ) ) {
// Enhanced editing toolbar is on. Going to load RefToolbar 2.0.
// Dialogs are on. Loading 2.0b. (standard)
// TODO:
// TODO:
// * Explicitly declare global variables from [[MediaWiki:RefToolbar.js]] using window.*
// * Explicitly declare global variables from [[MediaWiki:RefToolbar.js]] using window.*
// * Move [[MediaWiki:RefToolbar.js]] to [[MediaWiki:Gadget-refToolbarDialogs.js]]
// * Move [[MediaWiki:RefToolbar.js]] to [[MediaWiki:Gadget-refToolbarDialogs.js]]
// * Create the module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase' and 'ext.wikiEditor'
// * Create the module 'ext.gadget.refToolbarDialogs' depending on 'ext.gadget.refToolbarBase' and 'ext.wikiEditor.toolbar'
// * Replace the code below by mw.loader.load( 'ext.gadget.refToolbarDialogs' );
// * Replace the code below by mw.loader.load( 'ext.gadget.refToolbarDialogs' );
mw.loader.using( [ 'ext.gadget.refToolbarBase', 'ext.wikiEditor' ], function () {
mw.loader.using( [ 'ext.gadget.refToolbarBase', 'ext.wikiEditor.toolbar' ], function () {
importScript( '미디어위키:RefToolbar.js' );
importScript( '미디어위키:RefToolbar.js' );
} );
} );
} else {
// Dialogs are off. Loading 2.0a.
mw.loader.using( 'ext.wikiEditor.toolbar', function () {
importScript( '미디어위키:RefToolbarNoDialogs.js' );
} );
}
} else if ( mw.user.options.get( 'showtoolbar' ) ) {
} else if ( mw.user.options.get( 'showtoolbar' ) ) {
// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)
// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)
55번째 줄: 46번째 줄:


if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
$( initializeRefTools );
// Double check if user.options is loaded, to prevent errors when copy pasted accross installations
$.when( mw.loader.using( ['user.options'] ), $.ready ).done( initializeRefTools );
}
}


}( mediaWiki, jQuery ) );
}( mediaWiki, jQuery ) );

2020년 10월 7일 (수) 00:41 기준 최신판

/**
 * 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 1.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 jQuery, mediaWiki, importScript */
( function ( mw, $ ) {
'use strict';
function initializeRefTools() {
	if ( window.refToolbarInstalled || $( '#wpTextbox1[readonly]' ).length ){
		return;
	}
        // using weak comparison because ("0") is true, but ("0" == true) is false 
	if ( mw.user.options.get( 'usebetatoolbar' ) == true ) {
		// 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 () {
			importScript( '미디어위키:RefToolbar.js' );
		} );
	} else if ( mw.user.options.get( 'showtoolbar' ) ) {
		// Enhanced editing toolbar is off. Loading RefToolbar 1.0. (legacy)
		importScript( '//en.wikipedia.org/w/index.php?title=MediaWiki:RefToolbarLegacy.js&action=raw&ctype=text/javascript' );
	} else {
		return;
	}
	window.refToolbarInstalled = true;
}

if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
	// Double check if user.options is loaded, to prevent errors when copy pasted accross installations
	$.when( mw.loader.using( ['user.options'] ), $.ready ).done( initializeRefTools );
}

}( mediaWiki, jQuery ) );