Merge "ApiSandbox: Move labels outside progress bars"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 23 May 2019 17:56:06 +0000 (17:56 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 23 May 2019 17:56:06 +0000 (17:56 +0000)
1  2 
resources/src/mediawiki.special.apisandbox/apisandbox.js

                 * @return {OO.ui.MenuOptionWidget[]} Each item's data should be an OO.ui.FieldLayout
                 */
                formatRequest: function ( displayParams, rawParams ) {
 -                      var jsonInput,
 +                      var jsonLayout,
                                items = [
                                        new OO.ui.MenuOptionWidget( {
                                                label: Util.parseMsg( 'apisandbox-request-format-url-label' ),
 -                                              data: new OO.ui.FieldLayout(
 -                                                      new OO.ui.TextInputWidget( {
 -                                                              readOnly: true,
 -                                                              value: mw.util.wikiScript( 'api' ) + '?' + $.param( displayParams )
 -                                                      } ), {
 -                                                              label: Util.parseMsg( 'apisandbox-request-url-label' )
 -                                                      }
 -                                              )
 +                                              data: new mw.widgets.CopyTextLayout( {
 +                                                      label: Util.parseMsg( 'apisandbox-request-url-label' ),
 +                                                      copyText: mw.util.wikiScript( 'api' ) + '?' + $.param( displayParams )
 +                                              } )
                                        } ),
                                        new OO.ui.MenuOptionWidget( {
                                                label: Util.parseMsg( 'apisandbox-request-format-json-label' ),
 -                                              data: new OO.ui.FieldLayout(
 -                                                      jsonInput = new OO.ui.MultilineTextInputWidget( {
 +                                              data: jsonLayout = new mw.widgets.CopyTextLayout( {
 +                                                      label: Util.parseMsg( 'apisandbox-request-json-label' ),
 +                                                      copyText: JSON.stringify( displayParams, null, '\t' ),
 +                                                      multiline: true,
 +                                                      textInput: {
                                                                classes: [ 'mw-apisandbox-textInputCode' ],
 -                                                              readOnly: true,
                                                                autosize: true,
 -                                                              maxRows: 6,
 -                                                              value: JSON.stringify( displayParams, null, '\t' )
 -                                                      } ), {
 -                                                              label: Util.parseMsg( 'apisandbox-request-json-label' )
 +                                                              maxRows: 6
                                                        }
 -                                              ).on( 'toggle', function ( visible ) {
 +                                              ).on( 'toggle', function ( visible ) {
                                                        if ( visible ) {
                                                                // Call updatePosition instead of adjustSize
                                                                // because the latter has weird caching
                                                                // behavior and the former bypasses it.
 -                                                              jsonInput.updatePosition();
 +                                                              jsonLayout.textInput.updatePosition();
                                                        }
                                                } )
                                        } )
                                progressLoading = false;
                                $progressText = $( '<span>' ).text( mw.message( 'apisandbox-sending-request' ).text() );
                                progress = new OO.ui.ProgressBarWidget( {
-                                       progress: false,
-                                       $content: $progressText
+                                       progress: false
                                } );
  
                                $result = $( '<div>' )
-                                       .append( progress.$element );
+                                       .append( $progressText, progress.$element );
  
                                resultPage = page = new OO.ui.PageLayout( '|results|', { expanded: false } );
                                page.setupOutlineItem = function () {
                        };
  
                this.$element.empty()
-                       .append( new OO.ui.ProgressBarWidget( {
-                               progress: false,
-                               text: mw.message( 'apisandbox-loading', this.displayText ).text()
-                       } ).$element );
+                       .append(
+                               document.createTextNode(
+                                       mw.message( 'apisandbox-loading', this.displayText ).text()
+                               ),
+                               new OO.ui.ProgressBarWidget( { progress: false } ).$element
+                       );
  
                Util.fetchModuleInfo( this.apiModule )
                        .done( function ( pi ) {