import React from 'react'; import { Alert, Badge } from 'react-bootstrap'; import controlWrapper from './crud-control-wrapper'; /** * Simple crud component to display the number of records in the controller. * It also supports pagination */ class CrudCounter extends React.Component { eventHandler(evt) { if (evt === 'page' || evt === 'fetching-list' || evt === 'list') { this.forceUpdate(); } } render() { const controller = this.props.controller; if (!controller.getList()) { return null; } if (this.props.counterOnly) { return {controller.getCount() > 0 ? controller.getCount() : '-'}; } // any result found ? if (!controller.getCount()) { return {__('form.norecordfound')}; } const msg = ' ' + __('form.resultlist'); const className = this.props.className ? this.props.className : 'text-muted'; // is paging enabled ? if (controller.isPaging() && controller.getCount() > controller.options.pageSize) { return (
{controller.getPageIni() + 1}{' - '}{controller.getPageEnd() + 1}{' of '} {controller.getCount()}{msg}
); } // render simple counter return ( {controller.getCount()}{msg} ); } } CrudCounter.propTypes = { controller: React.PropTypes.object.isRequired, counterOnly: React.PropTypes.bool, className: React.PropTypes.string }; export default controlWrapper(CrudCounter);