From 9bf181cfad2c22fbc9033abc0012ceef3547e71f Mon Sep 17 00:00:00 2001 From: colemanw Date: Mon, 27 Nov 2023 09:30:19 -0500 Subject: [PATCH] AngularJs - Load on every page Fixes dev/core#4811 This ensures that if a popup link requires AngularJS, it will always be available. --- CRM/Core/Form.php | 4 +--- CRM/Core/Resources.php | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CRM/Core/Form.php b/CRM/Core/Form.php index aef1a07c02..8070fd00d4 100644 --- a/CRM/Core/Form.php +++ b/CRM/Core/Form.php @@ -2325,9 +2325,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page { $props['data-select-params'] = json_encode($props['select']); $props['data-api-params'] = json_encode($props['api']); $props['data-api-entity'] = $props['entity']; - if (!empty($props['select']['quickAdd'])) { - Civi::service('angularjs.loader')->addModules(['af']); - } + CRM_Utils_Array::remove($props, 'select', 'api', 'entity'); return $this->add('text', $name, $label, $props, $required); } diff --git a/CRM/Core/Resources.php b/CRM/Core/Resources.php index 748aaa1c26..a4da04e800 100644 --- a/CRM/Core/Resources.php +++ b/CRM/Core/Resources.php @@ -381,6 +381,9 @@ class CRM_Core_Resources implements CRM_Core_Resources_CollectionAdderInterface if (!self::isAjaxMode()) { $this->addBundle('coreResources'); $this->addCoreStyles($region); + // This ensures that if a popup link requires AngularJS, it will always be available. + // Additional Ang modules required by popups will be loaded on-the-fly by Civi\Angular\AngularLoader + Civi::service('angularjs.loader')->addModules(['crmResource']); } return $this; } -- 2.25.1