false ], $config ); // Parent constructor parent::__construct( $config ); // Initialization $this->addClasses( [ 'oo-ui-widget' ] ); $this->setDisabled( $config['disabled'] ); } /** * 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 ); $this->setAttributes( [ 'aria-disabled' => $this->disabled ? 'true' : 'false' ] ); return $this; } /** * Get an ID of a labelable node which is part of this widget, if any, to be used for * `