FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
surecart
/
dist
/
components
/
components
Edit File: sc-invoices-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$i}from"./sc-alert2.js";import{d as defineCustomElement$h}from"./sc-block-ui2.js";import{d as defineCustomElement$g}from"./sc-button2.js";import{d as defineCustomElement$f}from"./sc-card2.js";import{d as defineCustomElement$e}from"./sc-dashboard-module2.js";import{d as defineCustomElement$d}from"./sc-divider2.js";import{d as defineCustomElement$c}from"./sc-empty2.js";import{d as defineCustomElement$b}from"./sc-flex2.js";import{d as defineCustomElement$a}from"./sc-icon2.js";import{d as defineCustomElement$9}from"./sc-invoice-status-badge2.js";import{d as defineCustomElement$8}from"./sc-pagination2.js";import{d as defineCustomElement$7}from"./sc-skeleton2.js";import{d as defineCustomElement$6}from"./sc-spinner2.js";import{d as defineCustomElement$5}from"./sc-stacked-list2.js";import{d as defineCustomElement$4}from"./sc-stacked-list-row2.js";import{d as defineCustomElement$3}from"./sc-tag2.js";import{d as defineCustomElement$2}from"./sc-visually-hidden2.js";import{a as addQueryArgs}from"./add-query-args.js";const scInvoicesListCss=":host{display:block}.orders-list{display:grid;gap:0.75em}.orders-list__heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}.orders-list__title{font-size:var(--sc-font-size-x-large);font-weight:var(--sc-font-weight-bold);line-height:var(--sc-line-height-dense)}.orders-list 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)}.order__row{color:var(--sc-color-gray-800);text-decoration:none;display:grid;align-items:center;justify-content:space-between;gap:0;grid-template-columns:1fr 1fr 1fr auto;margin:0;padding:var(--sc-spacing-small) var(--sc-spacing-large)}.order__row:not(:last-child){border-bottom:1px solid var(--sc-color-gray-200)}.order__row:hover{background:var(--sc-color-gray-50)}.order__date{font-weight:var(--sc-font-weight-semibold)}",ScInvoicesListStyle0=scInvoicesListCss,ScInvoicesList$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.query={page:1,per_page:10},this.allLink=void 0,this.heading=void 0,this.isCustomer=void 0,this.invoices=[],this.loading=void 0,this.busy=void 0,this.error=void 0,this.pagination={total:0,total_pages:0}}componentWillLoad(){onFirstVisible(this.el,(()=>{this.initialFetch()}))}async initialFetch(){try{this.loading=!0,await this.getInvoices()}catch(e){console.error(this.error),this.error=(null==e?void 0:e.message)||wp.i18n.__("Something went wrong","surecart")}finally{this.loading=!1}}async fetchInvoices(){try{this.busy=!0,await this.getInvoices()}catch(e){console.error(this.error),this.error=(null==e?void 0:e.message)||wp.i18n.__("Something went wrong","surecart")}finally{this.busy=!1}}async getInvoices(){if(!this.isCustomer)return;const e=await await apiFetch({path:addQueryArgs("surecart/v1/invoices/",{expand:["checkout"],...this.query}),parse:!1});return this.pagination={total:parseInt(e.headers.get("X-WP-Total")),total_pages:parseInt(e.headers.get("X-WP-TotalPages"))},this.invoices=await e.json(),this.invoices}nextPage(){this.query.page=this.query.page+1,this.fetchInvoices()}prevPage(){this.query.page=this.query.page-1,this.fetchInvoices()}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:"shopping-bag"},wp.i18n.__("You don't have any invoices.","surecart"))))}getInvoiceRedirectUrl(e){var s,t,i;return"open"===e.status?`${window.scData.pages.checkout}?checkout_id=${null===(s=null==e?void 0:e.checkout)||void 0===s?void 0:s.id}`:addQueryArgs(window.location.href,{action:"show",model:"order",id:null===(i=null===(t=null==e?void 0:e.checkout)||void 0===t?void 0:t.order)||void 0===i?void 0:i.id})}renderList(){return this.invoices.map((e=>{const{checkout:s,due_date_date:t}=e;if(!s)return null;const{amount_due_display_amount:i}=s;return h("sc-stacked-list-row",{href:this.getInvoiceRedirectUrl(e),style:{"--columns":"4"},"mobile-size":500},h("div",null,"#",null==e?void 0:e.order_number),h("div",null,t&&"open"===(null==e?void 0:e.status)?wp.i18n.sprintf(wp.i18n.__("Due %s","surecart"),t):"—"),h("div",{class:"invoices-list__status"},h("sc-invoice-status-badge",{status:null==e?void 0:e.status})),h("div",null,i))}))}renderContent(){var e;return this.loading?this.renderLoading():0===(null===(e=this.invoices)||void 0===e?void 0:e.length)?this.renderEmpty():h("sc-card",{"no-padding":!0},h("sc-stacked-list",null,this.renderList()))}render(){var e,s;return h("sc-dashboard-module",{key:"0eded64073b1b67cf61d8b8727dfbbb769a3987c",class:"invoices-list",error:this.error},h("span",{key:"759472a1d07f33f5693c1ab6016c8dbf2c40394f",slot:"heading"},h("slot",{key:"74ea8b49716734b7d51f19046db5e57707e2aacf",name:"heading"},this.heading||wp.i18n.__("Invoices","surecart"))),!!this.allLink&&!!(null===(e=this.invoices)||void 0===e?void 0:e.length)&&h("sc-button",{key:"47ce8e86fee5c34f0c14e473a87738ad0fd5047b",type:"link",href:this.allLink,slot:"end","aria-label":wp.i18n.sprintf(wp.i18n.__("View all %s","surecart"),this.heading||wp.i18n.__("Invoices","surecart"))},wp.i18n.__("View all","surecart"),h("sc-icon",{key:"f4a5be615a70a51eb9883730e49c6758a7a910f7","aria-hidden":"true",name:"chevron-right",slot:"suffix"})),this.renderContent(),!this.allLink&&h("sc-pagination",{key:"91c2afd1915584cadaebb6bd15c3a4267cea6522",page:this.query.page,perPage:this.query.per_page,total:this.pagination.total,totalPages:this.pagination.total_pages,totalShowing:null===(s=null==this?void 0:this.invoices)||void 0===s?void 0:s.length,onScNextPage:()=>this.nextPage(),onScPrevPage:()=>this.prevPage()}),this.busy&&h("sc-block-ui",{key:"968f3c87c4fd8a26db2be0f8f841463f6aadf968"}))}get el(){return this}static get style(){return ScInvoicesListStyle0}},[1,"sc-invoices-list",{query:[1040],allLink:[1,"all-link"],heading:[1],isCustomer:[4,"is-customer"],invoices:[32],loading:[32],busy:[32],error:[32],pagination:[32]}]);function defineCustomElement$1(){"undefined"!=typeof customElements&&["sc-invoices-list","sc-alert","sc-block-ui","sc-button","sc-card","sc-dashboard-module","sc-divider","sc-empty","sc-flex","sc-icon","sc-invoice-status-badge","sc-pagination","sc-skeleton","sc-spinner","sc-stacked-list","sc-stacked-list-row","sc-tag","sc-visually-hidden"].forEach((e=>{switch(e){case"sc-invoices-list":customElements.get(e)||customElements.define(e,ScInvoicesList$1);break;case"sc-alert":customElements.get(e)||defineCustomElement$i();break;case"sc-block-ui":customElements.get(e)||defineCustomElement$h();break;case"sc-button":customElements.get(e)||defineCustomElement$g();break;case"sc-card":customElements.get(e)||defineCustomElement$f();break;case"sc-dashboard-module":customElements.get(e)||defineCustomElement$e();break;case"sc-divider":customElements.get(e)||defineCustomElement$d();break;case"sc-empty":customElements.get(e)||defineCustomElement$c();break;case"sc-flex":customElements.get(e)||defineCustomElement$b();break;case"sc-icon":customElements.get(e)||defineCustomElement$a();break;case"sc-invoice-status-badge":customElements.get(e)||defineCustomElement$9();break;case"sc-pagination":customElements.get(e)||defineCustomElement$8();break;case"sc-skeleton":customElements.get(e)||defineCustomElement$7();break;case"sc-spinner":customElements.get(e)||defineCustomElement$6();break;case"sc-stacked-list":customElements.get(e)||defineCustomElement$5();break;case"sc-stacked-list-row":customElements.get(e)||defineCustomElement$4();break;case"sc-tag":customElements.get(e)||defineCustomElement$3();break;case"sc-visually-hidden":customElements.get(e)||defineCustomElement$2()}}))}const ScInvoicesList=ScInvoicesList$1,defineCustomElement=defineCustomElement$1;export{ScInvoicesList,defineCustomElement};
Save
Back