From 3767ab43f1bdd0add99d4a5fe47bcab406431936 Mon Sep 17 00:00:00 2001 From: Jon Waldstein Date: Thu, 12 Oct 2023 20:00:56 -0400 Subject: [PATCH] Fix: add missing form builder dependencies for WP 6.4 compatibility (#7028) Co-authored-by: Jon Waldstein --- package-lock.json | 7 +++++++ package.json | 1 + .../Routes/RegisterFormBuilderPageRoute.php | 5 ++++- src/FormBuilder/ViewModels/FormBuilderViewModel.php | 13 +++++++++++-- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c61cf9b163..5ae260c4eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -90,6 +90,7 @@ "vhtml": "^2.2.0" }, "devDependencies": { + "@types/lodash": "^4.14.199", "@types/react": "^18.0.27", "@types/react-datepicker": "^4.15.0", "@types/react-dom": "^18.0.10", @@ -6414,6 +6415,12 @@ "@types/node": "*" } }, + "node_modules/@types/lodash": { + "version": "4.14.199", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz", + "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==", + "dev": true + }, "node_modules/@types/mime": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", diff --git a/package.json b/package.json index 29fd715c17..06ee82cb91 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ } ], "devDependencies": { + "@types/lodash": "^4.14.199", "@types/react": "^18.0.27", "@types/react-datepicker": "^4.15.0", "@types/react-dom": "^18.0.10", diff --git a/src/FormBuilder/Routes/RegisterFormBuilderPageRoute.php b/src/FormBuilder/Routes/RegisterFormBuilderPageRoute.php index 5fe0f4152e..a468f3542d 100644 --- a/src/FormBuilder/Routes/RegisterFormBuilderPageRoute.php +++ b/src/FormBuilder/Routes/RegisterFormBuilderPageRoute.php @@ -5,6 +5,7 @@ use Give\FormBuilder\FormBuilderRouteBuilder; use Give\FormBuilder\ViewModels\FormBuilderViewModel; +use Give\Framework\Support\Facades\Scripts\ScriptAsset; use Give\Framework\Views\View; use Give\Helpers\Hooks; use Give\Log\Log; @@ -81,7 +82,9 @@ public function renderPage() wp_enqueue_script( '@givewp/form-builder/registrars', $formBuilderViewModel->jsPathToRegistrars(), - [], + $this->getRegisteredFormBuilderJsDependencies( + $formBuilderViewModel->jsRegistrarsDependencies() + ), GIVE_VERSION, true ); diff --git a/src/FormBuilder/ViewModels/FormBuilderViewModel.php b/src/FormBuilder/ViewModels/FormBuilderViewModel.php index b0ee216804..78df05b45b 100644 --- a/src/FormBuilder/ViewModels/FormBuilderViewModel.php +++ b/src/FormBuilder/ViewModels/FormBuilderViewModel.php @@ -14,6 +14,7 @@ use Give\Framework\FormDesigns\FormDesign; use Give\Framework\FormDesigns\Registrars\FormDesignRegistrar; use Give\Framework\PaymentGateways\PaymentGateway; +use Give\Framework\Support\Facades\Scripts\ScriptAsset; use Give\Subscriptions\Models\Subscription; class FormBuilderViewModel @@ -217,14 +218,22 @@ public function jsPathToRegistrars(): string return GIVE_PLUGIN_URL . 'build/formBuilderRegistrars.js'; } + /** + * @since 3.0.0 + */ + public function jsRegistrarsDependencies(): array + { + return ScriptAsset::getDependencies(GIVE_PLUGIN_DIR . 'build/formBuilderRegistrars.asset.php'); + } + /** * @since 3.0.0 */ public function jsDependencies(): array { - $scriptAsset = require GIVE_PLUGIN_DIR . 'build/formBuilderApp.asset.php'; + $dependencies = ScriptAsset::getDependencies(GIVE_PLUGIN_DIR . 'build/formBuilderApp.asset.php'); - return array_merge($scriptAsset['dependencies'], ['@givewp/form-builder/registrars']); + return array_merge($dependencies, ['@givewp/form-builder/registrars']); } /**