PageSourceSearch

https://kiku.listen.org/25.d9fd84c33270a883.bundle.js

js listen.org collected 2026-10-02 06:38:27 UTC 44,896 bytes, 1 lines download raw bytes

1"use strict";(self["webpackChunkclient"]=self["webpackChunkclient"]||[]).push([[25],{18146:function(e,t,i){i.d(t,{A:function(){return Ee}});var s=i(20641),a=i(90033);const l={class:"invoice-preview-wrapper"},o={class:"invoice-preview"},n={class:"invoice-header"},m={class:"invoice-header-left"},r={class:"invoice-title"},c={class:"invoice-meta"},u={class:"invoice-meta-row"},d={class:"invoice-meta-label"},h={key:0,class:"invoice-meta-row"},p={class:"invoice-meta-label"},b={class:"invoice-meta-row"},v={class:"invoice-meta-label"},g={class:"invoice-logo"},y=["src","alt"],k={class:"addresses-section"},f={class:"address-block"},L={class:"address-block-title"},D={key:0},C={key:1},$={key:2},F={key:3},V={key:4},w={key:5},E={class:"address-block"},_={class:"address-block-title"},P={class:"customer-name"},x={key:0},N={key:1},A={key:2},X={key:3},I={key:4},M={class:"amount-due-section"},U={class:"amount-due-title"},S={class:"pay-online-link"},T={key:0,class:"membership-section"},Q={class:"membership-title"},O={class:"membership-dates"},q={key:1,class:"custom-fields-section"},R={class:"custom-field-label"},B={class:"custom-field-value"},z={class:"line-items-table"},j={key:0,class:"ta-right"},W={class:"ta-right"},K={class:"ta-right"},G={key:1,class:"ta-right"},J={class:"ta-right"},Z={key:0,class:"line-item-note"},Y={key:0,class:"ta-right"},H={class:"ta-right"},ee={class:"ta-right"},te={key:1,class:"ta-right"},ie={class:"ta-right"},se={class:"totals-section"},ae={class:"totals-table"},le={class:"totals-row"},oe={class:"totals-row-label"},ne={class:"totals-row-value"},me={class:"totals-row-label"},re={class:"totals-row-value"},ce={class:"totals-row total"},ue={class:"totals-row-label"},de={class:"totals-row-value"},he={class:"totals-row amount-due"},pe={class:"totals-row-label"},be={class:"totals-row-value"},ve={key:2,class:"vat-footnote"},ge={key:3,class:"memo-section"},ye={class:"memo-content"},ke={class:"invoice-footer"},fe={key:0,class:"footer-content"},Le={class:"footer-summary"};function De(e,t,i,De,Ce,$e){return(0,s.uX)(),(0,s.CE)("div",l,[(0,s.Lk)("div",o,[(0,s.Lk)("div",n,[(0,s.Lk)("div",m,[(0,s.Lk)("h1",r,(0,a.v_)(e.$t("Invoice")),1),(0,s.Lk)("div",c,[(0,s.Lk)("div",u,[(0,s.Lk)("span",d,(0,a.v_)(e.$t("Invoice number")),1),(0,s.Lk)("span",null,(0,a.v_)($e.invoiceNumber),1)]),$e.formattedInvoiceDate?((0,s.uX)(),(0,s.CE)("div",h,[(0,s.Lk)("span",p,(0,a.v_)(e.$t("Invoice Date")),1),(0,s.Lk)("span",null,(0,a.v_)($e.formattedInvoiceDate),1)])):(0,s.Q3)("",!0),(0,s.Lk)("div",b,[(0,s.Lk)("span",v,(0,a.v_)(e.$t("Due Date")),1),(0,s.Lk)("span",null,(0,a.v_)($e.formattedDueDate),1)])])]),(0,s.Lk)("div",g,[e.tenantLogo?((0,s.uX)(),(0,s.CE)("img",{key:0,src:e.tenantLogo,alt:e.tenant.name},null,8,y)):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",k,[(0,s.Lk)("div",f,[(0,s.Lk)("div",L,(0,a.v_)(e.tenant.legalName||e.tenant.name),1),e.tenant.officeAddress?((0,s.uX)(),(0,s.CE)("p",D,(0,a.v_)(e.tenant.officeAddress),1)):(0,s.Q3)("",!0),$e.countryName?((0,s.uX)(),(0,s.CE)("p",C,(0,a.v_)($e.countryName),1)):(0,s.Q3)("",!0),e.tenant.vatNumber?((0,s.uX)(),(0,s.CE)("p",$,(0,a.v_)(e.$t("VAT"))+": "+(0,a.v_)(e.tenant.vatNumber),1)):(0,s.Q3)("",!0),e.tenant.legalNumber?((0,s.uX)(),(0,s.CE)("p",F,(0,a.v_)(e.$t("Reg"))+": "+(0,a.v_)(e.tenant.legalNumber),1)):(0,s.Q3)("",!0),e.tenant.contactEmail?((0,s.uX)(),(0,s.CE)("p",V,(0,a.v_)(e.tenant.contactEmail),1)):(0,s.Q3)("",!0),e.tenant.contactPhone?((0,s.uX)(),(0,s.CE)("p",w,(0,a.v_)(e.tenant.contactPhone),1)):(0,s.Q3)("",!0)]),(0,s.Lk)("div",E,[(0,s.Lk)("div",_,(0,a.v_)(e.$t("Bill to")),1),(0,s.Lk)("p",P,(0,a.v_)($e.billingName),1),$e.billingAddress?((0,s.uX)(),(0,s.CE)("p",x,(0,a.v_)($e.billingAddress),1)):(0,s.Q3)("",!0),$e.billingVatNumber?((0,s.uX)(),(0,s.CE)("p",N,(0,a.v_)(e.$t("VAT"))+": "+(0,a.v_)($e.billingVatNumber),1)):(0,s.Q3)("",!0),$e.billingRegNumber?((0,s.uX)(),(0,s.CE)("p",A,(0,a.v_)(e.$t("Reg"))+": "+(0,a.v_)($e.billingRegNumber),1)):(0,s.Q3)("",!0),$e.billingEmail?((0,s.uX)(),(0,s.CE)("p",X,(0,a.v_)($e.billingEmail),1)):(0,s.Q3)("",!0),$e.billingPhone?((0,s.uX)(),(0,s.CE)("p",I,(0,a.v_)($e.billingPhone),1)):(0,s.Q3)("",!0)])]),(0,s.Lk)("div",M,[(0,s.Lk)("div",U,(0,a.v_)($e.formatAmou
1nt($e.totalWithTax))+" "+(0,a.v_)(e.$t("due"))+" "+(0,a.v_)($e.formattedDueDate),1),(0,s.Lk)("span",S,(0,a.v_)(e.$t("Pay online")),1)]),i.item.isMembership&&(i.item.membershipStartDate||i.item.membershipEndDate)?((0,s.uX)(),(0,s.CE)("div",T,[(0,s.Lk)("div",Q,(0,a.v_)(e.$t("Membership Period")),1),(0,s.Lk)("div",O,(0,a.v_)(i.item.membershipStartDate?$e.formatDate(i.item.membershipStartDate):"-")+" → "+(0,a.v_)(i.item.membershipEndDate?$e.formatDate(i.item.membershipEndDate):"-"),1)])):(0,s.Q3)("",!0),i.item.customFields&&i.item.customFields.length>0&&$e.hasValidCustomFields?((0,s.uX)(),(0,s.CE)("div",q,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(i.item.customFields,(e,t)=>((0,s.uX)(),(0,s.CE)("div",{key:t,class:"custom-field-row"},[e.label&&e.value?((0,s.uX)(),(0,s.CE)(s.FK,{key:0},[(0,s.Lk)("span",R,(0,a.v_)(e.label),1),(0,s.Lk)("span",B,(0,a.v_)(e.value),1)],64)):(0,s.Q3)("",!0)]))),128))])):(0,s.Q3)("",!0),(0,s.Lk)("table",z,[(0,s.Lk)("thead",null,[(0,s.Lk)("tr",null,[(0,s.Lk)("th",null,(0,a.v_)(e.$t("Description")),1),$e.showVat?((0,s.uX)(),(0,s.CE)("th",j,(0,a.v_)(e.$t("VAT rate")),1)):(0,s.Q3)("",!0),(0,s.Lk)("th",W,(0,a.v_)(e.$t("Qty")),1),(0,s.Lk)("th",K,(0,a.v_)(e.$t("Unit Price")),1),$e.showVat?((0,s.uX)(),(0,s.CE)("th",G,(0,a.v_)(e.$t("VAT")),1)):(0,s.Q3)("",!0),(0,s.Lk)("th",J,(0,a.v_)(e.$t("Gross")),1)])]),(0,s.Lk)("tbody",null,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)($e.lineItems,(e,t)=>((0,s.uX)(),(0,s.CE)("tr",{key:t},[(0,s.Lk)("td",null,[(0,s.eW)((0,a.v_)(e.description)+" ",1),e.note?((0,s.uX)(),(0,s.CE)("div",Z,(0,a.v_)(e.note),1)):(0,s.Q3)("",!0)]),$e.showVat?((0,s.uX)(),(0,s.CE)("td",Y,[e.exempt||!e.rate?((0,s.uX)(),(0,s.CE)(s.FK,{key:0},[(0,s.eW)("—")],64)):((0,s.uX)(),(0,s.CE)(s.FK,{key:1},[(0,s.eW)((0,a.v_)($e.formatRate(e.rate))+"%",1)],64))])):(0,s.Q3)("",!0),(0,s.Lk)("td",H,(0,a.v_)(e.qty),1),(0,s.Lk)("td",ee,(0,a.v_)($e.formatAmount(e.unit)),1),$e.showVat?((0,s.uX)(),(0,s.CE)("td",te,(0,a.v_)($e.formatAmount(e.vat)),1)):(0,s.Q3)("",!0),(0,s.Lk)("td",ie,(0,a.v_)($e.formatAmount(e.gross)),1)]))),128))])]),(0,s.Lk)("div",se,[(0,s.Lk)("div",ae,[(0,s.Lk)("div",le,[(0,s.Lk)("span",oe,(0,a.v_)(e.$t("Subtotal")),1),(0,s.Lk)("span",ne,(0,a.v_)($e.formatAmount($e.subtotal)),1)]),((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)($e.vatBreakdown,(t,i)=>((0,s.uX)(),(0,s.CE)("div",{key:"vat-"+i,class:"totals-row"},[(0,s.Lk)("span",me,(0,a.v_)(e.$t("VAT"))+" ("+(0,a.v_)($e.formatRate(t.rate))+"% "+(0,a.v_)(e.$t("on"))+" "+(0,a.v_)($e.formatAmount(t.base))+")",1),(0,s.Lk)("span",re,(0,a.v_)($e.formatAmount(t.amount)),1)]))),128)),(0,s.Lk)("div",ce,[(0,s.Lk)("span",ue,(0,a.v_)(e.$t("Total")),1),(0,s.Lk)("span",de,(0,a.v_)($e.formatAmount($e.totalWithTax)),1)]),(0,s.Lk)("div",he,[(0,s.Lk)("span",pe,(0,a.v_)(e.$t("Amount due")),1),(0,s.Lk)("span",be,(0,a.v_)($e.formatAmount($e.totalWithTax)),1)])])]),$e.hasExemptLine&&i.item.vatExemptionNote?((0,s.uX)(),(0,s.CE)("div",ve,(0,a.v_)(i.item.vatExemptionNote),1)):(0,s.Q3)("",!0),i.item.memo?((0,s.uX)(),(0,s.CE)("div",ge,[t[0]||(t[0]=(0,s.Lk)("div",{class:"memo-title"},"Memo",-1)),(0,s.Lk)("div",ye,(0,a.v_)(i.item.memo),1)])):(0,s.Q3)("",!0),(0,s.Lk)("div",ke,[i.item.footer?((0,s.uX)(),(0,s.CE)("div",fe,(0,a.v_)(i.item.footer),1)):(0,s.Q3)("",!0),(0,s.Lk)("div",Le,(0,a.v_)($e.invoiceNumber)+" · "+(0,a.v_)($e.formatAmount($e.totalWithTax))+" due "+(0,a.v_)($e.formattedDueDate),1)])])])}i(18111),i(7588),i(61701),i(18237),i(13579);var Ce=i(40834),$e=i(81458),Fe={name:"InvoicePreview",props:{item:{type:Object,required:!0}},computed:{...(0,Ce.L8)(["tenant","tenantLogo"]),countryName(){const e=this.tenant.country;return e&&"object"===typeof e?e.name||"":"string"===typeof e&&e.startsWith("/api/")?"":e||""},billingName(){return this.item.billingName?this.item.billingName:this.item.company?this.item.company.legalName||this.item.company.name||"Customer Name":this.item.user?`${this.item.user.firstName||""} ${this.item.user.lastName||""}`.trim()||"Customer Name":this.item.contact&&this.item.contact.name||"Customer Name"},billingAddress(){return this.item.billingAddress?this.item.billingAddress:this.item.company?this.item.company.address||"":this.item.user?this.item.user.address||"":this.item.contact&&this.item.contact.address||""},billingEmail(){return this.item.billingEmail?this.item.billingEmail:this.item.company?this.item.company.contactEmail||"":this.item.user?this.item.user.email||"":this.item.contact&&this.item.contact.email||""},billingPhone(){return this.item.billingPhone?this.item.billingPhone:this.item.company?this.item.company.contactPhone||"":this.item.user?this.item.user.phoneNumber||"":this.item.contact&&this.item.contact.phone||""},billingVatNumber(){return this.item.billingVatNumber?this.item.billingVatNumber:this.item.company&&this.item.company.vatNumber||""},billingRegNumber(){return this.item.billingRegistrationNumber?this.item.billingRegistrationNumber:this.item.company&&this.item.company.registrationNumber||""},invoiceNumber(){return this.item.seriesNumber||this.item.invoiceNumber||"DRAFT"},formattedInvoiceDate(){return this.item.invoiceDate?this.formatDate(this.item.invoiceDate):""},formattedDueDate(){const e=this.item.invoiceDueDate||this.item.invoiceDate;return e?this.formatDate(e):""},quantity(){return this.item.quantity||1},amount(){return parseFloat(this.item.amount)||0},unitPrice(){return this.quantity>0?this.amount/this.quantity:this.amount},hasItems(){return Array.isArray(this.item.items)&&this.item.items.length>0},lineItems(){if(this.hasItems)return this.item.items.map(e=>{const t=e.quantity||1,i=(parseFloat(e.unitPrice)||0)*t,s=e.vatExempt?0:p
1arseFloat(e.vatRate)||0,a=e.vatExempt?0:i*(s/100);return{description:e.description,note:e.descriptionNote,exempt:!!e.vatExempt,rate:e.vatExempt||s<=0?null:s,qty:t,unit:parseFloat(e.unitPrice)||0,vat:a,gross:i+a}});const e=parseFloat(this.item.taxValue)||0,t=e>0?this.amount*(e/100):0;return[{description:this.item.invoicedFor||this.$t("Product/Service"),note:null,exempt:e<=0,rate:e>0?e:null,qty:this.quantity,unit:this.unitPrice,vat:t,gross:this.amount+t}]},subtotal(){return null!=this.item.subtotal?parseFloat(this.item.subtotal):this.hasItems?this.lineItems.reduce((e,t)=>e+t.unit*t.qty,0):this.amount},taxAmount(){return null!=this.item.taxAmount?parseFloat(this.item.taxAmount):this.lineItems.reduce((e,t)=>e+t.vat,0)},showVat(){return this.taxAmount>0},totalWithTax(){return null!=this.item.totalWithTax?parseFloat(this.item.totalWithTax):this.subtotal+this.taxAmount},vatBreakdown(){if(Array.isArray(this.item.vatBreakdown)&&this.item.vatBreakdown.length)return this.item.vatBreakdown.map(e=>({rate:e.rate,base:e.base,amount:e.amount}));const e={};return this.lineItems.forEach(t=>{if(t.exempt||!t.rate||t.rate<=0)return;const i=String(t.rate);e[i]||(e[i]={rate:t.rate,base:0,amount:0}),e[i].base+=t.unit*t.qty,e[i].amount+=t.vat}),Object.values(e).sort((e,t)=>e.rate-t.rate)},hasExemptLine(){return this.lineItems.some(e=>e.exempt)},hasValidCustomFields(){return!!this.item.customFields&&this.item.customFields.some(e=>e.label&&e.value)}},methods:{formatAmount(e){return this.$filters.money(e??0,null,{fixedDecimals:!0})},formatRate(e){return(0,$e.nU)(e)},formatDate(e){if(!e)return"";const t=new Date(e),i=["January","February","March","April","May","June","July","August","September","October","November","December"];return`${i[t.getMonth()]} ${t.getDate()}, ${t.getFullYear()}`}}},Ve=i(66262);const we=(0,Ve.A)(Fe,[["render",De],["__scopeId","data-v-aab06c28"]]);var Ee=we},25129:function(e,t,i){i.d(t,{A:function(){return Ke}});var s=i(20641),a=i(53751),l=i(90033);const o={class:"invoice-form"},n={class:"section-title mb-2"},m={class:"invoice-section customer-section mb-5"},r={key:1,class:"customer-card"},c={class:"mr-3"},u={key:0,class:"avatar-initials is-company"},d={key:1,class:"avatar-initials"},h={key:2,class:"avatar-initials is-contact"},p={class:"is-flex-grow-1"},b={class:"has-text-weight-semibold is-size-6"},v={key:0,class:"customer-legal-name"},g={class:"is-flex is-align-items-center ml-3",style:{gap:"0.5rem"}},y={class:"icon is-small has-text-grey"},k={class:"customer-details p-4",style:{"border-top":"1px solid var(--orgo-hr)",background:"var(--orgo-app-bg)",position:"relative"}},f={class:"is-size-7 has-text-grey mb-3"},L={class:"columns is-mobile mb-3"},D={class:"column"},C={class:"column"},$={class:"columns is-mobile"},F={class:"column"},V={class:"column"},w={class:"field has-addons"},E={class:"control"},_={class:"control is-expanded"},P={class:"mt-3 pt-3",style:{"border-top":"1px dashed var(--orgo-hr)"}},x={class:"section-title"},N={key:0,class:"invoice-section membership-section mb-5"},A={class:"pt-2",style:{position:"relative"}},X={class:"help mb-3"},I={class:"buttons"},M=["onClick"],U={key:0,class:"ml-1"},S={key:0,class:"help is-warning mt-3"},T={class:"columns mt-4"},Q={class:"column is-6"},O={class:"column is-6"},q={class:"section-title mb-2"},R={class:"invoice-section mb-5"},B={class:"line-items-grid"},z={class:"line-items-header"},j={class:"line-items-row"},W={class:"price-input-wrapper"},K={class:"currency-symbol"},G={class:"has-text-right has-text-weight-semibold is-size-5 pt-2"},J={class:"section-title mb-2"},Z={class:"invoice-section mb-5"},Y={class:"columns is-variable is-4 mb-0"},H={class:"column is-5"},ee={class:"column is-7"},te={class:"label"},ie={class:"invoice-section additional-options-wrapper mb-5"},se={class:"section-title"},ae={class:"is-block is-size-7 has-text-grey"},le={class:"icon is-small has-text-grey"},oe={class:"additional-options-content mt-4"},ne={class:"is-flex is-align-items-center is-justify-content-space-between py-3 option-row-border"},me={class:"is-flex is-flex-direction-column"},re={class:"has-text-weight-medium"},ce={key:0,class:"pt-3 pb-2"},ue={class:"columns is-mobile"},de={class:"column"},he={class:"column is-narrow"},pe={class:"is-flex is-align-items-center is-justify-content-space-between py-3 option-row-border"},be={class:"is-flex is-flex-direction-column"},ve={class:"has-text-weight-medium"},ge={class:"is-size-7 has-text-grey"},ye={key:1,class:"pt-3 pb-2"},ke={class:"is-flex is-align-items-center is-justify-content-space-between py-3 option-row-border"},fe={class:"is-flex is-flex-direction-column"},Le={class:"has-text-weight-medium"},De={key:2,class:"pt-3 pb-2"},Ce={class:"is-flex is-align-items-center is-justify-content-space-between py-3"},$e={class:"is-flex is-flex-direction-column"},Fe={class:"has-text-weight-medium"},Ve={key:3,class:"pt-3 pb-2"},we={class:"column"},Ee={class:"column"},_e={class:"column is-narrow"},Pe=["onClick"],xe={class:"icon is-small"},Ne={class:"invoice-section notes-section mb-5"},Ae={class:"is-flex is-align-items-center is-justify-content-space-between mb-3"},Xe={class:"section-title"},Ie={class:"icon-text"},Me={class:"icon is-small"},Ue={class:"tag is-rounded is-light is-small"},Se={class:"mt-5 pt-4"},Te=["disabled"];function Qe(e,t,i,Qe,Oe,qe){const Re=(0,s.g2)("SearchBarAutocomplete"),Be=(0,s.g2)("font-awesome-icon"),ze=(0,s.g2)("b-loading"),je=(0,s.g2)("b-input"),We=(0,s.g2)("b-field"),Ke=(0,s.g2)("PhoneCountryPrefixSelect"),Ge=(0,s.g2)("b-checkbox"),Je=(0,s.g2)("b-switch"),Ze=(0,s.g2)("b-datepicker"),Ye=(0,s.g2)("date-preset-chips"),He=(0,s.g2)("b-tooltip");return(0,s.uX)(),(0,s.CE)("section",o,[(0,s.Lk)("form",{onSubmit:t[32]||(t[32]=(0,a.D$)((...e)=>qe.handleSubmit&&qe.handleSubmit(...e),["prevent"]))},[(0,s.Lk)("div",n,(0,l.v_)(e.$t("Customer")),1),(0,s.Lk)("div",m,[(0,s.Lk)("div",null,[qe.hasCustomer?((0,s.uX)(),(0,s.CE)("div",r,[(0,s.Lk)("div",{class:"customer-header is-flex is-align-items-center p-3",onClick:t[1]||(t[1]=(...e)=>qe.toggleCustomerDetails&&qe.toggleCustomerDetails(...e))},[(0,s.Lk)("div",c,[i.item.company?((0,s.uX)(),(0,s.CE)("span",u,(0,l.v_)(qe.getInitials(i.item.company.name)),1)):i.item.user?((0,s.uX)(),(0,s.CE)("span",d,(0,l.v_)(qe.getInitials(qe.customerDisplayName)),1)):i.item.contact?((0,s.uX)(),(0,s.CE)("span",h,(0,l.v_)(qe.getInitials(i.item.contact.name)),1)):(0,s.Q3)("",!0)]),(0,s.Lk)("div",p,[(0,s.Lk)("div",b,(0,l.v_)(qe.customerDisplayName),1),i.item.company&&i.item.company.legalName&&i.item.company.legalName!==i.item.company.name?((0,s.uX)(),(0,s.CE)("div",v,(0,l.v_)(i.item.company.legalName),1)):(0,s.Q3)("",!0),(0,s.Lk)("span",{class:(0,l.C4)(["tag is-rounded is-small mt-1",qe.customerTypeClass])},(0,l.v_)(qe.customerTypeLabel),3)]),(0,s.Lk)("div",g,[(0,s.Lk)("button",{type:"button",class:"button is-light is-rounded is-small",onClick:t[0]||(t[0]=(0,a.D$)((...e)=>qe.clearPayer&&qe.clearPayer(...e),["stop"]))},(0,l.v_)(e.$t("Change")),1),(0,s.Lk)("span",y,[(0,s.bF)(Be,{icon:Oe.customerDetailsExpanded?"fa-light fa-chevron-up":"fa-light fa-chevron-down"},null,8,["icon"])])])]),(0,s.bo)((0,s.Lk)("div",k,[(0,s.bF)(ze,{modelValue:Oe.isLoadingCustomer,"onUpdate:modelValue":t[2]||(t[2]=e=>Oe.isLoadingCustomer=e),"is-full-page":!1},null,8,["modelValue"]),(0,s.Lk)("p",f,(0,l.v_)(e.$t("Billing details will appear on the invoice. Edit if needed.")),1),(0,s.bF)(We,{label:e.$t("Billing Name"),class:"mb-3"},{default:(0,s.k6)(()=>[(0,s.bF)(je,{modelValue:i.item.billingName,"onUpdate:modelValue":t[3]||(t[3]=e=>i.item.billingName=e),size:"is-small",placeholder:e.$t("Legal name for invoice")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),(0,s.bF)(We,{label:e.$t("Address"),class:"mb-3"},{default:(0,s.k6)(()=>[(0,s.bF)(je,{modelValue:i.item.billingAddress,"onUpdate:modelValue":t[4]||(t[4]=e=>i.item.billingAddress=e),size:"is-small",placeholder:e.$t("Billing address")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),(0,s.Lk)("div",L,[(0,s.Lk)("div",D,[(0,s.bF)(We,{label:e.$t("VAT Number")},{default:(0,s.k6)(()=>[(0,s.bF)(je,{modelValue:i.item.billingVatNumber,"onUpdate:modelValue":t[5]||(t[5]=e=>i.item.billingVatNumber=e),size:"is-small",placeholder:e.$t("VAT Number")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),(0,s.Lk)("div",C,[(0,s.bF)(We,{label:e.$t("Registration Number")},{default:(0,s.k6)(()=>[(0,s.bF)(je,{modelValue:i.item.billingRegistrationNumber,"onUpdate:modelValue":t[6]||(t[6]=e=>i.item.billingRegistrationNumber=e),size:"is-small",placeholder:e.$t("Registration Number")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])])]),(0,s.Lk)("div",$,[(0,s.Lk)("div",F,[(0,s.bF)(We,{label:e.$t("Email")},{default:(0,s.k6)(()=>[(0,s.bF)(je,{modelValue:i.item.billingEmail,"onUpdate:modelValue":t[7]||(t[7]=e=>i.item.billingEmail=e),size:"is-small",type:"email",placeholder:e.$t("Email")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),(0,s.Lk)("div",V,[(0,s.bF)(We,{label:e.$t("Phone")},{default:(0,s.k6)(()=>[(0,s.Lk)("div",w,[(0,s.Lk)("div",E,[(0,s.bF)(Ke,{modelValue:i.item.billingPhoneCountry,"onUpdate:modelValue":t[8]||(t[8]=e=>i.item.billingPhoneCountry=e),size:"is-small",placeholder:e.$t("Prefix")},null,8,["modelValue","placeholder"])]),(0,s.Lk)("div",_,[(0,s.bF)(je,{modelValue:i.item.billingPhone,"onUpdate:modelValue":t[9]||(t[9]=e=>i.item.billingPhone=e),type:"tel",size:"is-small",placeholder:e.$t("Phone number")},null,8,["modelValue","placeholder"])])])]),_:1},8,["label"])])]),(0,s.Lk)("div",P,[(0,s.bF)(Ge,{modelValue:Oe.saveToEntity,"onUpdate:modelValue":t[10]||(t[10]=e=>Oe.saveToEntity=e),size:"is-small"},{default:(0,s.k6)(()=>[(0,s.eW)((0,l.v_)(e.$t("Also update customer record with these details")),1)]),_:1},8,["modelValue"])])],512),[[a.aG,Oe.customerDetailsExpanded]])])):((0,s.uX)(),(0,s.Wv)(Re,{key:0,"only-members-and-contacts":!0,"include-companies":!0,"do-not-redirect":!0,"onUpdate:modelValue":qe.updateInvoicePayer},null,8,["onUpdate:modelValue"]))])]),qe.showMembershipSection?((0,s.uX)(),(0,s.CE)(s.FK,{key:0},[(0,s.Lk)("div",{class:(0,l.C4)(["is-flex is-align-items-center",i.item.isMembership?"mb-2":"mb-5"]),style:{gap:"0.75rem"}},[(0,s.Lk)("span",x,(0,l.v_)(e.$t("Membership")),1),(0,s.bF)(Je,{modelValue:i.item.isMembership,"onUpdate:modelValue":t[11]||(t[11]=e=>i.item.isMembership=e),disabled:!i.item.user&&!i.item.company,size:"is-small"},null,8,["modelValue","disabled"])],2),i.item.isMembership?((0,s.uX)(),(0,s.CE)("div",N,[(0,s.Lk)("div",A,[(0,s.bF)(ze,{modelValue:Oe.isLoadingPrices,"onUpdate:modelValue":t[12]||(t[12]=e=>Oe.isLoadingPrices=e),"is-full-page":!1},null,8,["modelValue"]),(0,s.Lk)("p",X,(0,l.v_)(e.$t("Select membership level")),1),(0,s.Lk)("div",I,[(0,s.Lk)("button",{type:"button",class:(0,l.C4)(["button is-rounded",{"is-primary":"custom"===Oe.selectedMembershipLevel}]),onClick:t[13]||(t[13]=e=>qe.selectMembershipLevel("custom"))},(0,l.v_)(e.$t("Custom")),3),((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(qe.getAvailableMembershipLevels(),t=>((0,s.uX)(),(0,s.CE)("button",{key:t.id,type:"button",class:(0,l.C4)(["button is-rounded",{"is-primary":Oe.selectedMembershipLevel===t.id}]),onClick:e=>qe.selectMembershipLevel(t.id)},[(0,s.eW)((0,l.v_)(t.name)+" - "+(0,l.v_)(e.$filters.money(t.price,t.currency,{fixedDecimals:!0}))+" ",1),null!==t.companySlots&&void 0!==t.companySlots?((0,s.uX)(),(0,s.CE)("span",U," ("+(0,l.v_)(0===t.companySlots?e.$t("Unlimited"):t.companySlots+" "+e.$t("slots"))+") ",1)):(0,s.Q3)("",!0)],10,M))),128))]),0!==qe.getAvailableMembershipLevels().length||Oe.isLoadingPrices||!i.item.user&&!i.item.company?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.CE)("p",S,(0,l.v_)(e.$t("No membership levels available for this payer type")),1)),(0,s.Lk)("div",T,[(0,s.Lk)("div",Q,[(0,s.bF)(We,{label:e.$t("Membership Start Date")},{default:(0,s.k6)(()=>[(0,s.bF)(Ze,{modelValue:i.item.membershipStartDate,"onUpdate:modelValue":t[14]||(t[14]=e=>i.item.membershipStartDate=e),icon:"fa-calendar",placeholder:e.$t("Select date")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),(0,s.Lk)("div",O,[(0,s.bF)(We,{label:e.$t("Membership End Date")},{default:(0,s.k6)(()=>[(0,s.bF)(Ze,{modelValue:i.item.membershipEndDate,"onUpdate:modelValue":t[15]||(t[15]=e=>i.item.membershipEndDate=e),icon:"fa-calendar",placeholder:e.$t("Select date")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])])])])])):(0,s.Q3)("",!0)],64)):(0,s.Q3)("",!0),(0,s.Lk)("div",q,(0,l.v_)(e.$t("Line Items")),1),(0,s.Lk)("div",R,[(0,s.Lk)("div",null,[(0,s.Lk)("div",B,[(0,s.Lk)("div",z,[(0,s.Lk)("span",null,(0,l.v_)(e.$t("Description")),1),(0,s.Lk)("span",null,(0,l.v_)(e.$t("Qty")),1),(0,s.Lk)("span",null,(0,l.v_)(e.$t("Unit Price")),1),(0,s.Lk)("span",null,(0,l.v_)(e.$t("Amount")),1)]),(0,s.Lk)("div",j,[(0,s.bF)(je,{modelValue:i.item.invoicedFor,"onUpdate:modelValue":t[16]||(t[16]=e=>i.item.invoicedFor=e),placeholder:e.$t("Product or service description"),required:""},null,8,["modelValue","placeholder"]),(0,s.bF)(je,{modelValue:i.item.quantity,"onUpdate:modelValue":t[17]||(t[17]=e=>i.item.quantity=e),type:"number",min:"1",class:"qty-input",required:""},null,8,["modelValue"]),(0,s.Lk)("div",W,[(0,s.Lk)("span",K,(0,l.v_)(e.tenant.currencySymbol),1),(0,s.bF)(je,{modelValue:i.item.amount,"onUpdate:modelValue":t[18]||(t[18]=e=>i.item.amount=e),type:"number",step:"0.01",min:"0",class:"price-input",required:""},null,8,["modelValue"])]),(0,s.Lk)("div",G,(0,l.v_)(qe.formatAmou
1nt(qe.calculatedLineTotal)),1)])])])]),(0,s.Lk)("div",J,(0,l.v_)(e.$t("Invoice Details")),1),(0,s.Lk)("div",Z,[(0,s.Lk)("div",Y,[(0,s.Lk)("div",H,[(0,s.bF)(We,{label:e.$t("Invoice Date")},{default:(0,s.k6)(()=>[(0,s.bF)(Ze,{modelValue:i.item.invoiceDate,"onUpdate:modelValue":t[19]||(t[19]=e=>i.item.invoiceDate=e),icon:"fa-calendar",placeholder:e.$t("Select date"),required:""},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),(0,s.Lk)("div",ee,[(0,s.Lk)("label",te,(0,l.v_)(e.$t("Due Date")),1),(0,s.bF)(Ye,{presets:qe.dueDatePresets,"model-value":Oe.dueDateOption,"onUpdate:modelValue":qe.selectDueDatePreset},null,8,["presets","model-value","onUpdate:modelValue"]),"custom"===Oe.dueDateOption?((0,s.uX)(),(0,s.Wv)(Ze,{key:0,modelValue:i.item.invoiceDueDate,"onUpdate:modelValue":t[20]||(t[20]=e=>i.item.invoiceDueDate=e),icon:"fa-calendar",class:"mt-2",placeholder:e.$t("Select date")},null,8,["modelValue","placeholder"])):(0,s.Q3)("",!0)])])]),(0,s.Lk)("div",ie,[(0,s.Lk)("div",{class:"is-flex is-align-items-center is-justify-content-space-between is-clickable",onClick:t[21]||(t[21]=e=>Oe.additionalOptionsExpanded=!Oe.additionalOptionsExpanded)},[(0,s.Lk)("div",null,[(0,s.Lk)("span",se,(0,l.v_)(e.$t("Additional Options")),1),(0,s.Lk)("span",ae,(0,l.v_)(e.$t("Tax, memo, footer, and custom fields")),1)]),(0,s.Lk)("span",le,[(0,s.bF)(Be,{icon:Oe.additionalOptionsExpanded?"fa-light fa-chevron-up":"fa-light fa-chevron-down"},null,8,["icon"])])]),(0,s.bo)((0,s.Lk)("div",oe,[(0,s.Lk)("div",ne,[(0,s.Lk)("div",me,[(0,s.Lk)("span",re,(0,l.v_)(e.$t("Tax")),1)]),(0,s.bF)(Je,{modelValue:Oe.showTax,"onUpdate:modelValue":t[22]||(t[22]=e=>Oe.showTax=e)},null,8,["modelValue"])]),Oe.showTax?((0,s.uX)(),(0,s.CE)("div",ce,[(0,s.Lk)("div",ue,[(0,s.Lk)("div",de,[(0,s.bF)(We,{label:e.$t("Tax Name")},{default:(0,s.k6)(()=>[(0,s.bF)(je,{modelValue:i.item.taxName,"onUpdate:modelValue":t[23]||(t[23]=e=>i.item.taxName=e),placeholder:e.$t("e.g. VAT, GST")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),(0,s.Lk)("div",he,[(0,s.bF)(We,{label:e.$t("Tax Rate")+" (%)"},{default:(0,s.k6)(()=>[(0,s.bF)(je,{modelValue:i.item.taxValue,"onUpdate:modelValue":t[24]||(t[24]=e=>i.item.taxValue=e),type:"number",min:"0",max:"100",style:{width:"100px"}},null,8,["modelValue"])]),_:1},8,["label"])])])])):(0,s.Q3)("",!0),(0,s.Lk)("div",pe,[(0,s.Lk)("div",be,[(0,s.Lk)("span",ve,(0,l.v_)(e.$t("Memo")),1),(0,s.Lk)("span",ge,(0,l.v_)(e.$t("Add a note visible to customer")),1)]),(0,s.bF)(Je,{modelValue:Oe.showMemo,"onUpdate:modelValue":t[25]||(t[25]=e=>Oe.showMemo=e)},null,8,["modelValue"])]),Oe.showMemo?((0,s.uX)(),(0,s.CE)("div",ye,[(0,s.bF)(je,{modelValue:i.item.memo,"onUpdate:modelValue":t[26]||(t[26]=e=>i.item.memo=e),type:"textarea",placeholder:e.$t("Add a note or payment terms"),rows:"3"},null,8,["modelValue","placeholder"])])):(0,s.Q3)("",!0),(0,s.Lk)("div",ke,[(0,s.Lk)("div",fe,[(0,s.Lk)("span",Le,(0,l.v_)(e.$t("Footer")),1)]),(0,s.bF)(Je,{modelValue:Oe.showFooter,"onUpdate:modelValue":t[27]||(t[27]=e=>Oe.showFooter=e)},null,8,["modelValue"])]),Oe.showFooter?((0,s.uX)(),(0,s.CE)("div",De,[(0,s.bF)(je,{modelValue:i.item.footer,"onUpdate:modelValue":t[28]||(t[28]=e=>i.item.footer=e),type:"textarea",placeholder:e.$t("Add footer text"),rows:"2"},null,8,["modelValue","placeholder"])])):(0,s.Q3)("",!0),(0,s.Lk)("div",Ce,[(0,s.Lk)("div",$e,[(0,s.Lk)("span",Fe,[(0,s.eW)((0,l.v_)(e.$t("Custom Fields"))+" ",1),(0,s.bF)(He,{label:e.$t("Add custom key-value pairs to the invoice"),position:"is-right",type:"is-light"},{default:(0,s.k6)(()=>[(0,s.bF)(Be,{icon:"fa-light fa-circle-info",class:"ml-1 has-text-grey"})]),_:1},8,["label"])])]),(0,s.bF)(Je,{modelValue:Oe.showCustomFields,"onUpdate:modelValue":t[29]||(t[29]=e=>Oe.showCustomFields=e)},null,8,["modelValue"])]),Oe.showCustomFields?((0,s.uX)(),(0,s.CE)("div",Ve,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(i.item.customFields,(t,i)=>((0,s.uX)(),(0,s.CE)("div",{key:i,class:"columns is-mobile mb-2"},[(0,s.Lk)("div",we,[(0,s.bF)(je,{modelValue:t.label,"onUpdate:modelValue":e=>t.label=e,placeholder:e.$t("Field name")},null,8,["modelValue","onUpdate:modelValue","placeholder"])]),(0,s.Lk)("div",Ee,[(0,s.bF)(je,{modelValue:t.value,"onUpdate:modelValue":e=>t.value=e,placeholder:e.$t("Field value")},null,8,["modelValue","onUpdate:modelValue","placeholder"])]),(0,s.Lk)("div",_e,[(0,s.Lk)("button",{type:"button",class:"button is-light is-rounded",onClick:e=>qe.removeCustomField(i)},[(0,s.bF)(Be,{icon:"fa-light fa-xmark"})],8,Pe)])]))),128)),(0,s.Lk)("a",{class:"is-flex is-align-items-center has-text-primary",style:{gap:"0.25rem",cursor:"pointer"},onClick:t[30]||(t[30]=(...e)=>qe.addCustomField&&qe.addCustomField(...e))},[(0,s.Lk)("span",xe,[(0,s.bF)(Be,{icon:"fa-light fa-plus"})]),(0,s.Lk)("span",null,(0,l.v_)(e.$t("Add custom field")),1)])])):(0,s.Q3)("",!0)],512),[[a.aG,Oe.additionalOptionsExpanded]])]),(0,s.Lk)("div",Ne,[(0,s.Lk)("div",Ae,[(0,s.Lk)("span",Xe,[(0,s.Lk)("span",Ie,[(0,s.Lk)("span",Me,[(0,s.bF)(Be,{icon:"fa-light fa-lock"})]),(0,s.Lk)("span",null,(0,l.v_)(e.$t("Internal Notes")),1)])]),(0,s.Lk)("span",Ue,(0,l.v_)(e.$t("Not visible to customer")),1)]),(0,s.bF)(je,{modelValue:i.item.internalNotes,"onUpdate:modelValue":t[31]||(t[31]=e=>i.item.internalNotes=e),type:"textarea",placeholder:e.$t("Add internal notes for your team"),rows:"2"},null,8,["modelValue","placeholder"])]),(0,s.Lk)("div",Se,[(0,s.Lk)("button",{class:"button is-primary is-rounded",type:"submit",disabled:!qe.isFormValid},(0,l.v_)(e.$t("Save Invoice")),9,Te)])],32)])}i(44114),i(18111),i(22489),i(20116),i(61701),i(13579);var Oe=i(40834),qe=i(64239),Re=i(99440),Be=i(42297),ze={name:"Form",components:{SearchBarAutocomplete:qe.A,PhoneCountryPrefixSelect:Re.A,DatePresetChips:Be.A},props:["item","save"],data(){return{isLoading:!1,isLoadingCustomer:!1,dueDateOption:"30",showTax:!1,showMemo:!1,show
1Footer:!1,showCustomFields:!1,selectedMembershipLevel:"custom",feeProduct:null,feeProductPrices:[],isLoadingPrices:!1,customerDetailsExpanded:!1,additionalOptionsExpanded:!1,saveToEntity:!0}},computed:{...(0,Oe.L8)(["tenant","user","isGranted"]),hasCustomer(){return!!(this.item.user||this.item.contact||this.item.company)},showMembershipSection(){return!this.item.contact&&(this.item.user||this.item.company||!this.hasCustomer)},isFormValid(){return this.hasCustomer&&this.item.invoicedFor&&null!==this.item.amount&&void 0!==this.item.amount&&""!==this.item.amount&&this.item.invoiceDate},calculatedLineTotal(){return parseFloat(this.item.amount)||0},customerDisplayName(){return this.item.user?`${this.item.user.firstName||""} ${this.item.user.lastName||""}`.trim():this.item.contact?this.item.contact.name||"":this.item.company&&this.item.company.name||""},customerDisplayEmail(){return this.item.user?this.item.user.email||"":this.item.contact?this.item.contact.email||"":this.item.company&&this.item.company.contactEmail||""},customerAddress(){return this.item.user?this.item.user.address||"":this.item.contact?this.item.contact.address||"":this.item.company&&this.item.company.address||""},customerPhone(){return this.item.user?this.item.user.phoneNumber||"":this.item.contact?this.item.contact.phone||"":this.item.company&&this.item.company.contactPhone||""},customerVatNumber(){return this.item.company&&this.item.company.vatNumber||""},customerRegNumber(){return this.item.company&&this.item.company.registrationNumber||""},customerLegalName(){return this.item.company&&this.item.company.legalName||""},customerContactName(){return this.item.company&&this.item.company.contactFullName||""},hasCustomerDetails(){return!!(this.customerAddress||this.customerDisplayEmail||this.customerPhone||this.customerVatNumber||this.customerRegNumber||this.customerContactName)},customerTypeClass(){return this.item.user?"":this.item.contact?"is-warning":this.item.company?"is-info":""},customerTypeLabel(){return this.item.user?this.$t("Member"):this.item.contact?this.$t("Contact"):this.item.company?this.$t("Company"):""},dueDatePresets(){return[{value:"today",label:this.$t("Today")},{value:"tomorrow",label:this.$t("Tomorrow")},{value:"7",label:this.$t("7 days")},{value:"14",label:this.$t("14 days")},{value:"30",label:this.$t("30 days")},{value:"45",label:this.$t("45 days")},{value:"60",label:this.$t("60 days")},{value:"90",label:this.$t("90 days")},{value:"custom",label:this.$t("Custom")}]},hasAnyAdditionalOption(){return this.showTax||this.showMemo||this.showFooter||this.showCustomFields}},watch:{"item.isMembership":function(e){e&&0===this.feeProductPrices.length&&this.fetchFeeProductPrices(),e||(this.selectedMembershipLevel="custom",this.item.membershipProductPrice=null)},"item.user":function(){this.selectedMembershipLevel="custom",this.item.membershipProductPrice=null},"item.company":function(){this.selectedMembershipLevel="custom",this.item.membershipProductPrice=null},"item.invoiceDate":function(e){e&&"custom"!==this.dueDateOption&&this.calculateDueDate()}},mounted(){this.item.quantity||(this.item.quantity=1),this.item.customFields||(this.item.customFields=[]),!this.item.invoiceDueDate&&this.item.invoiceDate&&this.calculateDueDate(),(this.item.taxValue||this.item.taxName)&&(this.showTax=!0),this.item.memo&&(this.showMemo=!0),this.item.footer&&(this.show
1Footer=!0),this.item.customFields&&this.item.customFields.length>0&&(this.showCustomFields=!0),this.item.invoiceDueDate&&this.item.invoiceDate&&this.determineDueDateOption(),this.hasAnyAdditionalOption&&(this.additionalOptionsExpanded=!0),this.item.isMembership&&this.fetchFeeProductPrices()},methods:{formatAmount(e){return this.$filters.money(e??0,null,{fixedDecimals:!0})},getInitials(e){return e?e.split(" ").map(e=>e.charAt(0)).join("").substring(0,2).toUpperCase():"?"},toggleCustomerDetails(){this.customerDetailsExpanded=!this.customerDetailsExpanded},selectDueDatePreset(e){this.dueDateOption=e,this.calculateDueDate()},applyPaymentTerm(e){const t=parseInt(e,10);if(Number.isNaN(t)||!this.item.invoiceDate)return;const i=String(t);if(this.dueDatePresets.some(e=>e.value===i))return void this.selectDueDatePreset(i);const s=new Date(this.item.invoiceDate);s.setDate(s.getDate()+t),this.dueDateOption="custom",this.item.invoiceDueDate=s},getAvailableMembershipLevels(){if(!this.feeProductPrices||!this.feeProductPrices.length)return[];if(!this.item)return[];const e=!!this.item.company;return this.feeProductPrices.filter(t=>!t.isArchived&&(e?!0===t.isCompanyPrice:!t.isCompanyPrice))},fetchFeeProductPrices(){const e=this.tenant?.settingFeatures?.fees?.productUuid;e&&(this.isLoadingPrices=!0,this.$http.plain.get(`/products/${e}`).then(e=>{if(this.feeProduct=e.data,this.feeProductPrices=e.data.productPrices||[],this.item.membershipProductPrice){const e=this.item.membershipProductPrice;let t=null;if("object"===typeof e&&e.id)t=e.id;else if("object"===typeof e&&e["@id"]){const i=e["@id"].match(/\/(\d+)$/);t=i?parseInt(i[1]):null}else if("string"===typeof e){const i=e.match(/\/(\d+)$/);t=i?parseInt(i[1]):null}if(t){const e=this.feeProductPrices.find(e=>e.id===t);e&&(this.selectedMembershipLevel=e.id)}}}).catch(e=>{console.log(e)}).finally(()=>{this.isLoadingPrices=!1}))},selectMembershipLevel(e){if(this.selectedMembershipLevel=e,"custom"===e)return void(this.item.membershipProductPrice=null);const t=this.feeProductPrices.find(t=>t.id===e);if(t){this.item.amount=t.price,this.item.membershipProductPrice=t;let e=this.feeProduct?.name||"";t.name&&(e+=e?" - "+t.name:t.name),null!==t.companySlots&&void 0!==t.companySlots&&(e+=0===t.companySlots?" (Unlimited slots)":` (${t.companySlots} slots)`),this.item.invoicedFor=e}},clearPayer(){this.item.user=null,this.item.contact=null,this.item.company=null,this.customerDetailsExpanded=!1,this.item.billingName=null,this.item.billingAddress=null,this.item.billingVatNumber=null,this.item.billingRegistrationNumber=null,this.item.billingEmail=null,this.item.billingPhone=null,this.item.billingPhoneCountry=null,this.item.isMembership&&(this.item.isMembership=!1,this.item.membershipStartDate=null,this.item.membershipEndDate=null,this.item.membershipProductPrice=null,this.selectedMembershipLevel="custom")},updateInvoicePayer(e){if(e?.["@type"]){if("User"===e["@type"])this.item.user=e,this.item.contact=null,this.item.company=null,this.fetchUserBillingDetails(e.uuid);else if("Contact"===e["@type"])this.item.contact=e,this.item.user=null,this.item.company=null,this.fetchContactBillingDetails(e.uuid),this.item.isMembership&&(this.item.isMembership=!1,this.item.membershipStartDate=null,this.item.membershipEndDate=null);else{if("Company"!==e["@type"])return this.$buefy.toast.open({message:this.$t("Invalid payer"),type:"is-danger"});this.item.company=e,this.item.user=null,this.item.contact=null,this.fetchCompanyBillingDetails(e.uuid)}this.customerDetailsExpanded=!0}},fetchUserBillingDetails(e){this.isLoadingCustomer=!0,this.$http.plain.get(`/users/${e}`).then(e=>{this.item.user=e.data,this.initializeBillingFromUser(e.data)}).catch(e=>{console.log(e)}).finally(()=>{this.isLoadingCustomer=!1})},fetchCompanyBillingDetails(e){this.isLoadingCustomer=!0,this.$http.plain.get(`/companies/${e}`).then(e=>{this.item.company=e.data,this.initializeBillingFromCompany(e.data)}).catch(e=>{console.log(e)}).finally(()=>{this.isLoadingCustomer=!1})},fetchContactBillingDetails(e){this.isLoadingCustomer=!0,this.$http.plain.get(`/contacts/${e}`).then(e=>{this.item.contact=e.data,this.initializeBillingFromContact(e.data)}).catch(e=>{console.log(e)}).finally(()=>{this.isLoadingCustomer=!1})},initializeBillingFromUser(e){this.item.billingName||(this.item.billingName=`${e.firstName||""} ${e.lastName||""}`.trim()),this.item.billingAddress||(this.item.billingAddress=e.address||""),this.item.billingEmail||(this.item.billingEmail=e.email||""),this.item.billingPhone||(this.item.billingPhone=e.phoneNumber||""),this.item.billingPhoneCountry||(this.item.billingPhoneCountry=e.phoneCountry||"")},initializeBillingFromCompany(e){if(this.item.billingName||(this.item.billingName=e.legalName||e.name||""),!this.item.billingAddress){let t=[];e.address&&t.push(e.address),e.town?.name&&t.push(e.town.name),e.country?.name&&t.push(e.country.name),this.item.billingAddress=t.join(", ")}this.item.billingVatNumber||(this.item.billingVatNumber=e.vatNumber||""),this.item.billingRegistrationNumber||(this.item.billingRegistrationNumber=e.registrationNumber||""),this.item.billingEmail||(this.item.billingEmail=e.contactEmail||""),this.item.billingPhone||(this.item.billingPhone=e.contactPhone||""),this.item.billingPhoneCountry||(this.item.billingPhoneCountry=e.contactPhoneCountry||"")},initializeBillingFromContact(e){this.item.billingName||(this.item.billingName=e.name||""),this.item.billingAddress||(this.item.billingAddress=e.address||""),this.item.billingEmail||(this.item.billingEmail=e.email||""),this.item.billingPhone||(this.item.billingPhone=e.phone||"")},calculateDueDate(){if(!this.item.invoiceDate)return;const e=new Date(this.item.invoiceDate);let t=new Date(e);switch(this.dueDateOption){case"today":t=new Date;break;case"tomorrow":t=new Date,t.setDate(t.getDate()+1);break;case"7":t.setDate(e.getDate()+7);break;case"14":t.setDate(e.getDate()+14);break;case"30":t.setDate(e.getDate()+30);break;case"45":t.setDate(e.getDate()+45);break;case"60":t.setDate(e.getDate()+60);break;case"90":t.setDate(e.getDate()+90);break;
1case"custom":return}this.item.invoiceDueDate=t},determineDueDateOption(){if(!this.item.invoiceDate||!this.item.invoiceDueDate)return;const e=new Date(this.item.invoiceDate),t=new Date(this.item.invoiceDueDate),i=Math.round((t-e)/864e5),s={0:"today",1:"tomorrow",7:"7",14:"14",30:"30",45:"45",60:"60",90:"90"};Object.prototype.hasOwnProperty.call(s,i)?this.dueDateOption=s[i]:this.dueDateOption="custom"},addCustomField(){this.item.customFields||(this.item.customFields=[]),this.item.customFields.push({label:"",value:""})},removeCustomField(e){this.item.customFields.splice(e,1)},handleSubmit(){this.$emit("save-invoice",{saveToEntity:this.saveToEntity})},updateToggleStates(){(this.item.taxValue||this.item.taxName)&&(this.showTax=!0),this.item.memo&&(this.showMemo=!0),this.item.footer&&(this.showFooter=!0),this.item.customFields&&this.item.customFields.length>0&&(this.showCustomFields=!0),(this.showTax||this.showMemo||this.showFooter||this.showCustomFields)&&(this.additionalOptionsExpanded=!0)},clearToggleStates(){this.showTax=!1,this.showMemo=!1,this.showFooter=!1,this.showCustomFields=!1,this.additionalOptionsExpanded=!1}}},je=i(66262);const We=(0,je.A)(ze,[["render",Qe],["__scopeId","data-v-ddad75c6"]]);var Ke=We},42297:function(e,t,i){i.d(t,{A:function(){return u}});var s=i(20641),a=i(90033);const l={class:"is-flex is-flex-wrap-wrap is-align-items-center",style:{gap:"0.5rem"}},o=["onClick"];function n(e,t,i,n,m,r){return(0,s.uX)(),(0,s.CE)("div",l,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(i.presets,t=>((0,s.uX)(),(0,s.CE)("button",{key:t.value,type:"button",class:(0,a.C4)(["date-preset-chip",{"is-active":i.modelValue===t.value}]),onClick:i=>e.$emit("update:modelValue",t.value)},(0,a.v_)(t.label),11,o))),128))])}var m={name:"DatePresetChips",props:{presets:{type:Array,required:!0},modelValue:{type:[String,Number],default:null}},emits:["update:modelValue"]},r=i(66262);const c=(0,r.A)(m,[["render",n],["__scopeId","data-v-04cedd54"]]);var u=c},46550:function(e,t,i){i.d(t,{Zk:function(){return m},ie:function(){return o}});var s=i(95093),a=i.n(s);const l=["user","contact","company","membershipProductPrice"];function o(e){const t={...e};return l.forEach(e=>{t[e]&&"object"===typeof t[e]&&(t[e]=t[e]["@id"])}),t.invoiceDate&&(t.invoiceDate=a()(t.invoiceDate).utcOffset(0,!0).toDate()),t.invoiceDueDate&&(t.invoiceDueDate=a()(t.invoiceDueDate).utcOffset(0,!0).toDate()),"string"===typeof t.amount&&(t.amount=parseFloat(t.amount)),"string"===typeof t.quantity&&(t.quantity=parseInt(t.quantity)),"string"===typeof t.taxValue&&(t.taxValue=parseInt(t.taxValue)),t}function n(e){if(!e)return null;let t=null;const i={};return e.company&&e.company.uuid?(t=`/companies/${e.company.uuid}`,e.billingName&&(i.legalName=e.billingName),e.billingAddress&&(i.address=e.billingAddress),e.billingVatNumber&&(i.vatNumber=e.billingVatNumber),e.billingRegistrationNumber&&(i.registrationNumber=e.billingRegistrationNumber),e.billingEmail&&(i.contactEmail=e.billingEmail),e.billingPhone&&(i.contactPhone=e.billingPhone)):e.user&&e.user.id?(t=`/users/${e.user.id}`,e.billingAddress&&(i.address=e.billingAddress),e.billingPhone&&(i.phoneNumber=e.billingPhone)):e.contact&&e.contact.id&&(t=`/contacts/${e.contact.id}`,e.billingName&&(i.name=e.billingName),e.billingEmail&&(i.email=e.billingEmail),e.billingPhone&&(i.phone=e.billingPhone)),t&&0!==Object.keys(i).length?{url:t,payload:i}:null}function m(e,t){const i=n(t);return i?e.patch(i.url,i.payload):Promise.resolve(null)}},90025:function(e,t,i){i.r(t),i.d(t,{default:function(){return L}});var s=i(20641),a=i(90033);const l={class:"mb-4"},o={key:0,class:"columns"},n={class:"column is-7"},m={class:"card p-5"},r={class:"title is-4"},c={class:"column is-5"},u={class:"preview-sticky"},d={class:"preview-header mb-3"},h={class:"has-text-weight-semibold"};function p(e,t,i,p,b,v){const g=(0,s.g2)("b-loading"),y=(0,s.g2)("Form"),k=(0,s.g2)("InvoicePreview");return(0,s.uX)(),(0,s.CE)("section",null,[(0,s.Lk)("div",l,[(0,s.Lk)("a",{class:"button is-rounded is-light is-small",onClick:t[0]||(t[0]=t=>e.$router.go(-1))}," ← "+(0,a.v_)(e.$t("back")),1)]),(0,s.bF)(g,{modelValue:b.isLoading,"onUpdate:modelValue":t[1]||(t[1]=e=>b.isLoading=e),"is-full-page":!0},null,8,["modelValue"]),b.item?((0,s.uX)(),(0,s.CE)("div",o,[(0,s.Lk)("div",n,[(0,s.Lk)("div",m,[(0,s.Lk)("h2",r,(0,a.v_)(e.$t("Edit invoice")),1),t[2]||(t[2]=(0,s.Lk)("hr",null,null,-1)),(0,s.bF)(y,{item:b.item,onSaveInvoice:v.save},null,8,["item","onSaveInvoice"])])]),(0,s.Lk)("div",c,[(0,s.Lk)("div",u,[(0,s.Lk)("div",d,[(0,s.Lk)("span",h,(0,a.v_)(e.$t("Preview")),1)]),(0,s.bF)(k,{item:b.item},null,8,["item"])])])])):(0,s.Q3)("",!0)])}i(44114);
1var b=i(25129),v=i(18146),g=i(46550),y={name:"Update",components:{Form:b.A,InvoicePreview:v.A},data(){return{isLoading:!1,itemId:this.$route.params.item,item:null}},mounted(){if(!this.itemId)return this.$buefy.toast.open({message:this.$t("Missing required parameter 'id'"),type:"is-danger"}),this.$router.push({name:"InvoiceList"});this.retrieve()},methods:{retrieve(){this.isLoading=!0,this.$http.plain.get("/invoices/"+this.itemId).then(e=>{e.data.invoiceDate=new Date(e.data.invoiceDate),e.data.invoiceDueDate&&(e.data.invoiceDueDate=new Date(e.data.invoiceDueDate)),e.data.isMembership&&(e.data.membershipStartDate=new Date(e.data.membershipStartDate),e.data.membershipEndDate=new Date(e.data.membershipEndDate)),e.data.customFields||(e.data.customFields=[]),e.data.quantity||(e.data.quantity=1),this.item=e.data}).catch(e=>{console.log(e)}).finally(()=>{this.isLoading=!1})},save(e){this.isLoading=!0;const t=(0,g.ie)(this.item);this.$http.plain.patch("/invoices/"+this.item.id,t).then(()=>e?.saveToEntity?(0,g.Zk)(this.$http.plain,this.item).catch(e=>{console.log(e),this.$buefy.toast.open({message:this.$t("Invoice saved, but the customer record could not be updated"),type:"is-warning"})}):null).then(()=>(this.$buefy.toast.open({message:this.$t("updatedSuccessfully"),type:"is-success"}),this.$router.push({name:"InvoiceShow",params:{item:this.item.id}}))).catch(e=>{console.log(e),this.$buefy.toast.open({message:e.response?.data?.detail||e.response?.data?.["hydra:description"]||this.$t("An error occurred"),type:"is-danger"})}).finally(()=>{this.isLoading=!1})}}},k=i(66262);const f=(0,k.A)(y,[["render",p],["__scopeId","data-v-0fa54bab"]]);var L=f}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.