From 352dcef01db673987b4395d5942f5cc66428ebfc Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Thu, 27 Aug 2026 10:41:10 +0200 Subject: [PATCH] Fix popover display in AttributText action in fullscreen --- css/backoffice/components/_field.scss | 5 ++++ .../Component/Field/FieldUIBlockFactory.php | 23 ++++++++++--------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/css/backoffice/components/_field.scss b/css/backoffice/components/_field.scss index dc97dacc02..26981fca82 100644 --- a/css/backoffice/components/_field.scss +++ b/css/backoffice/components/_field.scss @@ -294,3 +294,8 @@ $ibo-field--label--action--font-size: $ibo-font-size-50 !default; vertical-align: center; } } + +// Specific rule to ensure that the grouped actions popover of a field is visible in fullscreen mode +body.ibo-has-fullscreen-descendant .ibo-popover-menu.ibo-field--grouped-actions-popover { + z-index: 1060 !important; +} \ No newline at end of file diff --git a/sources/Application/UI/Base/Component/Field/FieldUIBlockFactory.php b/sources/Application/UI/Base/Component/Field/FieldUIBlockFactory.php index d58f480f3e..060663b50d 100644 --- a/sources/Application/UI/Base/Component/Field/FieldUIBlockFactory.php +++ b/sources/Application/UI/Base/Component/Field/FieldUIBlockFactory.php @@ -74,22 +74,23 @@ class FieldUIBlockFactory extends AbstractUIBlockFactory if (isset($aParams['actions'])) { $iMaxActions = utils::GetConfig()->Get('attribute.max_actions_items'); $aActions = []; - // Create a button for a few action or a kebab button for multiple actions that a more than what's configured + // Create buttons for a few actions or a grouped-actions button for more actions than configured if (count($aParams['actions']) > $iMaxActions) { - $oKebabButton = ButtonUIBlockFactory::MakeIconAction('fas fa-ellipsis-v', 'More actions', 'kebab'); - $oKebabButton->AddCSSClass('ibo-field--action'); + $oGroupedActionsButton = ButtonUIBlockFactory::MakeIconAction('fas fa-ellipsis-v', 'More actions', 'grouped-actions'); + $oGroupedActionsButton->AddCSSClass('ibo-field--action'); - $aKebabActions = []; + $aGroupedActions = []; foreach ($aParams['actions'] as $oAction) { - $aKebabActions[] = $oAction->GetMenuItem(); + $aGroupedActions[] = $oAction->GetMenuItem(); } - //TODO: Make a dict entry for the kebab menu label - $oKebabPopoverMenu = PopoverMenuFactory::MakeMenuForActions($oField->GetId().'--kebab-menu', $aKebabActions); - $oKebabPopoverMenu->SetTogglerFromBlock($oKebabButton); - $oKebabPopoverMenu->SetContainer(PopoverMenu::ENUM_CONTAINER_BODY); + //TODO: Make a dict entry for the grouped actions menu label + $oGroupedActionsPopoverMenu = PopoverMenuFactory::MakeMenuForActions($oField->GetId().'--grouped-actions-menu', $aGroupedActions); + $oGroupedActionsPopoverMenu->AddCSSClass('ibo-field--grouped-actions-popover'); + $oGroupedActionsPopoverMenu->SetTogglerFromBlock($oGroupedActionsButton); + $oGroupedActionsPopoverMenu->SetContainer(PopoverMenu::ENUM_CONTAINER_BODY); - $aActions[] = $oKebabButton; - $aActions[] = $oKebabPopoverMenu; + $aActions[] = $oGroupedActionsButton; + $aActions[] = $oGroupedActionsPopoverMenu; } else { foreach ($aParams['actions'] as $oAction) { $oActionButton = ButtonUIBlockFactory::MakeIconButtonFromApplicationPopupMenuItem($oAction);