1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
<?php
namespace OOUI;
/**
* Use together with ItemWidget to make disabled state inheritable.
*
* @abstract
*
* @method Widget[] getItems()
*/
trait GroupWidget {
use GroupElement;
/**
* @param bool $disabled
*/
public function setDisabled( $disabled ) {
// @phan-suppress-next-line PhanTraitParentReference
parent::setDisabled( $disabled );
$modifiedItems = [];
$items = $this->getItems();
/** @var Widget $item */
foreach ( $items as $item ) {
$modifiedItems[] = $item->setDisabled( $disabled );
}
$this->clearItems();
$this->addItems( $modifiedItems );
}
}
|