* @package Combodo\iTop\Application\UI\Base\Layout\PageContent * @since 3.0.0 */ class PageContentFactory { /** * Make a standard empty PageContent layout for backoffice pages. * * @return \Combodo\iTop\Application\UI\Base\Layout\PageContent\PageContent */ public static function MakeStandardEmpty() { return new PageContent(); } /** * Make a standard object details page with the form in the middle and the logs / activity in the side panel * * @see cmdbAbstractObject::ENUM_DISPLAY_MODE_XXX * * @param string $sMode Mode the object is being displayed (view, edit, create, ...), default is view. * * @param \DBObject $oObject * * @return \Combodo\iTop\Application\UI\Base\Layout\PageContent\PageContentWithSideContent * @throws \CoreException */ public static function MakeForObjectDetails(DBObject $oObject, string $sMode = cmdbAbstractObject::DEFAULT_DISPLAY_MODE, $sFilter = null, $aList = [], $sBackUrl = null) { $oLayout = new PageContentWithSideContent(); if ($sFilter != null) { $oNavigationBlock = NavigationUIBlockFactory::MakeStandard($oObject, $sFilter, $aList, $sBackUrl); if ($oNavigationBlock != null) { $oLayout->AddSubBlock($oNavigationBlock); } } // Add object activity layout $oActivityPanel = ActivityPanelFactory::MakeForObjectDetails($oObject, $sMode); $oLayout->AddSideBlock($oActivityPanel); return $oLayout; } }