Line data Source code
1 43 : import React from 'react';
2 :
3 : import { FormSelect, FormSelectOption } from "@patternfly/react-core/dist/esm/components/FormSelect";
4 : import { SearchInput } from "@patternfly/react-core/dist/esm/components/SearchInput";
5 : import { Toolbar, ToolbarContent, ToolbarItem } from "@patternfly/react-core/dist/esm/components/Toolbar";
6 :
7 : import cockpit from 'cockpit';
8 43 : const _ = cockpit.gettext;
9 :
10 43 : const ContainerHeader = ({ users, ownerFilter, handleOwnerChanged, textFilter, handleFilterChanged }) => {
11 43 : return (
12 43 : <Toolbar inset={{ sm: 'insetSm', default: 'insetNone' }}>
13 43 : <ToolbarContent alignItems='baseline'>
14 43 : { users.length >= 2 &&
15 27 : <>
16 27 : <ToolbarItem variant="label">
17 27 : {_("Owner")}
18 27 : </ToolbarItem>
19 27 : <ToolbarItem>
20 1 : <FormSelect id="containers-containers-owner" value={ownerFilter} onChange={(_, value) => handleOwnerChanged(value)}>
21 27 : { users.map(user => <FormSelectOption key={user.name}
22 27 : value={user.uid == null ? "user" : user.uid}
23 27 : label={user.name} />) }
24 27 : <FormSelectOption value='all' label={_("All")} />
25 27 : </FormSelect>
26 27 : </ToolbarItem>
27 27 : </>
28 : }
29 43 : <ToolbarItem>
30 43 : <SearchInput id="containers-filter"
31 43 : placeholder={_("Type to filter…")}
32 43 : value={textFilter}
33 3 : onChange={(_, value) => handleFilterChanged(value)}
34 3 : onClear={() => handleFilterChanged('')}
35 43 : />
36 43 : </ToolbarItem>
37 43 : </ToolbarContent>
38 43 : </Toolbar>
39 : );
40 43 : };
41 :
42 43 : export default ContainerHeader;
|