PluginProbe
Pay with Vipps and MobilePay for WooCommerce / 6.1.3
Pay with Vipps and MobilePay for WooCommerce v6.1.3
6.3.1 6.2.6 6.3.0 6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 6.2.0 6.1.10 6.1.9 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1.0 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 All 190 releases
woo-vipps / payment / Blocks / Payment / js / wc-payment-method-vipps.js

wc-payment-method-vipps.js in Pay with Vipps and MobilePay for WooCommerce 6.1.3, at payment/Blocks/Payment/js/wc-payment-method-vipps.js

82 lines 2.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1
2 (function () {
3
4
5 // Imports
6 const { __ } = wp.i18n;
7 const { decodeEntities } = wp.htmlEntities;
8 const { getSetting } = wc.wcSettings;
9 const { registerPaymentMethod } = wc.wcBlocksRegistry;
10 const { registerExpressPaymentMethod } = wc.wcBlocksRegistry;
11 const { applyFilters } = wp.hooks;
12
13 //( 'hookName', content, arg1, arg2, ... )
14
15
16 // Data
17 const settings = getSetting('vipps_data', {});
18 const defaultLabel = VippsLocale['Vipps'];
19 const label = decodeEntities(settings.title) || defaultLabel;
20 const iconsrc = settings.iconsrc;
21
22
23 const Content = () => {
24 var content = React.createElement(
25 'div',
26 null,
27 decodeEntities(settings.description || '')
28 );
29 return applyFilters('woo_vipps_checkout_description', content, settings);
30 };
31
32 const Label = props => {
33 const { PaymentMethodLabel } = props.components;
34 let textlabel = React.createElement( 'span', null, decodeEntities(settings.title || ''));
35 let icon = React.createElement('img', { style: {display: 'inline-block'}, alt: textlabel, title: textlabel, className: 'vipps-payment-logo', src:iconsrc});
36 let label = React.createElement(PaymentMethodLabel, { text: textlabel, icon: icon });
37 return applyFilters('woo_vipps_checkout_label', label, settings);
38 };
39
40 const ExpressCheckoutButton = props => {
41 var expressbutton = React.createElement('div', {dangerouslySetInnerHTML: {__html: settings.expressbutton }, className: 'vipps-express-container'}, null);
42 return applyFilters('woo_vipps_checkout_block_express_button', expressbutton, settings);
43 }
44
45 const canMakeExpressPayment = (args) => {
46 var candoit = settings.show_express_checkout;
47 return applyFilters('woo_vipps_checkout_block_show_express_checkout', candoit, settings);
48 };
49
50 const canMakePayment = (args) => {
51 var candoit = true;
52 return applyFilters('woo_vipps_checkout_block_show_vipps', candoit, settings);
53 };
54
55 /**
56 * Vipps payment method config object.
57 */
58 const VippsPaymentMethod = {
59 name: 'vipps',
60 label: React.createElement(Label, null),
61 content: React.createElement(Content, null),
62 edit: React.createElement(Content, null),
63 placeOrderButtonLabel: VippsLocale['Continue with Vipps'],
64 icons: null,
65 canMakePayment: canMakePayment,
66 ariaLabel: label
67 };
68 const VippsExpressPaymentMethod = {
69 name: 'vippsexpress',
70 content: React.createElement(ExpressCheckoutButton, null),
71 edit: React.createElement(ExpressCheckoutButton, null),
72 paymentMethodId: 'vipps',
73 canMakePayment: canMakeExpressPayment,
74 };
75
76
77 registerPaymentMethod(VippsPaymentMethod);
78 registerExpressPaymentMethod(VippsExpressPaymentMethod);
79
80
81 }());
82