Merge "Live Preview: Cope with the edit summary being an OOjs UI widget"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 9 Aug 2017 20:55:58 +0000 (20:55 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 9 Aug 2017 20:55:58 +0000 (20:55 +0000)
1  2 
resources/Resources.php
resources/src/mediawiki.action/mediawiki.action.edit.preview.js

diff --combined resources/Resources.php
@@@ -1379,7 -1379,6 +1379,7 @@@ return 
                ]
        ],
        'mediawiki.util' => [
 +              'class' => 'ResourceLoaderMediaWikiUtilModule',
                'scripts' => 'resources/src/mediawiki/mediawiki.util.js',
                'dependencies' => [
                        'jquery.accessKeyLabel',
                        'mediawiki.diff.styles',
                        'mediawiki.util',
                        'mediawiki.jqueryMsg',
+                       'oojs-ui-core',
                ],
                'messages' => [
                        // Keep the uses message keys in sync with EditPage#setHeaders
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.MenuSelectWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ViewSwitchWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ValuePickerWidget.less',
 +                      'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesLimitPopupWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.DatePopupWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterWrapperWidget.less',
                        'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less',
                'messages' => [
                        'rcfilters-activefilters',
                        'rcfilters-advancedfilters',
 +                      'rcfilters-group-results-by-page',
 +                      'rcfilters-grouping-title',
                        'rcfilters-limit-title',
                        'rcfilters-limit-shownum',
                        'rcfilters-days-title',
                        'rcfilters-tag-prefix-tags',
                        'rcfilters-exclude-button-off',
                        'rcfilters-exclude-button-on',
 +                      'rcfilters-view-advanced-filters-label',
                        'rcfilters-view-tags',
                        'rcfilters-view-namespaces-tooltip',
                        'rcfilters-view-tags-tooltip',
                        'rcfilters-view-return-to-default-tooltip',
                        'rcfilters-liveupdates-button',
 +                      'rcfilters-liveupdates-button-title-on',
 +                      'rcfilters-liveupdates-button-title-off',
                        'rcfilters-other-review-tools',
                        'blanknamespace',
                        'namespaces',
@@@ -3,12 -3,14 +3,14 @@@
   */
  ( function ( mw, $ ) {
  
+       var oojsuieditform;
        /**
         * @ignore
         * @param {jQuery.Event} e
         */
        function doLivePreview( e ) {
-               var isDiff, api, parseRequest, diffRequest, postData, copySelectors, section,
+               var isDiff, api, parseRequest, diffRequest, postData, copySelectors, section, summary,
                        $wikiPreview, $wikiDiff, $editform, $textbox, $summary, $copyElements, $spinner, $errorBox;
  
                isDiff = ( e.target.name === 'wpDiff' );
                $wikiDiff = $( '#wikiDiff' );
                $editform = $( '#editform' );
                $textbox = $editform.find( '#wpTextbox1' );
-               $summary = $editform.find( '#wpSummary' );
+               if ( oojsuieditform ) {
+                       summary = OO.ui.infuse( $( '#wpSummaryWidget' ) );
+               } else {
+                       $summary = $editform.find( '#wpSummary' );
+               }
                $spinner = $( '.mw-spinner-preview' );
                $errorBox = $( '.errorbox' );
                section = $editform.find( '[name="wpSection"]' ).val();
@@@ -78,7 -86,7 +86,7 @@@
                        formatversion: 2,
                        action: 'parse',
                        title: mw.config.get( 'wgPageName' ),
-                       summary: $summary.textSelection( 'getContents' ),
+                       summary: oojsuieditform ? summary.getValue() : $summary.val(),
                        prop: ''
                };
  
                                        newList.push(
                                                $( '<div>' )
                                                        .addClass( 'mw-indicator' )
 -                                                      .attr( 'id', mw.util.escapeId( 'mw-indicator-' + name ) )
 +                                                      .attr( 'id', mw.util.escapeIdForAttribute( 'mw-indicator-' + name ) )
                                                        .html( indicator )
                                                        .get( 0 ),
                                                // Add a whitespace between the <div>s because
        }
  
        $( function () {
+               oojsuieditform = $( '#editform' ).hasClass( 'mw-editform-ooui' );
                // Do not enable on user .js/.css pages, as there's no sane way of "previewing"
                // the scripts or styles without reloading the page.
                if ( $( '#mw-userjsyoucanpreview' ).length || $( '#mw-usercssyoucanpreview' ).length ) {
                }
  
                if ( !$( '.mw-summary-preview' ).length ) {
-                       $( '#wpSummary' ).after(
+                       $( oojsuieditform ? '#wpSummaryWidget' : '#wpSummary' ).after(
                                $( '<div>' ).addClass( 'mw-summary-preview' )
                        );
                }