Merge "API: Display message-per-value style help for submodule parameters"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 22 Jun 2017 17:10:36 +0000 (17:10 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 22 Jun 2017 17:10:36 +0000 (17:10 +0000)
1  2 
resources/Resources.php
resources/src/mediawiki.special/mediawiki.special.apisandbox.js

diff --combined resources/Resources.php
@@@ -1422,7 -1422,6 +1422,7 @@@ return 
                ],
        ],
        'mediawiki.action.edit.styles' => [
 +              'targets' => [ 'desktop', 'mobile' ],
                'styles' => 'resources/src/mediawiki.action/mediawiki.action.edit.styles.css',
        ],
        'mediawiki.action.edit.collapsibleFooter' => [
                        'oojs-ui.styles.icons-interactions',
                        'oojs-ui.styles.icons-moderation',
                        'mediawiki.widgets.datetime',
+                       'jquery.makeCollapsible',
                ],
                'messages' => [
                        'apisandbox-intro',
                        'apisandbox-sending-request',
                        'apisandbox-loading-results',
                        'apisandbox-results-error',
 +                      'apisandbox-results-login-suppressed',
                        'apisandbox-request-selectformat-label',
                        'apisandbox-request-format-url-label',
                        'apisandbox-request-url-label',
                                        } )
                                        .then( function ( data, jqXHR ) {
                                                var m, loadTime, button, clear,
 -                                                      ct = jqXHR.getResponseHeader( 'Content-Type' );
 +                                                      ct = jqXHR.getResponseHeader( 'Content-Type' ),
 +                                                      loginSuppressed = jqXHR.getResponseHeader( 'MediaWiki-Login-Suppressed' ) || 'false';
  
                                                $result.empty();
 +                                              if ( loginSuppressed !== 'false' ) {
 +                                                      $( '<div>' )
 +                                                              .addClass( 'warning' )
 +                                                              .append( Util.parseMsg( 'apisandbox-results-login-suppressed' ) )
 +                                                              .appendTo( $result );
 +                                              }
                                                if ( /^text\/mediawiki-api-prettyprint-wrapped(?:;|$)/.test( ct ) ) {
                                                        data = JSON.parse( data );
                                                        if ( data.modules.length ) {
                                                }
  
                                                descriptionContainer = $( '<div>' );
-                                               descriptionContainer.append( $( '<div>', {
-                                                       addClass: 'description',
-                                                       append: Util.parseHTML( pi.parameters[ i ].description )
-                                               } ) );
+                                               tmp = Util.parseHTML( pi.parameters[ i ].description );
+                                               tmp.filter( 'dl' ).makeCollapsible( {
+                                                       collapsed: true
+                                               } ).children( '.mw-collapsible-toggle' ).each( function () {
+                                                       var $this = $( this );
+                                                       $this.parent().prev( 'p' ).append( $this );
+                                               } );
+                                               descriptionContainer.append( $( '<div>', { addClass: 'description', append: tmp } ) );
                                                if ( pi.parameters[ i ].info && pi.parameters[ i ].info.length ) {
                                                        for ( j = 0; j < pi.parameters[ i ].info.length; j++ ) {
                                                                descriptionContainer.append( $( '<div>', {