import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { useQuery } from '@apollo/client'; import { Button } from '@patternfly/react-core'; import { translate as __ } from 'foremanReact/common/I18n'; import ansibleRolesQuery from '../../../../graphql/queries/hostAnsibleRoles.gql'; import { encodeId } from '../../../../globalIdHelper'; import RolesTable from './RolesTable'; import { useParamsToVars, useCurrentPagination, } from '../../../../helpers/pageParamsHelper'; import EditRolesModal from './EditRolesModal'; const RolesTab = ({ hostId, history, canEditHost }) => { const hostGlobalId = encodeId('Host', hostId); const pagination = useCurrentPagination(history); const [assignModal, setAssignModal] = useState(false); const renameData = data => ({ ansibleRoles: data.host.ownAnsibleRoles.nodes, totalCount: data.host.ownAnsibleRoles.totalCount, }); const useFetchFn = () => useQuery(ansibleRolesQuery, { variables: { id: hostGlobalId, ...useParamsToVars(history) }, fetchPolicy: 'network-only', }); const editBtn = canEditHost ? ( ) : null; return ( <> {assignModal && ( setAssignModal(false)} isOpen={assignModal} assignedRoles={[]} hostId={hostId} canEditHost={canEditHost} /> )} ); }; RolesTab.propTypes = { hostId: PropTypes.number.isRequired, history: PropTypes.object.isRequired, canEditHost: PropTypes.bool.isRequired, }; export default RolesTab;