primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 80+ 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) • 11.6 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/hooks"),a=require("primereact/utils"),n=require("primereact/api"),r=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(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),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 a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},p.apply(this,arguments)}function c(e){if(Array.isArray(e))return e}function u(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,l=[],o=!0,i=!1;try{for(a=a.call(e);!(o=(n=a.next()).done)&&(l.push(n.value),!t||l.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==a.return||a.return()}finally{if(i)throw r}}return l}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function g(e,t){if(e){if("string"==typeof e)return m(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?m(e,t):void 0}}function d(){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 b(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function P(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function v(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?P(Object(a),!0).forEach((function(t){b(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):P(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var y=s.memo((function(e){var t={currentPage:e.page+1,totalPages:e.pageCount,first:Math.min(e.first+1,e.totalRecords),last:Math.min(e.first+e.rows,e.totalRecords),rows:e.rows,totalRecords:e.totalRecords},n=e.reportTemplate.replace("{currentPage}",t.currentPage).replace("{totalPages}",t.totalPages).replace("{first}",t.first).replace("{last}",t.last).replace("{rows}",t.rows).replace("{totalRecords}",t.totalRecords),r=s.createElement("span",{className:"p-paginator-current"},n);if(e.template){var l=v(v({},t),{className:"p-paginator-current",element:r,props:e});return a.ObjectUtils.getJSXElement(e.template,l)}return r}));y.displayName="CurrentPageReport",y.defaultProps={__TYPE:"CurrentPageReport",pageCount:null,page:null,first:null,rows:null,totalRecords:null,reportTemplate:"({currentPage} of {totalPages})",template:null};var k=s.memo((function(e){var t=a.classNames("p-paginator-first p-paginator-element p-link",{"p-disabled":e.disabled}),l="p-paginator-icon pi pi-angle-double-left",o=s.createElement("button",{type:"button",className:t,onClick:e.onClick,disabled:e.disabled,"aria-label":n.ariaLabel("firstPageLabel")},s.createElement("span",{className:l}),s.createElement(r.Ripple,null));return e.template?a.ObjectUtils.getJSXElement(e.template,{onClick:e.onClick,className:t,iconClassName:l,disabled:e.disabled,element:o,props:e}):o}));k.displayName="FirstPageLink",k.defaultProps={__TYPE:"FirstPageLink",disabled:!1,onClick:null,template:null};var w=s.memo((function(e){var t=function(t){e.onChange&&e.onChange(e.rows*(t.value-1),e.rows)},n=e.pageCount>0?e.page+1:0,r=s.createElement(l.InputNumber,{value:n,onChange:t,className:"p-paginator-page-input",disabled:e.disabled});return e.template?a.ObjectUtils.getJSXElement(e.template,{value:n,onChange:t,disabled:e.disabled,className:"p-paginator-page-input",element:r,props:e}):r}));w.displayName="JumpToPageInput",w.defaultProps={__TYPE:"JumbToPageInput",page:null,rows:null,pageCount:null,disabled:!1,template:null,onChange:null};var C=s.memo((function(e){var t=a.classNames("p-paginator-last p-paginator-element p-link",{"p-disabled":e.disabled}),l="p-paginator-icon pi pi-angle-double-right",o=s.createElement("button",{type:"button",className:t,onClick:e.onClick,disabled:e.disabled,"aria-label":n.ariaLabel("lastPageLabel")},s.createElement("span",{className:l}),s.createElement(r.Ripple,null));return e.template?a.ObjectUtils.getJSXElement(e.template,{onClick:e.onClick,className:t,iconClassName:l,disabled:e.disabled,element:o,props:e}):o}));C.displayName="LastPageLink",C.defaultProps={__TYPE:"LastPageLink",disabled:!1,onClick:null,template:null};var h=s.memo((function(e){var t=a.classNames("p-paginator-next p-paginator-element p-link",{"p-disabled":e.disabled}),l="p-paginator-icon pi pi-angle-right",o=s.createElement("button",{type:"button",className:t,onClick:e.onClick,disabled:e.disabled,"aria-label":n.ariaLabel("nextPageLabel")},s.createElement("span",{className:l}),s.createElement(r.Ripple,null));return e.template?a.ObjectUtils.getJSXElement(e.template,{onClick:e.onClick,className:t,iconClassName:l,disabled:e.disabled,element:o,props:e}):o}));h.displayName="NextPageLink",h.defaultProps={__TYPE:"NextPageLink",disabled:!1,onClick:null,template:null};var E=s.memo((function(e){var t,l=function(t,a){e.onClick&&e.onClick({originalEvent:t,value:a}),t.preventDefault()};if(e.value){var o=e.value[0],i=e.value[e.value.length-1];t=e.value.map((function(t){var p=a.classNames("p-paginator-page p-paginator-element p-link",{"p-paginator-page-start":t===o,"p-paginator-page-end":t===i,"p-highlight":t-1===e.page}),c=s.createElement("button",{type:"button",className:p,onClick:function(e){return l(e,t)},"aria-label":"".concat(n.ariaLabel("pageLabel")," ").concat(t+1)},t,s.createElement(r.Ripple,null));e.template&&(c=a.ObjectUtils.getJSXElement(e.template,{onClick:function(e){return l(e,t)},className:p,view:{startPage:o-1,endPage:i-1},page:t-1,currentPage:e.page,totalPages:e.pageCount,element:c,props:e}));return s.createElement(s.Fragment,{key:t},c)}))}return s.createElement("span",{className:"p-paginator-pages"},t)}));E.displayName="PageLinks",E.defaultProps={__TYPE:"PageLinks",value:null,page:null,rows:null,pageCount:null,links:null,template:null};var N=s.memo((function(e){var t=a.classNames("p-paginator-prev p-paginator-element p-link",{"p-disabled":e.disabled}),l="p-paginator-icon pi pi-angle-left",o=s.createElement("button",{type:"button",className:t,onClick:e.onClick,disabled:e.disabled,"aria-label":n.ariaLabel("previousPageLabel")},s.createElement("span",{className:l}),s.createElement(r.Ripple,null));return e.template?a.ObjectUtils.getJSXElement(e.template,{onClick:e.onClick,className:t,iconClassName:l,disabled:e.disabled,element:o,props:e}):o}));N.displayName="PrevPageLink",N.defaultProps={__TYPE:"PrevPageLink",disabled:!1,onClick:null,template:null};var O=s.memo((function(e){var t=e.options&&e.options.length>0,r=t?e.options.map((function(e){return{label:String(e),value:e}})):[],l=n.localeOption("choose"),i=t?s.createElement(o.Dropdown,{value:e.value,options:r,onChange:e.onChange,appendTo:e.appendTo,disabled:e.disabled,placeholder:l,"aria-label":l}):null;return e.template?a.ObjectUtils.getJSXElement(e.template,{value:e.value,options:r,onChange:e.onChange,appendTo:e.appendTo,currentPage:e.page,totalPages:e.pageCount,totalRecords:e.totalRecords,disabled:e.disabled,element:i,props:e}):i}));O.displayName="RowsPerPageDropdown",O.defaultProps={__TYPE:"RowsPerPageDropdown",options:null,value:null,page:null,pageCount:null,totalRecords:0,appendTo:null,onChange:null,template:null,disabled:!1};var j=s.memo(s.forwardRef((function(e,n){var r=s.useRef(null),l=s.useRef(!1),o=Math.floor(e.first/e.rows),i=Math.ceil(e.totalRecords/e.rows),m=0===o,b=o===i-1,P=0===i,v=function(){var t=i,a=Math.min(e.pageLinkSize,t),n=Math.max(0,Math.ceil(o-a/2)),r=Math.min(t-1,n+a-1);return[n=Math.max(0,n-(e.pageLinkSize-(r-n+1))),r]},L=function(){for(var e=[],t=v(),a=t[1],n=t[0];n<=a;n++)e.push(n+1);return e},R=function(t,a){var n=i,r=Math.floor(t/a);r>=0&&r<n&&(e.onPageChange&&e.onPageChange({first:t,rows:a,page:r,pageCount:n}))},S=function(t){R(0,e.rows),t.preventDefault()},T=function(t){R(e.first-e.rows,e.rows),t.preventDefault()},_=function(t){R((t.value-1)*e.rows,e.rows)},D=function(t){R(e.first+e.rows,e.rows),t.preventDefault()},U=function(t){R((i-1)*e.rows,e.rows),t.preventDefault()},J=function(t){var a=t.value;l.current=a!==e.rows,R(0,a)};s.useImperativeHandle(n,(function(){return{props:e,getElement:function(){return r.current}}})),t.useUpdateEffect((function(){l.current||R(e.first,e.rows),l.current=!1}),[e.rows]),t.useUpdateEffect((function(){o>0&&e.first>=e.totalRecords&&R((i-1)*e.rows,e.rows)}),[e.totalRecords]);var M,x=function(t,a){var n;switch(t){case"FirstPageLink":n=s.createElement(k,{key:t,onClick:S,disabled:m||P,template:a});break;case"PrevPageLink":n=s.createElement(N,{key:t,onClick:T,disabled:m||P,template:a});break;case"NextPageLink":n=s.createElement(h,{key:t,onClick:D,disabled:b||P,template:a});break;case"LastPageLink":n=s.createElement(C,{key:t,onClick:U,disabled:b||P,template:a});break;case"PageLinks":n=s.createElement(E,{key:t,value:L(),page:o,rows:e.rows,pageCount:i,onClick:_,template:a});break;case"RowsPerPageDropdown":n=s.createElement(O,{key:t,value:e.rows,page:o,pageCount:i,totalRecords:e.totalRecords,options:e.rowsPerPageOptions,onChange:J,appendTo:e.dropdownAppendTo,template:a,disabled:P});break;case"CurrentPageReport":n=s.createElement(y,{reportTemplate:e.currentPageReportTemplate,key:t,page:o,pageCount:i,first:e.first,rows:e.rows,totalRecords:e.totalRecords,template:a});break;case"JumpToPageInput":n=s.createElement(w,{key:t,rows:e.rows,page:o,pageCount:i,onChange:R,disabled:P,template:a});break;default:n=null}return n};if(e.alwaysShow||1!==i){var X=a.ObjectUtils.findDiffKeys(e,j.defaultProps),Y=a.classNames("p-paginator p-component",e.className),A=a.ObjectUtils.getJSXElement(e.leftContent,e),I=a.ObjectUtils.getJSXElement(e.rightContent,e),q=(M=e.template)?"object"===f(M)?M.layout?M.layout.split(" ").map((function(e){var t=e.trim();return x(t,M[t])})):Object.entries(M).map((function(e){var t,a,n=(a=2,c(t=e)||u(t,a)||g(t,a)||d());return x(n[0],n[1])})):M.split(" ").map((function(e){return x(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:r,className:Y,style:e.style},X),F,q,z)}return null})));j.displayName="Paginator",j.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})"},exports.Paginator=j;