From f6d65e533c62f6deb21342d4901ece24497b433e Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 4 Jun 2015 07:31:04 +0200 Subject: Update to MediaWiki 1.25.1 --- .../oojs/oojs-ui/php/widgets/RadioInputWidget.php | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 vendor/oojs/oojs-ui/php/widgets/RadioInputWidget.php (limited to 'vendor/oojs/oojs-ui/php/widgets/RadioInputWidget.php') diff --git a/vendor/oojs/oojs-ui/php/widgets/RadioInputWidget.php b/vendor/oojs/oojs-ui/php/widgets/RadioInputWidget.php new file mode 100644 index 00000000..26da29d0 --- /dev/null +++ b/vendor/oojs/oojs-ui/php/widgets/RadioInputWidget.php @@ -0,0 +1,60 @@ +addClasses( array( 'oo-ui-radioInputWidget' ) ); + $this->setSelected( isset( $config['selected'] ) ? $config['selected'] : false ); + } + + protected function getInputElement( $config ) { + $input = new Tag( 'input' ); + $input->setAttributes( array( 'type' => 'radio' ) ); + return $input; + } + + /** + * Set selection state of this radio button. + * + * @param boolean $state Whether the button is selected + */ + public function setSelected( $state ) { + // RadioInputWidget doesn't track its state. + if ( $state ) { + $this->input->setAttributes( array( 'checked' => 'checked' ) ); + } else { + $this->input->removeAttributes( array( 'checked' ) ); + } + return $this; + } + + /** + * Check if this radio button is selected. + * + * @return boolean Radio is selected + */ + public function isSelected() { + return $this->input->getAttribute( 'checked' ) === 'checked'; + } + + public function getConfig( &$config ) { + if ( $this->isSelected() ) { + $config['selected'] = true; + } + return parent::getConfig( $config ); + } +} -- cgit v1.2.3-54-g00ecf