target->addClasses( array( 'oo-ui-indicatorElement-indicator' ) ); $this->setIndicator( isset( $config['indicator'] ) ? $config['indicator'] : null ); } /** * Set indicator name. * * @param string|null $indicator Symbolic name of indicator to use or null for no indicator * @chainable */ public function setIndicator( $indicator = null ) { if ( $this->indicator !== null ) { $this->target->removeClasses( array( 'oo-ui-indicator-' . $this->indicator ) ); } if ( $indicator !== null ) { $this->target->addClasses( array( 'oo-ui-indicator-' . $indicator ) ); } $this->indicator = $indicator; $this->element->toggleClasses( array( 'oo-ui-indicatorElement' ), (bool)$this->indicator ); return $this; } /** * Get indicator name. * * @return string Symbolic name of indicator */ public function getIndicator() { return $this->indicator; } public function getConfig( &$config ) { if ( $this->indicator !== null ) { $config['indicator'] = $this->indicator; } return parent::getConfig( $config ); } }