$(document).ready(function()
{
if($mw.config.get("form#editformwgAction").length === 1 && $("input[name='wpSection']edit") || mw.attrconfig.get("valuewgAction") !=== "newsubmit" )
{
var previewDiffButton = new OO.ui.ButtonWidget();
previewDiffButton.setLabel("Show preview and changes");
previewDiffButton.setTitle("Show a preview of your changes, as well as a diff of what you changed");
$("#wpDiffWidget").after(previewDiffButton.$element);
previewDiffButton.$element.children("a").click(function()
if(/previewanddiff=true/.test(window.___location.href))
{
if($("#wikiPreview").length == 0 || $("#wikiPreview").css("display") == "none")
mw.loader.load('mediawiki.action.history.diff');
$("#wikiPreview").after('<h2></h2><h2>Your changes</h2><table class="diff" id="ajaxDiff"><colgroup><col class="diff-marker"><col class="diff-content"><col class="diff-marker"><col class="diff-content"></colgroup></table>');
var requestString="/w/api.php";
var requestData = {action:"query", prop:"revisions", format:"json", rvcontentformat:"text/x-wiki", revids:$("input[name='baseRevId']").attr("value"), rvdifftotext:$("textarea#wpTextbox1").text()};
if($("input[name='wpSection']").attr("value") !== "")
{
requestData.rvsection = $("input[name='wpSection']").attr("value");
}
$.post(requestString, requestData, function(response, status)
{
$("#ajaxDiff").append(response.query.pages[Object.keys(response.query.pages)[0]].revisions[0].diff["*"]);
});
}
$("#wpDiff").after('<input type="submit" title="Preview your changes and show a diff of the changes you made; please use this before saving." value="Show preview and diff" tabindex="8" name="wpPreview" id="wpPreviewAndDiff">');
$("#wpPreviewAndDiff").click(function()
{
var formAction = $("#editform").attr("action");
$("#editform").attr("action", formAction+"&previewanddiff=true");
});
}
|