update search keys for various lists in the mvp

This commit is contained in:
John Mitchell 2019-12-18 12:44:04 -05:00
parent 51a6ba14f1
commit 2d00623c16
10 changed files with 236 additions and 63 deletions

View File

@ -148,6 +148,14 @@ class AddResourceRole extends React.Component {
key: 'username',
isDefault: true
},
{
name: i18n._(t`First name`),
key: 'first_name',
},
{
name: i18n._(t`Last name`),
key: 'last_name',
}
];
const userSortColumns = [
@ -155,11 +163,19 @@ class AddResourceRole extends React.Component {
name: i18n._(t`Username`),
key: 'username',
},
{
name: i18n._(t`First name`),
key: 'first_name',
},
{
name: i18n._(t`Last name`),
key: 'last_name',
}
];
const teamSearchColumns = [
{
name: i18n._(t`name`),
name: i18n._(t`Name`),
key: 'name',
isDefault: true
},
@ -167,7 +183,7 @@ class AddResourceRole extends React.Component {
const teamSortColumns = [
{
name: i18n._(t`name`),
name: i18n._(t`Name`),
key: 'name',
},
];

View File

@ -70,6 +70,23 @@ function OrganizationLookup({
header={i18n._(t`Organization`)}
name="organization"
qsConfig={QS_CONFIG}
searchColumns={[
{
name: i18n._(t`Name`),
key: 'name',
isDefault: true
},
{
name: i18n._(t`Team name`),
key: 'teams__name',
}
]}
sortColumns={[
{
name: i18n._(t`Name`),
key: 'name',
},
]}
readOnly={!canDelete}
selectItem={item => dispatch({ type: 'SELECT_ITEM', item })}
deselectItem={item => dispatch({ type: 'DESELECT_ITEM', item })}

View File

@ -8,6 +8,7 @@ import {
string,
oneOfType,
} from 'prop-types';
import styled from 'styled-components';
import { withI18n } from '@lingui/react';
import { t } from '@lingui/macro';
import SelectedList from '../../SelectedList';
@ -16,11 +17,18 @@ import CheckboxListItem from '../../CheckboxListItem';
import DataListToolbar from '../../DataListToolbar';
import { QSConfig, SearchColumns, SortColumns } from '@types';
const ModalList = styled.div`
.pf-c-data-toolbar__content {
padding: 0 !important;
}
`;
function OptionsList({
value,
options,
optionCount,
columns,
searchColumns,
sortColumns,
multiple,
header,
name,
@ -33,7 +41,7 @@ function OptionsList({
i18n,
}) {
return (
<div>
<ModalList>
{value.length > 0 && (
<SelectedList
label={i18n._(t`Selected`)}
@ -49,7 +57,8 @@ function OptionsList({
itemCount={optionCount}
pluralizedItemName={header}
qsConfig={qsConfig}
toolbarColumns={columns}
toolbarSearchColumns={searchColumns}
toolbarSortColumns={sortColumns}
hasContentLoading={isLoading}
onRowClick={selectItem}
renderItem={item => (
@ -67,7 +76,7 @@ function OptionsList({
renderToolbar={props => <DataListToolbar {...props} fillWidth />}
showPageSizeOptions={false}
/>
</div>
</ModalList>
);
}

View File

@ -177,6 +177,33 @@ function InventoryGroupsList({ i18n, location, match }) {
itemCount={groupCount}
qsConfig={QS_CONFIG}
onRowClick={handleSelect}
toolbarSearchColumns={[
{
name: i18n._(t`Name`),
key: 'name',
isDefault: true
},
{
name: i18n._(t`Is root group`),
key: 'parents__isnull',
isDefault: true,
isBoolean: true
},
{
name: i18n._(t`Created by (username)`),
key: 'created_by__username',
},
{
name: i18n._(t`Modified by (username)`),
key: 'modified_by__username',
},
]}
toolbarSortColumns={[
{
name: i18n._(t`Name`),
key: 'name'
}
]}
renderItem={item => (
<InventoryGroupItem
key={item.id}

View File

@ -131,27 +131,28 @@ function InventoryHosts({ i18n, location, match }) {
itemCount={hostCount}
pluralizedItemName={i18n._(t`Hosts`)}
qsConfig={QS_CONFIG}
onRowClick={handleSelect}
toolbarColumns={[
onRowClick={this.handleSelect}
toolbarSearchColumns={[
{
name: i18n._(t`Name`),
key: 'name',
isSortable: true,
isSearchable: true,
isDefault: true
},
{
name: i18n._(t`Modified`),
key: 'modified',
isSortable: true,
isNumeric: true,
name: i18n._(t`Created by (username)`),
key: 'created_by__username',
},
{
name: i18n._(t`Created`),
key: 'created',
isSortable: true,
isNumeric: true,
name: i18n._(t`Modified by (username)`),
key: 'modified_by__username',
},
]}
toolbarSortColumns={[
{
name: i18n._(t`Name`),
key: 'name'
}
]}
renderToolbar={props => (
<DataListToolbar
{...props}

View File

@ -28,7 +28,7 @@ const QS_CONFIG = getQSConfig('job', {
page_size: 20,
order_by: '-finished',
not__launch_type: 'sync',
});
}, ['page', 'page_size', 'id']);
class JobList extends Component {
constructor(props) {
@ -170,15 +170,95 @@ class JobList extends Component {
isDefault: true
},
{
name: i18n._(t`Finished`),
key: 'finished',
name: i18n._(t`ID`),
key: 'id'
},
{
name: i18n._(t`Label name`),
key: 'label__name'
},
{
name: i18n._(t`Job type`),
key: `type`,
options: [
[
`project_update`,
i18n._(t`SCM Update`)
],
[
`inventory_update`,
i18n._(t`Inventory Sync`)
],
[
`job`,
i18n._(t`Playbook Run`)
],
[
`ad_hoc_command`,
i18n._(t`Command`)
],
[
`system_job`,
i18n._(t`Management Job`)
],
[
`workflow_job`,
i18n._(t`Workflow Job`)
]
]
},
{
name: i18n._(t`Created by (username)`),
key: 'created_by__username'
},
{
name: i18n._(t`Status`),
key: 'status',
options: [
[
`new`,
i18n._(t`New`)
],
[
`pending`,
i18n._(t`Pending`)
],
[
`waiting`,
i18n._(t`Waiting`)
],
[
`running`,
i18n._(t`Running`)
],
[
`successful`,
i18n._(t`Successful`)
],
[
`failed`,
i18n._(t`Failed`)
],
[
`error`,
i18n._(t`Error`)
],
[
`canceled`,
i18n._(t`Canceled`)
]
]
}
]}
toolbarSortColumns={[
{
name: i18n._(t`Name`),
key: 'name',
},
{
name: i18n._(t`ID`),
key: 'id',
},
{
name: i18n._(t`Finished`),
key: 'finished',

View File

@ -163,27 +163,48 @@ class ProjectsList extends Component {
isDefault: true
},
{
name: i18n._(t`Modified`),
key: 'modified',
name: i18n._(t`Type`),
options: [
[
``,
i18n._(t`Manual`)
],
[
`git`,
i18n._(t`Git`)
],
[
`hg`,
i18n._(t`Mercurial`)
],
[
`svn`,
i18n._(t`Subversion`)
],
[
`insights`,
i18n._(t`Red Hat Insights`)
]
]
},
{
name: i18n._(t`Created`),
key: 'created',
name: i18n._(t`SCM URL`),
key: 'scm_url',
},
{
name: i18n._(t`Modified by (username)`),
key: 'modified_by__username',
},
{
name: i18n._(t`Created by (username)`),
key: 'created_by__username',
},
]}
toolbarSortColumns={[
{
name: i18n._(t`Name`),
key: 'name',
},
{
name: i18n._(t`Modified`),
key: 'modified',
},
{
name: i18n._(t`Created`),
key: 'created',
},
}
]}
renderToolbar={props => (
<DataListToolbar

View File

@ -161,12 +161,8 @@ class TeamsList extends Component {
isDefault: true
},
{
name: i18n._(t`Modified`),
key: 'modified',
},
{
name: i18n._(t`Created`),
key: 'created',
name: i18n._(t`Organization name`),
key: 'organization__name',
},
]}
toolbarSortColumns={[
@ -174,14 +170,6 @@ class TeamsList extends Component {
name: i18n._(t`Name`),
key: 'name',
},
{
name: i18n._(t`Modified`),
key: 'modified',
},
{
name: i18n._(t`Created`),
key: 'created',
},
]}
renderToolbar={props => (
<DataListToolbar

View File

@ -221,12 +221,30 @@ class TemplatesList extends Component {
isDefault: true
},
{
name: i18n._(t`Modified`),
key: 'modified',
name: i18n._(t`Type`),
key: 'type',
options: [
[
`job_template`,
i18n._(t`Job Template`)
],
[
`workflow_job_template`,
i18n._(t`Workflow Template`)
],
]
},
{
name: i18n._(t`Created`),
key: 'created',
name: i18n._(t`Playbook name`),
key: 'job_template__playbook',
},
{
name: i18n._(t`Created by (username)`),
key: 'created_by__username',
},
{
name: i18n._(t`Modified by (username)`),
key: 'modified_by__username',
},
]}
toolbarSortColumns={[
@ -235,12 +253,8 @@ class TemplatesList extends Component {
key: 'name',
},
{
name: i18n._(t`Modified`),
key: 'modified',
},
{
name: i18n._(t`Created`),
key: 'created',
name: i18n._(t`Type`),
key: 'type',
},
]}
renderToolbar={props => (

View File

@ -161,13 +161,13 @@ class UsersList extends Component {
isDefault: true
},
{
name: i18n._(t`First Name`),
name: i18n._(t`First name`),
key: 'first_name',
},
{
name: i18n._(t`Last Name`),
name: i18n._(t`Last name`),
key: 'last_name',
},
}
]}
toolbarSortColumns={[
{
@ -176,11 +176,11 @@ class UsersList extends Component {
isDefault: true
},
{
name: i18n._(t`First Name`),
name: i18n._(t`First name`),
key: 'first_name',
},
{
name: i18n._(t`Last Name`),
name: i18n._(t`Last name`),
key: 'last_name',
},
]}