mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-04 08:47:23 +08:00
✨ Always show smart buttons in ‘preview’ context
This commit is contained in:
parent
e9e94e277c
commit
71c19d8034
2 changed files with 14 additions and 3 deletions
|
@ -7,6 +7,7 @@ import {
|
||||||
handleShippingOptionsChange,
|
handleShippingOptionsChange,
|
||||||
handleShippingAddressChange,
|
handleShippingAddressChange,
|
||||||
} from '../Helper/ShippingHandler.js';
|
} from '../Helper/ShippingHandler.js';
|
||||||
|
import { PaymentContext } from '../Helper/CheckoutMethodState';
|
||||||
|
|
||||||
class Renderer {
|
class Renderer {
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -35,6 +36,10 @@ class Renderer {
|
||||||
* @return {boolean} True, if smart buttons are present on the page.
|
* @return {boolean} True, if smart buttons are present on the page.
|
||||||
*/
|
*/
|
||||||
get useSmartButtons() {
|
get useSmartButtons() {
|
||||||
|
if ( PaymentContext.Preview === this.defaultSettings?.context ) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const components = this.defaultSettings?.url_params?.components || '';
|
const components = this.defaultSettings?.url_params?.components || '';
|
||||||
|
|
||||||
return components.split( ',' ).includes( 'buttons' );
|
return components.split( ',' ).includes( 'buttons' );
|
||||||
|
|
|
@ -11,6 +11,7 @@ import {
|
||||||
isVisible,
|
isVisible,
|
||||||
} from '../../../ppcp-button/resources/js/modules/Helper/Hiding';
|
} from '../../../ppcp-button/resources/js/modules/Helper/Hiding';
|
||||||
import widgetBuilder from '../../../ppcp-button/resources/js/modules/Renderer/WidgetBuilder';
|
import widgetBuilder from '../../../ppcp-button/resources/js/modules/Renderer/WidgetBuilder';
|
||||||
|
import { PaymentContext } from '../../../ppcp-button/resources/js/modules/Helper/CheckoutMethodState';
|
||||||
|
|
||||||
document.addEventListener( 'DOMContentLoaded', () => {
|
document.addEventListener( 'DOMContentLoaded', () => {
|
||||||
function disableAll( nodeList ) {
|
function disableAll( nodeList ) {
|
||||||
|
@ -134,7 +135,12 @@ document.addEventListener( 'DOMContentLoaded', () => {
|
||||||
|
|
||||||
function createButtonPreview( settingsCallback ) {
|
function createButtonPreview( settingsCallback ) {
|
||||||
const render = ( settings ) => {
|
const render = ( settings ) => {
|
||||||
const { button, separate_buttons } = settings;
|
const previewSettings = {
|
||||||
|
context: PaymentContext.Preview,
|
||||||
|
...settings,
|
||||||
|
};
|
||||||
|
|
||||||
|
const { button, separate_buttons } = previewSettings;
|
||||||
const wrapperSelector = (
|
const wrapperSelector = (
|
||||||
Object.values( separate_buttons )[ 0 ] ?? button
|
Object.values( separate_buttons )[ 0 ] ?? button
|
||||||
)?.wrapper;
|
)?.wrapper;
|
||||||
|
@ -147,7 +153,7 @@ document.addEventListener( 'DOMContentLoaded', () => {
|
||||||
|
|
||||||
const renderer = new Renderer(
|
const renderer = new Renderer(
|
||||||
null,
|
null,
|
||||||
settings,
|
previewSettings,
|
||||||
( data, actions ) => actions.reject(),
|
( data, actions ) => actions.reject(),
|
||||||
null
|
null
|
||||||
);
|
);
|
||||||
|
@ -156,7 +162,7 @@ document.addEventListener( 'DOMContentLoaded', () => {
|
||||||
renderer.render( {} );
|
renderer.render( {} );
|
||||||
jQuery( document ).trigger(
|
jQuery( document ).trigger(
|
||||||
'ppcp_paypal_render_preview',
|
'ppcp_paypal_render_preview',
|
||||||
settings
|
previewSettings
|
||||||
);
|
);
|
||||||
} catch ( err ) {
|
} catch ( err ) {
|
||||||
console.error( err );
|
console.error( err );
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue