From dcd830711827c6657f44ac56acf1acda95576a5f Mon Sep 17 00:00:00 2001 From: Philipp Stracker Date: Wed, 26 Jun 2024 18:54:09 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Optional=20init=20value=20?= =?UTF-8?q?for=20trigger=20selector?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../js/modules/Helper/MultistepCheckoutHelper.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/ppcp-button/resources/js/modules/Helper/MultistepCheckoutHelper.js b/modules/ppcp-button/resources/js/modules/Helper/MultistepCheckoutHelper.js index 1bf843a94..5fa93244d 100644 --- a/modules/ppcp-button/resources/js/modules/Helper/MultistepCheckoutHelper.js +++ b/modules/ppcp-button/resources/js/modules/Helper/MultistepCheckoutHelper.js @@ -1,5 +1,7 @@ import { refreshButtons } from './ButtonRefreshHelper'; +const DEFAULT_TRIGGER_ELEMENT_SELECTOR = '.woocommerce-checkout-payment'; + /** * The MultistepCheckoutHelper class ensures the initialization of payment buttons * on websites using a multistep checkout plugin. These plugins usually hide the @@ -14,10 +16,10 @@ import { refreshButtons } from './ButtonRefreshHelper'; class MultistepCheckoutHelper { /** - * Configuration that defines the HTML selector for the component we are waiting to be visible. + * Selector that defines the HTML element we are waiting to become visible. * @type {string} */ - #triggerElementSelector = '.woocommerce-checkout-payment'; + #triggerElementSelector; /** * Interval (in milliseconds) in which the visibility of the trigger element is checked. @@ -39,9 +41,11 @@ class MultistepCheckoutHelper { /** * @param {string} formSelector - Selector of the checkout form + * @param {string} triggerElementSelector - Optional. Selector of the dependant element. */ - constructor(formSelector) { + constructor(formSelector, triggerElementSelector = '') { this.#formSelector = formSelector; + this.#triggerElementSelector = triggerElementSelector || DEFAULT_TRIGGER_ELEMENT_SELECTOR; this.#intervalId = false; /*