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