mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-12-18 19:01:28 +00:00
188e8d7395
Bug: T136361 Change-Id: I7896dbdf25d2c1624f97777f4c8d0af41b195ef0 Depends-On: Ic31f857c749d62a32cafae68dc3f1cbd86e1e382
45 lines
1.1 KiB
PHP
45 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace EchoOOUI;
|
|
|
|
use OOUI\IconElement;
|
|
use OOUI\LabelElement;
|
|
use OOUI\TitledElement;
|
|
use OOUI\Tag;
|
|
use OOUI\Widget;
|
|
|
|
/**
|
|
* Widget combining a label and icon
|
|
*/
|
|
class LabelIconWidget extends Widget {
|
|
use IconElement;
|
|
use LabelElement;
|
|
use TitledElement;
|
|
|
|
/**
|
|
* @param array $config Configuration options
|
|
* @param string|HtmlSnippet $config['label'] Label text
|
|
* @param string $config['title'] Title text
|
|
* @param string $config['icon'] Icon key
|
|
*/
|
|
public function __construct( $config ) {
|
|
parent::__construct( $config );
|
|
|
|
$this->tableRow = new Tag( 'div' );
|
|
$this->tableRow->setAttributes( array(
|
|
'class' => 'oo-ui-labelIconWidget-row',
|
|
) );
|
|
|
|
$this->icon = new Tag( 'div' );
|
|
$this->label = new Tag( 'div' );
|
|
|
|
$this->initializeIconElement( array_merge( $config, [ 'iconElement' => $this->icon ] ) );
|
|
$this->initializeLabelElement( array_merge( $config, [ 'labelElement' => $this->label ] ) );
|
|
$this->initializeTitledElement( $config );
|
|
|
|
$this->addClasses( [ 'oo-ui-labelIconWidget' ] );
|
|
$this->tableRow->appendContent( $this->icon, $this->label );
|
|
$this->appendContent( $this->tableRow );
|
|
}
|
|
}
|