Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1431265
Widget.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
Widget.php
View Options
<?php
namespace
OOUI
;
/**
* User interface control.
*
* @abstract
*/
class
Widget
extends
Element
{
/* Properties */
/**
* Disabled.
*
* @var bool Widget is disabled
*/
protected
$disabled
=
false
;
/* Methods */
/**
* @param array $config Configuration options
* - bool $config['disabled'] Disable (default: false)
*/
public
function
__construct
(
array
$config
=
[]
)
{
// Parent constructor
parent
::
__construct
(
$config
);
// Initialization
$this
->
addClasses
(
[
'oo-ui-widget'
]
);
$this
->
setDisabled
(
$config
[
'disabled'
]
??
false
);
}
/**
* Check if the widget is disabled.
*
* @return bool Button is disabled
*/
public
function
isDisabled
()
{
return
$this
->
disabled
;
}
/**
* Set the disabled state of the widget.
*
* This should probably change the widgets' appearance and prevent it from being used.
*
* @param bool $disabled Disable widget
* @return $this
*/
public
function
setDisabled
(
$disabled
)
{
$this
->
disabled
=
(
bool
)
$disabled
;
$this
->
toggleClasses
(
[
'oo-ui-widget-disabled'
],
$this
->
disabled
);
$this
->
toggleClasses
(
[
'oo-ui-widget-enabled'
],
!
$this
->
disabled
);
if
(
$this
->
disabled
)
{
$this
->
setAttributes
(
[
'aria-disabled'
=>
'true'
]
);
}
else
{
$this
->
removeAttributes
(
[
'aria-disabled'
]
);
}
return
$this
;
}
/**
* Get an ID of a labelable node which is part of this widget, if any, to be used for
* `<label for>` value.
*
* @return string|null The ID of the labelable node
*/
public
function
getInputId
()
{
return
null
;
}
/**
* Set the element with the given ID as a label for this widget.
*
* @param string|null $id
*/
public
function
setLabelledBy
(
$id
)
{
if
(
$id
)
{
$this
->
setAttributes
(
[
'aria-labelledby'
=>
$id
]
);
}
else
{
$this
->
removeAttributes
(
[
'aria-labelledby'
]
);
}
}
/** @inheritDoc */
public
function
getConfig
(
&
$config
)
{
if
(
$this
->
disabled
)
{
$config
[
'disabled'
]
=
$this
->
disabled
;
}
return
parent
::
getConfig
(
$config
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 20:14 (1 d, 1 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
54/2c/0c8159b1c29c994466f970c235d2
Default Alt Text
Widget.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment