X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.action%2Fmediawiki.action.edit.preview.js;h=ab4535b66ef7975c032acc5bc1a7122e7657af26;hp=5f1058f14b126ba9b480ad3ad186d7facd9ecc1e;hb=d92845c2295d982c80312880c3fae788450676ea;hpb=23f5395a8c772d8076ef7033aac43945e963e40c diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js index 5f1058f14b..ab4535b66e 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js @@ -17,6 +17,7 @@ $editform = $( '#editform' ); $textbox = $editform.find( '#wpTextbox1' ); $summary = $editform.find( '#wpSummary' ); + $spinner = $( '.mw-spinner-preview' ); $errorBox = $( '.errorbox' ); section = $editform.find( '[name="wpSection"]' ).val(); @@ -36,7 +37,7 @@ $wikiPreview.show(); // Jump to where the preview will appear - $wikiPreview[0].scrollIntoView(); + $wikiPreview[ 0 ].scrollIntoView(); copySelectors = [ // Main @@ -55,14 +56,17 @@ // Not shown during normal preview, to be removed if present $( '.mw-newarticletext' ).remove(); - $spinner = $.createSpinner( { - size: 'large', - type: 'block' - } ); - $wikiPreview.before( $spinner ); - $spinner.css( { - marginTop: $spinner.height() - } ); + if ( $spinner.length === 0 ) { + $spinner = $.createSpinner( { + size: 'large', + type: 'block' + } ) + .addClass( 'mw-spinner-preview' ) + .css( 'margin-top', '1em' ); + $wikiPreview.before( $spinner ); + } else { + $spinner.show(); + } // Can't use fadeTo because it calls show(), and we might want to keep some elements hidden // (e.g. empty #catlinks) @@ -98,7 +102,7 @@ indexpageids: '', prop: 'revisions', titles: mw.config.get( 'wgPageName' ), - rvdifftotext: response.parse.text['*'], + rvdifftotext: response.parse.text[ '*' ], rvprop: '' }; if ( section !== '' ) { @@ -106,8 +110,8 @@ } return api.post( postData ).done( function ( result2 ) { try { - var diffHtml = result2.query.pages[result2.query.pageids[0]] - .revisions[0].diff['*']; + var diffHtml = result2.query.pages[ result2.query.pageids[ 0 ] ] + .revisions[ 0 ].diff[ '*' ]; $wikiDiff.find( 'table.diff tbody' ).html( diffHtml ); } catch ( e ) { // "result.blah is undefined" error, ignore @@ -151,7 +155,7 @@ ); } if ( response.parse.categorieshtml ) { - $( '#catlinks' ).replaceWith( response.parse.categorieshtml['*'] ); + $( '#catlinks' ).replaceWith( response.parse.categorieshtml[ '*' ] ); } if ( response.parse.templates ) { newList = []; @@ -159,10 +163,10 @@ li = $( '
  • ' ) .append( $( '' ) .attr( { - 'href': mw.util.getUrl( template['*'] ), + href: mw.util.getUrl( template[ '*' ] ), 'class': ( template.exists !== undefined ? '' : 'new' ) } ) - .text( template['*'] ) + .text( template[ '*' ] ) ); newList.push( li ); } ); @@ -170,7 +174,7 @@ $editform.find( '.templatesUsed .mw-editfooter-list' ).detach().empty().append( newList ).appendTo( '.templatesUsed' ); } if ( response.parse.limitreporthtml ) { - $( '.limitreport' ).html( response.parse.limitreporthtml['*'] ); + $( '.limitreport' ).html( response.parse.limitreporthtml[ '*' ] ); } if ( response.parse.langlinks && mw.config.get( 'skin' ) === 'vector' ) { newList = []; @@ -179,10 +183,10 @@ .addClass( 'interlanguage-link interwiki-' + langlink.lang ) .append( $( '' ) .attr( { - 'href': langlink.url, - 'title': langlink['*'] + ' - ' + langlink.langname, - 'lang': langlink.lang, - 'hreflang': langlink.lang + href: langlink.url, + title: langlink[ '*' ] + ' - ' + langlink.langname, + lang: langlink.lang, + hreflang: langlink.lang } ) .text( langlink.autonym ) ); @@ -193,11 +197,11 @@ $list.detach().empty().append( newList ).prependTo( $parent ); } - if ( response.parse.text['*'] ) { + if ( response.parse.text[ '*' ] ) { $content = $wikiPreview.children( '.mw-content-ltr,.mw-content-rtl' ); $content .detach() - .html( response.parse.text['*'] ); + .html( response.parse.text[ '*' ] ); mw.hook( 'wikipage.content' ).fire( $content ); @@ -213,21 +217,21 @@ var isSubject = ( section === 'new' ), summaryMsg = isSubject ? 'subject-preview' : 'summary-preview', $summaryPreview = $editform.find( '.mw-summary-preview' ).empty(); - if ( response.parse.parsedsummary && response.parse.parsedsummary['*'] !== '' ) { + if ( response.parse.parsedsummary && response.parse.parsedsummary[ '*' ] !== '' ) { $summaryPreview.append( mw.message( summaryMsg ).parse(), ' ', $( '' ).addClass( 'comment' ).html( // There is no equivalent to rawParams mw.message( 'parentheses' ).escaped() - .replace( '$1', response.parse.parsedsummary['*'] ) + .replace( '$1', response.parse.parsedsummary[ '*' ] ) ) ); } mw.hook( 'wikipage.editform' ).fire( $editform ); } ); request.always( function () { - $spinner.remove(); + $spinner.hide(); $copyElements.animate( { opacity: 1 }, 'fast' ); @@ -268,9 +272,9 @@ $( '.portal:last' ).after( $( '
    ' ).attr( { 'class': 'portal', - 'id': 'p-lang', - 'role': 'navigation', - 'title': mw.msg( 'tooltip-p-lang' ), + id: 'p-lang', + role: 'navigation', + title: mw.msg( 'tooltip-p-lang' ), 'aria-labelledby': 'p-lang-label' } ) .append( $( '

    ' ).attr( 'id', 'p-lang-label' ).text( mw.msg( 'otherlanguages' ) ) )