Merge "Improve "selfmove" message's wording"
[lhc/web/wiklou.git] / resources / src / mediawiki.special / mediawiki.special.apisandbox.js
index ff6a80c..9e8d4f4 100644 (file)
                                        break;
 
                                case 'text':
-                                       widget = new OO.ui.TextInputWidget( {
-                                               multiline: true,
+                                       widget = new OO.ui.MultilineTextInputWidget( {
                                                required: Util.apiBool( pi.required )
                                        } );
                                        widget.paramInfo = pi;
                                        new OO.ui.MenuOptionWidget( {
                                                label: Util.parseMsg( 'apisandbox-request-format-json-label' ),
                                                data: new OO.ui.FieldLayout(
-                                                       jsonInput = new OO.ui.TextInputWidget( {
+                                                       jsonInput = new OO.ui.MultilineTextInputWidget( {
                                                                classes: [ 'mw-apisandbox-textInputCode' ],
                                                                readOnly: true,
-                                                               multiline: true,
                                                                autosize: true,
                                                                maxRows: 6,
                                                                value: JSON.stringify( displayParams, null, '\t' )
                                        selectedLabel = selectedLabel.text();
                                }
                                menu.clearItems().addItems( formatItems );
-                               menu.chooseItem( menu.getItemFromLabel( selectedLabel ) || menu.getFirstSelectableItem() );
+                               menu.chooseItem( menu.getItemFromLabel( selectedLabel ) || menu.findFirstSelectableItem() );
 
                                // Fire the event to update field visibilities
                                Util.onFormatDropdownChange();
                                                if ( $.isFunction( f.focus ) ) {
                                                        f.focus();
                                                }
-                                       },
-                                       doNothing = function () {};
+                                       };
 
                                // This is something of a hack. We always want the 'format' and
                                // 'action' parameters from the main module to be specified,
                                                }
 
                                                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>', {
                                                // it makes it too hard to read and our "disabled"
                                                // isn't really disabled.
                                                widgetField.onFieldDisable( false );
-                                               widgetField.onFieldDisable = doNothing;
+                                               widgetField.onFieldDisable = $.noop;
 
                                                if ( Util.apiBool( pi.parameters[ i ].deprecated ) ) {
                                                        deprecatedItems.push( widgetField, helpField );