* @package Combodo\iTop\Application\UI\Component\Panel\Panel * @since 2.8.0 */ class Panel extends UIBlock { // Overloaded constants const BLOCK_CODE = 'ibo-panel'; const HTML_TEMPLATE_REL_PATH = 'components/panel/layout'; const JS_TEMPLATE_REL_PATH = 'components/panel/layout'; /** @var string $sTitle */ protected $sTitle; /** @var array $aSubBlocks */ protected $aSubBlocks; /** @var string $sColor */ protected $sColor; /** * Panel constructor. * * @param string $sId * @param string $sTitle * @param array $aSubBlocks * @param string $sColor */ public function __construct($sId, $sTitle = '', $aSubBlocks = [], $sColor = 'secondary') { $this->sTitle = $sTitle; $this->aSubBlocks = $aSubBlocks; $this->sColor = $sColor; parent::__construct($sId); } /** * @return string */ public function GetTitle() { return $this->sTitle; } /** * @param string $sTitle * @return $this */ public function SetTitle($sTitle) { $this->sTitle = $sTitle; return $this; } /** * @inheritDoc */ public function GetSubBlocks() { return $this->aSubBlocks; } /** * @param \Combodo\iTop\Application\UI\UIBlock $oSubBlock * @return $this */ public function AddSubBlock($oSubBlock) { $this->aSubBlocks[] = $oSubBlock; return $this; } /** * @param array $aSubBlocks * @return $this */ public function SetSubBlocks($aSubBlocks) { $this->aSubBlocks = $aSubBlocks; return $this; } /** * @return string */ public function GetColor() { return $this->sColor; } /** * @param string $sColor * @return $this */ public function SetColor($sColor) { $this->sColor = $sColor; return $this; } }