X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/mediawiki.git/blobdiff_plain/87219ebd28426c6d21cb545233ee52f5f7af7dfd..refs/tags/mediawiki-1.17.0:/skins/common/preview.js diff --git a/skins/common/preview.js b/skins/common/preview.js index db5633d0..234dd545 100644 --- a/skins/common/preview.js +++ b/skins/common/preview.js @@ -1,53 +1,128 @@ /** * Live preview script for MediaWiki */ +(function( $ ) { + window.doLivePreview = function( e ) { + e.preventDefault(); -function doLivePreview( e ) { - e.preventDefault(); - var previewText = $j('#wpTextbox1').val(); + $( mw ).trigger( 'LivePreviewPrepare' ); - var editToken = $j( '[name="wpEditToken"]' ).attr( 'value' ); - var editTime = $j( '[name="wpEdittime"]' ).attr( 'value' ); - var startTime = $j( '[name="wpStarttime"]' ).attr( 'value' ); - - var postData = { 'action' : 'submit', 'wpTextbox1' : previewText, 'wpPreview' : true, - 'wpEditToken' : editToken, 'wpEdittime': editTime, 'wpStarttime': startTime, 'title' : wgPageName }; + var postData = $('#editform').formToArray(); + postData.push( { 'name' : 'wpPreview', 'value' : '1' } ); + + // Hide active diff, used templates, old preview if shown + var copyElements = ['#wikiPreview', '.templatesUsed', '.hiddencats', + '#catlinks']; + var copySelector = copyElements.join(','); - // Hide active diff, used templates, old preview if shown - var copyElements = ['#wikiPreview', '.templatesUsed', '.hiddencats', - '#catlinks']; - var copySelector = copyElements.join(','); + $.each( copyElements, function(k,v) { $(v).fadeOut('fast'); } ); - $j.each( copyElements, function(k,v) { $j(v).fadeOut('fast'); } ); + // Display a loading graphic + var loadSpinner = $('
'); + $('#wikiPreview').before( loadSpinner ); + + var page = $('
'); + var target = $('#editform').attr('action'); - // Display a loading graphic - var loadSpinner = $j('
'); - $j('#wikiPreview').before( loadSpinner ); + if ( !target ) { + target = window.location.href; + } - var page = $j('
'); - page.load( wgScript+'?action=submit '+copySelector, - postData, - function() { + page.load( target + ' ' + copySelector, postData, + function() { + + for( var i=0; i