import PropTypes from 'prop-types'; import React from 'react'; import { align, icons } from 'Helpers/Props'; import LoadingIndicator from 'Components/Loading/LoadingIndicator'; import Table from 'Components/Table/Table'; import TableBody from 'Components/Table/TableBody'; import TableOptionsModalWrapper from 'Components/Table/TableOptions/TableOptionsModalWrapper'; import TablePager from 'Components/Table/TablePager'; import PageContent from 'Components/Page/PageContent'; import PageContentBodyConnector from 'Components/Page/PageContentBodyConnector'; import PageToolbar from 'Components/Page/Toolbar/PageToolbar'; import PageToolbarSection from 'Components/Page/Toolbar/PageToolbarSection'; import PageToolbarButton from 'Components/Page/Toolbar/PageToolbarButton'; import FilterMenu from 'Components/Menu/FilterMenu'; import LogsTableRow from './LogsTableRow'; function LogsTable(props) { const { isFetching, isPopulated, error, items, columns, selectedFilterKey, filters, totalRecords, clearLogExecuting, onRefreshPress, onClearLogsPress, onFilterSelect, ...otherProps } = props; return ( { isFetching && !isPopulated && } { isPopulated && !error && !items.length &&
No logs found
} { isPopulated && !error && !!items.length &&
{ items.map((item) => { return ( ); }) }
}
); } LogsTable.propTypes = { isFetching: PropTypes.bool.isRequired, isPopulated: PropTypes.bool.isRequired, error: PropTypes.object, items: PropTypes.arrayOf(PropTypes.object).isRequired, columns: PropTypes.arrayOf(PropTypes.object).isRequired, selectedFilterKey: PropTypes.string.isRequired, filters: PropTypes.arrayOf(PropTypes.object).isRequired, totalRecords: PropTypes.number, clearLogExecuting: PropTypes.bool.isRequired, onFilterSelect: PropTypes.func.isRequired, onRefreshPress: PropTypes.func.isRequired, onClearLogsPress: PropTypes.func.isRequired }; export default LogsTable;