From: Fomafix Date: Sat, 21 Feb 2015 15:08:16 +0000 (+0000) Subject: LivePreview: Wrap content preview with mw-content-* X-Git-Tag: 1.31.0-rc.0~12243^2 X-Git-Url: http://git.cyclocoop.org/%24href?a=commitdiff_plain;h=12e031a99d5b9648953d3c7d9a48e53ed40045e7;p=lhc%2Fweb%2Fwiklou.git LivePreview: Wrap content preview with mw-content-* The content container is needed for CSS selectors based on the direction of the page content language. Bug: T85531 Change-Id: I78f6b82972621da8dddc24f0d6d6b2293f7d8876 --- diff --git a/includes/EditPage.php b/includes/EditPage.php index f5d98a7fbe..0d5e63c0c6 100644 --- a/includes/EditPage.php +++ b/includes/EditPage.php @@ -2992,6 +2992,12 @@ HTML if ( $this->formtype == 'preview' ) { $this->showPreview( $previewOutput ); + } else { + // Empty content container for LivePreview + $pageViewLang = $this->mTitle->getPageViewLanguage(); + $attribs = array( 'lang' => $pageViewLang->getHtmlCode(), 'dir' => $pageViewLang->getDir(), + 'class' => 'mw-content-' . $pageViewLang->getDir() ); + $wgOut->addHTML( Html::rawElement( 'div', $attribs ) ); } $wgOut->addHTML( '' ); diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js index e4ccf2be19..7e7fe91ac5 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js @@ -109,7 +109,7 @@ } request = api.post( postData ); request.done( function ( response ) { - var li, newList, $next, $parent, $list; + var li, newList, $content, $parent, $list; if ( response.parse.modules ) { mw.loader.load( response.parse.modules.concat( response.parse.modulescripts, @@ -163,23 +163,16 @@ } if ( response.parse.text['*'] ) { - $next = $wikiPreview.next(); - // If there is no next node, use parent instead. - // Only query parent if needed, false otherwise. - $parent = !$next.length && $wikiPreview.parent(); - - $wikiPreview + $content = $wikiPreview.children( '.mw-content-ltr,.mw-content-rtl' ); + $content .detach() .html( response.parse.text['*'] ); - mw.hook( 'wikipage.content' ).fire( $wikiPreview ); + mw.hook( 'wikipage.content' ).fire( $content ); // Reattach - if ( $parent ) { - $parent.append( $wikiPreview ); - } else { - $next.before( $wikiPreview ); - } + $wikiPreview.append( $content ); + $wikiPreview.show(); }