From: jenkins-bot Date: Tue, 8 Sep 2015 00:22:32 +0000 (+0000) Subject: Merge "LivePreview: Prevent unnecessary DOM change for spinner" X-Git-Tag: 1.31.0-rc.0~10107 X-Git-Url: https://git.cyclocoop.org/%242?a=commitdiff_plain;h=524c5849274e224449414926cd32559aa76b53e6;hp=-c;p=lhc%2Fweb%2Fwiklou.git Merge "LivePreview: Prevent unnecessary DOM change for spinner" --- 524c5849274e224449414926cd32559aa76b53e6 diff --combined resources/src/mediawiki.action/mediawiki.action.edit.preview.js index 0610643bcf,464eb5d30e..ab4535b66e --- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js @@@ -17,6 -17,7 +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 +37,7 @@@ $wikiPreview.show(); // Jump to where the preview will appear - $wikiPreview[0].scrollIntoView(); + $wikiPreview[ 0 ].scrollIntoView(); copySelectors = [ // Main @@@ -55,14 -56,17 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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' ) ) )