* @package Combodo\iTop\Application\UI\Base\Component\Button * @since 3.0.0 */ class ButtonJS extends Button { // Overloaded constants public const DEFAULT_HTML_TEMPLATE_REL_PATH = 'base/components/button/buttonjs'; public const REQUIRES_ANCESTORS_DEFAULT_JS_FILES = true; // Specific constants /** @var string ENUM_TYPE_BUTTON */ public const ENUM_TYPE_BUTTON = 'button'; /** @var string ENUM_TYPE_SUBMIT */ public const ENUM_TYPE_SUBMIT = 'submit'; /** @var string ENUM_TYPE_RESET */ public const ENUM_TYPE_RESET = 'reset'; /** @var string DEFAULT_TYPE */ public const DEFAULT_TYPE = self::ENUM_TYPE_BUTTON; /** @var string The HTML type of the button (eg. 'submit', 'button', ...) */ protected $sType; /** @var string The HTML name of the button, used by forms */ protected $sName; /** @var string The HTML value of the button, used by forms */ protected $sValue; /** * ButtonJS constructor. * * @param string $sLabel * @param string|null $sId * @param string $sName * @param string $sValue * @param string $sType * @param string $sTooltip * @param string $sIconClass * @param string $sActionType * @param string $sColor * @param string $sJsCode * @param string $sOnClickJsCode */ public function __construct( string $sLabel, string $sId = null, string $sName = '', string $sValue = '', string $sType = self::DEFAULT_TYPE, string $sTooltip = '', string $sIconClass = '', string $sActionType = self::DEFAULT_ACTION_TYPE, string $sColor = self::DEFAULT_COLOR_SCHEME, string $sJsCode = '', string $sOnClickJsCode = '' ) { parent::__construct( $sLabel, $sId, $sTooltip, $sIconClass, $sActionType, $sColor, $sJsCode, $sOnClickJsCode ); $this->sName = $sName; $this->sValue = $sValue; $this->sType = $sType; } /** * @return string */ public function GetType(): string { return $this->sType; } /** * @param string $sType * * @return $this */ public function SetType(string $sType) { $this->sType = $sType; return $this; } /** * @return string */ public function GetName(): string { return $this->sName; } /** * @param string $sName * * @return $this */ public function SetName(string $sName) { $this->sName = $sName; return $this; } /** * @return string */ public function GetValue(): string { return $this->sValue; } /** * @param string $sValue * * @return $this */ public function SetValue(string $sValue) { $this->sValue = $sValue; return $this; } }