@accounter/client
Version:
Accounter client application
1 lines • 2.37 kB
JavaScript
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{t as r}from"./loader-circle-CfW9jOIr.js";import{ct as i,en as a,k as o,kt as s,vt as c}from"./common-D-vYt_Yl.js";import{t as l}from"./editable-business-trip-RmiVlME2.js";import{c as u}from"./separator-BvKylNhK.js";import{i as d,n as f,r as p,t as m}from"./accordion-BzqgxfVF.js";import{Zc as h}from"./table-AJA7Uyxy.js";import{Bt as g,Qo as _,Vt as v,zt as y}from"./graphql-DC5GYCFE.js";import{t as b}from"./page-layout-DfY10rJx.js";var x=e(n(),1),S=t(),C=({data:e,isOpened:t,shouldValidate:n})=>{let r=h(y,e),[{data:i,fetching:o}]=_({pause:!n,query:g,variables:{id:r.id}}),s=(0,x.useMemo)(()=>n?i?.businessTrip&&(i.businessTrip.uncategorizedTransactions?.length||i?.businessTrip.summary?.errors?.length):!1,[i]),c=s||r?.accountantApproval!==`APPROVED`;return(0,S.jsxs)(p,{value:r.id,children:[(0,S.jsx)(d,{children:(0,S.jsx)(a,{inline:!0,size:12,processing:o,disabled:!c,color:s?`red`:`yellow`,zIndex:`auto`,children:r.name})}),(0,S.jsx)(f,{children:t&&(0,S.jsx)(l,{tripId:r.id,isExtended:!0},r.id)})]})},w=()=>{let{setFiltersContext:e}=(0,x.useContext)(u),[t,n]=(0,x.useState)([]),[a,l]=(0,x.useState)(!1),[{data:d,fetching:f}]=_({query:v});(0,x.useEffect)(()=>{if(!d?.allBusinessTrips?.length){n([]);return}let e=d.allBusinessTrips.sort((e,t)=>e.dates?.start&&t.dates?.start?e.dates.start<t.dates.start?1:-1:e.dates?.start?-1:t.dates?.start?1:e.name.toLocaleLowerCase()<t.name.toLocaleLowerCase()?-1:1);n(e)},[d?.allBusinessTrips]);let[p,h]=(0,x.useState)([]);return(0,x.useEffect)(()=>{e((0,S.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,S.jsx)(o,{}),(0,S.jsx)(i,{content:`Toggle business trips validation`,children:(0,S.jsxs)(`div`,{className:`flex flex-row items-center gap-x-2`,children:[(0,S.jsx)(c,{checked:a??!1,onCheckedChange:e=>l(e)}),(0,S.jsx)(`span`,{className:`text-sm text-gray-500`,children:`Validate`})]})}),(0,S.jsx)(s,{filename:`business_trips`})]}))},[d,f,e,a]),(0,S.jsx)(b,{title:`Business Trips`,description:`Manage business trips`,children:t.length===0&&f?(0,S.jsx)(r,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,S.jsx)(m,{className:`w-full`,type:`multiple`,value:p,onValueChange:h,children:t?.map(e=>(0,S.jsx)(C,{data:t.find(t=>t.id===e.id),shouldValidate:a,isOpened:p.includes(e.id)},e.id))})})};export{w as BusinessTrips};