18 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import{u as p,at as w,c as s,ah as M,bg as F,x as R,a8 as y,p as g,j as k,H,af as _,ae as h,ag as J,J as q,h as G,a9 as K,bh as L,Z as Q,aw as W,a1 as X,aD as Z,aF as P,aK as z,aI as U,aL as Y,aJ as $,bc as I,aO as ee,aT as ne,aP as te,G as se,bi as ae,A as oe}from"./bundle.2fc363c8.js";import{u as ie}from"./bundle.de0cf52e.js";import{u as le}from"./bundle.cfa2788d.js";import{p as ce}from"./bundle.5331bae7.js";import{I as f}from"./bundle.756326ba.js";import{a as re,i as ue}from"./bundle.d92894d4.js";import{a as me}from"./bundle.02f0827e.js";import{u as de}from"./bundle.b4d1e97e.js";function _e(){const t=R(),a=[{label:"initial_email",value:"invoice"},{label:"first_reminder",value:"reminder1"},{label:"second_reminder",value:"reminder2"},{label:"third_reminder",value:"reminder3"},{label:"endless_reminder",value:"reminder_endless"}];return t!=null&&t.settings.email_subject_custom1&&a.push({label:t==null?void 0:t.settings.email_subject_custom1,value:"custom1"}),t!=null&&t.settings.email_subject_custom2&&a.push({label:t==null?void 0:t.settings.email_subject_custom2,value:"custom2"}),t!=null&&t.settings.email_subject_custom3&&a.push({label:t==null?void 0:t.settings.email_subject_custom3,value:"custom3"}),a}function he(t){const{visible:a,setVisible:i,invoiceIds:u}=t,[m]=p(),r=w({onSuccess:()=>i(!1)}),l=_e();return s(M,{title:F("email_count_invoices",{count:u.length}),visible:a,onClose:()=>i(!1),closeButtonCypressRef:"sendEmailModalXButton",children:s("div",{children:l.map((d,b)=>s("div",{className:"flex justify-between py-2 cursor-pointer hover:bg-gray-100 pl-2",onClick:()=>{r(u,"email",d.value),t.setSelected([])},children:m(d.label)},b))})})}function fe(t){const{invoices:a}=t,[i]=p(),u=y(),[m,r]=g.useState(!1),[l,d]=g.useState(!1),b=()=>a.every(({client:c})=>c==null?void 0:c.contacts.some(({email:v})=>v)),C=()=>a.find(({client:c})=>!(c!=null&&c.contacts.some(({email:v})=>v)));return k(H,{children:[s(he,{visible:m,setVisible:r,invoiceIds:a.map(({id:c})=>c),setSelected:t.setSelected}),s(_,{onClick:()=>b()?r(!0):d(!0),icon:s(h,{element:J}),children:i("send_email")}),s(M,{title:i("contact_email"),visible:l,onClose:()=>d(!1),children:k("div",{className:"flex flex-col items-center space-y-4",children:[k("span",{className:"text-base font-medium",children:[i("client_email_not_set"),"."]}),s(q,{className:"self-end",onClick:()=>{var c;u(G("/clients/:id/edit",{id:(c=C())==null?void 0:c.client_id})),d(!1)},children:i("edit_client")})]})})]})}/**
 | 
						|
 * Invoice Ninja (https://invoiceninja.com).
 | 
						|
 *
 | 
						|
 * @link https://github.com/invoiceninja/invoiceninja source repository
 | 
						|
 *
 | 
						|
 * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com)
 | 
						|
 *
 | 
						|
 * @license https://www.elastic.co/licensing/elastic-license
 | 
						|
 */function be(){const t=y(),a=K(ce),{data:i}=le();return u=>{i&&(a({...i.data.data,invoices:[],credits:[],client_id:u[0].client_id}),u.forEach(m=>{a(r=>r&&{...r,invoices:[...r.invoices,{_id:L(),invoice_id:m.id,amount:m.balance>0?m.balance:m.amount}]})}),t("/payments/create?action=enter"))}}const ye=()=>{const[t]=p(),a=ae(),i=Q(),u=W({entity:"invoice"}),m=ie({entity:"invoice"}),r=be(),l=w(),d=re(),b=e=>e.flatMap(({documents:n})=>n.map(({id:o})=>o)),C=e=>e.every(({is_deleted:n})=>!n),c=e=>!e.some(n=>!ue(n)),v=e=>{if(e.length){if(se(e).pluck("client_id").unique().toArray().length>1)return I.error("multiple_client_error");r(e)}},B=e=>!e.some(n=>parseInt(n.status_id)>parseInt(f.Partial)),D=e=>e.some(({documents:n})=>n.length),E=e=>!e.some(({status_id:n})=>n!==f.Sent),A=e=>!e.some(({status_id:n,is_deleted:o})=>n!==f.Draft||o),S=e=>!e.some(({status_id:n,is_deleted:o})=>parseInt(n)>parseInt(f.Partial)||o),j=e=>!e.some(({status_id:n,is_deleted:o,archived_at:V})=>n!==f.Paid&&n!==f.Partial||o||V),x=(e,n)=>{const o=b(e);a(o,"download"),n==null||n([])},{setChangeTemplateVisible:T,setChangeTemplateResources:O,setChangeTemplateEntityContext:N}=X();return[({selectedResources:e,setSelected:n})=>s(fe,{invoices:e,setSelected:n}),({selectedIds:e,setSelected:n})=>s(_,{onClick:()=>{u(e),n([])},icon:s(h,{element:Z}),children:t("print_pdf")}),({selectedIds:e,setSelected:n})=>s(_,{onClick:()=>{m(e),n([])},icon:s(h,{element:P}),children:t("download_pdf")}),({selectedIds:e,selectedResources:n,setSelected:o})=>c(n)&&s(_,{onClick:()=>{l(e,"auto_bill"),o([])},icon:s(h,{element:z}),children:t("auto_bill")}),({selectedIds:e,selectedResources:n,setSelected:o})=>A(n)&&s(_,{onClick:()=>{l(e,"mark_sent"),o([])},icon:s(h,{element:U}),children:t("mark_sent")}),({selectedResources:e,setSelected:n})=>B(e)&&i("create_payment")&&s(_,{onClick:()=>{v(e),n([])},icon:s(h,{element:Y}),children:t("enter_payment")}),({selectedIds:e,selectedResources:n,setSelected:o})=>S(n)&&s(_,{onClick:()=>{l(e,"mark_paid"),o([])},icon:s(h,{element:$}),children:t("mark_paid")}),({selectedResources:e,setSelected:n})=>C(e)&&s(_,{onClick:()=>D(e)?x(e,n):I.error("no_documents_to_download"),icon:s(h,{element:P}),children:t("documents")}),({selectedResources:e,setSelected:n})=>j(e)&&i("create_credit")&&s(_,{onClick:()=>{d(e[0]),n([])},icon:s(h,{element:ee}),children:t("reverse")}),({selectedIds:e,selectedResources:n,setSelected:o})=>E(n)&&s(_,{onClick:()=>{l(e,"cancel"),o([])},icon:s(h,{element:ne}),children:t("cancel_invoice")}),({selectedResources:e})=>s(_,{onClick:()=>{T(!0),O(e),N({endpoint:"/api/v1/invoices/bulk",entity:"invoice"})},icon:s(h,{element:te}),children:t("run_template")})]};/**
 | 
						|
 * Invoice Ninja (https://invoiceninja.com).
 | 
						|
 *
 | 
						|
 * @link https://github.com/invoiceninja/invoiceninja source repository
 | 
						|
 *
 | 
						|
 * @copyright Copyright (c) 2022. Invoice Ninja LLC (https://invoiceninja.com)
 | 
						|
 *
 | 
						|
 * @license https://www.elastic.co/licensing/elastic-license
 | 
						|
 */function Be(){var r;const[t]=p(),a=oe(),i=de();me();const u=[{column:"amount",id:"amount",label:t("amount"),format:(l,d)=>i(l,d)},{column:"balance",id:"balance",label:t("balance"),format:(l,d)=>i(l,d)}],m=((r=a==null?void 0:a.table_footer_columns)==null?void 0:r.invoice)||[];return{footerColumns:u.filter(({id:l})=>m.includes(l)),allFooterColumns:u}}export{Be as a,ye as u};
 |