@accounter/client
Version:
Accounter client application
1 lines • 9.94 kB
JavaScript
import{t as e}from"./funnel-DYKZrHgK.js";import{t}from"./sub-B59OWG5c.js";import{t as n}from"./MultiSelect-BBe3Pu3_.js";import{$i as r,Au as i,Bt as a,C as o,Do as s,Jt as c,Kl as l,Mi as u,Mu as d,N as f,Nd as p,No as m,Pl as h,Rd as g,Si as _,Tu as v,Vt as y,_n as b,bi as x,cn as S,dn as C,fn as w,fr as T,gi as E,gn as D,hn as O,ir as k,ji as A,or as j,pn as M,tr as N,vn as P,wn as F,xn as I,yi as L}from"./index-BdWApCqi.js";import{t as R}from"./use-url-query-8I97z9a3.js";var z=g(p(),1),B=g(E(),1),V=v(),H=[{value:m.AbsAmount,label:`Abs Amount`},{value:m.Amount,label:`Amount`},{value:m.Date,label:`Date`}],U=[{label:`All`,value:s.All},{label:`Income`,value:s.Income},{label:`Expense`,value:s.Expense}];function W({filter:e,setFilter:i,closeModal:o}){let{userContext:l}=(0,z.useContext)(N),d=F({defaultValues:{byOwners:l?.context.adminBusinessId?[l.context.adminBusinessId]:void 0,sortBy:{field:m.Date,asc:!1},toAnyDate:h(new Date,`yyyy-MM-dd`),fromAnyDate:h(t(new Date,{years:1}),`yyyy-MM-dd`),...e}}),{control:f,handleSubmit:p,watch:g}=d,[v,T]=(0,z.useState)(e.sortBy?.asc??!1),[E,R]=(0,z.useState)(!!e.sortBy?.field),{selectableFinancialEntities:B,fetching:W}=S(),{selectableTags:G,fetching:q}=I(),J=g(`sortBy.field`);(0,z.useEffect)(()=>{J&&!E?R(!0):!J&&E&&R(!1)},[J,E]);let Y=e=>{v!=null&&e.sortBy?.field&&(e.sortBy.asc=v),i(e),o()};function X(){i({}),T(!1),o()}return(0,V.jsxs)(V.Fragment,{children:[W?(0,V.jsx)(`div`,{children:`Loading...`}):(0,V.jsx)(`div`,{}),(0,V.jsx)(w,{...d,children:(0,V.jsxs)(`form`,{onSubmit:p(Y),children:[(0,V.jsxs)(k,{cols:2,children:[(0,V.jsx)(O,{name:`byOwners`,control:f,defaultValue:e.byOwners,render:({field:e})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{children:`Owners`}),(0,V.jsx)(M,{children:(0,V.jsx)(n,{...e,data:B,value:e.value??[],disabled:W,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,withinPortal:!0})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`byBusinesses`,control:f,defaultValue:e.byBusinesses,render:({field:e})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{children:`Financial Entities`}),(0,V.jsx)(M,{children:(0,V.jsx)(n,{...e,data:B,value:e.value??[],disabled:W,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,withinPortal:!0})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`byTags`,control:f,defaultValue:e.byTags,render:({field:e})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{children:`Tags`}),(0,V.jsx)(M,{children:(0,V.jsx)(n,{...e,data:G,itemComponent:y,value:e.value??[],disabled:q,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,withinPortal:!0,filter:(e,t,n)=>n.label?.toLowerCase().includes(e.toLowerCase().trim())||n.description?.toLowerCase().includes(e.toLowerCase().trim())})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`fromAnyDate`,control:f,defaultValue:e.fromAnyDate,rules:{pattern:{value:r,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{htmlFor:`from-any-date`,children:`From Date`}),(0,V.jsx)(M,{children:(0,V.jsx)(c,{id:`from-any-date`,value:e.value??void 0,onChange:t=>{t!==e.value&&e.onChange(t)},"aria-invalid":!!t.error})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`toAnyDate`,control:f,defaultValue:e.toAnyDate,rules:{pattern:{value:r,message:`Date must be in format yyyy-mm-dd`}},render:({field:e,fieldState:t})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{htmlFor:`to-any-date`,children:`To Date`}),(0,V.jsx)(M,{children:(0,V.jsx)(c,{id:`to-any-date`,value:e.value??void 0,onChange:t=>{t!==e.value&&e.onChange(t)},"aria-invalid":!!t.error})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`chargesType`,control:f,defaultValue:e.chargesType,render:({field:e})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{children:`Charge Type`}),(0,V.jsx)(M,{children:(0,V.jsx)(j,{...e,data:U,value:e.value??s.All,disabled:W,placeholder:`Filter income/expense`,maxDropdownHeight:160,withinPortal:!0})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`sortBy.field`,control:f,defaultValue:e.sortBy?.field??m.Date,render:({field:t})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{children:`Field to sort by`}),(0,V.jsx)(M,{children:(0,V.jsx)(j,{...t,data:H,placeholder:`Scroll to see all options`,maxDropdownHeight:160,searchable:!0,rightSectionProps:{style:{width:`5rem`}},withinPortal:!0,rightSection:(0,V.jsxs)(`div`,{className:`flex flex-row items-center gap-1`,children:[(0,V.jsx)(C,{defaultChecked:e.sortBy?.asc??!1,checked:v??!1,disabled:!E,onCheckedChange:T}),(0,V.jsx)(`span`,{className:`text-xs`,children:v?`ASC`:`DESC`})]})})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`accountantStatus`,control:f,defaultValue:e.accountantStatus,render:({field:e})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{children:`Accountant Status`}),(0,V.jsx)(M,{children:(0,V.jsx)(n,{...e,value:e.value??[],itemComponent:K,data:Object.values(a),disabled:W,placeholder:`All`,maxDropdownHeight:160,withinPortal:!0})}),(0,V.jsx)(P,{})]})}),(0,V.jsx)(O,{name:`freeText`,control:f,rules:{minLength:{value:2,message:`Must be at least 2 characters`}},render:({field:e})=>(0,V.jsxs)(D,{className:`h-min`,children:[(0,V.jsx)(b,{children:`Free Text`}),(0,V.jsx)(M,{children:(0,V.jsx)(u,{...e,value:e.value??``})}),(0,V.jsx)(P,{})]})}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2 mt-4 rounded-lg border p-3 shadow-sm space-y-2`,children:[(0,V.jsx)(A,{children:`Missing Information:`}),(0,V.jsx)(O,{control:d.control,name:`withoutInvoice`,render:({field:t})=>(0,V.jsxs)(D,{className:`flex flex-row items-center justify-between`,children:[(0,V.jsx)(`div`,{className:`space-y-0.5`,children:(0,V.jsx)(b,{children:`Without Invoice`})}),(0,V.jsx)(M,{children:(0,V.jsx)(C,{defaultChecked:e.withoutInvoice??!1,onCheckedChange:t.onChange})})]})}),(0,V.jsx)(O,{control:d.control,name:`withoutReceipt`,render:({field:t})=>(0,V.jsxs)(D,{className:`flex flex-row items-center justify-between`,children:[(0,V.jsx)(`div`,{className:`space-y-0.5`,children:(0,V.jsx)(b,{children:`Without Receipts`})}),(0,V.jsx)(M,{children:(0,V.jsx)(C,{defaultChecked:e.withoutReceipt??!1,onCheckedChange:t.onChange})})]})}),(0,V.jsx)(O,{control:d.control,name:`withoutDocuments`,render:({field:t})=>(0,V.jsxs)(D,{className:`flex flex-row items-center justify-between`,children:[(0,V.jsx)(`div`,{className:`space-y-0.5`,children:(0,V.jsx)(b,{children:`Without Documents`})}),(0,V.jsx)(M,{children:(0,V.jsx)(C,{defaultChecked:e.withoutDocuments??!1,onCheckedChange:t.onChange})})]})}),(0,V.jsx)(O,{control:d.control,name:`withOpenDocuments`,render:({field:t})=>(0,V.jsxs)(D,{className:`flex flex-row items-center justify-between`,children:[(0,V.jsx)(`div`,{className:`space-y-0.5`,children:(0,V.jsx)(b,{children:`With Open Documents`})}),(0,V.jsx)(M,{children:(0,V.jsxs)(L,{children:[(0,V.jsx)(_,{children:(0,V.jsx)(C,{defaultChecked:e.withOpenDocuments??!1,onCheckedChange:t.onChange})}),(0,V.jsx)(x,{children:(0,V.jsx)(`p`,{children:`Show only charges with documents that are currently open`})})]})})]})}),(0,V.jsx)(O,{control:d.control,name:`withoutTransactions`,render:({field:t})=>(0,V.jsxs)(D,{className:`flex flex-row items-center justify-between`,children:[(0,V.jsx)(`div`,{className:`space-y-0.5`,children:(0,V.jsx)(b,{children:`Without Transactions`})}),(0,V.jsx)(M,{children:(0,V.jsx)(C,{defaultChecked:e.withoutTransactions??!1,onCheckedChange:t.onChange})})]})}),(0,V.jsx)(O,{control:d.control,name:`unbalanced`,render:({field:t})=>(0,V.jsxs)(D,{className:`flex flex-row items-center justify-between`,children:[(0,V.jsx)(`div`,{className:`space-y-0.5`,children:(0,V.jsx)(b,{children:`Unbalanced businesses`})}),(0,V.jsx)(M,{children:(0,V.jsx)(C,{defaultChecked:e.unbalanced??!1,onCheckedChange:t.onChange})})]})}),(0,V.jsx)(O,{control:d.control,name:`withoutLedger`,render:({field:t})=>(0,V.jsxs)(D,{className:`flex flex-row items-center justify-between`,children:[(0,V.jsx)(`div`,{className:`space-y-0.5`,children:(0,V.jsx)(b,{children:`Without ledger`})}),(0,V.jsx)(M,{children:(0,V.jsx)(C,{defaultChecked:e.withoutLedger??!1,onCheckedChange:t.onChange})})]})})]})]}),(0,V.jsxs)(`div`,{className:`flex justify-center mt-5 gap-3`,children:[(0,V.jsx)(`button`,{type:`submit`,disabled:W||q,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,V.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:X,children:`Clear`}),(0,V.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:o,children:`Cancel`})]})]})})]})}function G({filter:t={},setFilter:n,activePage:r,setPage:a,totalPages:s=1,initiallyOpened:c=!1}){let[u,p]=(0,z.useState)(c),[m,h]=(0,z.useState)(!d(t)),{get:g,set:_}=R();return(0,z.useEffect)(()=>{let e=r>0?r.toFixed(0):null;e!==g(`page`)&&_(`page`,e)},[r,g,_]),(0,z.useEffect)(()=>{let e=i(t);e!==g(`chargesFilters`)&&(_(`chargesFilters`,e),_(`page`),a(0))},[t,g,_,a]),(0,V.jsxs)(`div`,{className:`flex flex-row gap-5 items-center`,children:[(0,V.jsx)(f,{opened:u,onClose:()=>p(!1),content:(0,V.jsx)(W,{filter:t,setFilter:(0,z.useCallback)(e=>{(0,B.default)(e,t)||(n(e),h(!d(e)))},[t,n]),closeModal:()=>p(!1)}),modalSize:`xl`}),s>1&&(0,V.jsx)(o,{className:`flex-fit w-fit mx-0`,currentPageIndex:r,onChange:a,totalPages:s}),(0,V.jsx)(T,{inline:!0,size:16,disabled:!m,children:(0,V.jsx)(l,{variant:`outline`,size:`icon`,className:`size-7.5`,onClick:()=>p(!0),children:(0,V.jsx)(e,{className:`size-5`})})})]})}var K=(0,z.forwardRef)(({bgColor:e,label:t,color:n,icon:r,...i},a)=>(0,V.jsxs)(l,{ref:a,...i,variant:`ghost`,size:`sm`,className:`h-7 p-0 ${e}`,title:t,children:[(0,V.jsx)(r,{className:`h-3.5 w-3.5 ${n}`}),t]}));K.displayName=`AccountantStatusMultiSelectItem`;export{U as n,G as t};