UNPKG

@netdata/netdata-ui

Version:

netdata UI kit

19 lines 628 B
import { useCallback } from "react"; export var useCheckboxesList = function useCheckboxesList(values, handlers) { var checked = values.every(function (isChecked) { return isChecked; }); var isIndeterminate = !checked && values.includes(false) && values.includes(true); var switchAllCheckboxes = useCallback(function () { if (checked) { handlers.forEach(function (handler) { return handler(false); }); } else { handlers.forEach(function (handler) { return handler(true); }); } }, [checked, handlers]); return [checked, isIndeterminate, switchAllCheckboxes]; };