@matthew.ngo/react-filter-pilot
Version:
Powerful filtering, pagination, and sorting for React with TanStack Query integration
3 lines • 1.65 kB
JavaScript
;var transformUtils=require('./transformUtils');/* @matthew.ngo/react-filter-pilot - MIT License */
var o=Object.defineProperty;var s=(n,r)=>o(n,"name",{value:r,configurable:true});function U(n,r){const t={};return r.forEach(e=>{const a=e.urlKey||e.name,u=n.get(a);u!==null&&(t[e.name]=transformUtils.transformFilterValue(u,e.transformFromUrl));}),t}s(U,"parseUrlParams");function h(n,r){const t=new URLSearchParams;return r.forEach(e=>{const a=n[e.name],u=e.urlKey||e.name;if(a==null||a===e.defaultValue||Array.isArray(a)&&a.length===0||typeof a=="string"&&a.trim()==="")return;const l=transformUtils.transformFilterValue(a,e.transformToUrl);l!==void 0&&l!==""&&t.set(u,String(l));}),t}s(h,"buildUrlParams");function p(n,r){const t=new URLSearchParams;return r.forEach(e=>{if(e.syncWithUrl===false)return;const a=n[e.name],u=e.urlKey||e.name;if(a==null||a===e.defaultValue||Array.isArray(a)&&a.length===0||typeof a=="string"&&a.trim()==="")return;const l=transformUtils.transformFilterValue(a,e.transformToUrl);l!==void 0&&l!==""&&t.set(u,String(l));}),t}s(p,"buildSyncableUrlParams");function m(n){return n.filter(r=>r.syncWithUrl!==false).map(r=>r.urlKey||r.name)}s(m,"getManagedUrlKeys");function g(n){return n.filter(r=>r.syncWithUrl===false).map(r=>r.urlKey||r.name)}s(g,"getNonManagedUrlKeys");function K(n,r){return m(r).forEach(e=>{n.delete(e);}),n}s(K,"clearManagedUrlParams");exports.buildSyncableUrlParams=p;exports.buildUrlParams=h;exports.clearManagedUrlParams=K;exports.getManagedUrlKeys=m;exports.getNonManagedUrlKeys=g;exports.parseUrlParams=U;//# sourceMappingURL=urlUtils.cjs.map
//# sourceMappingURL=urlUtils.cjs.map