import FormFieldGroup from "../Components/FormFieldGroup"; class CardView { constructor(selector, elements, manager) { this.el = elements; this.manager = manager; this.cardFormFields = new FormFieldGroup({ baseSelector: '.ppcp-axo-payment-container', contentSelector: selector, template: (data) => { const selectOtherPaymentMethod = () => { if (!this.manager.hideGatewaySelection) { return ''; } return `

Select other payment method

`; }; if (data.isEmpty()) { return `
Please fill in your card details.

Add card details

${selectOtherPaymentMethod()}
`; } const expiry = data.value('expiry').split('-'); const cardIcons = { 'VISA': 'visa-dark.svg', 'MASTER_CARD': 'mastercard-dark.svg', 'AMEX': 'amex.svg', 'DISCOVER': 'discover.svg', }; return `

Card Details Edit

${data.value('brand')}
${data.value('lastDigits') ? '**** **** **** ' + data.value('lastDigits'): ''}
${expiry[1]}/${expiry[0]}
${data.value('name')}
${selectOtherPaymentMethod()}
`; }, fields: { brand: { 'valuePath': 'card.paymentSource.card.brand', }, expiry: { 'valuePath': 'card.paymentSource.card.expiry', }, lastDigits: { 'valuePath': 'card.paymentSource.card.lastDigits', }, name: { 'valuePath': 'card.paymentSource.card.name', }, } }); } activate() { this.cardFormFields.activate(); } deactivate() { this.cardFormFields.deactivate(); } refresh() { this.cardFormFields.refresh(); } setData(data) { this.cardFormFields.setData(data); } } export default CardView;