frc-ui
Version:
React Web UI
52 lines (51 loc) • 2.2 kB
JavaScript
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;