Adding flatlists to HTMLRadioField, sort of like HTMLMultiSelect
authorJohn Du Hart <johnduhart@users.mediawiki.org>
Sun, 23 Oct 2011 16:57:53 +0000 (16:57 +0000)
committerJohn Du Hart <johnduhart@users.mediawiki.org>
Sun, 23 Oct 2011 16:57:53 +0000 (16:57 +0000)
includes/HTMLForm.php
skins/common/shared.css

index 4f5b326..11e477b 100644 (file)
@@ -1768,6 +1768,14 @@ class HTMLSelectAndOtherField extends HTMLSelectField {
  * Radio checkbox fields.
  */
 class HTMLRadioField extends HTMLFormField {
+       function __construct( $params ) {
+               parent::__construct( $params );
+               if ( isset( $params['flatlist'] ) ) {
+                       $this->mClass .= ' mw-htmlform-radio-flatlist';
+               }
+       }
+
+
        function validate( $value, $alldata ) {
                $p = parent::validate( $value, $alldata );
 
@@ -1815,16 +1823,16 @@ class HTMLRadioField extends HTMLFormField {
                                $html .= $this->formatOptions( $info, $value );
                        } else {
                                $id = Sanitizer::escapeId( $this->mID . "-$info" );
-                               $html .= Xml::radio(
+                               $radio = Xml::radio(
                                        $this->mName,
                                        $info,
                                        $info == $value,
                                        $attribs + array( 'id' => $id )
                                );
-                               $html .= '&#160;' .
+                               $radio .= '&#160;' .
                                                Html::rawElement( 'label', array( 'for' => $id ), $label );
 
-                               $html .= "<br />\n";
+                               $html .= ' ' . Html::rawElement( 'div', array( 'class' => 'mw-htmlform-radio-item' ), $radio );
                        }
                }
 
index 695c6e5..002444d 100644 (file)
@@ -259,6 +259,7 @@ tr.mw-htmlform-vertical-label td.mw-label {
 .mw-htmlform-invalid-input td.mw-input input {
        border-color: red;
 }
+.mw-htmlform-radio-flatlist div.mw-htmlform-radio-item,
 .mw-htmlform-multiselect-flatlist div.mw-htmlform-multiselect-item {
        display: inline;
        margin-right: 1em;