UNPKG

@accounter/client

Version:
1 lines • 7.6 kB
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{$n as r,V as i,Yt as a,ar as o,b as s,gt as c,ot as l,p as u,r as d,rn as f,wt as p,y as m,yt as h}from"./common-DtCH-1rN.js";import{s as g}from"./select-DrAHsHyM.js";import{c as _,d as v,h as y,l as b,u as x}from"./separator-C_NTzotM.js";import{t as S}from"./funnel-CtGZVesZ.js";import{t as C}from"./loader-circle-CZACSY-b.js";import{i as w,n as T}from"./routes-4W-duEv9.js";import{t as E}from"./button-DUNsVBiu.js";import{Gc as D,Hc as O,Kc as k,Kl as A,Pl as j,Vc as M,Wc as N,Zc as P,nl as F,qc as I}from"./table-BXolY871.js";import{ar as L,ls as R,nr as z}from"./graphql-HKLcNTdf.js";import{t as B}from"./sub-CmbizUFf.js";import{t as V}from"./MultiSelect-BX6mil7t.js";import{t as H}from"./use-url-query-C3m3Z87n.js";import{t as U}from"./page-layout-DtkTEMd2.js";var W=e(n(),1),G=e(j(),1),K=t(),q=[{name:`unmatched`,label:`Unmatched only`},{name:`missingInfo`,label:`Invalid documents only`},{name:`missingCounterparty`,label:`Missing counterparty`}],J=Object.values(z).map(e=>({value:e,label:r(e)}));function Y({filter:e,setFilter:t,closeModal:n}){let{userContext:r}=(0,W.useContext)(F),i=P({defaultValues:{ownerIDs:r?.context.adminBusinessId?[r.context.adminBusinessId]:void 0,toDate:A(new Date,`yyyy-MM-dd`),fromDate:A(B(new Date,{years:1}),`yyyy-MM-dd`),...e}}),{control:s,handleSubmit:u}=i,{selectableFinancialEntities:d,fetching:f}=c(),p=e=>{let{freeText:r,...i}=e;t(r?.trim()?{...i,freeText:r.trim()}:i),n()};function m(){t({}),n()}return(0,K.jsxs)(K.Fragment,{children:[f?(0,K.jsx)(`div`,{children:`Loading...`}):(0,K.jsx)(`div`,{}),(0,K.jsx)(M,{...i,children:(0,K.jsxs)(`form`,{onSubmit:u(p),children:[(0,K.jsxs)(a,{cols:2,children:[(0,K.jsx)(N,{name:`ownerIDs`,control:s,defaultValue:e.ownerIDs,render:({field:e,fieldState:t})=>(0,K.jsxs)(D,{children:[(0,K.jsx)(k,{children:`Owners`}),(0,K.jsx)(O,{children:(0,K.jsx)(V,{...e,data:d,value:e.value??[],disabled:f,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,K.jsx)(I,{})]})}),(0,K.jsx)(N,{name:`businessIDs`,control:s,defaultValue:e.businessIDs,render:({field:e,fieldState:t})=>(0,K.jsxs)(D,{children:[(0,K.jsx)(k,{children:`Counterparty`}),(0,K.jsx)(O,{children:(0,K.jsx)(V,{...e,data:d,value:e.value??[],disabled:f,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,K.jsx)(I,{})]})}),(0,K.jsx)(N,{name:`fromDate`,control:s,defaultValue:e.fromDate,rules:{pattern:{value:o,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,K.jsxs)(D,{children:[(0,K.jsx)(k,{htmlFor:`documents-from-date`,children:`From Date`}),(0,K.jsx)(O,{children:(0,K.jsx)(l,{id:`documents-from-date`,onChange:t=>{t!==e.value&&e.onChange(t)},value:e.value??void 0,"aria-invalid":!!t.error})}),(0,K.jsx)(I,{})]})}),(0,K.jsx)(N,{name:`toDate`,control:s,defaultValue:e.toDate,rules:{pattern:{value:o,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,K.jsxs)(D,{children:[(0,K.jsx)(k,{htmlFor:`documents-to-date`,children:`To Date`}),(0,K.jsx)(O,{children:(0,K.jsx)(l,{id:`documents-to-date`,onChange:t=>{t!==e.value&&e.onChange(t)},value:e.value??void 0,"aria-invalid":!!t.error})}),(0,K.jsx)(I,{})]})}),(0,K.jsx)(N,{name:`type`,control:s,defaultValue:e.type,render:({field:e,fieldState:t})=>(0,K.jsxs)(D,{children:[(0,K.jsx)(k,{children:`Document Type`}),(0,K.jsx)(O,{children:(0,K.jsx)(V,{...e,data:J,value:e.value??[],placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,error:t.error?.message,withinPortal:!0})}),(0,K.jsx)(I,{})]})}),(0,K.jsx)(N,{name:`freeText`,control:s,defaultValue:e.freeText,rules:{minLength:{value:2,message:`Must be at least 2 characters`}},render:({field:e,fieldState:t})=>(0,K.jsxs)(D,{children:[(0,K.jsx)(k,{htmlFor:`documents-free-text`,children:`Free Text`}),(0,K.jsx)(O,{children:(0,K.jsx)(g,{id:`documents-free-text`,placeholder:`Serial, amount, description, remarks, counterparty`,...e,value:e.value??``,"aria-invalid":!!t.error})}),(0,K.jsx)(I,{})]})})]}),(0,K.jsxs)(`div`,{className:`mt-5 rounded-lg border p-3 shadow-sm`,children:[(0,K.jsx)(`p`,{className:`mb-3 text-sm font-medium`,children:`Missing Information`}),(0,K.jsx)(a,{cols:2,children:q.map(({name:e,label:t})=>(0,K.jsx)(N,{name:e,control:s,render:({field:e})=>(0,K.jsxs)(D,{className:`flex flex-row items-center justify-between rounded-lg border p-3 shadow-sm`,children:[(0,K.jsx)(`div`,{className:`space-y-0.5`,children:(0,K.jsx)(k,{children:t})}),(0,K.jsx)(O,{children:(0,K.jsx)(h,{checked:e.value??!1,onCheckedChange:e.onChange})})]})},e))})]}),(0,K.jsxs)(`div`,{className:`flex justify-center mt-5 gap-3`,children:[(0,K.jsx)(`button`,{type:`submit`,disabled:f,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,K.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,K.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 X({filter:e={},setFilter:t,initiallyOpened:n=!1}){let[r,i]=(0,W.useState)(n),[a,o]=(0,W.useState)(!w(e)),{get:s,set:c}=H();(0,W.useEffect)(()=>{let t=T(e);t!==s(`documentsFilters`)&&c(`documentsFilters`,t)},[e,s,c]);let l=(0,W.useCallback)(n=>{(0,G.default)(n,e)||(t(n),o(!w(n)))},[e,t]);return(0,K.jsxs)(`div`,{className:`flex flex-row gap-5 items-center`,children:[(0,K.jsx)(u,{opened:r,onClose:()=>i(!1),content:(0,K.jsx)(Y,{filter:e,setFilter:l,closeModal:()=>i(!1)}),modalSize:`xl`}),(0,K.jsx)(f,{inline:!0,size:16,disabled:!a,children:(0,K.jsx)(E,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>i(!0),children:(0,K.jsx)(S,{className:`size-5`})})})]})}var Z=()=>{let[e,t]=(0,W.useState)(!1),{get:n}=H(),r=n(`documentsFilters`),a=(0,W.useMemo)(()=>{if(r)try{return JSON.parse(decodeURIComponent(r))}catch{return}},[r]),[o,c]=(0,W.useState)(a),{setFiltersContext:l}=(0,W.useContext)(_),[{data:u,fetching:f},h]=R({query:L,variables:{filters:o??{}},pause:!0});(0,W.useEffect)(()=>{o&&h()},[o,h]);let g=(0,W.useMemo)(()=>u?.documentsByFilters??[],[u?.documentsByFilters]),S=(0,W.useCallback)(()=>h({requestPolicy:`network-only`}),[h]),{table:w,editDocumentId:T,closeEditDocument:D}=m({documentsProps:g,onChange:S,withChargeLink:!0}),{pageIndex:O,pageSize:k}=w.state.pagination,A=w.getPageCount();return(0,W.useEffect)(()=>{l((0,K.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,K.jsx)(p,{table:w}),(0,K.jsx)(X,{filter:o,setFilter:c,initiallyOpened:!o})]}))},[f,o,l,c,O,k,A]),(0,K.jsxs)(U,{title:`Documents`,description:`All documents`,headerActions:(0,K.jsxs)(`div`,{className:`flex items-center py-4 gap-4`,children:[(0,K.jsxs)(b,{children:[(0,K.jsx)(y,{asChild:!0,children:(0,K.jsx)(E,{className:`ml-auto`,children:`Columns`})}),(0,K.jsx)(v,{align:`end`,children:w.getAllColumns().filter(e=>e.getCanHide()).map(e=>(0,K.jsx)(x,{className:`capitalize`,checked:e.getIsVisible(),onCheckedChange:t=>e.toggleVisibility(!!t),children:e.id},e.id))})]}),(0,K.jsx)(E,{onClick:()=>t(!0),children:`Upload Documents`})]}),children:[(0,K.jsx)(d,{open:e,onOpenChange:t,onChange:h}),(0,K.jsx)(i,{documentId:T,onDone:D,onChange:S}),f?(0,K.jsx)(C,{className:`h-10 w-10 animate-spin mr-2 self-center`}):(0,K.jsx)(s,{table:w})]})};export{Z as DocumentsReport};