mirror of
https://github.com/dec0dOS/zero-ui.git
synced 2025-08-19 21:03:56 -07:00
parent
8785b94392
commit
cb6c64799c
1 changed files with 51 additions and 13 deletions
|
@ -3,8 +3,10 @@ import {
|
||||||
AccordionDetails,
|
AccordionDetails,
|
||||||
AccordionSummary,
|
AccordionSummary,
|
||||||
Checkbox,
|
Checkbox,
|
||||||
|
Divider,
|
||||||
Grid,
|
Grid,
|
||||||
IconButton,
|
IconButton,
|
||||||
|
TextField,
|
||||||
Typography,
|
Typography,
|
||||||
} from "@material-ui/core";
|
} from "@material-ui/core";
|
||||||
import ExpandMoreIcon from "@material-ui/icons/ExpandMore";
|
import ExpandMoreIcon from "@material-ui/icons/ExpandMore";
|
||||||
|
@ -24,6 +26,9 @@ import MemberSettings from "./components/MemberSettings";
|
||||||
function NetworkMembers({ network }) {
|
function NetworkMembers({ network }) {
|
||||||
const { nwid } = useParams();
|
const { nwid } = useParams();
|
||||||
const [members, setMembers] = useState([]);
|
const [members, setMembers] = useState([]);
|
||||||
|
const [filter, setFilter] = useState("");
|
||||||
|
const [filterActive, setFilterActive] = useState(false);
|
||||||
|
const [filterInactive, setFilterInactive] = useState(false);
|
||||||
|
|
||||||
const fetchData = useCallback(async () => {
|
const fetchData = useCallback(async () => {
|
||||||
try {
|
try {
|
||||||
|
@ -169,12 +174,45 @@ function NetworkMembers({ network }) {
|
||||||
<IconButton color="primary" onClick={fetchData}>
|
<IconButton color="primary" onClick={fetchData}>
|
||||||
<RefreshIcon />
|
<RefreshIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
|
<Grid container>
|
||||||
|
<Grid item sm={6}>
|
||||||
|
<Typography>Search (Addr/Name)</Typography>
|
||||||
|
<TextField
|
||||||
|
value={filter}
|
||||||
|
onChange={(e) => setFilter(e.target.value)}
|
||||||
|
/>
|
||||||
|
</Grid>
|
||||||
|
<Grid item sm="auto">
|
||||||
|
<Typography>Display Filter</Typography>
|
||||||
|
<Checkbox
|
||||||
|
checked={filterActive}
|
||||||
|
color="primary"
|
||||||
|
onChange={(e) => setFilterActive(e.target.checked)}
|
||||||
|
/>
|
||||||
|
<span>Active</span>
|
||||||
|
<Checkbox
|
||||||
|
checked={filterInactive}
|
||||||
|
color="primary"
|
||||||
|
onChange={(e) => setFilterInactive(e.target.checked)}
|
||||||
|
/>
|
||||||
|
<span>Inactive</span>
|
||||||
|
</Grid>
|
||||||
|
<Divider />
|
||||||
|
</Grid>
|
||||||
<Grid container>
|
<Grid container>
|
||||||
{members.length ? (
|
{members.length ? (
|
||||||
<DataTable
|
<DataTable
|
||||||
noHeader={true}
|
noHeader={true}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
data={[...members]}
|
data={[...members]
|
||||||
|
.filter((x) => {
|
||||||
|
return (
|
||||||
|
(x.name.includes(filter) || x.id.includes(filter)) &&
|
||||||
|
(filterActive ? x.online === 1 : true) &&
|
||||||
|
(filterInactive ? x.online === 0 : true)
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<Grid
|
<Grid
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue