MediaWiki:Gadget-comparelink.js

提供:ACES WIKI
ナビゲーションに移動 検索に移動

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

  • 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を押してください
/**
 * Convert the "Compare selected versions" button to OOUI button links
 * Modified from https://www.mediawiki.org/wiki/Snippets/Compare_link
 */
function fixCompare(){
	var	$historyForm = $("#mw-history-compare"),
		$diffList = $("#pagehistory"),
		$buttonAreas = $(".mw-history-compareselectedversions"),
		$buttons = $historyForm.find("input.historysubmit"),
		buttonText,
		compareLink;
	if($buttons.length === 0){
		// only one revision, so do nothing
		return;
	}
	buttonText = $buttons.remove().first().val();
	compareLink = new OO.ui.ButtonWidget({
		label: buttonText,
		classes: ['compare-link']
	});
	$buttonAreas.prepend(compareLink.$element);
	var updateComparison = function(){
		var	$radio = $historyForm.find("input[type=radio]:checked"),
			genLink = mw.config.get("wgScript")
					+ "?title=" + mw.util.wikiUrlencode(mw.config.get("wgPageName"))
					+ "&diff=" + $radio.eq(0).val()
					+ "&oldid=" + $radio.eq(1).val();
		$(".compare-link a").each(function(){
			$(this).attr("href", genLink);
		});
	};
	updateComparison();
	$diffList.change(updateComparison);
}

if(mw.config.get("wgAction") === "history"){
	$(fixCompare);
}