Files
docker-invoiceninja/docker/app/public/bundle.b9b90624.js
2024-10-19 18:17:42 +00:00

2 lines
4.1 KiB
JavaScript

import{bO as P,d as j,d$ as I,u as O,p as o,a6 as T,dZ as H,ba as b,r as M,e as Q,bb as q,d_ as z,j as v,C as D,c as s,bs as u,cc as f,I as J,bY as g,ax as w,cd as L,J as U,dW as W,bx as $,G as X}from"./bundle.9b7ffc79.js";import{b as Y}from"./bundle.81b4b580.js";function ee(){var y;const{id:C}=P(),{data:e}=Y({id:C}),F=j(),{data:h}=I({id:e==null?void 0:e.company_gateway_id,queryParams:"include=gateway",enabled:!!(e!=null&&e.company_gateway_id)}),[d]=O(),[n,S]=o.useState(),[r,p]=o.useState([]),[m,G]=o.useState(!1),[N,k]=o.useState(!1),[_,E]=o.useState(!1),V=T(),t=H({enableReinitialize:!0,initialValues:{id:e==null?void 0:e.id,date:e==null?void 0:e.date,invoices:[]},onSubmit:a=>{b.processing(),S(void 0);let i="/api/v1/payments/refund?&email_receipt=:email";_&&(i+="&gateway_refund=true"),M("POST",Q(i,{email:m}),a).then(()=>{b.success("refunded_payment"),V("/payments")}).catch(l=>{var c;((c=l.response)==null?void 0:c.status)===422&&(S(l.response.data),b.dismiss())}).finally(()=>{t.setSubmitting(!1),q(["payments"])})}}),A=a=>{const i=e==null?void 0:e.paymentables.find(({invoice_id:l})=>l===a.id);return i?i.amount-i.refunded:0},R=a=>{var l,c;const i=e==null?void 0:e.paymentables.find(({invoice_id:B})=>B===a.id);return i?`${d("invoice")} #${a.number} - ${d("refundable")} (${F(i.amount-i.refunded,(l=e==null?void 0:e.client)==null?void 0:l.country_id,(c=e==null?void 0:e.client)==null?void 0:c.settings.currency_id)})`:""};o.useEffect(()=>{e&&Array.isArray(e.invoices)&&r.map(a=>{const i=e.invoices.find(l=>l.id==a);i&&t.setFieldValue("invoices",[...t.values.invoices,{amount:A(i),invoice_id:i==null?void 0:i.id,id:""}])})},[r]),o.useEffect(()=>{let a=0;t.values.invoices.map(i=>{a=a+Number(i.amount),p(r.filter(l=>l!=i.invoice_id))})},[t.values.invoices]),o.useEffect(()=>{if(h){const a=h.data.data.gateway,i=Object.values(a.options).some(l=>l.refund);k(i)}},[h]);const x=()=>{var i;const a=X(t==null?void 0:t.values.invoices).pluck("invoice_id");return(i=e==null?void 0:e.invoices)==null?void 0:i.filter(l=>!a.contains(l.id))};return z({onClick:()=>t.handleSubmit(),disableSaveButton:t.isSubmitting||!t.values.invoices.length},[t.values,t.isSubmitting]),v(D,{title:d("refund_payment"),children:[s(u,{leftSide:d("number"),children:s(f,{disabled:!0,value:e==null?void 0:e.number})}),e&&s(u,{leftSide:d("amount"),children:s(f,{disabled:!0,value:(e==null?void 0:e.amount)-(e==null?void 0:e.refunded)})}),s(u,{leftSide:d("applied"),children:s(f,{disabled:!0,value:e==null?void 0:e.applied})}),s(u,{leftSide:d("date"),children:s(f,{type:"date",value:t.values.date,onValueChange:a=>t.setFieldValue("date",a)})}),v(u,{leftSide:d("invoices"),children:[s(J,{onChange:a=>{t.values.invoices.filter(i=>i.invoice_id==a.target.value).length<1&&p([...r,a.target.value]),a.target.value=""},withBlank:!0,children:(y=x())==null?void 0:y.map((a,i)=>s("option",{value:a.id,children:R(a)},i))}),(n==null?void 0:n.errors.invoices)&&s("div",{className:"py-2",children:s(g,{type:"danger",children:n.errors.invoices})})]}),s(w,{}),e&&Array.isArray(e.invoices)&&t.values.invoices.map((a,i)=>{const l=e.invoices.find(c=>c.id==a.invoice_id);if(l)return v("div",{className:"flex flex-col",children:[s(u,{leftSide:`${d("invoice")}: ${l==null?void 0:l.number}`,children:v("div",{className:"flex items-center space-x-2",children:[s(L,{value:t.values.invoices[i].amount,onValueChange:c=>t.setFieldValue(`invoices.${i}.amount`,parseFloat(c))}),s(U,{behavior:"button",type:"minimal",onClick:()=>{t.setFieldValue("invoices",t.values.invoices.filter(c=>c.invoice_id!=a.invoice_id))},children:s(W,{})})]})}),((n==null?void 0:n.errors[`invoices.${[i]}.invoice_id`])||(n==null?void 0:n.errors[`invoices.${[i]}.amount`]))&&s("div",{className:"px-6",children:s(g,{className:"mt-2 break-all",type:"danger",children:(n==null?void 0:n.errors[`invoices.${[i]}.invoice_id`])||(n==null?void 0:n.errors[`invoices.${[i]}.amount`])})})]},i)}),s(w,{}),s(u,{leftSide:d("send_email"),leftSideHelp:d("email_receipt"),children:s($,{checked:m,onChange:()=>{G(!m)}})}),N&&s(u,{leftSide:d("gateway_refund"),leftSideHelp:d("gateway_refund_help"),children:s($,{checked:_,onChange:a=>E(a)})}),(n==null?void 0:n.errors.id)&&s(g,{type:"danger",children:n.errors.id})]})}export{ee as default};