2 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			2 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import{u as f,p as g,c as s,af as k,bc as x,ae as C,aF as _,f6 as y,j as p,H as A,f7 as D,f8 as v,as as w,ah as B,b_ as E,e as T,D as I,J as F,bi as O,O as S,_ as j,dj as M,dl as P,dk as V,f9 as z,U as G,k as H,a4 as L,a5 as N,a6 as h,fa as $}from"./bundle.40842d53.js";import{D as J}from"./bundle.f60c32a7.js";import{I as U}from"./bundle.6f604da1.js";function q({isVisible:a,setIsVisible:r,selectedExpenses:c,setSelected:l}){const[o]=f(),[u,i]=g.useState(""),d=v(),{isAdmin:b,isOwner:e}=w();g.useEffect(()=>()=>{i("")},[]);const n=()=>{x.processing();const t=c.map(({id:m})=>m);d(t,"bulk_categorize",{category_id:u}),l&&l([]),r(!1),i("")};return p(B,{title:`${o("change")} ${o("category")}`,visible:a,onClose:r,overflowVisible:!0,children:[p("p",{children:[o("recurring_expenses"),":"]}),s("ul",{children:c.map(({id:t,number:m})=>s("li",{children:m},t))}),s(E,{endpoint:T("/api/v1/expense_categories"),inputOptions:{value:u,label:o("category")??""},entryOptions:{id:"id",label:"name",value:"id"},sortBy:"name|asc",onChange:t=>t.resource?i(t.resource.id):null}),p("p",{children:[s("span",{className:"capitalize",children:o("manage")})," ",s(I,{className:"lowercase",to:"/settings/expense_settings",renderSpan:!b&&!e,children:o("expense_categories")})]}),s(F,{onClick:n,children:o("save")})]})}const K=()=>{const[a]=f(),r=O(),c=e=>e.some(({documents:n})=>n.length),l=e=>e.flatMap(({documents:n})=>n.map(({id:t})=>t)),o=e=>e.every(({should_be_invoiced:n,invoice_id:t})=>n&&!t.length),u=(e,n)=>{const t=l(e);r(t,"download"),n([])},[i,d]=g.useState(!1);return[({selectedResources:e,setSelected:n})=>s(k,{onClick:()=>c(e)?u(e,n):x.error("no_documents_to_download"),icon:s(C,{element:_}),children:a("documents")}),({selectedResources:e})=>o(e)&&s(y,{expenses:e,bulkAction:!0}),({selectedResources:e,setSelected:n})=>p(A,{children:[e?s(q,{isVisible:i,setIsVisible:d,selectedExpenses:e,setSelected:n}):null,p(k,{onClick:()=>e.length?d(!0):x.error("no_expenses_selected"),icon:s(C,{element:D}),children:[a("change")," ",a("category")]})]})]};function Y(){S("expenses");const[a]=f(),r=j(),c=[{name:a("expenses"),href:"/expenses"}],l=M(),o=P(),u=V(),i=z(),d=K();return s(G,{title:a("expenses"),breadcrumbs:c,docsLink:"en/expenses",children:s(H,{resource:"expense",endpoint:"/api/v1/expenses?include=client,vendor,category&without_deleted_clients=true&without_deleted_vendors=true&sort=id|desc",columns:l,bulkRoute:"/api/v1/expenses/bulk",linkToCreate:"/expenses/create",linkToEdit:"/expenses/:id/edit",customActions:o,customFilters:u,customBulkActions:d,customFilterPlaceholder:"status",withResourcefulActions:!0,rightSide:s(L,{type:"component",guards:[N(h("create_expense"),h("edit_expense"))],component:s(U,{route:"/expenses/import"})}),leftSideChevrons:s(J,{columns:i,defaultColumns:$,table:"expense"}),linkToCreateGuards:[h("create_expense")],hideEditableOptions:!r("edit_expense")})})}export{Y as default};
 |