@accounter/client
Version:
2 lines (1 loc) • 2.35 kB
JavaScript
import{u as m,ce as f,H as h,r,j as s,bC as g,cf as T,F as j,cg as B,T as w,at as C,L as E,ch as y}from"./index-DRqooPz9.js";import{E as b,P as v}from"./editable-business-trip-CPfdEl45.js";import{P as A}from"./page-layout-Dp9Tr43G.js";import{a as L,b as P,c as F,A as S}from"./accordion-Air1oXnF.js";import"./summary-BvHHpnIR.js";import"./update-accountant-status-Btcm95Uc.js";import"./Table-rNmO5bBI.js";import"./toggle-expansion-button-BquTpOYj.js";import"./panel-top-open-lnF5tdL1.js";import"./MultiSelect-DhEZHYxn.js";import"./similar-transactions-modal-DilkLkpx.js";import"./building-2-CWrl-iq9.js";const D=({data:d,isOpened:o,shouldValidate:c})=>{const e=h(T,d),[{data:i,fetching:a}]=m({pause:!c,query:f,variables:{id:e.id}}),l=r.useMemo(()=>c?i?.businessTrip&&(i.businessTrip.uncategorizedTransactions?.length||i?.businessTrip.summary?.errors?.length):!1,[i]),u=l||e?.accountantApproval!=="APPROVED";return s.jsxs(L,{value:e.id,children:[s.jsx(P,{children:s.jsx(g,{inline:!0,size:12,processing:a,disabled:!u,color:l?"red":"yellow",zIndex:"auto",children:e.name})}),s.jsx(F,{children:o&&s.jsx(b,{tripId:e.id,isExtended:!0},e.id)})]})},_=()=>{const{setFiltersContext:d}=r.useContext(j),[o,c]=r.useState([]),[e,i]=r.useState(!1),[{data:a,fetching:l}]=m({query:y});r.useEffect(()=>{if(!a?.allBusinessTrips?.length){c([]);return}const t=a.allBusinessTrips.sort((n,p)=>n.dates?.start&&p.dates?.start?n.dates.start<p.dates.start?1:-1:n.dates?.start?-1:p.dates?.start?1:n.name.toLocaleLowerCase()<p.name.toLocaleLowerCase()?-1:1);c(t)},[a?.allBusinessTrips]);const[u,x]=r.useState([]);return r.useEffect(()=>{d(s.jsxs("div",{className:"flex flex-row gap-x-5",children:[s.jsx(B,{}),s.jsx(w,{content:"Toggle business trips validation",children:s.jsxs("div",{className:"flex flex-row items-center gap-x-2",children:[s.jsx(C,{checked:e??!1,onCheckedChange:t=>i(t)}),s.jsx("span",{className:"text-sm text-gray-500",children:"Validate"})]})}),s.jsx(v,{filename:"business_trips"})]}))},[a,l,d,e]),s.jsx(A,{title:"Business Trips",description:"Manage business trips",children:o.length===0&&l?s.jsx(E,{className:"h-10 w-10 animate-spin mr-2 self-center"}):s.jsx(S,{className:"w-full",type:"multiple",value:u,onValueChange:x,children:o?.map(t=>s.jsx(D,{data:o.find(n=>n.id===t.id),shouldValidate:e,isOpened:u.includes(t.id)},t.id))})})};export{_ as BusinessTrips};