primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime
2 lines (1 loc) • 13.6 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),r=require("primereact/utils"),a=require("primereact/api"),n=require("primereact/ripple"),l=require("primereact/inputnumber"),o=require("primereact/dropdown");function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=i(e);function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},p.apply(this,arguments)}function u(e){if(Array.isArray(e))return e}function c(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a,n,l,o,i=[],s=!0,p=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(a=l.call(r)).done)&&(i.push(a.value),i.length!==t);s=!0);}catch(e){p=!0,n=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(p)throw n}}return i}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}function d(e,t){if(e){if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function P(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!==f(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function b(e){var t=P(e,"string");return"symbol"===f(t)?t:String(t)}function v(e,t,r){return(t=b(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var y={defaultProps:{__TYPE:"Paginator",totalRecords:0,rows:0,first:0,pageLinkSize:5,rowsPerPageOptions:null,alwaysShow:!0,style:null,className:null,template:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink RowsPerPageDropdown",onPageChange:null,leftContent:null,rightContent:null,dropdownAppendTo:null,currentPageReportTemplate:"({currentPage} of {totalPages})",children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,y.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,y.defaultProps)}},h={defaultProps:{__TYPE:"CurrentPageReport",pageCount:null,page:null,first:null,rows:null,totalRecords:null,reportTemplate:"({currentPage} of {totalPages})",template:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,h.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,h.defaultProps)}},k={defaultProps:{__TYPE:"FirstPageLink",disabled:!1,onClick:null,template:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,k.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,k.defaultProps)}},O={defaultProps:{__TYPE:"JumpToPageInput",page:null,rows:null,pageCount:null,disabled:!1,template:null,onChange:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,O.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,O.defaultProps)}},C={defaultProps:{__TYPE:"LastPageLink",disabled:!1,onClick:null,template:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,C.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,C.defaultProps)}},w={defaultProps:{__TYPE:"NextPageLink",disabled:!1,onClick:null,template:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,w.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,w.defaultProps)}},j={defaultProps:{__TYPE:"PageLinks",value:null,page:null,rows:null,pageCount:null,links:null,template:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,j.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,j.defaultProps)}},E={defaultProps:{__TYPE:"PrevPageLink",disabled:!1,onClick:null,template:null,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,E.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,E.defaultProps)}},N={defaultProps:{__TYPE:"RowsPerPageDropdown",options:null,value:null,page:null,pageCount:null,totalRecords:0,appendTo:null,onChange:null,template:null,disabled:!1,children:void 0},getProps:function(e){return r.ObjectUtils.getMergedProps(e,N.defaultProps)},getOtherProps:function(e){return r.ObjectUtils.getDiffProps(e,N.defaultProps)}};function L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?L(Object(r),!0).forEach((function(t){v(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):L(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var S=s.memo((function(e){var t=h.getProps(e),a={currentPage:t.page+1,totalPages:t.pageCount,first:Math.min(t.first+1,t.totalRecords),last:Math.min(t.first+t.rows,t.totalRecords),rows:t.rows,totalRecords:t.totalRecords},n=t.reportTemplate.replace("{currentPage}",a.currentPage).replace("{totalPages}",a.totalPages).replace("{first}",a.first).replace("{last}",a.last).replace("{rows}",a.rows).replace("{totalRecords}",a.totalRecords),l=s.createElement("span",{className:"p-paginator-current"},n);if(t.template){var o=R(R({},a),{className:"p-paginator-current",element:l,props:t});return r.ObjectUtils.getJSXElement(t.template,o)}return l}));S.displayName="CurrentPageReport";var U=s.memo((function(e){var t=k.getProps(e),l=r.classNames("p-paginator-first p-paginator-element p-link",{"p-disabled":t.disabled}),o="p-paginator-icon pi pi-angle-double-left",i=s.createElement("button",{type:"button",className:l,onClick:t.onClick,disabled:t.disabled,"aria-label":a.ariaLabel("firstPageLabel")},s.createElement("span",{className:o}),s.createElement(n.Ripple,null));return t.template?r.ObjectUtils.getJSXElement(t.template,{onClick:t.onClick,className:l,iconClassName:o,disabled:t.disabled,element:i,props:t}):i}));U.displayName="FirstPageLink";var T=s.memo((function(e){var t=O.getProps(e),a=function(e){t.onChange&&t.onChange(t.rows*(e.value-1),t.rows)},n=t.pageCount>0?t.page+1:0,o=s.createElement(l.InputNumber,{value:n,onChange:a,className:"p-paginator-page-input",disabled:t.disabled});return t.template?r.ObjectUtils.getJSXElement(t.template,{value:n,onChange:a,disabled:t.disabled,className:"p-paginator-page-input",element:o,props:t}):o}));T.displayName="JumpToPageInput";var D=s.memo((function(e){var t=C.getProps(e),l=r.classNames("p-paginator-last p-paginator-element p-link",{"p-disabled":t.disabled}),o="p-paginator-icon pi pi-angle-double-right",i=s.createElement("button",{type:"button",className:l,onClick:t.onClick,disabled:t.disabled,"aria-label":a.ariaLabel("lastPageLabel")},s.createElement("span",{className:o}),s.createElement(n.Ripple,null));return t.template?r.ObjectUtils.getJSXElement(t.template,{onClick:t.onClick,className:l,iconClassName:o,disabled:t.disabled,element:i,props:t}):i}));D.displayName="LastPageLink";var M=s.memo((function(e){var t=w.getProps(e),l=r.classNames("p-paginator-next p-paginator-element p-link",{"p-disabled":t.disabled}),o="p-paginator-icon pi pi-angle-right",i=s.createElement("button",{type:"button",className:l,onClick:t.onClick,disabled:t.disabled,"aria-label":a.ariaLabel("nextPageLabel")},s.createElement("span",{className:o}),s.createElement(n.Ripple,null));return t.template?r.ObjectUtils.getJSXElement(t.template,{onClick:t.onClick,className:l,iconClassName:o,disabled:t.disabled,element:i,props:t}):i}));M.displayName="NextPageLink";var _=s.memo((function(e){var t,l=j.getProps(e),o=function(e,t){l.onClick&&l.onClick({originalEvent:e,value:t}),e.preventDefault()};if(l.value){var i=l.value[0],p=l.value[l.value.length-1];t=l.value.map((function(e){var t=r.classNames("p-paginator-page p-paginator-element p-link",{"p-paginator-page-start":e===i,"p-paginator-page-end":e===p,"p-highlight":e-1===l.page}),u=s.createElement("button",{type:"button",className:t,onClick:function(t){return o(t,e)},"aria-label":"".concat(a.ariaLabel("pageLabel")," ").concat(e+1)},e,s.createElement(n.Ripple,null));l.template&&(u=r.ObjectUtils.getJSXElement(l.template,{onClick:function(t){return o(t,e)},className:t,view:{startPage:i-1,endPage:p-1},page:e-1,currentPage:l.page,totalPages:l.pageCount,element:u,props:l}));return s.createElement(s.Fragment,{key:e},u)}))}return s.createElement("span",{className:"p-paginator-pages"},t)}));_.displayName="PageLinks";var J=s.memo((function(e){var t=E.getProps(e),l=r.classNames("p-paginator-prev p-paginator-element p-link",{"p-disabled":t.disabled}),o="p-paginator-icon pi pi-angle-left",i=s.createElement("button",{type:"button",className:l,onClick:t.onClick,disabled:t.disabled,"aria-label":a.ariaLabel("previousPageLabel")},s.createElement("span",{className:o}),s.createElement(n.Ripple,null));return t.template?r.ObjectUtils.getJSXElement(t.template,{onClick:t.onClick,className:l,iconClassName:o,disabled:t.disabled,element:i,props:t}):i}));J.displayName="PrevPageLink";var x=s.memo((function(e){var t=N.getProps(e),n=t.options&&t.options.length>0,l=n?t.options.map((function(e){return{label:String(e),value:e}})):[],i=a.localeOption("choose"),p=n?s.createElement(o.Dropdown,{value:t.value,options:l,onChange:t.onChange,appendTo:t.appendTo,disabled:t.disabled,placeholder:i,"aria-label":i}):null;return t.template?r.ObjectUtils.getJSXElement(t.template,{value:t.value,options:l,onChange:t.onChange,appendTo:t.appendTo,currentPage:t.page,totalPages:t.pageCount,totalRecords:t.totalRecords,disabled:t.disabled,element:p,props:t}):p}));x.displayName="RowsPerPageDropdown";var X=s.memo(s.forwardRef((function(e,a){var n=y.getProps(e),l=s.useRef(null),o=Math.floor(n.first/n.rows),i=Math.ceil(n.totalRecords/n.rows),g=0===o,P=o===i-1,b=0===i,v=function(){var e=i,t=Math.min(n.pageLinkSize,e),r=Math.max(0,Math.ceil(o-t/2)),a=Math.min(e-1,r+t-1);return[r=Math.max(0,r-(n.pageLinkSize-(a-r+1))),a]},h=function(){for(var e=[],t=v(),r=t[1],a=t[0];a<=r;a++)e.push(a+1);return e},k=function(e,t){var r=i,a=Math.floor(e/t);a>=0&&a<r&&(n.onPageChange&&n.onPageChange({first:e,rows:t,page:a,pageCount:r}))},O=function(e){k(0,n.rows),e.preventDefault()},C=function(e){k(n.first-n.rows,n.rows),e.preventDefault()},w=function(e){k((e.value-1)*n.rows,n.rows)},j=function(e){k(n.first+n.rows,n.rows),e.preventDefault()},E=function(e){k((i-1)*n.rows,n.rows),e.preventDefault()},N=function(e){k(0,e.value)};s.useImperativeHandle(a,(function(){return{props:n,getElement:function(){return l.current}}})),t.useUpdateEffect((function(){o>0&&n.first>=n.totalRecords&&k((i-1)*n.rows,n.rows)}),[n.totalRecords]);var L,R=function(e,t){var r;switch(e){case"FirstPageLink":r=s.createElement(U,{key:e,onClick:O,disabled:g||b,template:t});break;case"PrevPageLink":r=s.createElement(J,{key:e,onClick:C,disabled:g||b,template:t});break;case"NextPageLink":r=s.createElement(M,{key:e,onClick:j,disabled:P||b,template:t});break;case"LastPageLink":r=s.createElement(D,{key:e,onClick:E,disabled:P||b,template:t});break;case"PageLinks":r=s.createElement(_,{key:e,value:h(),page:o,rows:n.rows,pageCount:i,onClick:w,template:t});break;case"RowsPerPageDropdown":r=s.createElement(x,{key:e,value:n.rows,page:o,pageCount:i,totalRecords:n.totalRecords,options:n.rowsPerPageOptions,onChange:N,appendTo:n.dropdownAppendTo,template:t,disabled:b});break;case"CurrentPageReport":r=s.createElement(S,{reportTemplate:n.currentPageReportTemplate,key:e,page:o,pageCount:i,first:n.first,rows:n.rows,totalRecords:n.totalRecords,template:t});break;case"JumpToPageInput":r=s.createElement(T,{key:e,rows:n.rows,page:o,pageCount:i,onChange:k,disabled:b,template:t});break;default:r=null}return r};if(n.alwaysShow||1!==i){var X=y.getOtherProps(n),Y=r.classNames("p-paginator p-component",n.className),A=r.ObjectUtils.getJSXElement(n.leftContent,n),I=r.ObjectUtils.getJSXElement(n.rightContent,n),q=(L=n.template)?"object"===f(L)?L.layout?L.layout.split(" ").map((function(e){var t=e.trim();return R(t,L[t])})):Object.entries(L).map((function(e){var t,r,a=(r=2,u(t=e)||c(t,r)||d(t,r)||m());return R(a[0],a[1])})):L.split(" ").map((function(e){return R(e.trim())})):null,F=A&&s.createElement("div",{className:"p-paginator-left-content"},A),z=I&&s.createElement("div",{className:"p-paginator-right-content"},I);return s.createElement("div",p({ref:l,className:Y,style:n.style},X),F,q,z)}return null})));X.displayName="Paginator",exports.Paginator=X;