* @package Combodo\iTop\Application\UI\Base\Component\Panel * @since 3.0.0 * * @link /test/VisualTest/Backoffice/RenderAllUiBlocks.php#title-panels to see live examples */ class PanelUIBlockFactory extends AbstractUIBlockFactory { /** @inheritDoc */ public const TWIG_TAG_NAME = 'UIPanel'; /** @inheritDoc */ public const UI_BLOCK_CLASS_NAME = Panel::class; /** * Make a basis Panel component * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeNeutral(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_NEUTRAL); return $oPanel; } /** * Make a Panel component for informational messages * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeForInformation(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_INFORMATION); return $oPanel; } /** * Make a Panel component for successful messages * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeForSuccess(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_SUCCESS); return $oPanel; } /** * Make a Panel component for warning messages * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeForWarning(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_WARNING); return $oPanel; } /** * Make a Panel component for danger messages * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeForDanger(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_DANGER); return $oPanel; } /** * Make a Panel component for failure messages * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeForFailure(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_FAILURE); return $oPanel; } /** * Make a Panel component with primary color scheme * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeWithBrandingPrimaryColor(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_PRIMARY); return $oPanel; } /** * Make a Panel component with secondary color scheme * * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeWithBrandingSecondaryColor(string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromColorSemantic(Panel::ENUM_COLOR_SCHEME_SECONDARY); return $oPanel; } /** * Make a Panel component with the specific $sClass color scheme * * @param string $sClass Class of the object the panel is for * @param string $sTitle * @param string|null $sSubTitle * * @return \Combodo\iTop\Application\UI\Base\Component\Panel\Panel */ public static function MakeForClass(string $sClass, string $sTitle, string $sSubTitle = null) { $oPanel = new Panel($sTitle); if (!is_null($sSubTitle)) { $oPanel->SetSubTitle($sSubTitle); } $oPanel->SetColorFromClass($sClass); return $oPanel; } }