UNPKG

@accounter/client

Version:
1 lines • 11 kB
import{s as e}from"./dist-BbgEzppd.js";import{i as t,o as n}from"./utils-BUNz070n.js";import{$n as r,Ya as i}from"./error-handling-AQOG1RNy.js";import{r as a,s as o}from"./routes-BXbESQBe.js";import{dt as s}from"./select-6mBYg_R6.js";import{At as c,Ft as l,Ht as u,Nt as d,Ot as f,Pt as p,Vt as m,an as h,cn as g,gn as _,jt as v,kt as y,p as b,r as x,wt as S,zt as C}from"./common-Cy-x5Vhe.js";import{t as w}from"./arrow-up-down-C39PJhum.js";import{a as ee,f as T,i as E,o as D}from"./separator-EFzchRgs.js";import{t as O}from"./funnel-BvwoBZ0O.js";import{t as k}from"./button-CBTN3XMQ.js";import{X as A,a as j,at as M,c as N,i as P,m as F,n as I,o as L,p as R,r as z,s as B,t as V,u as H,v as U,x as W}from"./table-tK8pMUMS.js";import{t as G}from"./sub-CoUILHWZ.js";import{t as K}from"./MultiSelect-CaeZsH-J.js";import{w as q}from"./index-B8E5XsZe.js";import{t as J}from"./use-url-query-BZOFfgST.js";import{t as Y}from"./page-layout-BO3YzLcj.js";var X=e(n(),1),Z=e(A(),1),Q=t();function te({filter:e,setFilter:t,closeModal:n}){let{userContext:r}=(0,X.useContext)(U),i=m({defaultValues:{ownerIDs:r?.context.adminBusinessId?[r.context.adminBusinessId]:void 0,toDate:M(new Date,`yyyy-MM-dd`),fromDate:M(G(new Date,{years:1}),`yyyy-MM-dd`),...e}}),{control:a,handleSubmit:s}=i,{selectableFinancialEntities:u,fetching:h}=S(),_=e=>{t(e),n()};function b(){t({}),n()}return(0,Q.jsxs)(Q.Fragment,{children:[h?(0,Q.jsx)(`div`,{children:`Loading...`}):(0,Q.jsx)(`div`,{}),(0,Q.jsx)(c,{...i,children:(0,Q.jsxs)(`form`,{onSubmit:s(_),children:[(0,Q.jsxs)(g,{cols:2,children:[(0,Q.jsx)(C,{name:`ownerIDs`,control:a,defaultValue:e.ownerIDs,render:({field:e,fieldState:t})=>(0,Q.jsx)(K,{...e,data:u,value:e.value??[],disabled:h,label:`Owners`,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(C,{name:`businessIDs`,control:a,defaultValue:e.businessIDs,render:({field:e,fieldState:t})=>(0,Q.jsx)(K,{...e,data:u,value:e.value??[],disabled:h,label:`Financial Entities`,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,Q.jsx)(C,{name:`fromDate`,control:a,defaultValue:e.fromDate,rules:{pattern:{value:o,message:`Date must be im format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,Q.jsx)(f,{...e,onChange:t=>{let n=t?typeof t==`string`?t:M(t,`yyyy-MM-dd`):void 0;n!==e.value&&e.onChange(n)},value:e.value?new Date(e.value):void 0,error:t.error?.message,label:`From Date`,popoverProps:{withinPortal:!0}})}),(0,Q.jsx)(C,{name:`toDate`,control:a,defaultValue:e.toDate,rules:{pattern:{value:o,message:`Date must be im format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,Q.jsx)(f,{...e,onChange:t=>{let n=t?typeof t==`string`?t:M(t,`yyyy-MM-dd`):void 0;n!==e.value&&e.onChange(n)},value:e.value?new Date(e.value):void 0,error:t.error?.message,label:`To Date`,popoverProps:{withinPortal:!0}})}),(0,Q.jsx)(d,{name:`unmatched`,control:a,render:({field:t})=>(0,Q.jsxs)(p,{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)(l,{children:`Unmatched only`})}),(0,Q.jsx)(v,{children:(0,Q.jsx)(y,{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:h,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:b,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:n,children:`Cancel`})]})]})})]})}function ne({filter:e={},setFilter:t,initiallyOpened:n=!1}){let[r,i]=(0,X.useState)(n),[o,s]=(0,X.useState)(!a(e)),{get:c,set:l}=J();return(0,X.useEffect)(()=>{let t=a(e)?null:encodeURIComponent(JSON.stringify(e));t!==c(`documentsFilters`)&&l(`documentsFilters`,t)},[e,c,l]),(0,Q.jsxs)(`div`,{className:`flex flex-row gap-5 items-center`,children:[(0,Q.jsx)(b,{opened:r,onClose:()=>i(!1),content:(0,Q.jsx)(te,{filter:e,setFilter:(0,X.useCallback)(n=>{(0,Z.default)(n,e)||(t(n),s(!a(n)))},[e,t]),closeModal:()=>i(!1)}),modalSize:`xl`}),(0,Q.jsx)(_,{inline:!0,size:16,disabled:!o,children:(0,Q.jsx)(k,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>i(!0),children:(0,Q.jsx)(O,{className:`size-5`})})})]})}var $=[{accessorKey:`__typename`,header:({column:e})=>(0,Q.jsxs)(k,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Type`}),(0,Q.jsx)(w,{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)(k,{variant:`outline`,size:`sm`,asChild:!0,children:(0,Q.jsx)(`a`,{target:`_blank`,rel:`noreferrer`,href:t?.toString(),children:`Open`})})})}},{accessorKey:`date`,header:({column:e})=>(0,Q.jsxs)(k,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Date`}),(0,Q.jsx)(w,{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:M(new Date(e.original.date),`dd/MM/yy`)}):null},{accessorKey:`serialNumber`,header:({column:e})=>(0,Q.jsxs)(k,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Serial Number`}),(0,Q.jsx)(w,{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:e})=>(0,Q.jsxs)(k,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`VAT`}),(0,Q.jsx)(w,{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:e})=>(0,Q.jsxs)(k,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Amount`}),(0,Q.jsx)(w,{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:e})=>(0,Q.jsxs)(k,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Creditor`}),(0,Q.jsx)(w,{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:e})=>(0,Q.jsxs)(k,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[(0,Q.jsx)(`div`,{className:`text-left`,children:`Debtor`}),(0,Q.jsx)(w,{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)(h,{items:e.original.charge?.transactions??[],columns:[{title:`Transaction Amount`,value:e=>e?.amount.formatted},{title:`Transaction Created At`,value:e=>e?.eventDate?M(new Date(e.eventDate),`dd/MM/yy`):null},{title:`Transaction Effective Date`,value:e=>e?.effectiveDate?M(new Date(e.effectiveDate),`dd/MM/yy`):null},{title:`Transaction Description`,value:e=>e?.sourceDescription}]}):`No Related Transaction`}],re=()=>{let[e,t]=(0,X.useState)(null),[n,a]=(0,X.useState)(!1),{get:o}=J(),c=o(`documentsFilters`),l=(0,X.useMemo)(()=>{if(c)try{return JSON.parse(decodeURIComponent(c))}catch{return}},[c]),[d,f]=(0,X.useState)(l),[p,m]=(0,X.useState)([]),[h,g]=(0,X.useState)({}),{setFiltersContext:_}=(0,X.useContext)(q),[{data:v,fetching:y},S]=i({query:r,variables:{filters:d??{}},pause:!0});(0,X.useEffect)(()=>{d&&S()},[d,S]);let C=N({data:v?.documentsByFilters??[],columns:$,getCoreRowModel:H(),getPaginationRowModel:R(),onSortingChange:m,getSortedRowModel:F(),onColumnVisibilityChange:g,state:{sorting:p,columnVisibility:h}}),w=C.getState().pagination.pageIndex;return(0,X.useEffect)(()=>{_((0,Q.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,Q.jsx)(u,{table:C}),(0,Q.jsx)(ne,{filter:d,setFilter:f,initiallyOpened:!d})]}))},[C,y,d,_,f,l,w]),(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)(E,{children:[(0,Q.jsx)(T,{asChild:!0,children:(0,Q.jsx)(k,{className:`ml-auto`,children:`Columns`})}),(0,Q.jsx)(D,{align:`end`,children:C.getAllColumns().filter(e=>e.getCanHide()).map(e=>(0,Q.jsx)(ee,{className:`capitalize`,checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})]}),(0,Q.jsx)(k,{onClick:()=>a(!0),children:`Upload Documents`})]}),children:y?(0,Q.jsx)(s,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(x,{open:n,onOpenChange:a,onChange:S}),e&&(0,Q.jsx)(b,{modalSize:`45%`,content:(0,Q.jsx)(W,{src:e}),opened:!!e,onClose:()=>t(null)}),(0,Q.jsxs)(V,{children:[(0,Q.jsx)(j,{children:C.getHeaderGroups().map(e=>(0,Q.jsx)(L,{children:e.headers.map(e=>(0,Q.jsx)(P,{children:e.isPlaceholder?null:B(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,Q.jsx)(I,{children:C.getRowModel().rows?.length?C.getRowModel().rows.map(e=>(0,Q.jsx)(L,{"data-state":e.getIsSelected()&&`selected`,children:e.getVisibleCells().map(e=>(0,Q.jsx)(z,{children:B(e.column.columnDef.cell,e.getContext())},e.id))},e.id)):(0,Q.jsx)(L,{children:(0,Q.jsx)(z,{colSpan:$.length,className:`h-24 text-center`,children:`No results.`})})})]})]})})};export{re as DocumentsReport};