Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1431354
RadioInputWidget.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
RadioInputWidget.php
View Options
<?php
namespace
OOUI
;
/**
* Radio input widget.
*/
class
RadioInputWidget
extends
InputWidget
{
use
RequiredElement
;
/* Static Properties */
/** @var string */
public
static
$tagName
=
'span'
;
/**
* @param array $config Configuration options
* - bool $config['selected'] Whether the radio button is initially selected
* (default: false)
*/
public
function
__construct
(
array
$config
=
[]
)
{
// Parent constructor
parent
::
__construct
(
$config
);
// Traits
$this
->
initializeRequiredElement
(
array_merge
(
[
'indicatorElement'
=>
null
],
$config
)
);
// Initialization
$this
->
addClasses
(
[
'oo-ui-radioInputWidget'
]
);
// Required for pretty styling in WikimediaUI theme
$this
->
appendContent
(
new
Tag
(
'span'
)
);
$this
->
setSelected
(
$config
[
'selected'
]
??
false
);
}
/** @inheritDoc */
protected
function
getInputElement
(
$config
)
{
return
(
new
Tag
(
'input'
)
)->
setAttributes
(
[
'type'
=>
'radio'
]
);
}
/**
* Set selection state of this radio button.
*
* @param bool $state Whether the button is selected
* @return $this
*/
public
function
setSelected
(
$state
)
{
// RadioInputWidget doesn't track its state.
if
(
$state
)
{
$this
->
input
->
setAttributes
(
[
'checked'
=>
'checked'
]
);
}
else
{
$this
->
input
->
removeAttributes
(
[
'checked'
]
);
}
return
$this
;
}
/**
* Check if this radio button is selected.
*
* @return bool Radio is selected
*/
public
function
isSelected
()
{
return
$this
->
input
->
getAttribute
(
'checked'
)
===
'checked'
;
}
/** @inheritDoc */
public
function
getConfig
(
&
$config
)
{
if
(
$this
->
isSelected
()
)
{
$config
[
'selected'
]
=
true
;
}
return
parent
::
getConfig
(
$config
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 20:22 (1 d, 3 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
56/54/b6d9ba56d860c63c0942387aed10
Default Alt Text
RadioInputWidget.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment