@accounter/client
Version:
Accounter client application
1 lines • 2.99 kB
JavaScript
import{s as e}from"./dist-ypP48_Ax.js";import{i as t,o as n}from"./utils-CbS-oR5I.js";import{r}from"./error-handling-CKe_iwSC.js";import{t as i}from"./loader-circle-CfW9jOIr.js";import{L as a,St as o,T as s}from"./common-D-vYt_Yl.js";import{t as c}from"./arrow-up-down-BQELi8zJ.js";import{c as l}from"./separator-BvKylNhK.js";import{t as u}from"./button-DUNsVBiu.js";import{a as d,c as f,d as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./table-AJA7Uyxy.js";import{N as b,Qo as x}from"./graphql-DC5GYCFE.js";import{t as S}from"./page-layout-DfY10rJx.js";var C=e(n(),1),w=t(),T=[{id:`key`,accessorKey:`key`,cell:({row:e})=>(0,w.jsx)(_,{children:e.original.key}),header:({column:e})=>(0,w.jsxs)(u,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Key`,(0,w.jsx)(c,{})]})},{id:`name`,accessorKey:`name`,cell:({row:e})=>(0,w.jsx)(_,{children:e.original.name}),header:({column:e})=>(0,w.jsxs)(u,{variant:`ghost`,onClick:()=>e.toggleSorting(e.getIsSorted()===`asc`),children:[`Name`,(0,w.jsx)(c,{})]})},{id:`defaultIrsCode`,accessorKey:`defaultIrsCode`,cell:({row:e})=>(0,w.jsx)(_,{className:`flex flex-wrap gap-1 p-1`,children:e.original.defaultIrsCode&&(0,w.jsx)(u,{variant:`outline`,disabled:!0,className:`p-1 w-15`,children:e.original.defaultIrsCode})}),header:`Default IRS Code`},{id:`edit`,cell:({row:e})=>(0,w.jsx)(a,{sortCodeKey:e.original.key,ownerId:e.original.ownerId,onAdd:e.original.refetchSortCodes})}],E=()=>{let[{data:e,fetching:t,error:n},a]=x({query:b}),{setFiltersContext:c}=(0,C.useContext)(l),u=(0,C.useMemo)(()=>e?.allSortCodes?.map(e=>({...e,refetchSortCodes:a}))??[],[e?.allSortCodes,a]),E=f({features:v,data:u,columns:T,initialState:{pagination:{pageIndex:0,pageSize:100}}}),{pageIndex:D,pageSize:O}=E.state.pagination,k=E.getPageCount();return(0,C.useEffect)(()=>{c((0,w.jsx)(`div`,{className:`flex items-center justify-end gap-10 space-x-2 py-4`,children:(0,w.jsx)(o,{table:E})}))},[c,D,O,k]),(0,C.useEffect)(()=>{n&&(console.error(`Error fetching sort codes`,n),r.error(`Error`,{description:`Error fetching sort codes`}))},[n]),(0,w.jsx)(S,{title:`Sort Codes (${u.length})`,description:`All sort codes`,headerActions:(0,w.jsx)(s,{onAdd:()=>a()}),children:t?(0,w.jsx)(`div`,{className:`flex flex-row justify-center`,children:(0,w.jsx)(i,{className:`h-10 w-10 animate-spin mr-2`})}):(0,w.jsx)(`div`,{className:`flex flex-col gap-4 rounded-md border`,children:(0,w.jsxs)(y,{children:[(0,w.jsx)(d,{children:E.getHeaderGroups().map(e=>(0,w.jsx)(g,{children:e.headers.map(e=>(0,w.jsx)(m,{children:e.isPlaceholder?null:p(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,w.jsx)(h,{children:E.getRowModel().rows.length===0?(0,w.jsx)(g,{children:(0,w.jsx)(_,{colSpan:T.length,className:`text-center py-8`,children:`No sort codes found`})}):E.getRowModel().rows.map(e=>(0,w.jsx)(g,{children:e.getVisibleCells().map(e=>(0,w.jsx)(_,{children:p(e.column.columnDef.cell,e.getContext())},e.id))},e.id))})]})})})};export{E as SortCodes};