利用者:Cpro/vfd.js

お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。

多くの WindowsLinux のブラウザ

  • Ctrl を押しながら F5 を押す。

Mac における Safari

  • Shift を押しながら、更新ボタン をクリックする。

Mac における ChromeFirefox

  • Cmd Shift を押しながら R を押す。

詳細についてはWikipedia:キャッシュを消すをご覧ください。

// This script is under public domain, and comes with ABSOLUTELY NO WARRANTY.
// You can use/modify/redistribute without any permission.

if(mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') {

(function($) {
	var pageName = mw.config.get('wgPageName');
	var mode = '';

	if(/^Wikipedia:削除依頼\//i.test(pageName))
		mode = 'vfd';
	else if(/^Wikipedia:投稿ブロック依頼\//i.test(pageName))
		mode = 'rfb';
	else if(/^Wikipedia:利用者ページの削除依頼$/i.test(pageName))
		mode = 'ufd';
	else
		return;

	var operation;
	var UFD_HEADER = '<div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;">';
	var UFD_FOOTER = '</div>';
	
	if(mode == 'vfd')
		operation = {
			vfdKept: {
				title: '終了・存続',
				pre: '\u007B\u007Bsubst:vfd top kept}}',
				post: '**\u007B\u007B終了}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:vfd bottom}}',
				summary: '終了・存続'
			},
			vfdSKept: {
				title: '即時存続',
				pre: '\u007B\u007Bsubst:vfd top skept}}',
				post: '**\u007B\u007B終了}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:vfd bottom}}',
				summary: '終了・即時存続'
			},
			vfdDeleted: {
				title: '対処・削除',
				pre: '\u007B\u007Bsubst:vfd top deleted}}',
				post: '**\u007B\u007B対処}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:vfd bottom}}',
				summary: '対処・削除'
			},
			vfdEDeleted: {
				title: '緊急削除',
				pre: '\u007B\u007Bsubst:vfd top edeleted}}',
				post: '**\u007B\u007B対処}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:vfd bottom}}',
				summary: '対処・緊急削除'
			},
			vfdSDeleted: {
				title: '即時削除',
				pre: '\u007B\u007Bsubst:vfd top sdeleted}}',
				post: '**\u007B\u007B対処}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:vfd bottom}}',
				summary: '対処・即時削除'
			},
			vfdConfirmed: {
				title: '確認',
				pre: '\u007B\u007Bsubst:vfd top pdeleted}}',
				post: '***\u007B\u007B確認}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:vfd bottom}}',
				summary: '確認'
			}
		};
	else if(mode == 'rfb')
		operation = {
			rfbBlocked: {
				title: 'ブロック',
				pre: '\u007B\u007Bsubst:rfb top|ブロック}}',
				post: '**\u007B\u007B対処}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:rfb bottom}}',
				summary: '対処・ブロック'
			},
			rfbKept: {
				title: 'ブロックせず',
				pre: '\u007B\u007Bsubst:rfb top|ブロックせず}}',
				post: '**\u007B\u007B終了}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:rfb bottom}}',
				summary: '終了・ブロックせず'
			},
			rfbLapsed: {
				title: '失効',
				pre: '\u007B\u007Bsubst:rfb top|自動失効}}',
				post: '**\u007B\u007B終了}} --\u007E\u007E\u007E\u007E\n\u007B\u007Bsubst:rfb bottom}}',
				summary: '失効'
			}
		};
	else if(mode == 'ufd')
		operation = {
			ufdKept: {
				title: '終了・存続',
				pre: UFD_HEADER,
				post: '**\u007B\u007B終了}} --\u007E\u007E\u007E\u007E\n' + UFD_FOOTER,
				summary: '終了・存続'
			},
			ufdSKept: {
				title: '即時存続',
				pre: UFD_HEADER,
				post: '**\u007B\u007B終了}} --\u007E\u007E\u007E\u007E\n' + UFD_FOOTER,
				summary: '終了・即時存続'
			},
			ufdDeleted: {
				title: '対処・削除',
				pre: UFD_HEADER,
				post: '**\u007B\u007B対処}} --\u007E\u007E\u007E\u007E\n' + UFD_FOOTER,
				summary: '対処・削除'
			},
			ufdEDeleted: {
				title: '緊急削除',
				pre: UFD_HEADER,
				post: '**\u007B\u007B対処}} --\u007E\u007E\u007E\u007E\n' + UFD_FOOTER,
				summary: '対処・緊急削除'
			},
			ufdSDeleted: {
				title: '即時削除',
				pre: UFD_HEADER,
				post: '**\u007B\u007B対処}} --\u007E\u007E\u007E\u007E\n' + UFD_FOOTER,
				summary: '対処・即時削除'
			},
			ufdConfirmed: {
				title: '確認',
				pre: UFD_HEADER,
				post: '***\u007B\u007B確認}} --\u007E\u007E\u007E\u007E\n' + UFD_FOOTER,
				summary: '確認'
			}
		};

	$(function() {
		var $select = $('<select>').attr({id: 'reqInsertSel', size: 1});
		for(var op in operation)
			$('<option>')
				.val(op)
				.text(operation[op].title)
				.appendTo($select);

		var $insertButton = $('<button>挿入</button>');
		$insertButton.click(function(e) {
			var op = operation[$select.val()];

			$('#wpMinoredit').prop('checked', false);
			var $summary = $('#wpSummary');
			if(mode == 'ufd')
				$summary.val($summary.val().replace(/(\/\*.+\*\/)?.*?$/, '$1 ' + op.summary));
			else
				$summary.val(op.summary);
			var $textbox = $('#wpTextbox1');
			$textbox.val($textbox.val().replace(/^[^\n]+/, '$&\n' + op.pre) + op.post + '\n');

			$('#wpSave').focus();
		});
		
		$('<p>')
			.append($select)
			.append($insertButton)
			.insertAfter($('#contentSub'));
	});
})(jQuery);
} //end if