1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-05 05:45:22 +02:00

feat(home): add connect and browse buttons [EE-4182] (#8175)

This commit is contained in:
Chaim Lev-Ari 2022-12-13 22:56:09 +02:00 committed by GitHub
parent db9d87c918
commit 8936ae9b7a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 296 additions and 179 deletions

View file

@ -0,0 +1,20 @@
import { useState } from 'react';
export function useListSelection<T>(
initialValue: Array<T> = [],
compareFn: (a: T, b: T) => boolean = (a, b) => a === b
) {
const [selectedItems, setSelectedItems] = useState<Array<T>>(initialValue);
function handleChangeSelect(currentItem: T, selected: boolean) {
if (selected) {
setSelectedItems((items) => [...items, currentItem]);
} else {
setSelectedItems((items) =>
items.filter((item) => !compareFn(item, currentItem))
);
}
}
return [selectedItems, handleChangeSelect] as const;
}