UNPKG

@nexusui/components

Version:

These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.

3 lines (2 loc) 1.49 kB
"use client"; "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),n=require("lodash/debounce"),r=require("./EventLog.component.js"),a=require("../locales/index.js"),i=require("./locale.json.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(n);exports.EventLog=n=>{const{infiniteLoad:o=!1,events:u=[],onFetchData:l,loading:g,total:c=0,initialPage:d=0,initialPageSize:f=50,initialFilter:h,itemHeight:v=117,onPageChange:p,onPageSizeChange:E,onFilterChange:L,...j}=n,[m,P]=t.useState(d),[S,C]=t.useState(0),[q,w]=t.useState(f),[x,z]=t.useState(h),F=t.useRef(!1),b=t.useRef(o),N=a.useTranslate(i.default),_=g?()=>{}:()=>{const e=m+1;P(e),l(e,q,x)};t.useEffect((()=>{F.current||(F.current=!0,l(m,q))}),[m,q,l]),t.useEffect((()=>{if(b.current!==o&&"production"!==process.env.NODE_ENV)throw Error('EventLog: "infiniteLoad" props does not allow changes at runtime')}),[o]),t.useEffect((()=>{const e=s.default((()=>{C(S+1)}),200);return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[S]);const y=u.length<c;return e.jsx(r.EventLogComponent,{infiniteLoad:o,itemHeight:v,page:m,pageSize:q,filter:x,total:c,events:u,loading:g,hasNextPage:y,onPageChange:(e,t)=>{P(t),p&&p(t),l(t,q,x)},onPageSizeChange:e=>{const t=parseInt(e.target.value,10);P(0),w(t),p&&p(0),E&&E(t),l(0,t,x)},onFilterChange:e=>{P(0),z(e),p&&p(0),L&&L(e),l(0,q,e)},loadMoreItems:_,t:N,...j},S)};