MediaWiki:Gadget-UploadDescriptionPreview.js

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。

  • Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
  • Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
  • Internet Explorer / Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください
  • Opera: Ctrl-F5を押してください
/**
 * Copyright (C) 2015 rxy.
 * Author: rxy (http://rxy.jp/)
 * License: MIT
 * License detail: http://opensource.org/licenses/MIT
 * Version: 1.0.0.1
 */
if (mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Upload'){
	mw.loader.using( 'mediawiki.api' ).then( function () {
		function udtp_preview(){
			var api = new mw.Api();
			var filename = ("File:"+$("#wpDestFile").val());
			api.get( {
				action: 'parse',
				pst: true,
				contentmodel: 'wikitext',
				title: filename,
				text: $("#wpUploadDescription").val()
			} ).done ( function ( data ) {
			    $('#udtp').html('概要欄の<b>プレビュー</b><hr>'+data.parse.text["*"]);
			} );
		}
		$('input[name="wpUpload"]').after('<input type="button" id="udtp_preview" class="mw-htmlform-submit" style="margin-left:5px;" value="プレビュー">');
		var udtp_flg = false;
		$('form#mw-upload-form').on("click", "#udtp_preview", function(){ 
			if (($("#wpDestFile").val().length > 0) && ($("#wpUploadDescription").val().length > 0)){
				if (!udtp_flg){
					$('#uploadtext').after($('<div />', {id: 'udtp', style: 'border:3px solid #a7d7f9; background:#eee; margin-top:15px; padding:5px;'}));
					udtp_flg = true;
				}
				udtp_preview();
				window.location.href = 'https://enpedia.rxy.jp/wiki/' + encodeURI('特別:アップロード') + '#udtp';
			} else {
				alert("プレビューを実行するには、「登録するファイル名」と「概要」欄の両方に文字が記入されている必要があります。");
			}
		});
	});
}