mirror of
https://github.com/ansible/awx.git
synced 2026-05-17 22:37:41 -02:30
Add item count to DataListToolbar
Signed-off-by: Vadiem Janssens <info@vadiemjanssens.nl>
This commit is contained in:
@@ -20,6 +20,7 @@ import { SearchColumns, SortColumns, QSConfig } from '../../types';
|
|||||||
class DataListToolbar extends React.Component {
|
class DataListToolbar extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
|
itemCount,
|
||||||
clearAllFilters,
|
clearAllFilters,
|
||||||
searchColumns,
|
searchColumns,
|
||||||
sortColumns,
|
sortColumns,
|
||||||
@@ -85,6 +86,9 @@ class DataListToolbar extends React.Component {
|
|||||||
</Fragment>
|
</Fragment>
|
||||||
</ToolbarGroup>
|
</ToolbarGroup>
|
||||||
)}
|
)}
|
||||||
|
<ToolbarItem id="item-count">
|
||||||
|
{itemCount} {i18n._(t`results`)}
|
||||||
|
</ToolbarItem>
|
||||||
<ToolbarGroup>
|
<ToolbarGroup>
|
||||||
{additionalControls.map(control => (
|
{additionalControls.map(control => (
|
||||||
<ToolbarItem key={control.key}>{control}</ToolbarItem>
|
<ToolbarItem key={control.key}>{control}</ToolbarItem>
|
||||||
@@ -97,6 +101,7 @@ class DataListToolbar extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
DataListToolbar.propTypes = {
|
DataListToolbar.propTypes = {
|
||||||
|
itemCount: PropTypes.number,
|
||||||
clearAllFilters: PropTypes.func,
|
clearAllFilters: PropTypes.func,
|
||||||
qsConfig: QSConfig.isRequired,
|
qsConfig: QSConfig.isRequired,
|
||||||
searchColumns: SearchColumns.isRequired,
|
searchColumns: SearchColumns.isRequired,
|
||||||
@@ -114,6 +119,7 @@ DataListToolbar.propTypes = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
DataListToolbar.defaultProps = {
|
DataListToolbar.defaultProps = {
|
||||||
|
itemCount: 0,
|
||||||
clearAllFilters: null,
|
clearAllFilters: null,
|
||||||
showSelectAll: false,
|
showSelectAll: false,
|
||||||
isAllSelected: false,
|
isAllSelected: false,
|
||||||
|
|||||||
@@ -285,4 +285,21 @@ describe('<DataListToolbar />', () => {
|
|||||||
const checkbox = toolbar.find('Checkbox');
|
const checkbox = toolbar.find('Checkbox');
|
||||||
expect(checkbox.prop('isChecked')).toBe(true);
|
expect(checkbox.prop('isChecked')).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('it shows item count', () => {
|
||||||
|
const searchColumns = [{ name: 'Name', key: 'name', isDefault: true }];
|
||||||
|
const sortColumns = [{ name: 'Name', key: 'name' }];
|
||||||
|
const itemCount = 5;
|
||||||
|
|
||||||
|
toolbar = mountWithContexts(
|
||||||
|
<DataListToolbar
|
||||||
|
qsConfig={QS_CONFIG}
|
||||||
|
searchColumns={searchColumns}
|
||||||
|
sortColumns={sortColumns}
|
||||||
|
itemCount={itemCount}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
const count = toolbar.find('#item-count');
|
||||||
|
expect(count.at(0).text()).toEqual('5 results');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ class ListHeader extends React.Component {
|
|||||||
) : (
|
) : (
|
||||||
<Fragment>
|
<Fragment>
|
||||||
{renderToolbar({
|
{renderToolbar({
|
||||||
|
itemCount,
|
||||||
searchColumns,
|
searchColumns,
|
||||||
sortColumns,
|
sortColumns,
|
||||||
onSearch: this.handleSearch,
|
onSearch: this.handleSearch,
|
||||||
|
|||||||
Reference in New Issue
Block a user