@devgateway/dvz-ui-react
Version:
A modular, embeddable React component library for data visualization and UI, built with TypeScript. Provides reusable components for charts, maps, dashboards, and more, with built-in support for internationalization and Redux integration.
2 lines (1 loc) • 1.32 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),a=require("react"),u=require("react-redux"),r=require("semantic-ui-react"),j=require("react-intl"),m=d=>{const{"data-group":l}=d,g=u.useDispatch(),e=u.useSelector(t=>t.getIn(["data","postsPagination",l])),i=e&&(e!=null&&e.totalPages)?e.totalPages:1,[o,p]=a.useState(1),[h,P]=a.useState([]),x=()=>{const t=[];for(let s=1;s<=i;s++)t.push({key:s,text:s,value:s});P(t)},c=t=>{t!==o&&(t<1||t>i||(p(t),g({type:"SET_POSTS_FILTER",group:l,...e,page:t})))};return a.useEffect(()=>{x()},[e==null?void 0:e.totalPages]),n.jsxs(r.Container,{fluid:!0,className:"posts-pagination",children:[n.jsxs("div",{className:"posts-pagination-dropdown",children:[n.jsx("span",{children:"Page"}),n.jsx(r.Dropdown,{options:h,placeholder:"Select Item",selection:!0,compact:!0,value:o,onChange:(t,s)=>c(Number(s.value))}),n.jsx("div",{children:n.jsxs("span",{children:["of ",e&&(e==null?void 0:e.totalPages)]})})]}),n.jsxs("div",{children:[n.jsx(r.Icon,{size:"large",style:{cursor:"pointer"},onClick:()=>c(o-1),name:"angle left",disabled:o===1}),n.jsx(r.Icon,{size:"large",style:{cursor:"pointer"},onClick:()=>c(o+1),name:"angle right",disabled:o===i})]})]})},f=j.injectIntl(a.memo(m));exports.default=f;