From 45763bd77d05bfc2c0b417813ed4a517079f00c0 Mon Sep 17 00:00:00 2001 From: John Du Hart Date: Sun, 23 Oct 2011 16:57:53 +0000 Subject: [PATCH] Adding flatlists to HTMLRadioField, sort of like HTMLMultiSelect --- includes/HTMLForm.php | 14 +++++++++++--- skins/common/shared.css | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/includes/HTMLForm.php b/includes/HTMLForm.php index 4f5b32604e..11e477b242 100644 --- a/includes/HTMLForm.php +++ b/includes/HTMLForm.php @@ -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 .= ' ' . + $radio .= ' ' . Html::rawElement( 'label', array( 'for' => $id ), $label ); - $html .= "
\n"; + $html .= ' ' . Html::rawElement( 'div', array( 'class' => 'mw-htmlform-radio-item' ), $radio ); } } diff --git a/skins/common/shared.css b/skins/common/shared.css index 695c6e599a..002444dff8 100644 --- a/skins/common/shared.css +++ b/skins/common/shared.css @@ -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; -- 2.20.1