Optimized resource filtering
This commit is contained in:
@ -50,28 +50,30 @@ export default function NodePage() {
|
|||||||
const node = useNode(nodeName);
|
const node = useNode(nodeName);
|
||||||
const [searchFilter, setSearchFilter] = useState("");
|
const [searchFilter, setSearchFilter] = useState("");
|
||||||
|
|
||||||
|
const filter = searchFilter.toLocaleLowerCase();
|
||||||
|
const filterResources = (resource) => {
|
||||||
|
return (
|
||||||
|
resource.name.toLowerCase().includes(filter) ||
|
||||||
|
resource.vmid.toString().includes(filter)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
const sortedLXCs = useMemo(() => {
|
const sortedLXCs = useMemo(() => {
|
||||||
if (!node.lxc.isSuccess) return [];
|
if (!node.lxc.isSuccess) return [];
|
||||||
const filter = searchFilter.toLocaleLowerCase();
|
let data = node.lxc.data;
|
||||||
return node.lxc.data
|
if (searchFilter.length > 0) {
|
||||||
.filter(
|
data = data.filter(filterResources);
|
||||||
(lxc) =>
|
}
|
||||||
lxc.name.toLowerCase().includes(filter) ||
|
return data.sort((a, b) => a.vmid - b.vmid);
|
||||||
lxc.vmid.toString().includes(filter)
|
|
||||||
)
|
|
||||||
.sort((a, b) => a.vmid - b.vmid);
|
|
||||||
}, [node.lxc.data, searchFilter]);
|
}, [node.lxc.data, searchFilter]);
|
||||||
|
|
||||||
const sortedVMs = useMemo(() => {
|
const sortedVMs = useMemo(() => {
|
||||||
if (!node.qemu.isSuccess) return [];
|
if (!node.qemu.isSuccess) return [];
|
||||||
const filter = searchFilter.toLocaleLowerCase();
|
let data = node.qemu.data;
|
||||||
return node.qemu.data
|
if (searchFilter.length > 0) {
|
||||||
.filter(
|
data = data.filter(filterResources);
|
||||||
(qemu) =>
|
}
|
||||||
qemu.name.toLowerCase().includes(filter) ||
|
return data.sort((a, b) => a.vmid - b.vmid);
|
||||||
qemu.vmid.toString().includes(filter)
|
|
||||||
)
|
|
||||||
.sort((a, b) => a.vmid - b.vmid);
|
|
||||||
}, [node.qemu.data, searchFilter]);
|
}, [node.qemu.data, searchFilter]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
Reference in New Issue
Block a user