Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4137661
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
Wed, Aug 19, 14:14 (3 w, 4 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
2b/92/bf66642e095e3a5d66685f2ea786
Default Alt Text
RadioInputWidget.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment