UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

3 lines (2 loc) 1.44 kB
var m=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var S=(n,e)=>{for(var t in e)m(n,t,{get:e[t],enumerable:!0})},l=(n,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of P(e))!f.call(n,r)&&r!==t&&m(n,r,{get:()=>e[r],enumerable:!(s=p(e,r))||s.enumerable});return n};var h=n=>l(m({},"__esModule",{value:!0}),n);var x={};S(x,{default:()=>_});module.exports=h(x);var c="selectedPage",b="pageSize",d=1,A=20,E=(n,e,t,s,r)=>{let a=Math.ceil(t/s),g=[];return Array(a).fill(0).forEach((u,o)=>{let i=o+1;e.set(c,`${i}`),i===1||i===a||i>=r-1&&i<=r+1?g.push({number:i,href:`${n}?${e.toString()}`,current:i===r}):(i===2||i===a-1)&&g.push({ellipsis:!0})}),{pages:g,pagesLength:a}},L=(n,e,t,s,r)=>{let a=new URLSearchParams(e);if(s>0){if(r===t)return;let g=r+1;return a.set(c,`${g}`),`${n}?${a.toString()}`}},U=(n,e,t)=>{let s=new URLSearchParams(e);if(t===1)return;let r=t-1;return s.set(c,`${r}`),`${n}?${s.toString()}`},$=n=>{let e=[10,20,100,200,n];return e.map((t,s)=>s===e.length-1?{value:n,text:"All"}:{value:t,text:t.toString()})},_={getPaginationData:(n,e,t)=>{let{search:s}=n,r=s?t.originalUrl.split(s)[0]:t.originalUrl,a=new URLSearchParams(s),g=+a.get(b)||A,u=+a.get(c)||d,{pages:o,pagesLength:i}=E(r,a,e,g,u);return{next:L(r,s,i,e,u),prev:U(r,s,u),pages:o,pageSize:g,currentPage:u,totalRows:e,sizes:$(e)}}}; //# sourceMappingURL=utils.js.map