@accounter/client
Version:
2 lines (1 loc) • 4.83 kB
JavaScript
import{by as I,r as f,bz as E,aF as F,bA as O,bB as y,j as s,bC as P,B as N,E as B,bD as k,aC as M,bE as x,bF as h,bG as j,w as D,bH as R,bI as L}from"./index-DRqooPz9.js";import{u as A}from"./use-url-query-A8PE3FMA.js";import{P as T}from"./modal-CPrQ9jQu.js";import{F as U}from"./funnel-B1ZA9LM9.js";import{M as C}from"./MultiSelect-DhEZHYxn.js";var V=I((e,{color:t})=>({root:{backgroundColor:e.fn.themeColor(t,e.colorScheme==="dark"?5:2),color:e.colorScheme==="dark"?e.colors.dark[9]:"inherit"}})),z=Object.defineProperty,v=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,S=(e,t,a)=>t in e?z(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,G=(e,t)=>{for(var a in t||(t={}))_.call(t,a)&&S(e,a,t[a]);if(v)for(var a of v(t))w.call(t,a)&&S(e,a,t[a]);return e},H=(e,t)=>{var a={};for(var o in e)_.call(e,o)&&t.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&v)for(var o of v(e))t.indexOf(o)<0&&w.call(e,o)&&(a[o]=e[o]);return a};const X={color:"yellow"},q=f.forwardRef((e,t)=>{const a=E("Mark",X,e),{color:o,className:u,unstyled:p,variant:c}=a,d=H(a,["color","className","unstyled","variant"]),{classes:m,cx:b}=V({color:o},{unstyled:p,name:"Mark",variant:c});return F.createElement(O,G({component:"mark",ref:t,className:b(m.root,u)},d))});q.displayName="@mantine/core/Mark";function J({filter:e,setFilter:t,closeModal:a,single:o=!1}){const{control:u,handleSubmit:p}=B({defaultValues:{...e}}),{selectableBusinesses:c,fetching:d}=k(),{userContext:m}=f.useContext(M),b=r=>{t(r),a()};function l(){t({businessIDs:o?e.businessIDs:void 0}),a()}return s.jsxs(s.Fragment,{children:[d?s.jsx("div",{children:"Loading..."}):s.jsx("div",{}),s.jsxs("form",{onSubmit:p(b),children:[!o&&s.jsxs(s.Fragment,{children:[s.jsx(x,{name:"ownerIds",control:u,defaultValue:e.ownerIds,render:({field:r,fieldState:i})=>s.jsx(C,{...r,data:c,value:r.value??(m?.context.adminBusinessId?[m.context.adminBusinessId]:void 0),disabled:d,label:"Owners",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:i.error?.message})}),s.jsx(x,{name:"businessIDs",control:u,defaultValue:e.businessIDs,render:({field:r,fieldState:i})=>s.jsx(C,{...r,data:c,value:r.value??void 0,disabled:d,label:"Businesses",placeholder:"Scroll to see all options",maxDropdownHeight:160,searchable:!0,error:i.error?.message})})]}),s.jsx(x,{name:"fromDate",control:u,defaultValue:e.fromDate,rules:{pattern:{value:h,message:"Date must be im format yyyy-mm-dd"}},render:({field:r,fieldState:i})=>s.jsx(j,{...r,onChange:n=>{const g=n?typeof n=="string"?n:D(n,"yyyy-MM-dd"):void 0;g!==r.value&&r.onChange(g)},value:r.value?new Date(r.value):void 0,error:i.error?.message,label:"From Date",popoverProps:{withinPortal:!0}})}),s.jsx(x,{name:"toDate",control:u,defaultValue:e.toDate,rules:{pattern:{value:h,message:"Date must be im format yyyy-mm-dd"}},render:({field:r,fieldState:i})=>s.jsx(j,{...r,onChange:n=>{const g=n?typeof n=="string"?n:D(n,"yyyy-MM-dd"):void 0;g!==r.value&&r.onChange(g)},value:r.value?new Date(r.value):void 0,error:i.error?.message,label:"To Date",popoverProps:{withinPortal:!0}})}),!o&&s.jsx(x,{name:"type",control:u,defaultValue:null,render:({field:r,fieldState:i})=>s.jsx(R,{...r,onChange:n=>r.onChange(n==="NULL"?null:n),data:[{value:"NULL",label:"All"},{value:"BUSINESS",label:"Business"},{value:"TAX_CATEGORY",label:"Tax Category"}],error:i.error?.message,label:"Type"})}),s.jsxs("div",{className:"flex justify-center mt-5 gap-3",children:[s.jsx("button",{type:"submit",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"}),s.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:l,children:"Clear"}),s.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:a,children:"Cancel"})]})]})]})}function $({filter:e,setFilter:t}){const[a,o]=f.useState(!1),[u,p]=f.useState(!y(e)),{get:c,set:d}=A();function m(l){return Object.entries(l??{}).filter(([i,n])=>n!==void 0&&Array.isArray(n)&&n.length>0).length>0}function b(l){l.fromDate?.trim()===""&&(l.fromDate=void 0),l.toDate?.trim()===""&&(l.toDate=void 0),L(l,e)||(t(l),p(m(l)))}return f.useEffect(()=>{const l=y(e)?null:encodeURIComponent(JSON.stringify(e)),r=c("ledgerRecordsFilters");l!==r&&d("ledgerRecordsFilters",l)},[e,c,d]),s.jsxs(s.Fragment,{children:[s.jsx(T,{opened:a,onClose:()=>o(!1),content:s.jsx(J,{single:!0,filter:e,setFilter:b,closeModal:()=>o(!1)})}),s.jsx(P,{inline:!0,size:16,disabled:!u,children:s.jsx(N,{variant:"outline",size:"icon",className:"size-7.5",onClick:()=>o(!0),children:s.jsx(U,{className:"size-5"})})})]})}export{$ as B,q as M};