Sha256: 04acf6b05afddef8fb477148b1a12d917d5bf9df0b6c6845c610ef45d751fa79

Contents?: true

Size: 1.81 KB

Versions: 9

Compression:

Stored size: 1.81 KB

Contents

import React from 'react';
import PropTypes from 'prop-types';
import { translate as __ } from 'foremanReact/common/I18n';

import {
  TableComposable,
  Thead,
  Tbody,
  Tr,
  Th,
  Td,
} from '@patternfly/react-table';
import { Flex, FlexItem } from '@patternfly/react-core';
import Pagination from 'foremanReact/components/Pagination';
import withLoading from '../../../../withLoading';

const AllRolesTable = ({ allAnsibleRoles, totalCount }) => {
  const columns = [__('Name'), __('Source')];

  return (
    <React.Fragment>
      <Flex direction={{ default: 'column' }} className="pf-u-pt-md">
        <FlexItem align={{ default: 'alignRight' }}>
          <Pagination updateParamsByUrl itemCount={totalCount} variant="top" />
        </FlexItem>
        <TableComposable variant="compact">
          <Thead>
            <Tr>
              <Th />
              {columns.map(col => (
                <Th key={`${col}-all`}>{col}</Th>
              ))}
            </Tr>
          </Thead>
          <Tbody>
            {allAnsibleRoles.map(role => (
              <Tr key={`${role.id}-all`} id={role.id}>
                <Td />
                <Td>{role.name}</Td>
                <Td>
                  {role.inherited
                    ? __('Inherited from Hostgroup')
                    : __('Directly assigned to Host')}
                </Td>
              </Tr>
            ))}
          </Tbody>
        </TableComposable>
        <FlexItem align={{ default: 'alignRight' }}>
          <Pagination
            updateParamsByUrl
            itemCount={totalCount}
            variant="bottom"
          />
        </FlexItem>
      </Flex>
    </React.Fragment>
  );
};

AllRolesTable.propTypes = {
  allAnsibleRoles: PropTypes.array.isRequired,
  totalCount: PropTypes.number.isRequired,
};

export default withLoading(AllRolesTable);

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
foreman_ansible-7.1.8 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.7 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.6 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.5 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.4 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.3 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.2 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.1 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js
foreman_ansible-7.1.0 webpack/components/AnsibleHostDetail/components/RolesTab/AllRolesModal/AllRolesTable.js