UNPKG

@netdata/netdata-ui

Version:

netdata UI kit

28 lines 904 B
import { useCallback, useEffect, useState, useRef } from "react"; var noop = function noop() {}; var emptyObj = {}; export default (function (defaultColumnSizing, onChange) { if (defaultColumnSizing === void 0) { defaultColumnSizing = emptyObj; } if (onChange === void 0) { onChange = noop; } var _useState = useState(function () { return defaultColumnSizing; }), columnSizing = _useState[0], setColumnSizing = _useState[1]; var initialSetRef = useRef(false); useEffect(function () { if (columnSizing === defaultColumnSizing) return; initialSetRef.current = true; setColumnSizing(defaultColumnSizing); }, [defaultColumnSizing]); var onSizingChange = useCallback(function (getValue) { var newValue = getValue(columnSizing); onChange(newValue); setColumnSizing(newValue); }, [columnSizing]); return [columnSizing, onSizingChange]; });