diff --git a/application/cmdbabstract.class.inc.php b/application/cmdbabstract.class.inc.php index 45ba65f6b..ea9e70ae4 100644 --- a/application/cmdbabstract.class.inc.php +++ b/application/cmdbabstract.class.inc.php @@ -29,6 +29,7 @@ use Combodo\iTop\Application\UI\Component\Toolbar\Toolbar; use Combodo\iTop\Application\UI\Layout\MultiColumn\Column\Column; use Combodo\iTop\Application\UI\Layout\MultiColumn\MultiColumn; use Combodo\iTop\Application\UI\Layout\UIContentBlock; +use Combodo\iTop\Application\UI\Layout\Object\ObjectFactory; define('OBJECT_PROPERTIES_TAB', 'ObjectProperties'); @@ -981,7 +982,49 @@ EOF $sMode = static::ENUM_OBJECT_MODE_VIEW; // Object's details - // template not found display the object using the *old style* + // TODO 2.8.0: Complete the factory + $oObjectDetails = ObjectFactory::MakeDetails($this); +// $oPage->AddUiBlock($oObjectDetails); + + + // TODO 2.8.0: Remove this when object details block completed, this is hardcoded for the demo + $oPage->add_style(<< .ibo-panel--body { + padding-top: 8px; +} +.object-details .ibo-panel > .ibo-panel--body > .ibo-tab-container > .ibo-tab-container--tabs-list{ + margin-left: -16px; + margin-right: -16px; + padding-left: calc(32px + 90px + 32px - 24px); +} +.object-details .ibo-panel > .ibo-panel--body > .ibo-tab-container > .ibo-tab-container--tab-container{ + margin-left: -16px; + margin-right: -16px; +} +CSS + ); + $oPage->add(<<
diff --git a/css/backoffice/components/_panel.scss b/css/backoffice/components/_panel.scss index 162cb0730..d841d932b 100644 --- a/css/backoffice/components/_panel.scss +++ b/css/backoffice/components/_panel.scss @@ -45,7 +45,7 @@ $ibo-panel-colors: ( 'danger': $ibo-color-danger-600, 'grey' : $ibo-color-grey-600, 'blue-grey': $ibo-color-blue-grey-600, - 'blue': $ibo-color-blue-600, + 'blue': $ibo-color-blue-800, 'cyan': $ibo-color-cyan-600, 'green': $ibo-color-green-600, 'orange' : $ibo-color-orange-600, diff --git a/css/backoffice/layout/_object-details.scss b/css/backoffice/layout/_object-details.scss index 435d3643d..4ad61d2c7 100644 --- a/css/backoffice/layout/_object-details.scss +++ b/css/backoffice/layout/_object-details.scss @@ -6,6 +6,8 @@ $ibo-object-details--body--padding-top: $ibo-panel--highlight--height !default; $ibo-object-details--tabs-list--margin-x: -1 * $ibo-panel--body--padding-x !default; +$ibo-object-details--tab-container--margin-x: -1 * $ibo-panel--body--padding-x !default; + .ibo-object-details.ibo-panel { > .ibo-panel--body { padding-top: $ibo-object-details--body--padding-top; @@ -15,6 +17,10 @@ $ibo-object-details--tabs-list--margin-x: -1 * $ibo-panel--body--padding-x !defa margin-left: $ibo-object-details--tabs-list--margin-x; margin-right: $ibo-object-details--tabs-list--margin-x; } + > .ibo-tab-container--tab-container{ + margin-left: $ibo-object-details--tab-container--margin-x; + margin-right: $ibo-object-details--tab-container--margin-x; + } } } } \ No newline at end of file diff --git a/lib/composer/autoload_classmap.php b/lib/composer/autoload_classmap.php index 43b16c3f6..5c513c196 100644 --- a/lib/composer/autoload_classmap.php +++ b/lib/composer/autoload_classmap.php @@ -206,6 +206,8 @@ return array( 'Combodo\\iTop\\Application\\UI\\Layout\\MultiColumn\\MultiColumn' => $baseDir . '/sources/application/UI/Layout/MultiColumn/MultiColumn.php', 'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenu' => $baseDir . '/sources/application/UI/Layout/NavigationMenu/NavigationMenu.php', 'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenuFactory' => $baseDir . '/sources/application/UI/Layout/NavigationMenu/NavigationMenuFactory.php', + 'Combodo\\iTop\\Application\\UI\\Layout\\Object\\ObjectDetails' => $baseDir . '/sources/application/UI/Layout/Object/ObjectDetails.php', + 'Combodo\\iTop\\Application\\UI\\Layout\\Object\\ObjectFactory' => $baseDir . '/sources/application/UI/Layout/Object/ObjectFactory.php', 'Combodo\\iTop\\Application\\UI\\Layout\\PageContent\\PageContent' => $baseDir . '/sources/application/UI/Layout/PageContent/PageContent.php', 'Combodo\\iTop\\Application\\UI\\Layout\\PageContent\\PageContentFactory' => $baseDir . '/sources/application/UI/Layout/PageContent/PageContentFactory.php', 'Combodo\\iTop\\Application\\UI\\Layout\\PageContent\\PageContentWithSideContent' => $baseDir . '/sources/application/UI/Layout/PageContent/PageContentWithSideContent.php', diff --git a/lib/composer/autoload_static.php b/lib/composer/autoload_static.php index f367329fe..f5f9c8f28 100644 --- a/lib/composer/autoload_static.php +++ b/lib/composer/autoload_static.php @@ -436,6 +436,8 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b 'Combodo\\iTop\\Application\\UI\\Layout\\MultiColumn\\MultiColumn' => __DIR__ . '/../..' . '/sources/application/UI/Layout/MultiColumn/MultiColumn.php', 'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenu' => __DIR__ . '/../..' . '/sources/application/UI/Layout/NavigationMenu/NavigationMenu.php', 'Combodo\\iTop\\Application\\UI\\Layout\\NavigationMenu\\NavigationMenuFactory' => __DIR__ . '/../..' . '/sources/application/UI/Layout/NavigationMenu/NavigationMenuFactory.php', + 'Combodo\\iTop\\Application\\UI\\Layout\\Object\\ObjectDetails' => __DIR__ . '/../..' . '/sources/application/UI/Layout/Object/ObjectDetails.php', + 'Combodo\\iTop\\Application\\UI\\Layout\\Object\\ObjectFactory' => __DIR__ . '/../..' . '/sources/application/UI/Layout/Object/ObjectFactory.php', 'Combodo\\iTop\\Application\\UI\\Layout\\PageContent\\PageContent' => __DIR__ . '/../..' . '/sources/application/UI/Layout/PageContent/PageContent.php', 'Combodo\\iTop\\Application\\UI\\Layout\\PageContent\\PageContentFactory' => __DIR__ . '/../..' . '/sources/application/UI/Layout/PageContent/PageContentFactory.php', 'Combodo\\iTop\\Application\\UI\\Layout\\PageContent\\PageContentWithSideContent' => __DIR__ . '/../..' . '/sources/application/UI/Layout/PageContent/PageContentWithSideContent.php', diff --git a/sources/application/UI/Component/Panel/PanelFactory.php b/sources/application/UI/Component/Panel/PanelFactory.php index ef44a6fa1..37691abdd 100644 --- a/sources/application/UI/Component/Panel/PanelFactory.php +++ b/sources/application/UI/Component/Panel/PanelFactory.php @@ -39,7 +39,8 @@ class PanelFactory public static function MakeNeutral(string $sTitle) { $oPanel = new Panel($sTitle); - $oPanel->SetColor(Panel::ENUM_COLOR_NEUTRAL); + // TODO 2.8.0: Set this back to neutral when object details are done + $oPanel->SetColor(Panel::ENUM_COLOR_BLUE); return $oPanel; } @@ -148,4 +149,21 @@ class PanelFactory 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 + * + * @return \Combodo\iTop\Application\UI\Component\Panel\Panel + */ + public static function MakeForClass(string $sClass, string $sTitle) + { + $oPanel = new Panel($sTitle); + // TODO 2.8.0: Change this to clas color when done + $oPanel->SetColor(Panel::ENUM_COLOR_BLUE); + + return $oPanel; + } } \ No newline at end of file diff --git a/sources/application/UI/Layout/Object/ObjectDetails.php b/sources/application/UI/Layout/Object/ObjectDetails.php index 23ad2767c..a1c00ac5d 100644 --- a/sources/application/UI/Layout/Object/ObjectDetails.php +++ b/sources/application/UI/Layout/Object/ObjectDetails.php @@ -13,5 +13,5 @@ class ObjectDetails extends Panel { // Overloaded constants public const BLOCK_CODE = 'ibo-object-details'; - public const HTML_TEMPLATE_REL_PATH = 'components/object/object-details/layout'; + public const HTML_TEMPLATE_REL_PATH = 'layouts/object/object-details/layout'; } \ No newline at end of file diff --git a/sources/application/UI/Layout/Object/ObjectFactory.php b/sources/application/UI/Layout/Object/ObjectFactory.php new file mode 100644 index 000000000..6d4ab3377 --- /dev/null +++ b/sources/application/UI/Layout/Object/ObjectFactory.php @@ -0,0 +1,30 @@ + + * @package Combodo\iTop\Application\UI\Layout\Object + * @since 2.8.0 + */ +class ObjectFactory { + /** + * Make a standard object details layout. + * + * @return \Combodo\iTop\Application\UI\Layout\Object\ObjectDetails + */ + public static function MakeDetails(DBObject $oObject) { + return new ObjectDetails(); + } +} \ No newline at end of file diff --git a/templates/components/panel/object-details.html.twig b/templates/layouts/object/object-details/layout.html.twig similarity index 100% rename from templates/components/panel/object-details.html.twig rename to templates/layouts/object/object-details/layout.html.twig