@accounter/client
Version:
Accounter client application
1 lines • 2.17 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"./charges-table-DSlkZayz.js";import{Cr as i,Ct as a,G as o,Sr as s,tn as c}from"./common-DtCH-1rN.js";import{r as l}from"./bank-deposits-iJWQKiJ8.js";import{c as u}from"./separator-C_NTzotM.js";import{t as d}from"./loader-circle-CZACSY-b.js";import{t as f}from"./charges-filters-DCn28BM1.js";import{t as p}from"./button-DUNsVBiu.js";import{ls as m,x as h}from"./graphql-HKLcNTdf.js";import{t as g}from"./use-url-query-C3m3Z87n.js";import{t as _}from"./page-layout-DtkTEMd2.js";var v=e(n(),1),y=t(),b=()=>{let{setFiltersContext:e}=(0,v.useContext)(u),[t,n]=(0,v.useState)(!1),[b,x]=(0,v.useState)({}),{get:S}=g(),[C,w]=(0,v.useState)(S(`page`)?Number(S(`page`)):0),T=S(`chargesFilters`),E=(0,v.useMemo)(()=>{if(T)try{return JSON.parse(decodeURIComponent(T))}catch{return}},[T]),[D,O]=(0,v.useState)(E),[{data:k,fetching:A},j]=m({query:h,variables:{filters:D,page:C,limit:100},pause:!0});(0,v.useEffect)(()=>{D&&j({requestPolicy:`network-only`})},[D,C,j]);let M=l(k?.allCharges?.nodes),N=(0,v.useCallback)(()=>{x({})},[]),P=(0,v.useMemo)(()=>Object.entries(b).filter(([,e])=>e).map(([e])=>({id:e,onChange:()=>{j({requestPolicy:`network-only`})}})),[b,j]),F=k?.allCharges?.pageInfo.totalPages;return(0,v.useEffect)(()=>{e((0,y.jsxs)(`div`,{className:`flex flex-row gap-x-5`,children:[(0,y.jsx)(f,{filter:D,setFilter:O,activePage:C,setPage:w,totalPages:F,initiallyOpened:!D}),(0,y.jsx)(a,{content:`Expand all accounts`,children:(0,y.jsx)(p,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>n(e=>!e),children:t?(0,y.jsx)(i,{className:`size-5`}):(0,y.jsx)(s,{className:`size-5`})})}),(0,y.jsx)(o,{selected:P,resetMergeList:N})]}))},[F,D,C,t,e,w,O,n,P,N]),(0,y.jsx)(_,{title:`All Charges`,description:`Manage charges`,children:A&&!k?(0,y.jsx)(d,{className:`h-10 w-10 animate-spin mr-2 self-center`}):M?(0,y.jsxs)(`div`,{className:`relative`,children:[(0,y.jsx)(c,{visible:A,overlayBlur:1}),(0,y.jsx)(r,{data:M,rowSelection:b,onRowSelectionChange:x,isAllOpened:t,showExport:!0})]}):(0,y.jsx)(`span`,{children:`Please apply filters`})})};export{b as AllCharges};