FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
surecart
/
dist
/
components
/
components
Edit File: sc-payment-methods-list.js
import{proxyCustomElement,HTMLElement,h}from"@stencil/core/internal/client";import{a as apiFetch}from"./fetch.js";import{o as onFirstVisible}from"./lazy.js";import{d as defineCustomElement$o}from"./sc-alert2.js";import{d as defineCustomElement$n}from"./sc-block-ui2.js";import{d as defineCustomElement$m}from"./sc-button2.js";import{d as defineCustomElement$l}from"./sc-card2.js";import{d as defineCustomElement$k}from"./sc-cc-logo2.js";import{d as defineCustomElement$j}from"./sc-dashboard-module2.js";import{d as defineCustomElement$i}from"./sc-dialog2.js";import{d as defineCustomElement$h}from"./sc-divider2.js";import{d as defineCustomElement$g}from"./dropdown.js";import{d as defineCustomElement$f}from"./sc-empty2.js";import{d as defineCustomElement$e}from"./sc-flex2.js";import{d as defineCustomElement$d}from"./sc-icon2.js";import{d as defineCustomElement$c}from"./sc-menu2.js";import{d as defineCustomElement$b}from"./sc-menu-item2.js";import{d as defineCustomElement$a}from"./sc-payment-method2.js";import{d as defineCustomElement$9}from"./sc-skeleton2.js";import{d as defineCustomElement$8}from"./sc-spinner2.js";import{d as defineCustomElement$7}from"./sc-stacked-list2.js";import{d as defineCustomElement$6}from"./sc-stacked-list-row2.js";import{d as defineCustomElement$5}from"./sc-switch2.js";import{d as defineCustomElement$4}from"./sc-tag2.js";import{d as defineCustomElement$3}from"./sc-text2.js";import{d as defineCustomElement$2}from"./sc-tooltip2.js";import{a as addQueryArgs}from"./add-query-args.js";const scPaymentMethodsListCss=":host{display:block;position:relative}.payment-methods-list{display:grid;gap:0.5em}.payment-methods-list sc-heading a{text-decoration:none;font-weight:var(--sc-font-weight-semibold);display:inline-flex;align-items:center;gap:0.25em;color:var(--sc-color-primary-500)}.payment-id{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}",ScPaymentMethodsListStyle0=scPaymentMethodsListCss,ScPaymentMethodsList$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.query=void 0,this.heading=void 0,this.isCustomer=void 0,this.canDetachDefaultPaymentMethod=!1,this.paymentMethods=[],this.loading=void 0,this.busy=void 0,this.error=void 0,this.hasTitleSlot=void 0,this.editPaymentMethod=!1,this.deletePaymentMethod=!1,this.cascadeDefaultPaymentMethod=!1}componentWillLoad(){onFirstVisible(this.el,(()=>this.getPaymentMethods())),this.handleSlotChange()}handleSlotChange(){this.hasTitleSlot=!!this.el.querySelector('[slot="title"]')}async deleteMethod(){var e;if(this.deletePaymentMethod)try{this.busy=!0,await apiFetch({path:`surecart/v1/payment_methods/${null===(e=this.deletePaymentMethod)||void 0===e?void 0:e.id}/detach`,method:"PATCH"}),this.paymentMethods=this.paymentMethods.filter((e=>{var t;return e.id!==(null===(t=this.deletePaymentMethod)||void 0===t?void 0:t.id)})),this.deletePaymentMethod=!1}catch(e){alert((null==e?void 0:e.messsage)||wp.i18n.__("Something went wrong","surecart"))}finally{this.busy=!1}}async setDefault(){var e,t,s;if(this.editPaymentMethod){try{this.error="",this.busy=!0,await apiFetch({path:`surecart/v1/customers/${null===(t=null===(e=this.editPaymentMethod)||void 0===e?void 0:e.customer)||void 0===t?void 0:t.id}`,method:"PATCH",data:{default_payment_method:null===(s=this.editPaymentMethod)||void 0===s?void 0:s.id,cascade_default_payment_method:this.cascadeDefaultPaymentMethod}}),this.editPaymentMethod=!1}catch(e){this.error=(null==e?void 0:e.message)||wp.i18n.__("Something went wrong","surecart")}finally{this.busy=!1}try{this.busy=!0,this.paymentMethods=await apiFetch({path:addQueryArgs("surecart/v1/payment_methods/",{expand:["card","customer","billing_agreement","paypal_account","payment_instrument","bank_account"],...this.query})})}catch(e){this.error=(null==e?void 0:e.message)||wp.i18n.__("Something went wrong","surecart")}finally{this.busy=!1}}}async getPaymentMethods(){if(this.isCustomer)try{this.loading=!0,this.paymentMethods=await apiFetch({path:addQueryArgs("surecart/v1/payment_methods/",{expand:["card","customer","billing_agreement","paypal_account","payment_instrument","bank_account"],...this.query,per_page:100})})}catch(e){console.error(this.error),this.error=(null==e?void 0:e.message)||wp.i18n.__("Something went wrong","surecart")}finally{this.loading=!1}}renderLoading(){return h("sc-card",{noPadding:!0},h("sc-stacked-list",null,h("sc-stacked-list-row",{style:{"--columns":"4"},"mobile-size":500},[...Array(4)].map((()=>h("sc-skeleton",{style:{width:"100px",display:"inline-block"}}))))))}renderEmpty(){return h("div",null,h("sc-divider",{style:{"--spacing":"0"}}),h("slot",{name:"empty"},h("sc-empty",{icon:"credit-card"},wp.i18n.__("You don't have any saved payment methods.","surecart"))))}renderPaymentMethodActions(e){const{id:t,customer:s}=e;if("string"!=typeof s&&(s.default_payment_method!==t||this.canDetachDefaultPaymentMethod))return h("sc-dropdown",{placement:"bottom-end",slot:"suffix"},h("sc-icon",{role:"button",tabIndex:0,name:"more-horizontal",slot:"trigger"}),h("sc-menu",null,s.default_payment_method!==t&&h("sc-menu-item",{onClick:()=>this.editPaymentMethod=e},wp.i18n.__("Make Default","surecart")),h("sc-menu-item",{onClick:()=>this.deletePaymentMethod=e},wp.i18n.__("Delete","surecart"))))}renderList(){return this.paymentMethods.map((e=>{const{id:t,card:s,customer:a,live_mode:n,billing_agreement:o,paypal_account:i}=e;return h("sc-stacked-list-row",{style:{"--columns":o?"2":"3"}},h("sc-payment-method",{paymentMethod:e}),h("div",{class:"payment-id"},!!(null==s?void 0:s.exp_month)&&h("span",null,wp.i18n.__("Exp.","surecart"),null==s?void 0:s.exp_month,"/",null==s?void 0:s.exp_year),!!i&&(null==i?void 0:i.email)),h("sc-flex",{"justify-content":"flex-start","align-items":"center",style:{"--spacing":"0.5em",marginLeft:"auto"}},"string"!=typeof a&&(null==a?void 0:a.default_payment_method)===t&&h("sc-tag",{type:"info"},wp.i18n.__("Default","surecart")),!n&&h("sc-tag",{type:"warning"},wp.i18n.__("Test","surecart"))),this.renderPaymentMethodActions(e))}))}renderContent(){var e;return this.isCustomer?this.loading?this.renderLoading():0===(null===(e=this.paymentMethods)||void 0===e?void 0:e.length)?this.renderEmpty():h("sc-card",{"no-padding":!0},h("sc-stacked-list",null,this.renderList())):this.renderEmpty()}handleEditPaymentMethodChange(){this.cascadeDefaultPaymentMethod=!1}render(){return h("sc-dashboard-module",{key:"00129316def0cf2b3da434d65e4bcd5e13e8ef4f",class:"payment-methods-list",error:this.error},h("span",{key:"aba4d557000707928d9c5a711a9900792a80be66",slot:"heading"},h("slot",{key:"2b142bc93b75f16909353fb275d659c9ed94f5e1",name:"heading"},this.heading||wp.i18n.__("Payment Methods","surecart"))),this.isCustomer&&h("sc-flex",{key:"c9a33a6679975522b4d006a1a282ee4a0d3f99e0",slot:"end"},h("sc-button",{key:"f9729094d39e3fdf1f4955561cd0602fabe44c59",type:"link",href:addQueryArgs(window.location.href,{action:"index",model:"charge"})},h("sc-icon",{key:"82fd4fd7834a3c03039ea440852e92a0bb3f180e",name:"clock",slot:"prefix"}),wp.i18n.__("Payment History","surecart")),h("sc-button",{key:"f012e21ae0f925a6f76504b02bdcf122e5f8c2f2",type:"link",href:addQueryArgs(window.location.href,{action:"create",model:"payment_method"})},h("sc-icon",{key:"c050e647ed8341c43f3ce917961689d3146e290f",name:"plus",slot:"prefix"}),wp.i18n.__("Add","surecart"))),this.renderContent(),h("sc-dialog",{key:"38268cb16a8de3b8883edb8111be247bc6558f54",open:!!this.editPaymentMethod,label:wp.i18n.__("Update Default Payment Method","surecart"),onScRequestClose:()=>this.editPaymentMethod=!1},h("sc-alert",{key:"2c168d7c2ffeab49c4583237369fec616feb2fc5",type:"danger",open:!!this.error},this.error),h("sc-flex",{key:"47ef7c14abe131000a406db38bd77cfad230e99b",flexDirection:"column",style:{"--sc-flex-column-gap":"var(--sc-spacing-small)"}},h("sc-alert",{key:"f5e36c2ef7112076cd5576eefc4117a0f4fe0306",type:"info",open:!0},wp.i18n.__("A default payment method will be used as a fallback in case other payment methods get removed from a subscription.","surecart")),h("sc-switch",{key:"7773330e9b66b07ba44e44e30c950501f7c26bdd",checked:this.cascadeDefaultPaymentMethod,onScChange:e=>this.cascadeDefaultPaymentMethod=e.target.checked},wp.i18n.__("Update All Subscriptions","surecart"),h("span",{key:"57dd021ef75234e6bab96ebc1848a31ba9d89432",slot:"description"},wp.i18n.__("Update all existing subscriptions to use this payment method","surecart")))),h("div",{key:"884e1183423e177e174a93d807b5b8473472bdb2",slot:"footer"},h("sc-button",{key:"1c60a922d7e3e829a634abba1a1bc8d8ffc275cf",type:"text",onClick:()=>this.editPaymentMethod=!1},wp.i18n.__("Cancel","surecart")),h("sc-button",{key:"880bafee8aff69edf429e55e6d71f31d15cf74f7",type:"primary",onClick:()=>this.setDefault()},wp.i18n.__("Make Default","surecart"))),this.busy&&h("sc-block-ui",{key:"4c19dcbc1f02c8e9c3099b2ae621b729362b29f8",spinner:!0})),h("sc-dialog",{key:"e96940d8ac719a68a914450fd9cd34f52285f95c",open:!!this.deletePaymentMethod,label:wp.i18n.__("Delete Payment Method","surecart"),onScRequestClose:()=>this.deletePaymentMethod=!1},h("sc-alert",{key:"efe88952d55c35f769c4c627f62e7745654a37ce",type:"danger",open:!!this.error},this.error),h("sc-text",{key:"8e209ccd4e6a43083723f4cd3b3b14f0be1ce764"},wp.i18n.__("Are you sure you want to remove this payment method?","surecart")),h("div",{key:"b600fa7a7cd3383a924dc602a3bd4f5a84a367c0",slot:"footer"},h("sc-button",{key:"e2cfdb3d7f0db3c4c86beedcd234207566a2a941",type:"text",onClick:()=>this.deletePaymentMethod=!1},wp.i18n.__("Cancel","surecart")),h("sc-button",{key:"31cc0d5077436250d1efe33a7b0c3b99d60f3b9b",type:"primary",onClick:()=>this.deleteMethod()},wp.i18n.__("Delete","surecart"))),this.busy&&h("sc-block-ui",{key:"01124f57070cda5751fb4e2481d36bb19242ff3e",spinner:!0})),this.busy&&h("sc-block-ui",{key:"3c52e6a39a8fe953340eadffbddf7ce745fa6913",spinner:!0}))}get el(){return this}static get watchers(){return{editPaymentMethod:["handleEditPaymentMethodChange"]}}static get style(){return ScPaymentMethodsListStyle0}},[1,"sc-payment-methods-list",{query:[16],heading:[1],isCustomer:[4,"is-customer"],canDetachDefaultPaymentMethod:[4,"can-detach-default-payment-method"],paymentMethods:[32],loading:[32],busy:[32],error:[32],hasTitleSlot:[32],editPaymentMethod:[32],deletePaymentMethod:[32],cascadeDefaultPaymentMethod:[32]},void 0,{editPaymentMethod:["handleEditPaymentMethodChange"]}]);function defineCustomElement$1(){"undefined"!=typeof customElements&&["sc-payment-methods-list","sc-alert","sc-block-ui","sc-button","sc-card","sc-cc-logo","sc-dashboard-module","sc-dialog","sc-divider","sc-dropdown","sc-empty","sc-flex","sc-icon","sc-menu","sc-menu-item","sc-payment-method","sc-skeleton","sc-spinner","sc-stacked-list","sc-stacked-list-row","sc-switch","sc-tag","sc-text","sc-tooltip"].forEach((e=>{switch(e){case"sc-payment-methods-list":customElements.get(e)||customElements.define(e,ScPaymentMethodsList$1);break;case"sc-alert":customElements.get(e)||defineCustomElement$o();break;case"sc-block-ui":customElements.get(e)||defineCustomElement$n();break;case"sc-button":customElements.get(e)||defineCustomElement$m();break;case"sc-card":customElements.get(e)||defineCustomElement$l();break;case"sc-cc-logo":customElements.get(e)||defineCustomElement$k();break;case"sc-dashboard-module":customElements.get(e)||defineCustomElement$j();break;case"sc-dialog":customElements.get(e)||defineCustomElement$i();break;case"sc-divider":customElements.get(e)||defineCustomElement$h();break;case"sc-dropdown":customElements.get(e)||defineCustomElement$g();break;case"sc-empty":customElements.get(e)||defineCustomElement$f();break;case"sc-flex":customElements.get(e)||defineCustomElement$e();break;case"sc-icon":customElements.get(e)||defineCustomElement$d();break;case"sc-menu":customElements.get(e)||defineCustomElement$c();break;case"sc-menu-item":customElements.get(e)||defineCustomElement$b();break;case"sc-payment-method":customElements.get(e)||defineCustomElement$a();break;case"sc-skeleton":customElements.get(e)||defineCustomElement$9();break;case"sc-spinner":customElements.get(e)||defineCustomElement$8();break;case"sc-stacked-list":customElements.get(e)||defineCustomElement$7();break;case"sc-stacked-list-row":customElements.get(e)||defineCustomElement$6();break;case"sc-switch":customElements.get(e)||defineCustomElement$5();break;case"sc-tag":customElements.get(e)||defineCustomElement$4();break;case"sc-text":customElements.get(e)||defineCustomElement$3();break;case"sc-tooltip":customElements.get(e)||defineCustomElement$2()}}))}const ScPaymentMethodsList=ScPaymentMethodsList$1,defineCustomElement=defineCustomElement$1;export{ScPaymentMethodsList,defineCustomElement};
Save
Back