material-react-table 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/MaterialReactTable.d.ts +8 -32
- package/dist/cjs/index.js +47 -538
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/MaterialReactTable.d.ts +8 -32
- package/dist/esm/material-react-table.esm.js +46 -537
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/index.d.ts +8 -32
- package/package.json +5 -5
- package/src/MaterialReactTable.tsx +8 -59
- package/src/body/MRT_TableBodyCell.tsx +4 -1
- package/src/buttons/MRT_EditActionButtons.tsx +2 -2
- package/src/inputs/MRT_EditCellTextField.tsx +20 -27
- package/src/table/MRT_TableRoot.tsx +13 -12
package/dist/cjs/index.js
CHANGED
|
@@ -7,6 +7,7 @@ var reactTable = require('@tanstack/react-table');
|
|
|
7
7
|
var iconsMaterial = require('@mui/icons-material');
|
|
8
8
|
var matchSorterUtils = require('@tanstack/match-sorter-utils');
|
|
9
9
|
var material = require('@mui/material');
|
|
10
|
+
var reactVirtual = require('react-virtual');
|
|
10
11
|
|
|
11
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
13
|
|
|
@@ -881,7 +882,7 @@ const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) =
|
|
|
881
882
|
};
|
|
882
883
|
|
|
883
884
|
const MRT_EditActionButtons = ({ row, table }) => {
|
|
884
|
-
const { getState, options: { icons: { CancelIcon, SaveIcon }, localization,
|
|
885
|
+
const { getState, options: { icons: { CancelIcon, SaveIcon }, localization, onEditingRowSave, }, setEditingRow, } = table;
|
|
885
886
|
const { editingRow } = getState();
|
|
886
887
|
const handleCancel = () => {
|
|
887
888
|
row._valuesCache = Object.assign({}, row.original);
|
|
@@ -889,7 +890,7 @@ const MRT_EditActionButtons = ({ row, table }) => {
|
|
|
889
890
|
};
|
|
890
891
|
const handleSave = () => {
|
|
891
892
|
var _a;
|
|
892
|
-
|
|
893
|
+
onEditingRowSave === null || onEditingRowSave === void 0 ? void 0 : onEditingRowSave({
|
|
893
894
|
row: editingRow !== null && editingRow !== void 0 ? editingRow : row,
|
|
894
895
|
table,
|
|
895
896
|
values: (_a = editingRow === null || editingRow === void 0 ? void 0 : editingRow._valuesCache) !== null && _a !== void 0 ? _a : Object.assign({}, row.original),
|
|
@@ -1738,513 +1739,31 @@ const MRT_TableHead = ({ table }) => {
|
|
|
1738
1739
|
return (React__default["default"].createElement(material.TableHead, Object.assign({}, tableHeadProps), getHeaderGroups().map((headerGroup) => (React__default["default"].createElement(MRT_TableHeadRow, { headerGroup: headerGroup, key: headerGroup.id, table: table })))));
|
|
1739
1740
|
};
|
|
1740
1741
|
|
|
1741
|
-
function _extends() {
|
|
1742
|
-
_extends = Object.assign || function (target) {
|
|
1743
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
1744
|
-
var source = arguments[i];
|
|
1745
|
-
|
|
1746
|
-
for (var key in source) {
|
|
1747
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
1748
|
-
target[key] = source[key];
|
|
1749
|
-
}
|
|
1750
|
-
}
|
|
1751
|
-
}
|
|
1752
|
-
|
|
1753
|
-
return target;
|
|
1754
|
-
};
|
|
1755
|
-
|
|
1756
|
-
return _extends.apply(this, arguments);
|
|
1757
|
-
}
|
|
1758
|
-
|
|
1759
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
1760
|
-
if (source == null) return {};
|
|
1761
|
-
var target = {};
|
|
1762
|
-
var sourceKeys = Object.keys(source);
|
|
1763
|
-
var key, i;
|
|
1764
|
-
|
|
1765
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
1766
|
-
key = sourceKeys[i];
|
|
1767
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
1768
|
-
target[key] = source[key];
|
|
1769
|
-
}
|
|
1770
|
-
|
|
1771
|
-
return target;
|
|
1772
|
-
}
|
|
1773
|
-
|
|
1774
|
-
var props = ['bottom', 'height', 'left', 'right', 'top', 'width'];
|
|
1775
|
-
|
|
1776
|
-
var rectChanged = function rectChanged(a, b) {
|
|
1777
|
-
if (a === void 0) {
|
|
1778
|
-
a = {};
|
|
1779
|
-
}
|
|
1780
|
-
|
|
1781
|
-
if (b === void 0) {
|
|
1782
|
-
b = {};
|
|
1783
|
-
}
|
|
1784
|
-
|
|
1785
|
-
return props.some(function (prop) {
|
|
1786
|
-
return a[prop] !== b[prop];
|
|
1787
|
-
});
|
|
1788
|
-
};
|
|
1789
|
-
|
|
1790
|
-
var observedNodes = /*#__PURE__*/new Map();
|
|
1791
|
-
var rafId;
|
|
1792
|
-
|
|
1793
|
-
var run = function run() {
|
|
1794
|
-
var changedStates = [];
|
|
1795
|
-
observedNodes.forEach(function (state, node) {
|
|
1796
|
-
var newRect = node.getBoundingClientRect();
|
|
1797
|
-
|
|
1798
|
-
if (rectChanged(newRect, state.rect)) {
|
|
1799
|
-
state.rect = newRect;
|
|
1800
|
-
changedStates.push(state);
|
|
1801
|
-
}
|
|
1802
|
-
});
|
|
1803
|
-
changedStates.forEach(function (state) {
|
|
1804
|
-
state.callbacks.forEach(function (cb) {
|
|
1805
|
-
return cb(state.rect);
|
|
1806
|
-
});
|
|
1807
|
-
});
|
|
1808
|
-
rafId = window.requestAnimationFrame(run);
|
|
1809
|
-
};
|
|
1810
|
-
|
|
1811
|
-
function observeRect(node, cb) {
|
|
1812
|
-
return {
|
|
1813
|
-
observe: function observe() {
|
|
1814
|
-
var wasEmpty = observedNodes.size === 0;
|
|
1815
|
-
|
|
1816
|
-
if (observedNodes.has(node)) {
|
|
1817
|
-
observedNodes.get(node).callbacks.push(cb);
|
|
1818
|
-
} else {
|
|
1819
|
-
observedNodes.set(node, {
|
|
1820
|
-
rect: undefined,
|
|
1821
|
-
hasRectChanged: false,
|
|
1822
|
-
callbacks: [cb]
|
|
1823
|
-
});
|
|
1824
|
-
}
|
|
1825
|
-
|
|
1826
|
-
if (wasEmpty) run();
|
|
1827
|
-
},
|
|
1828
|
-
unobserve: function unobserve() {
|
|
1829
|
-
var state = observedNodes.get(node);
|
|
1830
|
-
|
|
1831
|
-
if (state) {
|
|
1832
|
-
// Remove the callback
|
|
1833
|
-
var index = state.callbacks.indexOf(cb);
|
|
1834
|
-
if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference
|
|
1835
|
-
|
|
1836
|
-
if (!state.callbacks.length) observedNodes["delete"](node); // Stop the loop
|
|
1837
|
-
|
|
1838
|
-
if (!observedNodes.size) cancelAnimationFrame(rafId);
|
|
1839
|
-
}
|
|
1840
|
-
}
|
|
1841
|
-
};
|
|
1842
|
-
}
|
|
1843
|
-
|
|
1844
|
-
var useIsomorphicLayoutEffect$1 = typeof window !== 'undefined' ? React__default["default"].useLayoutEffect : React__default["default"].useEffect;
|
|
1845
|
-
|
|
1846
|
-
function useRect(nodeRef, initialRect) {
|
|
1847
|
-
if (initialRect === void 0) {
|
|
1848
|
-
initialRect = {
|
|
1849
|
-
width: 0,
|
|
1850
|
-
height: 0
|
|
1851
|
-
};
|
|
1852
|
-
}
|
|
1853
|
-
|
|
1854
|
-
var _React$useState = React__default["default"].useState(nodeRef.current),
|
|
1855
|
-
element = _React$useState[0],
|
|
1856
|
-
setElement = _React$useState[1];
|
|
1857
|
-
|
|
1858
|
-
var _React$useReducer = React__default["default"].useReducer(rectReducer, initialRect),
|
|
1859
|
-
rect = _React$useReducer[0],
|
|
1860
|
-
dispatch = _React$useReducer[1];
|
|
1861
|
-
|
|
1862
|
-
var initialRectSet = React__default["default"].useRef(false);
|
|
1863
|
-
useIsomorphicLayoutEffect$1(function () {
|
|
1864
|
-
if (nodeRef.current !== element) {
|
|
1865
|
-
setElement(nodeRef.current);
|
|
1866
|
-
}
|
|
1867
|
-
});
|
|
1868
|
-
useIsomorphicLayoutEffect$1(function () {
|
|
1869
|
-
if (element && !initialRectSet.current) {
|
|
1870
|
-
initialRectSet.current = true;
|
|
1871
|
-
|
|
1872
|
-
var _rect = element.getBoundingClientRect();
|
|
1873
|
-
|
|
1874
|
-
dispatch({
|
|
1875
|
-
rect: _rect
|
|
1876
|
-
});
|
|
1877
|
-
}
|
|
1878
|
-
}, [element]);
|
|
1879
|
-
React__default["default"].useEffect(function () {
|
|
1880
|
-
if (!element) {
|
|
1881
|
-
return;
|
|
1882
|
-
}
|
|
1883
|
-
|
|
1884
|
-
var observer = observeRect(element, function (rect) {
|
|
1885
|
-
dispatch({
|
|
1886
|
-
rect: rect
|
|
1887
|
-
});
|
|
1888
|
-
});
|
|
1889
|
-
observer.observe();
|
|
1890
|
-
return function () {
|
|
1891
|
-
observer.unobserve();
|
|
1892
|
-
};
|
|
1893
|
-
}, [element]);
|
|
1894
|
-
return rect;
|
|
1895
|
-
}
|
|
1896
|
-
|
|
1897
|
-
function rectReducer(state, action) {
|
|
1898
|
-
var rect = action.rect;
|
|
1899
|
-
|
|
1900
|
-
if (state.height !== rect.height || state.width !== rect.width) {
|
|
1901
|
-
return rect;
|
|
1902
|
-
}
|
|
1903
|
-
|
|
1904
|
-
return state;
|
|
1905
|
-
}
|
|
1906
|
-
|
|
1907
|
-
var defaultEstimateSize = function defaultEstimateSize() {
|
|
1908
|
-
return 50;
|
|
1909
|
-
};
|
|
1910
|
-
|
|
1911
|
-
var defaultKeyExtractor = function defaultKeyExtractor(index) {
|
|
1912
|
-
return index;
|
|
1913
|
-
};
|
|
1914
|
-
|
|
1915
|
-
var defaultMeasureSize = function defaultMeasureSize(el, horizontal) {
|
|
1916
|
-
var key = horizontal ? 'offsetWidth' : 'offsetHeight';
|
|
1917
|
-
return el[key];
|
|
1918
|
-
};
|
|
1919
|
-
|
|
1920
|
-
var defaultRangeExtractor = function defaultRangeExtractor(range) {
|
|
1921
|
-
var start = Math.max(range.start - range.overscan, 0);
|
|
1922
|
-
var end = Math.min(range.end + range.overscan, range.size - 1);
|
|
1923
|
-
var arr = [];
|
|
1924
|
-
|
|
1925
|
-
for (var i = start; i <= end; i++) {
|
|
1926
|
-
arr.push(i);
|
|
1927
|
-
}
|
|
1928
|
-
|
|
1929
|
-
return arr;
|
|
1930
|
-
};
|
|
1931
|
-
function useVirtual(_ref) {
|
|
1932
|
-
var _measurements;
|
|
1933
|
-
|
|
1934
|
-
var _ref$size = _ref.size,
|
|
1935
|
-
size = _ref$size === void 0 ? 0 : _ref$size,
|
|
1936
|
-
_ref$estimateSize = _ref.estimateSize,
|
|
1937
|
-
estimateSize = _ref$estimateSize === void 0 ? defaultEstimateSize : _ref$estimateSize,
|
|
1938
|
-
_ref$overscan = _ref.overscan,
|
|
1939
|
-
overscan = _ref$overscan === void 0 ? 1 : _ref$overscan,
|
|
1940
|
-
_ref$paddingStart = _ref.paddingStart,
|
|
1941
|
-
paddingStart = _ref$paddingStart === void 0 ? 0 : _ref$paddingStart,
|
|
1942
|
-
_ref$paddingEnd = _ref.paddingEnd,
|
|
1943
|
-
paddingEnd = _ref$paddingEnd === void 0 ? 0 : _ref$paddingEnd,
|
|
1944
|
-
parentRef = _ref.parentRef,
|
|
1945
|
-
horizontal = _ref.horizontal,
|
|
1946
|
-
scrollToFn = _ref.scrollToFn,
|
|
1947
|
-
useObserver = _ref.useObserver,
|
|
1948
|
-
initialRect = _ref.initialRect,
|
|
1949
|
-
onScrollElement = _ref.onScrollElement,
|
|
1950
|
-
scrollOffsetFn = _ref.scrollOffsetFn,
|
|
1951
|
-
_ref$keyExtractor = _ref.keyExtractor,
|
|
1952
|
-
keyExtractor = _ref$keyExtractor === void 0 ? defaultKeyExtractor : _ref$keyExtractor,
|
|
1953
|
-
_ref$measureSize = _ref.measureSize,
|
|
1954
|
-
measureSize = _ref$measureSize === void 0 ? defaultMeasureSize : _ref$measureSize,
|
|
1955
|
-
_ref$rangeExtractor = _ref.rangeExtractor,
|
|
1956
|
-
rangeExtractor = _ref$rangeExtractor === void 0 ? defaultRangeExtractor : _ref$rangeExtractor;
|
|
1957
|
-
var sizeKey = horizontal ? 'width' : 'height';
|
|
1958
|
-
var scrollKey = horizontal ? 'scrollLeft' : 'scrollTop';
|
|
1959
|
-
var latestRef = React__default["default"].useRef({
|
|
1960
|
-
scrollOffset: 0,
|
|
1961
|
-
measurements: []
|
|
1962
|
-
});
|
|
1963
|
-
|
|
1964
|
-
var _React$useState = React__default["default"].useState(0),
|
|
1965
|
-
scrollOffset = _React$useState[0],
|
|
1966
|
-
setScrollOffset = _React$useState[1];
|
|
1967
|
-
|
|
1968
|
-
latestRef.current.scrollOffset = scrollOffset;
|
|
1969
|
-
var useMeasureParent = useObserver || useRect;
|
|
1970
|
-
|
|
1971
|
-
var _useMeasureParent = useMeasureParent(parentRef, initialRect),
|
|
1972
|
-
outerSize = _useMeasureParent[sizeKey];
|
|
1973
|
-
|
|
1974
|
-
latestRef.current.outerSize = outerSize;
|
|
1975
|
-
var defaultScrollToFn = React__default["default"].useCallback(function (offset) {
|
|
1976
|
-
if (parentRef.current) {
|
|
1977
|
-
parentRef.current[scrollKey] = offset;
|
|
1978
|
-
}
|
|
1979
|
-
}, [parentRef, scrollKey]);
|
|
1980
|
-
var resolvedScrollToFn = scrollToFn || defaultScrollToFn;
|
|
1981
|
-
scrollToFn = React__default["default"].useCallback(function (offset) {
|
|
1982
|
-
resolvedScrollToFn(offset, defaultScrollToFn);
|
|
1983
|
-
}, [defaultScrollToFn, resolvedScrollToFn]);
|
|
1984
|
-
|
|
1985
|
-
var _React$useState2 = React__default["default"].useState({}),
|
|
1986
|
-
measuredCache = _React$useState2[0],
|
|
1987
|
-
setMeasuredCache = _React$useState2[1];
|
|
1988
|
-
|
|
1989
|
-
var measure = React__default["default"].useCallback(function () {
|
|
1990
|
-
return setMeasuredCache({});
|
|
1991
|
-
}, []);
|
|
1992
|
-
var pendingMeasuredCacheIndexesRef = React__default["default"].useRef([]);
|
|
1993
|
-
var measurements = React__default["default"].useMemo(function () {
|
|
1994
|
-
var min = pendingMeasuredCacheIndexesRef.current.length > 0 ? Math.min.apply(Math, pendingMeasuredCacheIndexesRef.current) : 0;
|
|
1995
|
-
pendingMeasuredCacheIndexesRef.current = [];
|
|
1996
|
-
var measurements = latestRef.current.measurements.slice(0, min);
|
|
1997
|
-
|
|
1998
|
-
for (var i = min; i < size; i++) {
|
|
1999
|
-
var key = keyExtractor(i);
|
|
2000
|
-
var measuredSize = measuredCache[key];
|
|
2001
|
-
|
|
2002
|
-
var _start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;
|
|
2003
|
-
|
|
2004
|
-
var _size = typeof measuredSize === 'number' ? measuredSize : estimateSize(i);
|
|
2005
|
-
|
|
2006
|
-
var _end = _start + _size;
|
|
2007
|
-
|
|
2008
|
-
measurements[i] = {
|
|
2009
|
-
index: i,
|
|
2010
|
-
start: _start,
|
|
2011
|
-
size: _size,
|
|
2012
|
-
end: _end,
|
|
2013
|
-
key: key
|
|
2014
|
-
};
|
|
2015
|
-
}
|
|
2016
|
-
|
|
2017
|
-
return measurements;
|
|
2018
|
-
}, [estimateSize, measuredCache, paddingStart, size, keyExtractor]);
|
|
2019
|
-
var totalSize = (((_measurements = measurements[size - 1]) == null ? void 0 : _measurements.end) || paddingStart) + paddingEnd;
|
|
2020
|
-
latestRef.current.measurements = measurements;
|
|
2021
|
-
latestRef.current.totalSize = totalSize;
|
|
2022
|
-
var element = onScrollElement ? onScrollElement.current : parentRef.current;
|
|
2023
|
-
var scrollOffsetFnRef = React__default["default"].useRef(scrollOffsetFn);
|
|
2024
|
-
scrollOffsetFnRef.current = scrollOffsetFn;
|
|
2025
|
-
useIsomorphicLayoutEffect$1(function () {
|
|
2026
|
-
if (!element) {
|
|
2027
|
-
setScrollOffset(0);
|
|
2028
|
-
return;
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
|
-
var onScroll = function onScroll(event) {
|
|
2032
|
-
var offset = scrollOffsetFnRef.current ? scrollOffsetFnRef.current(event) : element[scrollKey];
|
|
2033
|
-
setScrollOffset(offset);
|
|
2034
|
-
};
|
|
2035
|
-
|
|
2036
|
-
onScroll();
|
|
2037
|
-
element.addEventListener('scroll', onScroll, {
|
|
2038
|
-
capture: false,
|
|
2039
|
-
passive: true
|
|
2040
|
-
});
|
|
2041
|
-
return function () {
|
|
2042
|
-
element.removeEventListener('scroll', onScroll);
|
|
2043
|
-
};
|
|
2044
|
-
}, [element, scrollKey]);
|
|
2045
|
-
|
|
2046
|
-
var _calculateRange = calculateRange(latestRef.current),
|
|
2047
|
-
start = _calculateRange.start,
|
|
2048
|
-
end = _calculateRange.end;
|
|
2049
|
-
|
|
2050
|
-
var indexes = React__default["default"].useMemo(function () {
|
|
2051
|
-
return rangeExtractor({
|
|
2052
|
-
start: start,
|
|
2053
|
-
end: end,
|
|
2054
|
-
overscan: overscan,
|
|
2055
|
-
size: measurements.length
|
|
2056
|
-
});
|
|
2057
|
-
}, [start, end, overscan, measurements.length, rangeExtractor]);
|
|
2058
|
-
var measureSizeRef = React__default["default"].useRef(measureSize);
|
|
2059
|
-
measureSizeRef.current = measureSize;
|
|
2060
|
-
var virtualItems = React__default["default"].useMemo(function () {
|
|
2061
|
-
var virtualItems = [];
|
|
2062
|
-
|
|
2063
|
-
var _loop = function _loop(k, len) {
|
|
2064
|
-
var i = indexes[k];
|
|
2065
|
-
var measurement = measurements[i];
|
|
2066
|
-
|
|
2067
|
-
var item = _extends(_extends({}, measurement), {}, {
|
|
2068
|
-
measureRef: function measureRef(el) {
|
|
2069
|
-
if (el) {
|
|
2070
|
-
var measuredSize = measureSizeRef.current(el, horizontal);
|
|
2071
|
-
|
|
2072
|
-
if (measuredSize !== item.size) {
|
|
2073
|
-
var _scrollOffset = latestRef.current.scrollOffset;
|
|
2074
|
-
|
|
2075
|
-
if (item.start < _scrollOffset) {
|
|
2076
|
-
defaultScrollToFn(_scrollOffset + (measuredSize - item.size));
|
|
2077
|
-
}
|
|
2078
|
-
|
|
2079
|
-
pendingMeasuredCacheIndexesRef.current.push(i);
|
|
2080
|
-
setMeasuredCache(function (old) {
|
|
2081
|
-
var _extends2;
|
|
2082
|
-
|
|
2083
|
-
return _extends(_extends({}, old), {}, (_extends2 = {}, _extends2[item.key] = measuredSize, _extends2));
|
|
2084
|
-
});
|
|
2085
|
-
}
|
|
2086
|
-
}
|
|
2087
|
-
}
|
|
2088
|
-
});
|
|
2089
|
-
|
|
2090
|
-
virtualItems.push(item);
|
|
2091
|
-
};
|
|
2092
|
-
|
|
2093
|
-
for (var k = 0, len = indexes.length; k < len; k++) {
|
|
2094
|
-
_loop(k);
|
|
2095
|
-
}
|
|
2096
|
-
|
|
2097
|
-
return virtualItems;
|
|
2098
|
-
}, [indexes, defaultScrollToFn, horizontal, measurements]);
|
|
2099
|
-
var mountedRef = React__default["default"].useRef(false);
|
|
2100
|
-
useIsomorphicLayoutEffect$1(function () {
|
|
2101
|
-
if (mountedRef.current) {
|
|
2102
|
-
setMeasuredCache({});
|
|
2103
|
-
}
|
|
2104
|
-
|
|
2105
|
-
mountedRef.current = true;
|
|
2106
|
-
}, [estimateSize]);
|
|
2107
|
-
var scrollToOffset = React__default["default"].useCallback(function (toOffset, _temp) {
|
|
2108
|
-
var _ref2 = _temp === void 0 ? {} : _temp,
|
|
2109
|
-
_ref2$align = _ref2.align,
|
|
2110
|
-
align = _ref2$align === void 0 ? 'start' : _ref2$align;
|
|
2111
|
-
|
|
2112
|
-
var _latestRef$current = latestRef.current,
|
|
2113
|
-
scrollOffset = _latestRef$current.scrollOffset,
|
|
2114
|
-
outerSize = _latestRef$current.outerSize;
|
|
2115
|
-
|
|
2116
|
-
if (align === 'auto') {
|
|
2117
|
-
if (toOffset <= scrollOffset) {
|
|
2118
|
-
align = 'start';
|
|
2119
|
-
} else if (toOffset >= scrollOffset + outerSize) {
|
|
2120
|
-
align = 'end';
|
|
2121
|
-
} else {
|
|
2122
|
-
align = 'start';
|
|
2123
|
-
}
|
|
2124
|
-
}
|
|
2125
|
-
|
|
2126
|
-
if (align === 'start') {
|
|
2127
|
-
scrollToFn(toOffset);
|
|
2128
|
-
} else if (align === 'end') {
|
|
2129
|
-
scrollToFn(toOffset - outerSize);
|
|
2130
|
-
} else if (align === 'center') {
|
|
2131
|
-
scrollToFn(toOffset - outerSize / 2);
|
|
2132
|
-
}
|
|
2133
|
-
}, [scrollToFn]);
|
|
2134
|
-
var tryScrollToIndex = React__default["default"].useCallback(function (index, _temp2) {
|
|
2135
|
-
var _ref3 = _temp2 === void 0 ? {} : _temp2,
|
|
2136
|
-
_ref3$align = _ref3.align,
|
|
2137
|
-
align = _ref3$align === void 0 ? 'auto' : _ref3$align,
|
|
2138
|
-
rest = _objectWithoutPropertiesLoose(_ref3, ["align"]);
|
|
2139
|
-
|
|
2140
|
-
var _latestRef$current2 = latestRef.current,
|
|
2141
|
-
measurements = _latestRef$current2.measurements,
|
|
2142
|
-
scrollOffset = _latestRef$current2.scrollOffset,
|
|
2143
|
-
outerSize = _latestRef$current2.outerSize;
|
|
2144
|
-
var measurement = measurements[Math.max(0, Math.min(index, size - 1))];
|
|
2145
|
-
|
|
2146
|
-
if (!measurement) {
|
|
2147
|
-
return;
|
|
2148
|
-
}
|
|
2149
|
-
|
|
2150
|
-
if (align === 'auto') {
|
|
2151
|
-
if (measurement.end >= scrollOffset + outerSize) {
|
|
2152
|
-
align = 'end';
|
|
2153
|
-
} else if (measurement.start <= scrollOffset) {
|
|
2154
|
-
align = 'start';
|
|
2155
|
-
} else {
|
|
2156
|
-
return;
|
|
2157
|
-
}
|
|
2158
|
-
}
|
|
2159
|
-
|
|
2160
|
-
var toOffset = align === 'center' ? measurement.start + measurement.size / 2 : align === 'end' ? measurement.end : measurement.start;
|
|
2161
|
-
scrollToOffset(toOffset, _extends({
|
|
2162
|
-
align: align
|
|
2163
|
-
}, rest));
|
|
2164
|
-
}, [scrollToOffset, size]);
|
|
2165
|
-
var scrollToIndex = React__default["default"].useCallback(function () {
|
|
2166
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
2167
|
-
args[_key] = arguments[_key];
|
|
2168
|
-
}
|
|
2169
|
-
|
|
2170
|
-
// We do a double request here because of
|
|
2171
|
-
// dynamic sizes which can cause offset shift
|
|
2172
|
-
// and end up in the wrong spot. Unfortunately,
|
|
2173
|
-
// we can't know about those dynamic sizes until
|
|
2174
|
-
// we try and render them. So double down!
|
|
2175
|
-
tryScrollToIndex.apply(void 0, args);
|
|
2176
|
-
requestAnimationFrame(function () {
|
|
2177
|
-
tryScrollToIndex.apply(void 0, args);
|
|
2178
|
-
});
|
|
2179
|
-
}, [tryScrollToIndex]);
|
|
2180
|
-
return {
|
|
2181
|
-
virtualItems: virtualItems,
|
|
2182
|
-
totalSize: totalSize,
|
|
2183
|
-
scrollToOffset: scrollToOffset,
|
|
2184
|
-
scrollToIndex: scrollToIndex,
|
|
2185
|
-
measure: measure
|
|
2186
|
-
};
|
|
2187
|
-
}
|
|
2188
|
-
|
|
2189
|
-
var findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {
|
|
2190
|
-
while (low <= high) {
|
|
2191
|
-
var middle = (low + high) / 2 | 0;
|
|
2192
|
-
var currentValue = getCurrentValue(middle);
|
|
2193
|
-
|
|
2194
|
-
if (currentValue < value) {
|
|
2195
|
-
low = middle + 1;
|
|
2196
|
-
} else if (currentValue > value) {
|
|
2197
|
-
high = middle - 1;
|
|
2198
|
-
} else {
|
|
2199
|
-
return middle;
|
|
2200
|
-
}
|
|
2201
|
-
}
|
|
2202
|
-
|
|
2203
|
-
if (low > 0) {
|
|
2204
|
-
return low - 1;
|
|
2205
|
-
} else {
|
|
2206
|
-
return 0;
|
|
2207
|
-
}
|
|
2208
|
-
};
|
|
2209
|
-
|
|
2210
|
-
function calculateRange(_ref4) {
|
|
2211
|
-
var measurements = _ref4.measurements,
|
|
2212
|
-
outerSize = _ref4.outerSize,
|
|
2213
|
-
scrollOffset = _ref4.scrollOffset;
|
|
2214
|
-
var size = measurements.length - 1;
|
|
2215
|
-
|
|
2216
|
-
var getOffset = function getOffset(index) {
|
|
2217
|
-
return measurements[index].start;
|
|
2218
|
-
};
|
|
2219
|
-
|
|
2220
|
-
var start = findNearestBinarySearch(0, size, getOffset, scrollOffset);
|
|
2221
|
-
var end = start;
|
|
2222
|
-
|
|
2223
|
-
while (end < size && measurements[end].end < scrollOffset + outerSize) {
|
|
2224
|
-
end++;
|
|
2225
|
-
}
|
|
2226
|
-
|
|
2227
|
-
return {
|
|
2228
|
-
start: start,
|
|
2229
|
-
end: end
|
|
2230
|
-
};
|
|
2231
|
-
}
|
|
2232
|
-
|
|
2233
1742
|
const MRT_EditCellTextField = ({ cell, table }) => {
|
|
2234
1743
|
var _a;
|
|
2235
|
-
const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps
|
|
1744
|
+
const { getState, options: { tableId, muiTableBodyCellEditTextFieldProps }, setEditingCell, setEditingRow, } = table;
|
|
2236
1745
|
const { column, row } = cell;
|
|
2237
1746
|
const { columnDef } = column;
|
|
2238
1747
|
const { editingRow } = getState();
|
|
2239
1748
|
const [value, setValue] = React.useState(() => cell.getValue());
|
|
1749
|
+
const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
|
|
1750
|
+
? muiTableBodyCellEditTextFieldProps({ cell, table })
|
|
1751
|
+
: muiTableBodyCellEditTextFieldProps;
|
|
1752
|
+
const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
|
|
1753
|
+
? columnDef.muiTableBodyCellEditTextFieldProps({
|
|
1754
|
+
cell,
|
|
1755
|
+
table,
|
|
1756
|
+
})
|
|
1757
|
+
: columnDef.muiTableBodyCellEditTextFieldProps;
|
|
1758
|
+
const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
|
|
2240
1759
|
const handleChange = (event) => {
|
|
2241
1760
|
var _a;
|
|
1761
|
+
(_a = textFieldProps.onChange) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
|
|
2242
1762
|
setValue(event.target.value);
|
|
2243
|
-
(_a = columnDef.onCellEditChange) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
|
|
2244
|
-
onCellEditChange === null || onCellEditChange === void 0 ? void 0 : onCellEditChange({ event, cell, table, value });
|
|
2245
1763
|
};
|
|
2246
1764
|
const handleBlur = (event) => {
|
|
2247
1765
|
var _a;
|
|
1766
|
+
(_a = textFieldProps.onBlur) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, event);
|
|
2248
1767
|
if (editingRow) {
|
|
2249
1768
|
if (!row._valuesCache)
|
|
2250
1769
|
row._valuesCache = {};
|
|
@@ -2252,23 +1771,11 @@ const MRT_EditCellTextField = ({ cell, table }) => {
|
|
|
2252
1771
|
setEditingRow(Object.assign({}, editingRow));
|
|
2253
1772
|
}
|
|
2254
1773
|
setEditingCell(null);
|
|
2255
|
-
(_a = columnDef.onCellEditBlur) === null || _a === void 0 ? void 0 : _a.call(columnDef, { event, cell, table, value });
|
|
2256
|
-
onCellEditBlur === null || onCellEditBlur === void 0 ? void 0 : onCellEditBlur({ event, cell, table, value });
|
|
2257
1774
|
};
|
|
2258
|
-
const mTableBodyCellEditTextFieldProps = muiTableBodyCellEditTextFieldProps instanceof Function
|
|
2259
|
-
? muiTableBodyCellEditTextFieldProps({ cell, table })
|
|
2260
|
-
: muiTableBodyCellEditTextFieldProps;
|
|
2261
|
-
const mcTableBodyCellEditTextFieldProps = columnDef.muiTableBodyCellEditTextFieldProps instanceof Function
|
|
2262
|
-
? columnDef.muiTableBodyCellEditTextFieldProps({
|
|
2263
|
-
cell,
|
|
2264
|
-
table,
|
|
2265
|
-
})
|
|
2266
|
-
: columnDef.muiTableBodyCellEditTextFieldProps;
|
|
2267
|
-
const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
|
|
2268
1775
|
if (columnDef.Edit) {
|
|
2269
1776
|
return React__default["default"].createElement(React__default["default"].Fragment, null, (_a = columnDef.Edit) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, table }));
|
|
2270
1777
|
}
|
|
2271
|
-
return (React__default["default"].createElement(material.TextField, Object.assign({ id: `mrt-${tableId}-edit-cell-text-field-${cell.id}`, margin: "none",
|
|
1778
|
+
return (React__default["default"].createElement(material.TextField, Object.assign({ id: `mrt-${tableId}-edit-cell-text-field-${cell.id}`, margin: "none", onClick: (e) => e.stopPropagation(), placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps, { onBlur: handleBlur, onChange: handleChange })));
|
|
2272
1779
|
};
|
|
2273
1780
|
|
|
2274
1781
|
const MRT_CopyButton = ({ cell, children, table }) => {
|
|
@@ -2430,7 +1937,10 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
|
|
|
2430
1937
|
: column.getIsPinned()
|
|
2431
1938
|
? 1
|
|
2432
1939
|
: undefined, '&:hover': {
|
|
2433
|
-
backgroundColor: enableHover &&
|
|
1940
|
+
backgroundColor: enableHover &&
|
|
1941
|
+
enableEditing &&
|
|
1942
|
+
columnDef.enableEditing !== false &&
|
|
1943
|
+
editingMode !== 'row'
|
|
2434
1944
|
? theme.palette.mode === 'dark'
|
|
2435
1945
|
? `${material.lighten(theme.palette.background.default, 0.13)} !important`
|
|
2436
1946
|
: `${material.darken(theme.palette.background.default, 0.07)} !important`
|
|
@@ -2535,7 +2045,7 @@ const MRT_TableBody = ({ table, tableContainerRef }) => {
|
|
|
2535
2045
|
globalFilter,
|
|
2536
2046
|
]);
|
|
2537
2047
|
const rowVirtualizer = enableRowVirtualization
|
|
2538
|
-
? useVirtual(Object.assign({ size: rows.length, parentRef: tableContainerRef, overscan: 15 }, vProps))
|
|
2048
|
+
? reactVirtual.useVirtual(Object.assign({ size: rows.length, parentRef: tableContainerRef, overscan: 15 }, vProps))
|
|
2539
2049
|
: {};
|
|
2540
2050
|
// const rowVirtualizer: Virtualizer = enableRowVirtualization
|
|
2541
2051
|
// ? useVirtualizer({
|
|
@@ -2700,7 +2210,7 @@ const MRT_TablePaper = ({ table }) => {
|
|
|
2700
2210
|
};
|
|
2701
2211
|
|
|
2702
2212
|
const MRT_TableRoot = (props) => {
|
|
2703
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7
|
|
2213
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
|
|
2704
2214
|
const [tableId, setIdPrefix] = React.useState(props.tableId);
|
|
2705
2215
|
React.useEffect(() => { var _a; return setIdPrefix((_a = props.tableId) !== null && _a !== void 0 ? _a : Math.random().toString(36).substring(2, 9)); }, [props.tableId]);
|
|
2706
2216
|
const initialState = React.useMemo(() => {
|
|
@@ -2708,34 +2218,33 @@ const MRT_TableRoot = (props) => {
|
|
|
2708
2218
|
const initState = (_a = props.initialState) !== null && _a !== void 0 ? _a : {};
|
|
2709
2219
|
initState.columnOrder =
|
|
2710
2220
|
(_b = initState.columnOrder) !== null && _b !== void 0 ? _b : getDefaultColumnOrderIds(props);
|
|
2711
|
-
initState.columnFilterFns = Object.assign({}, ...getAllLeafColumnDefs(props.columns).map((col) => {
|
|
2712
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
2713
|
-
return ({
|
|
2714
|
-
[(_d = (_b = (_a = col.id) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : (_c = col.accessorKey) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : '']: col.filterFn instanceof Function
|
|
2715
|
-
? (_e = col.filterFn.name) !== null && _e !== void 0 ? _e : 'custom'
|
|
2716
|
-
: (_m = (_f = col.filterFn) !== null && _f !== void 0 ? _f : (_g = initialState === null || initialState === void 0 ? void 0 : initialState.columnFilterFns) === null || _g === void 0 ? void 0 : _g[(_l = (_j = (_h = col.id) === null || _h === void 0 ? void 0 : _h.toString()) !== null && _j !== void 0 ? _j : (_k = col.accessorKey) === null || _k === void 0 ? void 0 : _k.toString()) !== null && _l !== void 0 ? _l : '']) !== null && _m !== void 0 ? _m : getDefaultColumnFilterFn(col),
|
|
2717
|
-
});
|
|
2718
|
-
}));
|
|
2719
2221
|
initState.globalFilterFn =
|
|
2720
2222
|
props.globalFilterFn instanceof String
|
|
2721
2223
|
? props.globalFilterFn
|
|
2722
2224
|
: 'fuzzy';
|
|
2723
2225
|
return initState;
|
|
2724
2226
|
}, []);
|
|
2725
|
-
const [columnFilterFns, setColumnFilterFns] = React.useState((
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
const [
|
|
2734
|
-
const [
|
|
2735
|
-
const [
|
|
2736
|
-
const [
|
|
2737
|
-
const [
|
|
2738
|
-
const [
|
|
2227
|
+
const [columnFilterFns, setColumnFilterFns] = React.useState(() => Object.assign({}, ...getAllLeafColumnDefs(props.columns).map((col) => {
|
|
2228
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
2229
|
+
return ({
|
|
2230
|
+
[(_d = (_b = (_a = col.id) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : (_c = col.accessorKey) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : '']: col.filterFn instanceof Function
|
|
2231
|
+
? (_e = col.filterFn.name) !== null && _e !== void 0 ? _e : 'custom'
|
|
2232
|
+
: (_m = (_f = col.filterFn) !== null && _f !== void 0 ? _f : (_g = initialState === null || initialState === void 0 ? void 0 : initialState.columnFilterFns) === null || _g === void 0 ? void 0 : _g[(_l = (_j = (_h = col.id) === null || _h === void 0 ? void 0 : _h.toString()) !== null && _j !== void 0 ? _j : (_k = col.accessorKey) === null || _k === void 0 ? void 0 : _k.toString()) !== null && _l !== void 0 ? _l : '']) !== null && _m !== void 0 ? _m : getDefaultColumnFilterFn(col),
|
|
2233
|
+
});
|
|
2234
|
+
})));
|
|
2235
|
+
const [columnOrder, setColumnOrder] = React.useState((_a = initialState.columnOrder) !== null && _a !== void 0 ? _a : []);
|
|
2236
|
+
const [density, setDensity] = React.useState((_b = initialState === null || initialState === void 0 ? void 0 : initialState.density) !== null && _b !== void 0 ? _b : 'comfortable');
|
|
2237
|
+
const [draggingColumn, setDraggingColumn] = React.useState((_c = initialState.draggingColumn) !== null && _c !== void 0 ? _c : null);
|
|
2238
|
+
const [draggingRow, setDraggingRow] = React.useState((_d = initialState.draggingRow) !== null && _d !== void 0 ? _d : null);
|
|
2239
|
+
const [editingCell, setEditingCell] = React.useState((_e = initialState.editingCell) !== null && _e !== void 0 ? _e : null);
|
|
2240
|
+
const [editingRow, setEditingRow] = React.useState((_f = initialState.editingRow) !== null && _f !== void 0 ? _f : null);
|
|
2241
|
+
const [globalFilterFn, setGlobalFilterFn] = React.useState((_g = initialState.globalFilterFn) !== null && _g !== void 0 ? _g : 'fuzzy');
|
|
2242
|
+
const [hoveredColumn, setHoveredColumn] = React.useState((_h = initialState.hoveredColumn) !== null && _h !== void 0 ? _h : null);
|
|
2243
|
+
const [hoveredRow, setHoveredRow] = React.useState((_j = initialState.hoveredRow) !== null && _j !== void 0 ? _j : null);
|
|
2244
|
+
const [isFullScreen, setIsFullScreen] = React.useState((_k = initialState === null || initialState === void 0 ? void 0 : initialState.isFullScreen) !== null && _k !== void 0 ? _k : false);
|
|
2245
|
+
const [showAlertBanner, setShowAlertBanner] = React.useState((_m = (_l = props.initialState) === null || _l === void 0 ? void 0 : _l.showAlertBanner) !== null && _m !== void 0 ? _m : false);
|
|
2246
|
+
const [showColumnFilters, setShowFilters] = React.useState((_o = initialState === null || initialState === void 0 ? void 0 : initialState.showColumnFilters) !== null && _o !== void 0 ? _o : false);
|
|
2247
|
+
const [showGlobalFilter, setShowGlobalFilter] = React.useState((_p = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _p !== void 0 ? _p : false);
|
|
2739
2248
|
const displayColumns = React.useMemo(() => {
|
|
2740
2249
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
2741
2250
|
return [
|
|
@@ -2780,11 +2289,11 @@ const MRT_TableRoot = (props) => {
|
|
|
2780
2289
|
});
|
|
2781
2290
|
})))
|
|
2782
2291
|
: props.data;
|
|
2783
|
-
}, [props.data, (
|
|
2292
|
+
}, [props.data, (_q = props.state) === null || _q === void 0 ? void 0 : _q.isLoading, (_r = props.state) === null || _r === void 0 ? void 0 : _r.showSkeletons]);
|
|
2784
2293
|
//@ts-ignore
|
|
2785
2294
|
const table = Object.assign(Object.assign({}, reactTable.useReactTable(Object.assign(Object.assign({ getCoreRowModel: reactTable.getCoreRowModel(), getExpandedRowModel: reactTable.getExpandedRowModel(), getFacetedRowModel: reactTable.getFacetedRowModel(), getFilteredRowModel: reactTable.getFilteredRowModel(), getGroupedRowModel: reactTable.getGroupedRowModel(), getPaginationRowModel: reactTable.getPaginationRowModel(), getSortedRowModel: reactTable.getSortedRowModel(), onColumnOrderChange: setColumnOrder, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows }, props), {
|
|
2786
2295
|
//@ts-ignore
|
|
2787
|
-
columns: columnDefs, data, globalFilterFn: (
|
|
2296
|
+
columns: columnDefs, data, globalFilterFn: (_t = (_s = props.filterFns) === null || _s === void 0 ? void 0 : _s[globalFilterFn]) !== null && _t !== void 0 ? _t : (_u = props.filterFns) === null || _u === void 0 ? void 0 : _u.fuzzy, initialState, state: Object.assign({ columnFilterFns,
|
|
2788
2297
|
columnOrder,
|
|
2789
2298
|
density,
|
|
2790
2299
|
draggingColumn,
|
|
@@ -2797,7 +2306,7 @@ const MRT_TableRoot = (props) => {
|
|
|
2797
2306
|
isFullScreen,
|
|
2798
2307
|
showAlertBanner,
|
|
2799
2308
|
showColumnFilters,
|
|
2800
|
-
showGlobalFilter }, props.state), tableId }))), { setColumnFilterFns: (
|
|
2309
|
+
showGlobalFilter }, props.state), tableId }))), { setColumnFilterFns: (_v = props.onFilterFnsChange) !== null && _v !== void 0 ? _v : setColumnFilterFns, setDensity: (_w = props.onDensityChange) !== null && _w !== void 0 ? _w : setDensity, setDraggingColumn: (_x = props.onDraggingColumnChange) !== null && _x !== void 0 ? _x : setDraggingColumn, setDraggingRow: (_y = props.onDraggingRowChange) !== null && _y !== void 0 ? _y : setDraggingRow, setEditingCell: (_z = props.onEditingCellChange) !== null && _z !== void 0 ? _z : setEditingCell, setEditingRow: (_0 = props.onEditingRowChange) !== null && _0 !== void 0 ? _0 : setEditingRow, setGlobalFilterFn: (_1 = props.onGlobalFilterFnChange) !== null && _1 !== void 0 ? _1 : setGlobalFilterFn, setHoveredColumn: (_2 = props.onHoveredColumnChange) !== null && _2 !== void 0 ? _2 : setHoveredColumn, setHoveredRow: (_3 = props.onHoveredRowChange) !== null && _3 !== void 0 ? _3 : setHoveredRow, setIsFullScreen: (_4 = props.onIsFullScreenChange) !== null && _4 !== void 0 ? _4 : setIsFullScreen, setShowAlertBanner: (_5 = props.onShowAlertBannerChange) !== null && _5 !== void 0 ? _5 : setShowAlertBanner, setShowFilters: (_6 = props.onShowFiltersChange) !== null && _6 !== void 0 ? _6 : setShowFilters, setShowGlobalFilter: (_7 = props.onShowGlobalFilterChange) !== null && _7 !== void 0 ? _7 : setShowGlobalFilter });
|
|
2801
2310
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
2802
2311
|
React__default["default"].createElement(material.Dialog, { PaperComponent: material.Box, TransitionComponent: material.Grow, disablePortal: true, fullScreen: true, keepMounted: false, onClose: () => setIsFullScreen(false), open: isFullScreen, transitionDuration: 400 },
|
|
2803
2312
|
React__default["default"].createElement(MRT_TablePaper, { table: table })),
|