diff --git a/datamodels/2.x/itop-portal-base/portal/public/css/portal.css b/datamodels/2.x/itop-portal-base/portal/public/css/portal.css index 3d69232b8..d80e302ba 100644 --- a/datamodels/2.x/itop-portal-base/portal/public/css/portal.css +++ b/datamodels/2.x/itop-portal-base/portal/public/css/portal.css @@ -387,7 +387,7 @@ footer { transition: all 0.2s linear; } .home .tile:hover { - box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.10); + box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1); } .home .tile .tile_decoration { display: block; @@ -514,6 +514,11 @@ footer { #main-header-title { margin-bottom: 15px; } +#main-header-title .subtitle { + display: block; + margin-top: 8px; + margin-bottom: 20px; +} #main-header-actions { margin-bottom: 15px; } @@ -857,7 +862,7 @@ table .group-actions { } .mosaic-item:hover, .mosaic-item:focus { background-color: #ea7d1e; - box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.20); + box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2); } .mosaic-item-text .mosaic-item-text-wrapper { max-height: 100px; diff --git a/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss b/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss index d593064b3..f59d600b7 100644 --- a/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss +++ b/datamodels/2.x/itop-portal-base/portal/public/css/portal.scss @@ -544,6 +544,11 @@ footer{ } #main-header-title{ margin-bottom: 15px; + .subtitle{ + display: block; + margin-top: 8px; + margin-bottom: 20px; + } } #main-header-actions{ diff --git a/datamodels/2.x/itop-portal-base/portal/src/Brick/ManageBrick.php b/datamodels/2.x/itop-portal-base/portal/src/Brick/ManageBrick.php index e5e20527e..2e3be6321 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Brick/ManageBrick.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Brick/ManageBrick.php @@ -851,6 +851,7 @@ class ManageBrick extends PortalBrick $aGroup[$oGroupProperty->nodeName] = (int)$oGroupProperty->GetText(0); break; case 'title': + case 'description': case 'condition': $aGroup[$oGroupProperty->nodeName] = $oGroupProperty->GetText(); break; diff --git a/datamodels/2.x/itop-portal-base/portal/src/Controller/ManageBrickController.php b/datamodels/2.x/itop-portal-base/portal/src/Controller/ManageBrickController.php index 974d18ca5..64c46bd26 100644 --- a/datamodels/2.x/itop-portal-base/portal/src/Controller/ManageBrickController.php +++ b/datamodels/2.x/itop-portal-base/portal/src/Controller/ManageBrickController.php @@ -362,6 +362,7 @@ class ManageBrickController extends BrickController 'value' => $aGroup['id'], 'label' => Dict::S($aGroup['title']), 'label_html' => Dict::S($aGroup['title']), + 'description' => array_key_exists('description',$aGroup) ? Dict::S($aGroup['description']) : null, 'condition' => $oConditionQuery, 'count' => $iGroupCount, ); @@ -400,6 +401,9 @@ class ManageBrickController extends BrickController } } + // Retrieve the current tab description to set the page subtitle (if it exists) + $aData['sBrickSubtitle'] = !empty($aGroupingTabsValues[$sGroupingTab]['description']) ? $aGroupingTabsValues[$sGroupingTab]['description'] : null; + // - Adding search clause if necessary $this->ManageSearchValue($aData, $oQuery, $sClass, $aColumnsAttrs); diff --git a/datamodels/2.x/itop-portal-base/portal/templates/bricks/layout.html.twig b/datamodels/2.x/itop-portal-base/portal/templates/bricks/layout.html.twig index f1cd8c439..b53804591 100644 --- a/datamodels/2.x/itop-portal-base/portal/templates/bricks/layout.html.twig +++ b/datamodels/2.x/itop-portal-base/portal/templates/bricks/layout.html.twig @@ -16,7 +16,14 @@ {% block pMainHeader %}
-

{% block pMainHeaderTitle %}{% endblock %}

+

+ {% block pMainHeaderTitle %}{% endblock %} + {% block pMainHeaderSubtitle %} + {% if sBrickSubtitle is not null %} + {{ sBrickSubtitle }} + {% endif %} + {% endblock %} +

{% block pMainHeaderActions %}