UNPKG

@accounter/client

Version:
1 lines • 10.9 kB
import{t as e}from"./arrow-up-down-CKkMMydw.js";import{t}from"./funnel-CNCl11-y.js";import{t as n}from"./sub-B2yp43ck.js";import{t as r}from"./MultiSelect-DODvS5Kz.js";import{$ as i,$i as a,$u as o,Au as s,B as c,Ci as l,G as u,H as d,Jt as f,K as p,Kl as m,Ml as h,Mu as g,N as _,Nd as v,Oi as y,Os as b,Pl as x,Q as S,Qn as C,Rd as w,Ti as ee,Tn as T,Tu as E,U as D,V as O,W as k,Y as A,_n as j,cn as M,dn as N,er as te,fn as P,fr as F,gi as I,gn as L,hn as R,ir as z,pn as B,pr as V,q as H,tr as U,vn as W,w as G,wi as K,wn as q}from"./index-DJOqGznr.js";import{t as J}from"./use-url-query-DGlulgYn.js";import{t as Y}from"./page-layout-YyDTnnkE.js";var X=w(v(),1),Z=w(I(),1),Q=E();function ne({filter:e,setFilter:t,closeModal:i}){let{userContext:o}=(0,X.useContext)(U),s=q({defaultValues:{ownerIDs:o?.context.adminBusinessId?[o.context.adminBusinessId]:void 0,toDate:x(new Date,`yyyy-MM-dd`),fromDate:x(n(new Date,{years:1}),`yyyy-MM-dd`),...e}}),{control:c,handleSubmit:l}=s,{selectableFinancialEntities:u,fetching:d}=M(),p=e=>{t(e),i()};function m(){t({}),i()}return(0,Q.jsxs)(Q.Fragment,{children:[d?(0,Q.jsx)(`div`,{children:`Loading...`}):(0,Q.jsx)(`div`,{}),(0,Q.jsx)(P,{...s,children:(0,Q.jsxs)(`form`,{onSubmit:l(p),children:[(0,Q.jsxs)(z,{cols:2,children:[(0,Q.jsx)(R,{name:`ownerIDs`,control:c,defaultValue:e.ownerIDs,render:({field:e,fieldState:t})=>(0,Q.jsxs)(L,{children:[(0,Q.jsx)(j,{children:`Owners`}),(0,Q.jsx)(B,{children:(0,Q.jsx)(r,{...e,data:u,value:e.value??[],disabled:d,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(W,{})]})}),(0,Q.jsx)(R,{name:`businessIDs`,control:c,defaultValue:e.businessIDs,render:({field:e,fieldState:t})=>(0,Q.jsxs)(L,{children:[(0,Q.jsx)(j,{children:`Financial Entities`}),(0,Q.jsx)(B,{children:(0,Q.jsx)(r,{...e,data:u,value:e.value??[],disabled:d,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(W,{})]})}),(0,Q.jsx)(R,{name:`fromDate`,control:c,defaultValue:e.fromDate,rules:{pattern:{value:a,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,Q.jsxs)(L,{children:[(0,Q.jsx)(j,{htmlFor:`documents-from-date`,children:`From Date`}),(0,Q.jsx)(B,{children:(0,Q.jsx)(f,{id:`documents-from-date`,onChange:t=>{t!==e.value&&e.onChange(t)},value:e.value??void 0,"aria-invalid":!!t.error})}),(0,Q.jsx)(W,{})]})}),(0,Q.jsx)(R,{name:`toDate`,control:c,defaultValue:e.toDate,rules:{pattern:{value:a,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,Q.jsxs)(L,{children:[(0,Q.jsx)(j,{htmlFor:`documents-to-date`,children:`To Date`}),(0,Q.jsx)(B,{children:(0,Q.jsx)(f,{id:`documents-to-date`,onChange:t=>{t!==e.value&&e.onChange(t)},value:e.value??void 0,"aria-invalid":!!t.error})}),(0,Q.jsx)(W,{})]})}),(0,Q.jsx)(R,{name:`unmatched`,control:c,render:({field:t})=>(0,Q.jsxs)(L,{className:`flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm`,children:[(0,Q.jsx)(`div`,{className:`space-y-0.5`,children:(0,Q.jsx)(j,{children:`Unmatched only`})}),(0,Q.jsx)(B,{children:(0,Q.jsx)(N,{defaultChecked:e.unmatched??!1,onCheckedChange:t.onChange})})]})})]}),(0,Q.jsxs)(`div`,{className:`flex justify-center mt-5 gap-3`,children:[(0,Q.jsx)(`button`,{type:`submit`,disabled:d,className:`text-white bg-indigo-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-indigo-600 rounded-sm text-lg`,children:`Filter`}),(0,Q.jsx)(`button`,{type:`button`,className:`text-white bg-orange-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-orange-600 rounded-sm text-lg`,onClick:m,children:`Clear`}),(0,Q.jsx)(`button`,{type:`button`,className:`text-white bg-rose-500 border-0 py-2 px-8 focus:outline-hidden hover:bg-rose-600 rounded-sm text-lg`,onClick:i,children:`Cancel`})]})]})})]})}function re({filter:e={},setFilter:n,initiallyOpened:r=!1}){let[i,a]=(0,X.useState)(r),[o,c]=(0,X.useState)(!g(e)),{get:l,set:u}=J();return(0,X.useEffect)(()=>{let t=s(e);t!==l(`documentsFilters`)&&u(`documentsFilters`,t)},[e,l,u]),(0,Q.jsxs)(`div`,{className:`flex flex-row gap-5 items-center`,children:[(0,Q.jsx)(_,{opened:i,onClose:()=>a(!1),content:(0,Q.jsx)(ne,{filter:e,setFilter:(0,X.useCallback)(t=>{(0,Z.default)(t,e)||(n(t),c(!g(t)))},[e,n]),closeModal:()=>a(!1)}),modalSize:`xl`}),(0,Q.jsx)(F,{inline:!0,size:16,disabled:!o,children:(0,Q.jsx)(m,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>a(!0),children:(0,Q.jsx)(t,{className:`size-5`})})})]})}var $=[{accessorKey:`__typename`,header:({column:t})=>(0,Q.jsxs)(m,{variant:`ghost`,onClick:()=>t.toggleSorting(t.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Type`}),(0,Q.jsx)(e,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>{let{__typename:t}=e.original;return(0,Q.jsx)(`div`,{className:`text-left font-medium`,children:t})}},{accessorKey:`image`,header:()=>(0,Q.jsx)(`div`,{className:`text-left`,children:`Image`}),cell:({row:e})=>{let{image:t}=e.original;return(0,Q.jsx)(`div`,{className:`text-left font-medium`,children:t?(0,Q.jsx)(`img`,{alt:`missing img`,src:t?.toString(),height:80,width:80}):`No image`})}},{accessorKey:`file`,header:()=>(0,Q.jsx)(`div`,{className:`text-left`,children:`File`}),cell:({row:e})=>{let{file:t}=e.original;return(0,Q.jsx)(`div`,{className:`text-left font-medium`,children:t&&(0,Q.jsx)(m,{variant:`outline`,size:`sm`,asChild:!0,children:(0,Q.jsx)(`a`,{target:`_blank`,rel:`noreferrer`,href:t?.toString(),children:`Open`})})})}},{accessorKey:`date`,header:({column:t})=>(0,Q.jsxs)(m,{variant:`ghost`,onClick:()=>t.toggleSorting(t.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Date`}),(0,Q.jsx)(e,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>`date`in e.original&&e.original.date?(0,Q.jsx)(`div`,{className:`text-left font-medium`,children:x(new Date(e.original.date),`dd/MM/yy`)}):null},{accessorKey:`serialNumber`,header:({column:t})=>(0,Q.jsxs)(m,{variant:`ghost`,onClick:()=>t.toggleSorting(t.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Serial Number`}),(0,Q.jsx)(e,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>`serialNumber`in e.original&&e.original.serialNumber?(0,Q.jsx)(`div`,{className:`text-left font-medium`,children:e.original.serialNumber}):null},{accessorKey:`vat.raw`,header:({column:t})=>(0,Q.jsxs)(m,{variant:`ghost`,onClick:()=>t.toggleSorting(t.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`VAT`}),(0,Q.jsx)(e,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>`vat`in e.original&&e.original.vat?.formatted?(0,Q.jsx)(`div`,{className:`text-left font-medium whitespace-nowrap`,children:e.original.vat.formatted}):null},{accessorKey:`amount.raw`,header:({column:t})=>(0,Q.jsxs)(m,{variant:`ghost`,onClick:()=>t.toggleSorting(t.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Amount`}),(0,Q.jsx)(e,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>`amount`in e.original&&e.original.amount?.formatted?(0,Q.jsx)(`div`,{className:`text-left font-medium whitespace-nowrap`,children:e.original.amount.formatted}):null},{accessorKey:`creditor.name`,header:({column:t})=>(0,Q.jsxs)(m,{variant:`ghost`,onClick:()=>t.toggleSorting(t.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Creditor`}),(0,Q.jsx)(e,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>`creditor`in e.original&&e.original.creditor?.name?(0,Q.jsx)(`div`,{className:`text-left font-medium whitespace-nowrap`,children:e.original.creditor.name}):null},{accessorKey:`debtor.name`,header:({column:t})=>(0,Q.jsxs)(m,{variant:`ghost`,onClick:()=>t.toggleSorting(t.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Debtor`}),(0,Q.jsx)(e,{className:`ml-2 h-4 w-4`})]}),cell:({row:e})=>`debtor`in e.original&&e.original.debtor?.name?(0,Q.jsx)(`div`,{className:`text-left font-medium whitespace-nowrap`,children:e.original.debtor.name}):null},{accessorKey:`charge.transactions[0].id`,header:()=>(0,Q.jsx)(`div`,{className:`text-left`,children:`Related Transaction`}),cell:({row:e})=>e.original.charge?.transactions?.[0]?.id?(0,Q.jsx)(C,{items:e.original.charge?.transactions??[],columns:[{title:`Transaction Amount`,value:e=>e?.amount.formatted},{title:`Transaction Created At`,value:e=>e?.eventDate?x(new Date(e.eventDate),`dd/MM/yy`):null},{title:`Transaction Effective Date`,value:e=>e?.effectiveDate?x(new Date(e.effectiveDate),`dd/MM/yy`):null},{title:`Transaction Description`,value:e=>e?.sourceDescription}]}):`No Related Transaction`}],ie=()=>{let[e,t]=(0,X.useState)(null),[n,r]=(0,X.useState)(!1),{get:a}=J(),s=a(`documentsFilters`),f=(0,X.useMemo)(()=>{if(s)try{return JSON.parse(decodeURIComponent(s))}catch{return}},[s]),[g,v]=(0,X.useState)(f),[x,C]=(0,X.useState)([]),[w,E]=(0,X.useState)({}),{setFiltersContext:j}=(0,X.useContext)(te),[{data:M,fetching:N},P]=h({query:b,variables:{filters:g??{}},pause:!0});(0,X.useEffect)(()=>{g&&P()},[g,P]);let F=H({data:M?.documentsByFilters??[],columns:$,getCoreRowModel:A(),getPaginationRowModel:S(),onSortingChange:C,getSortedRowModel:i(),onColumnVisibilityChange:E,state:{sorting:x,columnVisibility:w}}),I=F.getState().pagination.pageIndex;return(0,X.useEffect)(()=>{j((0,Q.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,Q.jsx)(T,{table:F}),(0,Q.jsx)(re,{filter:g,setFilter:v,initiallyOpened:!g})]}))},[F,N,g,j,v,f,I]),(0,Q.jsx)(Y,{title:`Documents`,description:`All documents`,headerActions:(0,Q.jsxs)(`div`,{className:`flex items-center py-4 gap-4`,children:[(0,Q.jsxs)(l,{children:[(0,Q.jsx)(y,{asChild:!0,children:(0,Q.jsx)(m,{className:`ml-auto`,children:`Columns`})}),(0,Q.jsx)(ee,{align:`end`,children:F.getAllColumns().filter(e=>e.getCanHide()).map(e=>(0,Q.jsx)(K,{className:`capitalize`,checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})]}),(0,Q.jsx)(m,{onClick:()=>r(!0),children:`Upload Documents`})]}),children:N?(0,Q.jsx)(o,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(G,{open:n,onOpenChange:r,onChange:P}),e&&(0,Q.jsx)(_,{modalSize:`45%`,content:(0,Q.jsx)(V,{src:e}),opened:!!e,onClose:()=>t(null)}),(0,Q.jsxs)(c,{children:[(0,Q.jsx)(k,{children:F.getHeaderGroups().map(e=>(0,Q.jsx)(u,{children:e.headers.map(e=>(0,Q.jsx)(D,{children:e.isPlaceholder?null:p(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,Q.jsx)(O,{children:F.getRowModel().rows?.length?F.getRowModel().rows.map(e=>(0,Q.jsx)(u,{"data-state":e.getIsSelected()&&`selected`,children:e.getVisibleCells().map(e=>(0,Q.jsx)(d,{children:p(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,Q.jsx)(u,{children:(0,Q.jsx)(d,{colSpan:$.length,className:`h-24 text-center`,children:`No results.`})})})]})]})})};export{ie as DocumentsReport};