1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/DQft-WSd331cI9ayKklpA.js","chunks/DGrbOkrFsn0voVzUoWkxi-1790053513351.js","chunks/CEJF4ony9ueqNCi2M6J1k.css"])))=>i.map(i=>d[i]); 2import{r as e,j as s,R as t,i as l,S as i,_ as r,t as a}from"./DGrbOkrFsn0voVzUoWkxi-1790053513351.js";import{T as n}from"./BfzzDmt2RiLmJZVfcg9BD.js";import c from"./B3ofwaRctflPf-IBO8dRg.js";import o from"./CLiT59kNjOZeib1THZBM-.js";import d from"./CwUlqFR9Tc9kgKWCzRlE-.js";import"./CHSiLyzyFXCI1vlnTHxLQ.js";import"./BHR_E30JFALbpiL80jiU2.js";import"./G_z35mcMeQsIItbNAJgAg.js";import"./Bc4US-ot8ZP2T-MCyGQm3.js";import"./CIpdRhfiXBSWbRz-2W63r.js";import"./DfjbUWDNlMnDXVpDaxvye.js";import"./DEgv3bW2ZlSonDnEpkKOb.js";import"./DKH85ULOfjf3Da7FilGdw.js";import"./DMpOXg_SNv6ei_SFX_jrX.js";import"./l-jgK5g1z2RCJO6grM3_t.js";import"./C0VscXY0q_hXYqQxArNlG.js";const f=t.lazy(()=>r(()=>import("./DQft-WSd331cI9ayKklpA.js"),__vite__mapDeps([0,1,2]))),p=e.forwardRef(({id:t,onFilterChange:r,control:p,options:_={},fetchOptions:u={},onReset:m,formValues:h={},onOpenChange:j},b)=>{const[x,y]=e.useState({}),[g,k]=e.useState(!1),[v,N]=e.useState(!1),[C,w]=e.useState([]),[F,S]=e.useState(!1),[D,R]=e.useState(!1),[q,I]=e.useState({});e.useImperativeHandle(b,()=>({togglePopup:()=>N(e=>!e)}));const E=async()=>{try{k(!0);const e=await l.get(i,"/user-preference/table-filters",{tableId:t}),s=[...new Map((e?.data?.data?.filters||[]).map(e=>[e.filter_key,e])).values()];w(s);const r=s.reduce((e,s)=>({...e,[s.filter_key]:s.is_active}),{});
2y(r)}catch(e){w([]),y({})}finally{k(!1)}};e.useEffect(()=>{E()},[t]),e.useEffect(()=>{j?.(v)},[v,j]);const T=C.filter(e=>!1!==e.is_active&&!1!==x[e.filter_key]),M=(e,s)=>{q[e]&&I(s=>{const t={...s};return delete t[e],t}),r(e,s)};return s.jsxs("div",{className:"filter-container",children:[s.jsx("div",{className:"filters-display align-items-end sc-bg fee-filter-panel"}),v&&s.jsx(f,{header:s.jsxs("div",{className:"table-filter-popup__header-copy",children:[s.jsx("span",{className:"table-filter-popup__title",children:"Filters"}),s.jsx("span",{className:"table-filter-popup__subtitle",children:"Refine the list"})]}),show:v,onClose:()=>N(!1),width:D?"780px":"390px",renderHtml:s.jsxs("div",{className:"filter-popup table-filter-popup "+(D?"table-filter-popup--managing":""),children:[s.jsxs("div",{className:"table-filter-popup__managing-body",children:[s.jsx(s.Fragment,{children:T.length>0?s.jsx(s.Fragment,{children:s.jsxs("div",{className:"table-filter-popup__filter-column",children:[s.jsxs("div",{className:"table-filter-popup__toolbar",children:[s.jsxs("div",{children:[s.jsxs("span",{className:"table-filter-popup__section-title",children:[T.length," Active ",1===T.length?"Filter":"Filters"]}),s.jsx("span",{className:"table-filter-popup__section-hint",children:"Changes update the list instantly"})]}),s.jsxs("button",{className:"table-filter-popup__settings-btn",onClick:()=>R(!D),children:[s.jsx("i",{className:"ri-settings-3-line"}),s.jsx("span",{children:D?"Hide fields":"Manage fields"})]})]}),s.jsx("div",{className:"table-filter-popup__fields",children:T.map(e=>(e=>{if(!e?.is_active)return;const l=_[e.filter_key]||[],i=n[t]?.filters?.find(s=>s?.filter_key===e?.filter_key),r=i?.name||e.filter_key.replace("_"," ").toUpperCase(),a=i?.placeholder||`Enter ${r}`,f=i?.isMulti,u=!0===i?.required||!0===e?.required,m=i?.dependsOn,j=m?h[m]?.value:null,b=m&&!j;if("VISITOR_VIEW"===t&&"staff"===h?.for?.value&&["class_id","section_id","student_id"].includes(e.filter_key))return null;if("HOSTEL_FEE_SLIP"===t&&("student"===h?.for?.value&&"staff_id"===e.filter_key||"staff"===h?.for?.value&&"student_id"===e.filter_key))return null;if(m&&!j)return null;if(!("section_id"!==e.filter_key&&"section"!==e.filter_key||l&&0!==l.length))return null;let x=null;switch(e.filter_type){case"text":x=s.jsx(c,{className:"form-input",name:e.filter_key,control:p,placeholder:a,onChange:s=>M(e.filter_key,s),disabled:b});break;case"select":x=s.jsx(o,{name:e.filter_key,control:p,placeholder:b?`First select ${n[t]?.filters.find(e=>e.filter_key===m)?.name||m}`:a,options:b?[]:l,onChange:s=>M(e.filter_key,s),isMulti:f||!1,isDisabled:b});break;case"date":x=s.jsx("div",{className:" cst-icon",children:s.jsx(d,{name:e.filter_key,control:p,isLabelHide:!0,placeholder:a,isTimeShow:!1,onChange:s=>M(e.filter_key,s),disabled:b})});break;default:return null}return s.jsx("div",{className:"row",children:s.jsx("div",{className:`col-12 col-sm-6 col-lg-12 filter-item fee-filter-item mb-2 fee-filter-item--${e.filter_key}`,children:s.jsxs("div",{className:"sc-form-group",children:[s.jsxs("label",{className:"sc-form-label",children:[r,u&&s.jsx("span",{className:"table-filter-required","aria-label":"Required field",title:"Required",children:"*"})]}),x,q[e.filter_key]&&s.jsx("span",{className:"table-filter-error",children:q[e.filter_key]})]})},e.filter_key)})})(e))})]})}):s.jsx("div",{className:"table-filter-popup__filter-column",children:s.jsxs("div",{className:"table-filter-popup__empty",children:[s.jsx("i",{className:"ri-equalizer-2-line"}),s.jsx("strong",{children:"No filters selected"}),s.jsx("span",{children:"Use Manage fields to choose filters for this list."}),s.jsxs("button",{className:"table-filter-popup__settings-btn",onClick:()=>R(!D),children:[s.jsx("i",{className:"ri-settings-3-line"})," Manage fields"]})]})})}),D&&s.jsx(s.Fragment,{children:s.jsxs("div",{className:"table-filter-popup__settings-panel",children:[s.jsxs("div",{className:"table-filter-popup__settings-header",children:[s.jsxs("div",{children:[s.jsx("strong",{children:"Filter Fields"}),s.jsx("span",{children:"Drag to reorder · toggle to show or hide"})]}),s.jsxs("button",{disabled:g,className:"sc-btn-lg sc-btn--primary br-radius-14",onClick:async()=>{try{k(!0),await l.get(i,"/user-preference/reset-filters-default",{tableId:t}),E(),k(!1)}catch(e){k(!1)}},children:[s.jsx("i",{className:"ri-refresh-line me-1"})," Reset"]})]}),s.jsx("div",{className:"table-filter-popup__settings-list",children:g?s.jsx("div",{className:"d-flex justify-content-center py-4","aria-label":"Loading filters",children:s.jsx("i",{className:"ri-loader-4-line sc-spin sc-font-20 text-blue"})}):C.length>0?s.jsx("div",{children:C.map((e,r)=>{const c=n[t]?.filters?.find(s=>
2s.filter_key===e.filter_key)?.name||e.filter_key.replace(/_/g," ").toUpperCase();return s.jsxs("div",{draggable:!0,onDragStart:e=>{e.dataTransfer.setData("index",r)},onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault();const s=e.dataTransfer.getData("index"),a=r;if(s===a)return;const n=[...C],[c]=n.splice(s,1);n.splice(a,0,c);const o=n.map((e,s)=>({...e,order:s+1}));w(o),(async s=>{try{const e=s.map((e,s)=>({...e,order:s+1,is_active:x[e.filter_key]??!1!==e.is_active}));await l.post(i,"/user-preference/table-filters",{tableId:t,filters:e}),w(e)}catch(e){E()}})(o)},className:"table-filter-popup__setting-row",children:[s.jsxs("div",{className:"d-flex align-items-center",children:[s.jsx("i",{className:"ri-drag-move-2-line table-filter-popup__drag-icon"}),s.jsx("span",{children:c})]}),s.jsxs("div",{className:"sc-select-checkbox",children:[s.jsx("input",{type:"checkbox",className:"checkbox",id:`checkbox-${e.filter_key}`,checked:x[e.filter_key],disabled:!0===n[t]?.filters?.find(s=>s?.filter_key===e.filter_key)?.required,onChange:s=>(async(e,s)=>{try{const r={...x,[e]:s};y(r);const a=C.map(e=>({...e,is_active:r[e.filter_key]}));await l.post(i,"/user-preference/table-filters",{tableId:t,filters:a}),w(a)}catch(r){a.error("Failed to save filter visibility")}})(e.filter_key,s.target.checked)}),s.jsx("label",{htmlFor:`checkbox-${e.filter_key}`,className:"checkbox-label",children:s.jsx("span",{className:"ball"})})]})]},e.filter_key)})}):s.jsx("p",{children:"No filters available."})})]})})]}),s.jsxs("div",{className:"table-filter-popup__footer",children:[s.jsx("button",{className:"sc-btn-lg br-radius-14 sc-btn--secondary",onClick:()=>{I({}),m?.()},children:"Clear Filters"}),s.jsx("button",{className:"table-filter-popup__done-btn",onClick:()=>{const e=T.find(e=>{const s=n[t]?.filters?.find(s=>s?.filter_key===e?.filter_key);return(!0===s?.required||!0===e?.required)&&(l=h?.[e.filter_key],!(Array.isArray(l)?l.length>0:l&&"object"==typeof l?void 0!==l.value&&null!==l.value&&""!==l.value:null!=l&&""!==l));var l});if(e){const s=n[t]?.filters?.find(s=>s?.filter_key===e.filter_key),l=s?.name||e.filter_key.replace(/_/g," "),i=s?.requiredMessage||`Please select ${l.toLowerCase()}`;return void I({[e.filter_key]:i})}I({}),N(!1)},children:"Done"})]})]})})]})});export{p as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.