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 );