MediaWiki:Gadget-Qpreview.js

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
ajaxPreviewMsg =
{emptydiff: 'Без змін'
,difftip: 'shift-клац, щоб порівняти з цією старою версією'
,diff2old: 'це порівняння зі старою версією'
,viewtip: 'shift-клац, щоб оновити також категорії й інтервікі'
};

if ( /^(edit|submit)$/.test( mw.config.get( 'wgAction' ) ) &&
	!/Special|Module/.test( mw.config.get( 'wgCanonicalNamespace' ) )
) {
	$( function() {

		ajaxPreviewPos = window.ajaxPreviewPos || 'right';

		if ( ajaxPreviewPos !== 'bottom' ) {
			var previewToolbar = $( '<div style="float:' + ajaxPreviewPos + '" />' );
			if ( mw.user.options.get( 'usebetatoolbar' ) || $.wikiEditor ) {
				$( '#wikiPreview' ).after( '<div style="width:100%; clear:both" />', previewToolbar );
			} else {
				var el = $('#toolbar');
				if ( el.length ) {
					el.prepend( previewToolbar );
				} else {
					$( '#editform' ).before( previewToolbar );
				}
			}
		}
		addBtn( window.ajaxPreviewButton, 'wpPreview', window.ajaxPreviewKey || 'p' );
		addBtn( window.ajaxDiffButton, 'wpDiff', window.ajaxDiffKey || 'v' );
		mw.loader.load( '//en.wikipedia.org/w/index.php?title=User:Js/preview2.js&action=raw&ctype=text/javascript' );

		function addBtn ( name, id, akey ) {
			var btnOld = $( '#' + id );
			if ( !btnOld ) {
				return;
			}
			var btn = $( '<input type=button id="' + id + 'Live" title="' + btnOld.val() + ' (ajax)" />' );
			if ( ajaxPreviewPos == 'bottom' ) {
				btn.val( btnOld.val() ).insertBefore( btnOld.val( '>' ) );
			} else {
				if ( !name ) { //extract last word from standard buttons
					name = btnOld.val();
					if(!name) return;
					var i = name.lastIndexOf( ' ' ) + 1;
					name = name.substring( i, i + 1 ).toUpperCase() + name.substring( i + 1 );
				}
				btn.val( name )
					.css( 'height', '22px' )
					.css( 'padding', '0 1px' )
					.appendTo( previewToolbar );
			}
			if ( akey ) { //reassign acces key
				if ( btnOld.attr( 'accesskey' ) == akey ) {
					mw.loader.using('mediawiki.util').then(function () {
						btnOld
							.removeAttr( 'accesskey' )
							.updateTooltipAccessKeys( '' );
					});
				}
				mw.loader.using('mediawiki.util').then(function () {
					btn
						.attr( 'accesskey', akey )
						.updateTooltipAccessKeys( akey );
				});
			}
		}
	} );
}