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