From 1ca78e4a411319d5efc71e82c9e1200ba272cde4 Mon Sep 17 00:00:00 2001 From: Stephen Abello Date: Thu, 27 Aug 2026 15:26:14 +0200 Subject: [PATCH] Correctly handle included js files on the new api --- .../UI/Base/Common/Action/tActionJs.php | 12 ------------ .../Base/Component/Button/ButtonUIBlockFactory.php | 14 ++++---------- .../ActivityPanelActionFactory.php | 2 +- .../TopBarQuickAction/TopBarQuickActionFactory.php | 2 +- 4 files changed, 6 insertions(+), 24 deletions(-) diff --git a/sources/Application/UI/Base/Common/Action/tActionJs.php b/sources/Application/UI/Base/Common/Action/tActionJs.php index 59ac5fb36b..802f583c78 100644 --- a/sources/Application/UI/Base/Common/Action/tActionJs.php +++ b/sources/Application/UI/Base/Common/Action/tActionJs.php @@ -33,7 +33,6 @@ trait tActionJs { protected string $sJsCode; protected string $sUrl = '#'; - protected array $aIncludeJSFiles = []; public function GetJsCode(): string { @@ -56,15 +55,4 @@ trait tActionJs $this->sUrl = $sUrl; return $this; } - - public function GetIncludeJSFiles(): array - { - return $this->aIncludeJSFiles; - } - - public function SetIncludeJSFiles(array $aIncludeJSFiles): static - { - $this->aIncludeJSFiles = $aIncludeJSFiles; - return $this; - } } diff --git a/sources/Application/UI/Base/Component/Button/ButtonUIBlockFactory.php b/sources/Application/UI/Base/Component/Button/ButtonUIBlockFactory.php index 37a9de0295..a844f45135 100644 --- a/sources/Application/UI/Base/Component/Button/ButtonUIBlockFactory.php +++ b/sources/Application/UI/Base/Component/Button/ButtonUIBlockFactory.php @@ -392,7 +392,7 @@ class ButtonUIBlockFactory extends AbstractUIBlockFactory { if ($oPopupItem instanceof JSPopupMenuItem) { $sTooltip = $oPopupItem->GetTooltip(); - if (!utils::IsNotNullOrEmptyString($sTooltip)) { + if (utils::IsNullOrEmptyString($sTooltip)) { $sTooltip = $oPopupItem->GetLabel(); } @@ -402,9 +402,7 @@ class ButtonUIBlockFactory extends AbstractUIBlockFactory ); $oButton->SetOnClickJsCode($oPopupItem->GetJsCode()); - foreach ($oPopupItem->GetLinkedScripts() as $sLinkedScript) { - $oButton->AddJsFileRelPath($sLinkedScript); - } + $oButton->AddMultipleJsFilesRelPaths($oPopupItem->GetLinkedScripts()); $oButton->SetActionType($sActionType); $oButton->SetColor($sColor); $oButton->SetAriaAttributes($oPopupItem->GetAriaAttributes()->GetAttributes()); @@ -464,15 +462,11 @@ class ButtonUIBlockFactory extends AbstractUIBlockFactory if (utils::IsNotNullOrEmptyString($oPopupItem->GetTooltip())) { $oButton->SetTooltip($oPopupItem->GetTooltip()); } + $oButton->SetOnClickJsCode($oPopupItem->GetJsCode()); + $oButton->AddMultipleJsFilesRelPaths($oPopupItem->GetLinkedScripts()); $oButton->SetAriaAttributes($oPopupItem->GetAriaAttributes()->GetAttributes()); $oButton->SetDataAttributes($oPopupItem->GetDataAttributes()->GetAttributes()); - $oButton->SetOnClickJsCode($oPopupItem->GetJsCode()); - - foreach ($oPopupItem->GetLinkedScripts() as $sLinkedScript) { - $oButton->AddJsFileRelPath($sLinkedScript); - } - return $oButton; } elseif ($oPopupItem instanceof URLPopupMenuItem) { $oButton = self::MakeForLink( diff --git a/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelAction/ActivityPanelActionFactory.php b/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelAction/ActivityPanelActionFactory.php index 1bba93529e..165ca17e28 100644 --- a/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelAction/ActivityPanelActionFactory.php +++ b/sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanelAction/ActivityPanelActionFactory.php @@ -118,7 +118,7 @@ class ActivityPanelActionFactory ); $oAction->SetJsCode($oPopupItem->GetJsCode()); $oAction->SetUrl($oPopupItem->GetUrl()); - $oAction->SetIncludeJSFiles($oPopupItem->GetLinkedScripts()); + $oAction->AddMultipleJsFilesRelPaths($oPopupItem->GetLinkedScripts()); $oAction->SetAriaAttributes($oPopupItem->GetAriaAttributes()->GetAttributes()); $oAction->SetDataAttributes($oPopupItem->GetDataAttributes()->GetAttributes()); diff --git a/sources/Application/UI/Base/Layout/TopBar/TopBarQuickAction/TopBarQuickActionFactory.php b/sources/Application/UI/Base/Layout/TopBar/TopBarQuickAction/TopBarQuickActionFactory.php index be941e39b9..a4c650177e 100644 --- a/sources/Application/UI/Base/Layout/TopBar/TopBarQuickAction/TopBarQuickActionFactory.php +++ b/sources/Application/UI/Base/Layout/TopBar/TopBarQuickAction/TopBarQuickActionFactory.php @@ -44,7 +44,7 @@ class TopBarQuickActionFactory ); $oTopBarAction->SetJsCode($oApplicationPopupItem->GetJsCode()); $oTopBarAction->SetUrl($oApplicationPopupItem->GetUrl()); - $oTopBarAction->SetIncludeJSFiles($oApplicationPopupItem->GetLinkedScripts()); + $oTopBarAction->AddMultipleJsFilesRelPaths($oApplicationPopupItem->GetLinkedScripts()); $oTopBarAction->SetAriaAttributes($oApplicationPopupItem->GetAriaAttributes()->GetAttributes()); $oTopBarAction->SetDataAttributes($oApplicationPopupItem->GetDataAttributes()->GetAttributes()); return $oTopBarAction;