UNPKG

frc-ui

Version:

React Web UI

52 lines (51 loc) 2.2 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import React from 'react'; import classNames from 'classnames'; import { Consumer } from '../common/Hoc'; import Loading from '../../loading'; let LoadMore = class LoadMore extends React.PureComponent { constructor() { super(...arguments); this.handleClick = (event) => { event.stopPropagation(); const { loading, total, start, startDate, pageSize, channel, emit, showAllHistory } = this.props; if (!emit) return; if (loading || total <= start + pageSize) { return; } const payload = { chatRoomCode: channel, startDate: startDate, startIndex: start }; if (!showAllHistory) { payload.pageSize = pageSize; } emit('chatMessage.history', payload); }; } render() { const { prefix, loading, locale, total, start, pageSize, showAllHistory } = this.props; let child = locale && locale.loadMore; if (loading) { child = React.createElement(Loading, { size: 20 }); } else if (total <= start) { child = locale && locale.noLoadMore; } const className = classNames(`${prefix}-load-more`, { [`${prefix}-load-no-more`]: total <= start + pageSize }); return (React.createElement("div", { className: className, onClick: this.handleClick, style: { display: showAllHistory ? 'none' : 'flex' } }, child)); } }; LoadMore = __decorate([ Consumer() ], LoadMore); export default LoadMore;