mirror of
https://github.com/ansible/awx.git
synced 2026-05-06 17:07:36 -02:30
delete PaginatedDataList, move toolbar buttons to PaginatedTable dir
This commit is contained in:
committed by
Shane McDonald
parent
421d8f215c
commit
fb897891c9
@@ -2,7 +2,7 @@ import React, { useState, useRef, useEffect, Fragment } from 'react';
|
|||||||
import { t } from '@lingui/macro';
|
import { t } from '@lingui/macro';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { Dropdown, DropdownPosition } from '@patternfly/react-core';
|
import { Dropdown, DropdownPosition } from '@patternfly/react-core';
|
||||||
import { ToolbarAddButton } from '../PaginatedDataList';
|
import { ToolbarAddButton } from '../PaginatedTable';
|
||||||
import { useKebabifiedMenu } from '../../contexts/Kebabified';
|
import { useKebabifiedMenu } from '../../contexts/Kebabified';
|
||||||
|
|
||||||
function AddDropDownButton({ dropdownItems, ouiaId }) {
|
function AddDropDownButton({ dropdownItems, ouiaId }) {
|
||||||
|
|||||||
@@ -6,8 +6,11 @@ import { Card } from '@patternfly/react-core';
|
|||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import DatalistToolbar from '../DataListToolbar';
|
import DatalistToolbar from '../DataListToolbar';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
import { ToolbarDeleteButton } from '../PaginatedDataList';
|
import PaginatedTable, {
|
||||||
import PaginatedTable, { HeaderRow, HeaderCell } from '../PaginatedTable';
|
HeaderRow,
|
||||||
|
HeaderCell,
|
||||||
|
ToolbarDeleteButton,
|
||||||
|
} from '../PaginatedTable';
|
||||||
import useRequest, {
|
import useRequest, {
|
||||||
useDeleteItems,
|
useDeleteItems,
|
||||||
useDismissableError,
|
useDismissableError,
|
||||||
|
|||||||
@@ -1,213 +0,0 @@
|
|||||||
import React, { Fragment } from 'react';
|
|
||||||
|
|
||||||
import PropTypes from 'prop-types';
|
|
||||||
import { DataList } from '@patternfly/react-core';
|
|
||||||
|
|
||||||
import { t } from '@lingui/macro';
|
|
||||||
import { withRouter, useHistory, useLocation } from 'react-router-dom';
|
|
||||||
|
|
||||||
import ListHeader from '../ListHeader';
|
|
||||||
import ContentEmpty from '../ContentEmpty';
|
|
||||||
import ContentError from '../ContentError';
|
|
||||||
import ContentLoading from '../ContentLoading';
|
|
||||||
import Pagination from '../Pagination';
|
|
||||||
import DataListToolbar from '../DataListToolbar';
|
|
||||||
|
|
||||||
import { parseQueryString, updateQueryString } from '../../util/qs';
|
|
||||||
|
|
||||||
import { QSConfig, SearchColumns, SortColumns } from '../../types';
|
|
||||||
|
|
||||||
import PaginatedDataListItem from './PaginatedDataListItem';
|
|
||||||
import LoadingSpinner from '../LoadingSpinner';
|
|
||||||
|
|
||||||
function PaginatedDataList({
|
|
||||||
items,
|
|
||||||
onRowClick,
|
|
||||||
contentError,
|
|
||||||
hasContentLoading,
|
|
||||||
emptyStateControls,
|
|
||||||
itemCount,
|
|
||||||
qsConfig,
|
|
||||||
renderItem,
|
|
||||||
toolbarSearchColumns,
|
|
||||||
toolbarSearchableKeys,
|
|
||||||
toolbarRelatedSearchableKeys,
|
|
||||||
toolbarSortColumns,
|
|
||||||
pluralizedItemName,
|
|
||||||
showPageSizeOptions,
|
|
||||||
location,
|
|
||||||
renderToolbar,
|
|
||||||
}) {
|
|
||||||
const { search, pathname } = useLocation();
|
|
||||||
const history = useHistory();
|
|
||||||
const handleListItemSelect = (id = 0) => {
|
|
||||||
const match = items.find(item => item.id === Number(id));
|
|
||||||
onRowClick(match);
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleSetPage = (event, pageNumber) => {
|
|
||||||
const qs = updateQueryString(qsConfig, search, {
|
|
||||||
page: pageNumber,
|
|
||||||
});
|
|
||||||
pushHistoryState(qs);
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleSetPageSize = (event, pageSize, page) => {
|
|
||||||
const qs = updateQueryString(qsConfig, search, {
|
|
||||||
page_size: pageSize,
|
|
||||||
page,
|
|
||||||
});
|
|
||||||
pushHistoryState(qs);
|
|
||||||
};
|
|
||||||
|
|
||||||
const pushHistoryState = qs => {
|
|
||||||
history.push(qs ? `${pathname}?${qs}` : pathname);
|
|
||||||
};
|
|
||||||
|
|
||||||
const searchColumns = toolbarSearchColumns.length
|
|
||||||
? toolbarSearchColumns
|
|
||||||
: [
|
|
||||||
{
|
|
||||||
name: t`Name`,
|
|
||||||
key: 'name',
|
|
||||||
isDefault: true,
|
|
||||||
},
|
|
||||||
];
|
|
||||||
const sortColumns = toolbarSortColumns.length
|
|
||||||
? toolbarSortColumns
|
|
||||||
: [
|
|
||||||
{
|
|
||||||
name: t`Name`,
|
|
||||||
key: 'name',
|
|
||||||
},
|
|
||||||
];
|
|
||||||
const queryParams = parseQueryString(qsConfig, location.search);
|
|
||||||
|
|
||||||
const dataListLabel = t`${pluralizedItemName} List`;
|
|
||||||
const emptyContentMessage = t`Please add ${pluralizedItemName} to populate this list `;
|
|
||||||
const emptyContentTitle = t`No ${pluralizedItemName} Found `;
|
|
||||||
|
|
||||||
let Content;
|
|
||||||
if (hasContentLoading && items.length <= 0) {
|
|
||||||
Content = <ContentLoading />;
|
|
||||||
} else if (contentError) {
|
|
||||||
Content = <ContentError error={contentError} />;
|
|
||||||
} else if (items.length <= 0) {
|
|
||||||
Content = (
|
|
||||||
<ContentEmpty title={emptyContentTitle} message={emptyContentMessage} />
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
Content = (
|
|
||||||
<>
|
|
||||||
{hasContentLoading && <LoadingSpinner />}
|
|
||||||
<DataList
|
|
||||||
aria-label={dataListLabel}
|
|
||||||
onSelectDataListItem={id => handleListItemSelect(id)}
|
|
||||||
>
|
|
||||||
{items.map(renderItem)}
|
|
||||||
</DataList>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const ToolbarPagination = (
|
|
||||||
<Pagination
|
|
||||||
isCompact
|
|
||||||
dropDirection="down"
|
|
||||||
itemCount={itemCount}
|
|
||||||
page={queryParams.page || 1}
|
|
||||||
perPage={queryParams.page_size}
|
|
||||||
perPageOptions={
|
|
||||||
showPageSizeOptions
|
|
||||||
? [
|
|
||||||
{ title: '5', value: 5 },
|
|
||||||
{ title: '10', value: 10 },
|
|
||||||
{ title: '20', value: 20 },
|
|
||||||
{ title: '50', value: 50 },
|
|
||||||
]
|
|
||||||
: []
|
|
||||||
}
|
|
||||||
onSetPage={handleSetPage}
|
|
||||||
onPerPageSelect={handleSetPageSize}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<Fragment>
|
|
||||||
<ListHeader
|
|
||||||
itemCount={itemCount}
|
|
||||||
renderToolbar={renderToolbar}
|
|
||||||
emptyStateControls={emptyStateControls}
|
|
||||||
searchColumns={searchColumns}
|
|
||||||
sortColumns={sortColumns}
|
|
||||||
searchableKeys={toolbarSearchableKeys}
|
|
||||||
relatedSearchableKeys={toolbarRelatedSearchableKeys}
|
|
||||||
qsConfig={qsConfig}
|
|
||||||
pagination={ToolbarPagination}
|
|
||||||
/>
|
|
||||||
{Content}
|
|
||||||
{items.length ? (
|
|
||||||
<Pagination
|
|
||||||
variant="bottom"
|
|
||||||
itemCount={itemCount}
|
|
||||||
page={queryParams.page || 1}
|
|
||||||
perPage={queryParams.page_size}
|
|
||||||
perPageOptions={
|
|
||||||
showPageSizeOptions
|
|
||||||
? [
|
|
||||||
{ title: '5', value: 5 },
|
|
||||||
{ title: '10', value: 10 },
|
|
||||||
{ title: '20', value: 20 },
|
|
||||||
{ title: '50', value: 50 },
|
|
||||||
]
|
|
||||||
: []
|
|
||||||
}
|
|
||||||
onSetPage={handleSetPage}
|
|
||||||
onPerPageSelect={handleSetPageSize}
|
|
||||||
/>
|
|
||||||
) : null}
|
|
||||||
</Fragment>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const Item = PropTypes.shape({
|
|
||||||
id: PropTypes.number.isRequired,
|
|
||||||
url: PropTypes.string.isRequired,
|
|
||||||
name: PropTypes.string,
|
|
||||||
});
|
|
||||||
|
|
||||||
PaginatedDataList.propTypes = {
|
|
||||||
items: PropTypes.arrayOf(Item).isRequired,
|
|
||||||
itemCount: PropTypes.number.isRequired,
|
|
||||||
pluralizedItemName: PropTypes.string,
|
|
||||||
qsConfig: QSConfig.isRequired,
|
|
||||||
renderItem: PropTypes.func,
|
|
||||||
toolbarSearchColumns: SearchColumns,
|
|
||||||
toolbarSearchableKeys: PropTypes.arrayOf(PropTypes.string),
|
|
||||||
toolbarRelatedSearchableKeys: PropTypes.arrayOf(PropTypes.string),
|
|
||||||
toolbarSortColumns: SortColumns,
|
|
||||||
showPageSizeOptions: PropTypes.bool,
|
|
||||||
renderToolbar: PropTypes.func,
|
|
||||||
hasContentLoading: PropTypes.bool,
|
|
||||||
contentError: PropTypes.shape(),
|
|
||||||
onRowClick: PropTypes.func,
|
|
||||||
};
|
|
||||||
|
|
||||||
PaginatedDataList.defaultProps = {
|
|
||||||
hasContentLoading: false,
|
|
||||||
contentError: null,
|
|
||||||
toolbarSearchColumns: [],
|
|
||||||
toolbarSearchableKeys: [],
|
|
||||||
toolbarRelatedSearchableKeys: [],
|
|
||||||
toolbarSortColumns: [],
|
|
||||||
pluralizedItemName: 'Items',
|
|
||||||
showPageSizeOptions: true,
|
|
||||||
renderItem: ({ id, ...rest }) => (
|
|
||||||
<PaginatedDataListItem key={id} item={{ id, ...rest }} />
|
|
||||||
),
|
|
||||||
renderToolbar: props => <DataListToolbar {...props} />,
|
|
||||||
onRowClick: () => null,
|
|
||||||
};
|
|
||||||
|
|
||||||
export { PaginatedDataList as _PaginatedDataList };
|
|
||||||
export default withRouter(PaginatedDataList);
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import { createMemoryHistory } from 'history';
|
|
||||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
|
||||||
import PaginatedDataList from './PaginatedDataList';
|
|
||||||
|
|
||||||
const mockData = [
|
|
||||||
{ id: 1, name: 'one', url: '/org/team/1' },
|
|
||||||
{ id: 2, name: 'two', url: '/org/team/2' },
|
|
||||||
{ id: 3, name: 'three', url: '/org/team/3' },
|
|
||||||
{ id: 4, name: 'four', url: '/org/team/4' },
|
|
||||||
{ id: 5, name: 'five', url: '/org/team/5' },
|
|
||||||
];
|
|
||||||
|
|
||||||
const qsConfig = {
|
|
||||||
namespace: 'item',
|
|
||||||
defaultParams: { page: 1, page_size: 5, order_by: 'name' },
|
|
||||||
integerFields: ['page', 'page_size'],
|
|
||||||
};
|
|
||||||
|
|
||||||
describe('<PaginatedDataList />', () => {
|
|
||||||
afterEach(() => {
|
|
||||||
jest.restoreAllMocks();
|
|
||||||
});
|
|
||||||
|
|
||||||
test('initially renders successfully', () => {
|
|
||||||
mountWithContexts(
|
|
||||||
<PaginatedDataList
|
|
||||||
items={mockData}
|
|
||||||
itemCount={7}
|
|
||||||
queryParams={{
|
|
||||||
page: 1,
|
|
||||||
page_size: 5,
|
|
||||||
order_by: 'name',
|
|
||||||
}}
|
|
||||||
qsConfig={qsConfig}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
test('should navigate to page when Pagination calls onSetPage prop', () => {
|
|
||||||
const history = createMemoryHistory({
|
|
||||||
initialEntries: ['/organizations/1/teams'],
|
|
||||||
});
|
|
||||||
const wrapper = mountWithContexts(
|
|
||||||
<PaginatedDataList
|
|
||||||
items={mockData}
|
|
||||||
itemCount={7}
|
|
||||||
queryParams={{
|
|
||||||
page: 1,
|
|
||||||
page_size: 5,
|
|
||||||
order_by: 'name',
|
|
||||||
}}
|
|
||||||
qsConfig={qsConfig}
|
|
||||||
/>,
|
|
||||||
{ context: { router: { history } } }
|
|
||||||
);
|
|
||||||
|
|
||||||
const pagination = wrapper.find('Pagination').at(1);
|
|
||||||
pagination.prop('onSetPage')(null, 2);
|
|
||||||
expect(history.location.search).toEqual('?item.page=2');
|
|
||||||
wrapper.update();
|
|
||||||
pagination.prop('onSetPage')(null, 1);
|
|
||||||
// since page = 1 is the default, that should be strip out of the search
|
|
||||||
expect(history.location.search).toEqual('');
|
|
||||||
});
|
|
||||||
|
|
||||||
test('should navigate to page when Pagination calls onPerPageSelect prop', () => {
|
|
||||||
const history = createMemoryHistory({
|
|
||||||
initialEntries: ['/organizations/1/teams'],
|
|
||||||
});
|
|
||||||
const wrapper = mountWithContexts(
|
|
||||||
<PaginatedDataList
|
|
||||||
items={mockData}
|
|
||||||
itemCount={7}
|
|
||||||
queryParams={{
|
|
||||||
page: 1,
|
|
||||||
page_size: 5,
|
|
||||||
order_by: 'name',
|
|
||||||
}}
|
|
||||||
qsConfig={qsConfig}
|
|
||||||
/>,
|
|
||||||
{ context: { router: { history } } }
|
|
||||||
);
|
|
||||||
|
|
||||||
const pagination = wrapper.find('Pagination').at(1);
|
|
||||||
pagination.prop('onPerPageSelect')(null, 25, 2);
|
|
||||||
expect(history.location.search).toEqual('?item.page=2&item.page_size=25');
|
|
||||||
wrapper.update();
|
|
||||||
// since page_size = 5 is the default, that should be strip out of the search
|
|
||||||
pagination.prop('onPerPageSelect')(null, 5, 2);
|
|
||||||
expect(history.location.search).toEqual('?item.page=2');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import { Link } from 'react-router-dom';
|
|
||||||
import {
|
|
||||||
DataListItem,
|
|
||||||
DataListItemRow,
|
|
||||||
DataListItemCells,
|
|
||||||
TextContent,
|
|
||||||
} from '@patternfly/react-core';
|
|
||||||
import styled from 'styled-components';
|
|
||||||
import DataListCell from '../DataListCell';
|
|
||||||
|
|
||||||
const DetailWrapper = styled(TextContent)`
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns:
|
|
||||||
minmax(70px, max-content)
|
|
||||||
repeat(auto-fit, minmax(60px, max-content));
|
|
||||||
grid-gap: 10px;
|
|
||||||
`;
|
|
||||||
|
|
||||||
export default function PaginatedDataListItem({ item }) {
|
|
||||||
return (
|
|
||||||
<DataListItem
|
|
||||||
aria-labelledby={`items-list-item-${item.id}`}
|
|
||||||
key={item.id}
|
|
||||||
id={`${item.id}`}
|
|
||||||
>
|
|
||||||
<DataListItemRow>
|
|
||||||
<DataListItemCells
|
|
||||||
dataListCells={[
|
|
||||||
<DataListCell key="name">
|
|
||||||
<DetailWrapper>
|
|
||||||
<Link to={{ pathname: item.url }}>
|
|
||||||
<b id={`items-list-item-${item.id}`}>{item.name}</b>
|
|
||||||
</Link>
|
|
||||||
</DetailWrapper>
|
|
||||||
</DataListCell>,
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
</DataListItemRow>
|
|
||||||
</DataListItem>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
export { default } from './PaginatedDataList';
|
|
||||||
export { default as PaginatedDataListItem } from './PaginatedDataListItem';
|
|
||||||
export { default as ToolbarDeleteButton } from './ToolbarDeleteButton';
|
|
||||||
export { default as ToolbarAddButton } from './ToolbarAddButton';
|
|
||||||
@@ -2,3 +2,5 @@ export { default } from './PaginatedTable';
|
|||||||
export { default as ActionsTd } from './ActionsTd';
|
export { default as ActionsTd } from './ActionsTd';
|
||||||
export { default as HeaderRow, HeaderCell } from './HeaderRow';
|
export { default as HeaderRow, HeaderCell } from './HeaderRow';
|
||||||
export { default as ActionItem } from './ActionItem';
|
export { default as ActionItem } from './ActionItem';
|
||||||
|
export { default as ToolbarDeleteButton } from './ToolbarDeleteButton';
|
||||||
|
export { default as ToolbarAddButton } from './ToolbarAddButton';
|
||||||
|
|||||||
@@ -5,8 +5,11 @@ import { RolesAPI, TeamsAPI, UsersAPI } from '../../api';
|
|||||||
import AddResourceRole from '../AddRole/AddResourceRole';
|
import AddResourceRole from '../AddRole/AddResourceRole';
|
||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import DataListToolbar from '../DataListToolbar';
|
import DataListToolbar from '../DataListToolbar';
|
||||||
import PaginatedTable, { HeaderRow, HeaderCell } from '../PaginatedTable';
|
import PaginatedTable, {
|
||||||
import { ToolbarAddButton } from '../PaginatedDataList';
|
HeaderRow,
|
||||||
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
|
} from '../PaginatedTable';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../util/qs';
|
||||||
import useRequest, { useDeleteItems } from '../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../util/useRequest';
|
||||||
import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal';
|
import DeleteRoleConfirmationModal from './DeleteRoleConfirmationModal';
|
||||||
|
|||||||
@@ -6,9 +6,13 @@ import { t } from '@lingui/macro';
|
|||||||
import { SchedulesAPI } from '../../../api';
|
import { SchedulesAPI } from '../../../api';
|
||||||
import AlertModal from '../../AlertModal';
|
import AlertModal from '../../AlertModal';
|
||||||
import ErrorDetail from '../../ErrorDetail';
|
import ErrorDetail from '../../ErrorDetail';
|
||||||
import PaginatedTable, { HeaderRow, HeaderCell } from '../../PaginatedTable';
|
import PaginatedTable, {
|
||||||
|
HeaderRow,
|
||||||
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
|
ToolbarDeleteButton,
|
||||||
|
} from '../../PaginatedTable';
|
||||||
import DataListToolbar from '../../DataListToolbar';
|
import DataListToolbar from '../../DataListToolbar';
|
||||||
import { ToolbarAddButton, ToolbarDeleteButton } from '../../PaginatedDataList';
|
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
|
|||||||
@@ -10,8 +10,11 @@ import {
|
|||||||
import AlertModal from '../AlertModal';
|
import AlertModal from '../AlertModal';
|
||||||
import DatalistToolbar from '../DataListToolbar';
|
import DatalistToolbar from '../DataListToolbar';
|
||||||
import ErrorDetail from '../ErrorDetail';
|
import ErrorDetail from '../ErrorDetail';
|
||||||
import { ToolbarDeleteButton } from '../PaginatedDataList';
|
import PaginatedTable, {
|
||||||
import PaginatedTable, { HeaderRow, HeaderCell } from '../PaginatedTable';
|
HeaderRow,
|
||||||
|
HeaderCell,
|
||||||
|
ToolbarDeleteButton,
|
||||||
|
} from '../PaginatedTable';
|
||||||
import useRequest, { useDeleteItems } from '../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../util/useRequest';
|
||||||
import useSelected from '../../util/useSelected';
|
import useSelected from '../../util/useSelected';
|
||||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../util/qs';
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import { t } from '@lingui/macro';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarDeleteButton } from '../../../components/PaginatedDataList';
|
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
import { TokensAPI, ApplicationsAPI } from '../../../api';
|
import { TokensAPI, ApplicationsAPI } from '../../../api';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
|
|||||||
@@ -14,11 +14,9 @@ import { ApplicationsAPI } from '../../../api';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
|
|
||||||
import ApplicationListItem from './ApplicationListItem';
|
import ApplicationListItem from './ApplicationListItem';
|
||||||
|
|||||||
@@ -7,13 +7,11 @@ import useSelected from '../../../util/useSelected';
|
|||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
|
||||||
ToolbarDeleteButton,
|
|
||||||
} from '../../../components/PaginatedDataList';
|
|
||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
|
|||||||
@@ -8,13 +8,11 @@ import { CredentialTypesAPI } from '../../../api';
|
|||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import {
|
|
||||||
ToolbarDeleteButton,
|
|
||||||
ToolbarAddButton,
|
|
||||||
} from '../../../components/PaginatedDataList';
|
|
||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarDeleteButton,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
|
|||||||
@@ -7,13 +7,11 @@ import { ExecutionEnvironmentsAPI } from '../../../api';
|
|||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import {
|
|
||||||
ToolbarDeleteButton,
|
|
||||||
ToolbarAddButton,
|
|
||||||
} from '../../../components/PaginatedDataList';
|
|
||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarDeleteButton,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ import ErrorDetail from '../../../components/ErrorDetail';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
|
||||||
import AssociateModal from '../../../components/AssociateModal';
|
import AssociateModal from '../../../components/AssociateModal';
|
||||||
import DisassociateButton from '../../../components/DisassociateButton';
|
import DisassociateButton from '../../../components/DisassociateButton';
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
|
|||||||
@@ -6,13 +6,11 @@ import { HostsAPI } from '../../../api';
|
|||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
|
||||||
ToolbarDeleteButton,
|
|
||||||
} from '../../../components/PaginatedDataList';
|
|
||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ import useSelected from '../../../util/useSelected';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarDeleteButton } from '../../../components/PaginatedDataList';
|
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import DatalistToolbar from '../../../components/DataListToolbar';
|
import DatalistToolbar from '../../../components/DataListToolbar';
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ import DataListToolbar from '../../../components/DataListToolbar';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
|
||||||
import DisassociateButton from '../../../components/DisassociateButton';
|
import DisassociateButton from '../../../components/DisassociateButton';
|
||||||
import AssociateModal from '../../../components/AssociateModal';
|
import AssociateModal from '../../../components/AssociateModal';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
|
|||||||
@@ -10,12 +10,10 @@ import DataListToolbar from '../../../components/DataListToolbar';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
|
||||||
|
|
||||||
import InventoryGroupItem from './InventoryGroupItem';
|
import InventoryGroupItem from './InventoryGroupItem';
|
||||||
import InventoryGroupsDeleteModal from '../shared/InventoryGroupsDeleteModal';
|
import InventoryGroupsDeleteModal from '../shared/InventoryGroupsDeleteModal';
|
||||||
|
|
||||||
import AdHocCommands from '../../../components/AdHocCommands/AdHocCommands';
|
import AdHocCommands from '../../../components/AdHocCommands/AdHocCommands';
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('group', {
|
const QS_CONFIG = getQSConfig('group', {
|
||||||
|
|||||||
@@ -15,8 +15,8 @@ import ErrorDetail from '../../../components/ErrorDetail';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
|
||||||
import AssociateModal from '../../../components/AssociateModal';
|
import AssociateModal from '../../../components/AssociateModal';
|
||||||
import DisassociateButton from '../../../components/DisassociateButton';
|
import DisassociateButton from '../../../components/DisassociateButton';
|
||||||
import AdHocCommands from '../../../components/AdHocCommands/AdHocCommands';
|
import AdHocCommands from '../../../components/AdHocCommands/AdHocCommands';
|
||||||
|
|||||||
@@ -10,11 +10,9 @@ import ErrorDetail from '../../../components/ErrorDetail';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import AdHocCommands from '../../../components/AdHocCommands/AdHocCommands';
|
import AdHocCommands from '../../../components/AdHocCommands/AdHocCommands';
|
||||||
import InventoryHostItem from './InventoryHostItem';
|
import InventoryHostItem from './InventoryHostItem';
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import useSelected from '../../../util/useSelected';
|
|||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import DatalistToolbar from '../../../components/DataListToolbar';
|
import DatalistToolbar from '../../../components/DataListToolbar';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import { ToolbarDeleteButton } from '../../../components/PaginatedDataList';
|
|
||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
import useWsInventories from './useWsInventories';
|
import useWsInventories from './useWsInventories';
|
||||||
|
|||||||
@@ -12,11 +12,9 @@ import { InventoriesAPI, InventorySourcesAPI } from '../../../api';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import DatalistToolbar from '../../../components/DataListToolbar';
|
import DatalistToolbar from '../../../components/DataListToolbar';
|
||||||
import AlertModal from '../../../components/AlertModal/AlertModal';
|
import AlertModal from '../../../components/AlertModal/AlertModal';
|
||||||
|
|||||||
@@ -13,11 +13,9 @@ import { NotificationTemplatesAPI } from '../../../api';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
|
|||||||
@@ -8,13 +8,11 @@ import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
|||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
|
||||||
ToolbarDeleteButton,
|
|
||||||
} from '../../../components/PaginatedDataList';
|
|
||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
|
|||||||
@@ -10,11 +10,9 @@ import ErrorDetail from '../../../components/ErrorDetail';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
|
|||||||
@@ -10,13 +10,11 @@ import useRequest, {
|
|||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
|
||||||
ToolbarDeleteButton,
|
|
||||||
} from '../../../components/PaginatedDataList';
|
|
||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import useWsProjects from './useWsProjects';
|
import useWsProjects from './useWsProjects';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
|
|||||||
@@ -12,11 +12,9 @@ import ErrorDetail from '../../../components/ErrorDetail';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
|
|
||||||
|
|||||||
@@ -15,12 +15,12 @@ import DataListToolbar from '../../../components/DataListToolbar';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import TeamRoleListItem from './TeamRoleListItem';
|
import TeamRoleListItem from './TeamRoleListItem';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
|
||||||
import UserAndTeamAccessAdd from '../../../components/UserAndTeamAccessAdd/UserAndTeamAccessAdd';
|
import UserAndTeamAccessAdd from '../../../components/UserAndTeamAccessAdd/UserAndTeamAccessAdd';
|
||||||
|
|
||||||
const QS_CONFIG = getQSConfig('roles', {
|
const QS_CONFIG = getQSConfig('roles', {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { CubesIcon } from '@patternfly/react-icons';
|
|||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import ContentLoading from '../../../components/ContentLoading';
|
import ContentLoading from '../../../components/ContentLoading';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
import { ToolbarAddButton } from '../../../components/PaginatedTable';
|
||||||
|
|
||||||
import SurveyListItem from './SurveyListItem';
|
import SurveyListItem from './SurveyListItem';
|
||||||
import SurveyToolbar from './SurveyToolbar';
|
import SurveyToolbar from './SurveyToolbar';
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import {
|
|||||||
ToolbarGroup,
|
ToolbarGroup,
|
||||||
ToolbarItem,
|
ToolbarItem,
|
||||||
} from '@patternfly/react-core';
|
} from '@patternfly/react-core';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
import { ToolbarAddButton } from '../../../components/PaginatedTable';
|
||||||
|
|
||||||
const Toolbar = styled(_Toolbar)`
|
const Toolbar = styled(_Toolbar)`
|
||||||
margin-left: 52px;
|
margin-left: 52px;
|
||||||
|
|||||||
@@ -10,11 +10,9 @@ import ErrorDetail from '../../../components/ErrorDetail';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
|
||||||
import DatalistToolbar from '../../../components/DataListToolbar';
|
import DatalistToolbar from '../../../components/DataListToolbar';
|
||||||
import UserRolesListItem from './UserRolesListItem';
|
import UserRolesListItem from './UserRolesListItem';
|
||||||
import UserAndTeamAccessAdd from '../../../components/UserAndTeamAccessAdd/UserAndTeamAccessAdd';
|
import UserAndTeamAccessAdd from '../../../components/UserAndTeamAccessAdd/UserAndTeamAccessAdd';
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import { t } from '@lingui/macro';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarAddButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarAddButton } from '../../../components/PaginatedDataList';
|
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
import DisassociateButton from '../../../components/DisassociateButton';
|
import DisassociateButton from '../../../components/DisassociateButton';
|
||||||
import AssociateModal from '../../../components/AssociateModal';
|
import AssociateModal from '../../../components/AssociateModal';
|
||||||
|
|||||||
@@ -6,11 +6,9 @@ import { getQSConfig, parseQueryString } from '../../../util/qs';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
} from '../../../components/PaginatedTable';
|
|
||||||
import {
|
|
||||||
ToolbarAddButton,
|
ToolbarAddButton,
|
||||||
ToolbarDeleteButton,
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedDataList';
|
} from '../../../components/PaginatedTable';
|
||||||
import useSelected from '../../../util/useSelected';
|
import useSelected from '../../../util/useSelected';
|
||||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||||
import { UsersAPI, TokensAPI } from '../../../api';
|
import { UsersAPI, TokensAPI } from '../../../api';
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import { WorkflowApprovalsAPI } from '../../../api';
|
|||||||
import PaginatedTable, {
|
import PaginatedTable, {
|
||||||
HeaderRow,
|
HeaderRow,
|
||||||
HeaderCell,
|
HeaderCell,
|
||||||
|
ToolbarDeleteButton,
|
||||||
} from '../../../components/PaginatedTable';
|
} from '../../../components/PaginatedTable';
|
||||||
import { ToolbarDeleteButton } from '../../../components/PaginatedDataList';
|
|
||||||
import AlertModal from '../../../components/AlertModal';
|
import AlertModal from '../../../components/AlertModal';
|
||||||
import ErrorDetail from '../../../components/ErrorDetail';
|
import ErrorDetail from '../../../components/ErrorDetail';
|
||||||
import DataListToolbar from '../../../components/DataListToolbar';
|
import DataListToolbar from '../../../components/DataListToolbar';
|
||||||
|
|||||||
Reference in New Issue
Block a user