import React from 'react'; import PropTypes from 'prop-types'; import { translate as __ } from 'foremanReact/common/I18n'; import { Route, Link } from 'react-router-dom'; import { usePaginationOptions } from 'foremanReact/components/Pagination/PaginationHooks'; import { TableComposable, Thead, Tbody, Tr, Th, Td, } from '@patternfly/react-table'; import { Flex, FlexItem, Button, Pagination } from '@patternfly/react-core'; import EditRolesModal from './EditRolesModal'; import withLoading from '../../../withLoading'; import AllRolesModal from './AllRolesModal'; import { preparePerPageOptions, refreshPage, } from '../../../../helpers/paginationHelper'; const RolesTable = ({ totalCount, pagination, history, ansibleRoles, hostId, hostGlobalId, canEditHost, }) => { const columns = [__('Name')]; const handlePerPageSelected = (event, perPage) => { refreshPage(history, { page: 1, perPage }); }; const handlePageSelected = (event, page) => { refreshPage(history, { ...pagination, page }); }; const perPageOptions = preparePerPageOptions(usePaginationOptions()); const editBtn = canEditHost ? ( ) : null; return (

{__('Ansible roles assigned directly to host')} {' - '} {__('view all assigned roles')}

{editBtn} {columns.map(col => ( {col} ))} {ansibleRoles.map(role => ( {role.name} ))} history.goBack()} isOpen assignedRoles={ansibleRoles} hostId={hostId} canEditHost={canEditHost} /> history.push('/Ansible/roles')} isOpen hostGlobalId={hostGlobalId} history={history} />
); }; RolesTable.propTypes = { ansibleRoles: PropTypes.array.isRequired, hostId: PropTypes.number.isRequired, hostGlobalId: PropTypes.string.isRequired, history: PropTypes.object.isRequired, pagination: PropTypes.object.isRequired, totalCount: PropTypes.number.isRequired, canEditHost: PropTypes.bool.isRequired, }; export default withLoading(RolesTable);