@bigbinary/neetoui 8.3.17 → 8.3.18
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/DatePicker.js +2 -2
- package/dist/Table.js +166 -74
- package/dist/Table.js.map +1 -1
- package/dist/TimePicker.js +2 -2
- package/dist/cjs/DatePicker.js +2 -2
- package/dist/cjs/Table.js +167 -75
- package/dist/cjs/Table.js.map +1 -1
- package/dist/cjs/TimePicker.js +2 -2
- package/dist/cjs/{index-CieE5GK9.js → index-Be_yfDyM.js} +2 -2
- package/dist/cjs/{index-CieE5GK9.js.map → index-Be_yfDyM.js.map} +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/{useRestoreScrollPosition-Ck_b0Nh4.js → useRestoreScrollPosition-ByQwrqTS.js} +9 -2
- package/dist/cjs/useRestoreScrollPosition-ByQwrqTS.js.map +1 -0
- package/dist/{index-ffKXwGCh.js → index-DqcLcdQ2.js} +2 -2
- package/dist/{index-ffKXwGCh.js.map → index-DqcLcdQ2.js.map} +1 -1
- package/dist/index.js +2 -2
- package/dist/{useRestoreScrollPosition-B3J6xSHt.js → useRestoreScrollPosition-9jPpcAT1.js} +6 -2
- package/dist/useRestoreScrollPosition-9jPpcAT1.js.map +1 -0
- package/package.json +1 -1
- package/types/Table.d.ts +1 -0
- package/dist/cjs/useRestoreScrollPosition-Ck_b0Nh4.js.map +0 -1
- package/dist/useRestoreScrollPosition-B3J6xSHt.js.map +0 -1
package/dist/cjs/Table.js
CHANGED
|
@@ -22,7 +22,7 @@ var useQueryParams = require('./useQueryParams-l5fJJYCR.js');
|
|
|
22
22
|
var Button = require('./Button.js');
|
|
23
23
|
var Callout = require('./Callout.js');
|
|
24
24
|
var Typography = require('./Typography.js');
|
|
25
|
-
var useRestoreScrollPosition = require('./useRestoreScrollPosition-
|
|
25
|
+
var useRestoreScrollPosition = require('./useRestoreScrollPosition-ByQwrqTS.js');
|
|
26
26
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
27
27
|
var Popover = require('./Popover.js');
|
|
28
28
|
var reactResizable = require('react-resizable');
|
|
@@ -208,6 +208,7 @@ var TitleWithInfoIcon = function TitleWithInfoIcon(_ref) {
|
|
|
208
208
|
style: "body2"
|
|
209
209
|
}, description))));
|
|
210
210
|
};
|
|
211
|
+
var TitleWithInfoIcon$1 = /*#__PURE__*/React.memo(TitleWithInfoIcon);
|
|
211
212
|
|
|
212
213
|
var _excluded$4 = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "isFixedColumn", "isColumnFreezeEnabled", "onColumnHide", "onAddColumn", "onColumnDelete", "onColumnFreeze", "onMoreActionClick", "column", "moreActions"];
|
|
213
214
|
var CellContent = function CellContent(_ref) {
|
|
@@ -262,6 +263,7 @@ var CellContent = function CellContent(_ref) {
|
|
|
262
263
|
isHidable: isColumnHidable
|
|
263
264
|
})));
|
|
264
265
|
};
|
|
266
|
+
var CellContent$1 = /*#__PURE__*/React.memo(CellContent);
|
|
265
267
|
|
|
266
268
|
var _excluded$3 = ["onResize", "width", "onResizeStop", "className"];
|
|
267
269
|
var HeaderCell = function HeaderCell(props) {
|
|
@@ -271,7 +273,7 @@ var HeaderCell = function HeaderCell(props) {
|
|
|
271
273
|
className = props.className,
|
|
272
274
|
restProps = _objectWithoutProperties(props, _excluded$3);
|
|
273
275
|
if (!width) {
|
|
274
|
-
return /*#__PURE__*/React.createElement(CellContent, _extends({}, restProps, {
|
|
276
|
+
return /*#__PURE__*/React.createElement(CellContent$1, _extends({}, restProps, {
|
|
275
277
|
className: classnames(className, "drag-handler")
|
|
276
278
|
}));
|
|
277
279
|
}
|
|
@@ -292,10 +294,11 @@ var HeaderCell = function HeaderCell(props) {
|
|
|
292
294
|
onResizeStart: function onResizeStart(e) {
|
|
293
295
|
e.preventDefault();
|
|
294
296
|
}
|
|
295
|
-
}, /*#__PURE__*/React.createElement(CellContent, _extends({}, restProps, {
|
|
297
|
+
}, /*#__PURE__*/React.createElement(CellContent$1, _extends({}, restProps, {
|
|
296
298
|
className: classnames(className, "drag-handler")
|
|
297
299
|
})));
|
|
298
300
|
};
|
|
301
|
+
var HeaderCell$1 = /*#__PURE__*/React.memo(HeaderCell);
|
|
299
302
|
|
|
300
303
|
var _excluded$2 = ["onResize", "width", "onResizeStop", "onResizeStart"];
|
|
301
304
|
var ResizableHeaderCell = function ResizableHeaderCell(props) {
|
|
@@ -309,7 +312,7 @@ var ResizableHeaderCell = function ResizableHeaderCell(props) {
|
|
|
309
312
|
isResizing = _useState2[0],
|
|
310
313
|
setIsResizing = _useState2[1];
|
|
311
314
|
if (!width) {
|
|
312
|
-
return /*#__PURE__*/React.createElement(CellContent, restProps);
|
|
315
|
+
return /*#__PURE__*/React.createElement(CellContent$1, restProps);
|
|
313
316
|
}
|
|
314
317
|
return /*#__PURE__*/React.createElement(reactResizable.Resizable, _defineProperty({
|
|
315
318
|
onResize: onResize,
|
|
@@ -337,14 +340,15 @@ var ResizableHeaderCell = function ResizableHeaderCell(props) {
|
|
|
337
340
|
}, "onResizeStop", function onResizeStop(e, data) {
|
|
338
341
|
setIsResizing(false);
|
|
339
342
|
_onResizeStop === null || _onResizeStop === void 0 || _onResizeStop(e, data);
|
|
340
|
-
}), /*#__PURE__*/React.createElement(CellContent, restProps));
|
|
343
|
+
}), /*#__PURE__*/React.createElement(CellContent$1, restProps));
|
|
341
344
|
};
|
|
345
|
+
var ResizableHeaderCell$1 = /*#__PURE__*/React.memo(ResizableHeaderCell);
|
|
342
346
|
|
|
343
347
|
var _excluded$1 = ["className"];
|
|
344
348
|
var ReorderableHeaderCell = function ReorderableHeaderCell(_ref) {
|
|
345
349
|
var className = _ref.className,
|
|
346
350
|
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
347
|
-
return /*#__PURE__*/React.createElement(CellContent, _extends({}, props, {
|
|
351
|
+
return /*#__PURE__*/React.createElement(CellContent$1, _extends({}, props, {
|
|
348
352
|
className: classnames(className, "drag-handler")
|
|
349
353
|
}));
|
|
350
354
|
};
|
|
@@ -364,16 +368,16 @@ var getHeaderCell = function getHeaderCell(_ref) {
|
|
|
364
368
|
var enableColumnResize = _ref.enableColumnResize,
|
|
365
369
|
enableColumnReorder = _ref.enableColumnReorder;
|
|
366
370
|
if (enableColumnReorder && enableColumnResize) return {
|
|
367
|
-
cell: HeaderCell
|
|
371
|
+
cell: HeaderCell$1
|
|
368
372
|
};
|
|
369
373
|
if (enableColumnResize) return {
|
|
370
|
-
cell: ResizableHeaderCell
|
|
374
|
+
cell: ResizableHeaderCell$1
|
|
371
375
|
};
|
|
372
376
|
if (enableColumnReorder) return {
|
|
373
377
|
cell: ReorderableHeaderCell
|
|
374
378
|
};
|
|
375
379
|
return {
|
|
376
|
-
cell: CellContent
|
|
380
|
+
cell: CellContent$1
|
|
377
381
|
};
|
|
378
382
|
};
|
|
379
383
|
var isIncludedIn = function isIncludedIn(array1, array2) {
|
|
@@ -425,6 +429,11 @@ var getSortField = function getSortField(field) {
|
|
|
425
429
|
}
|
|
426
430
|
return neetoCist.camelToSnakeCase(field);
|
|
427
431
|
};
|
|
432
|
+
var calculateRowsPerPage = function calculateRowsPerPage() {
|
|
433
|
+
var viewportHeight = window.innerHeight;
|
|
434
|
+
var rowsPerPage = Math.floor((viewportHeight - useRestoreScrollPosition.TABLE_PAGINATION_HEIGHT) / useRestoreScrollPosition.TABLE_ROW_HEIGHT * 3);
|
|
435
|
+
return Math.ceil(rowsPerPage / 10) * 10;
|
|
436
|
+
};
|
|
428
437
|
|
|
429
438
|
function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
430
439
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -490,7 +499,7 @@ var useResizableColumns = function useResizableColumns(_ref) {
|
|
|
490
499
|
sortOrder: getColumnSortOrder(col, sortedInfo),
|
|
491
500
|
fixed: fixed,
|
|
492
501
|
title: col.description ? function (props) {
|
|
493
|
-
return /*#__PURE__*/React.createElement(TitleWithInfoIcon, _extends({}, props, {
|
|
502
|
+
return /*#__PURE__*/React.createElement(TitleWithInfoIcon$1, _extends({}, props, {
|
|
494
503
|
description: col.description,
|
|
495
504
|
title: col.title
|
|
496
505
|
}));
|
|
@@ -590,6 +599,63 @@ var useColumns = function useColumns(_ref) {
|
|
|
590
599
|
};
|
|
591
600
|
};
|
|
592
601
|
|
|
602
|
+
var useScroll = function useScroll(_ref) {
|
|
603
|
+
var fixedHeight = _ref.fixedHeight,
|
|
604
|
+
enableColumnReorder = _ref.enableColumnReorder,
|
|
605
|
+
loading = _ref.loading,
|
|
606
|
+
otherProps = _ref.otherProps,
|
|
607
|
+
rowData = _ref.rowData,
|
|
608
|
+
pageSize = _ref.pageSize,
|
|
609
|
+
shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout,
|
|
610
|
+
shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout,
|
|
611
|
+
headerHeight = _ref.headerHeight;
|
|
612
|
+
var _useState = React.useState(0),
|
|
613
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
614
|
+
containerHeight = _useState2[0],
|
|
615
|
+
setContainerHeight = _useState2[1];
|
|
616
|
+
var resizeObserver = React.useRef(new ResizeObserver(function (_ref2) {
|
|
617
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
618
|
+
entry = _ref3[0];
|
|
619
|
+
return setContainerHeight(entry.contentRect.height);
|
|
620
|
+
}));
|
|
621
|
+
var scrollRef = React.useRef(null);
|
|
622
|
+
var tableRef = React.useCallback(function (table) {
|
|
623
|
+
scrollRef.current = table;
|
|
624
|
+
if (!fixedHeight) return;
|
|
625
|
+
var observer = resizeObserver.current;
|
|
626
|
+
if (table !== null) {
|
|
627
|
+
var _table$parentNode;
|
|
628
|
+
var targetNode = enableColumnReorder ? table === null || table === void 0 || (_table$parentNode = table.parentNode) === null || _table$parentNode === void 0 ? void 0 : _table$parentNode.parentNode : table === null || table === void 0 ? void 0 : table.parentNode;
|
|
629
|
+
observer.observe(targetNode);
|
|
630
|
+
} else if (observer) {
|
|
631
|
+
observer.disconnect();
|
|
632
|
+
}
|
|
633
|
+
}, [resizeObserver.current, fixedHeight, enableColumnReorder]);
|
|
634
|
+
var _useRestoreScrollPosi = useRestoreScrollPosition.useRestoreScrollPosition({
|
|
635
|
+
tableRef: tableRef,
|
|
636
|
+
scrollRef: scrollRef,
|
|
637
|
+
loading: loading
|
|
638
|
+
}),
|
|
639
|
+
handleScroll = _useRestoreScrollPosi.handleScroll;
|
|
640
|
+
var calculateTableContainerHeight = function calculateTableContainerHeight() {
|
|
641
|
+
var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
|
|
642
|
+
var selectAllRowsCalloutHeight = 0;
|
|
643
|
+
if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
|
|
644
|
+
selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
|
|
645
|
+
}
|
|
646
|
+
return containerHeight - headerHeight - (isPaginationVisible ? useRestoreScrollPosition.TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
|
|
647
|
+
};
|
|
648
|
+
return {
|
|
649
|
+
tableRef: tableRef,
|
|
650
|
+
tableContainerRef: null,
|
|
651
|
+
handleScroll: handleScroll,
|
|
652
|
+
calculatedScroll: {
|
|
653
|
+
x: "max-content",
|
|
654
|
+
y: calculateTableContainerHeight()
|
|
655
|
+
}
|
|
656
|
+
};
|
|
657
|
+
};
|
|
658
|
+
|
|
593
659
|
var useTableSort = function useTableSort() {
|
|
594
660
|
var queryParams = useQueryParams.useQueryParams();
|
|
595
661
|
var _useState = React.useState(function () {
|
|
@@ -618,12 +684,58 @@ var useTableSort = function useTableSort() {
|
|
|
618
684
|
};
|
|
619
685
|
};
|
|
620
686
|
|
|
621
|
-
var
|
|
687
|
+
var useVirtualScroll = function useVirtualScroll(_ref) {
|
|
688
|
+
var otherProps = _ref.otherProps,
|
|
689
|
+
rowData = _ref.rowData,
|
|
690
|
+
pageSize = _ref.pageSize,
|
|
691
|
+
shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout,
|
|
692
|
+
shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout,
|
|
693
|
+
headerHeight = _ref.headerHeight;
|
|
694
|
+
var _useState = React.useState({
|
|
695
|
+
top: 0,
|
|
696
|
+
left: 0
|
|
697
|
+
}),
|
|
698
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
699
|
+
containerRect = _useState2[0],
|
|
700
|
+
setContainerRect = _useState2[1];
|
|
701
|
+
var tableContainerRef = React.useRef(null);
|
|
702
|
+
React.useEffect(function () {
|
|
703
|
+
var updateContainerRect = function updateContainerRect() {
|
|
704
|
+
if (!tableContainerRef.current) return;
|
|
705
|
+
var rect = tableContainerRef.current.getBoundingClientRect();
|
|
706
|
+
setContainerRect(rect);
|
|
707
|
+
};
|
|
708
|
+
updateContainerRect();
|
|
709
|
+
window.addEventListener("scroll", updateContainerRect);
|
|
710
|
+
window.addEventListener("resize", updateContainerRect);
|
|
711
|
+
return function () {
|
|
712
|
+
window.removeEventListener("scroll", updateContainerRect);
|
|
713
|
+
window.removeEventListener("resize", updateContainerRect);
|
|
714
|
+
};
|
|
715
|
+
}, []);
|
|
716
|
+
var calculateTableContainerHeight = function calculateTableContainerHeight() {
|
|
717
|
+
var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
|
|
718
|
+
var selectAllRowsCalloutHeight = 0;
|
|
719
|
+
if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
|
|
720
|
+
selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
|
|
721
|
+
}
|
|
722
|
+
var containerHeight = window.innerHeight - containerRect.top;
|
|
723
|
+
return containerHeight - headerHeight - (isPaginationVisible ? useRestoreScrollPosition.TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
|
|
724
|
+
};
|
|
725
|
+
return {
|
|
726
|
+
tableRef: null,
|
|
727
|
+
tableContainerRef: tableContainerRef,
|
|
728
|
+
handleScroll: neetoCist.noop,
|
|
729
|
+
calculatedScroll: {
|
|
730
|
+
x: window.innerWidth - (containerRect === null || containerRect === void 0 ? void 0 : containerRect.left),
|
|
731
|
+
y: calculateTableContainerHeight()
|
|
732
|
+
}
|
|
733
|
+
};
|
|
734
|
+
};
|
|
735
|
+
|
|
736
|
+
var _excluded = ["allowRowClick", "enableColumnResize", "enableColumnReorder", "enableColumnFreeze", "enableAddColumn", "className", "columnData", "currentPageNumber", "defaultPageSize", "handlePageChange", "loading", "onRowClick", "onRowSelect", "rowData", "totalCount", "selectedRowKeys", "fixedHeight", "paginationProps", "rowKey", "scroll", "rowSelection", "shouldDynamicallyRenderRowSize", "bordered", "onColumnUpdate", "components", "onColumnHide", "onColumnAdd", "onColumnDelete", "onChange", "onMoreActionClick", "bulkSelectAllRowsProps", "localStorageKeyPrefix", "virtual"];
|
|
622
737
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
623
738
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
624
|
-
var TABLE_PAGINATION_HEIGHT = 64;
|
|
625
|
-
var TABLE_DEFAULT_HEADER_HEIGHT = 40;
|
|
626
|
-
var TABLE_ROW_HEIGHT = 52;
|
|
627
739
|
var Table = function Table(_ref) {
|
|
628
740
|
var _ref$allowRowClick = _ref.allowRowClick,
|
|
629
741
|
allowRowClick = _ref$allowRowClick === void 0 ? true : _ref$allowRowClick,
|
|
@@ -679,29 +791,27 @@ var Table = function Table(_ref) {
|
|
|
679
791
|
onMoreActionClick = _ref.onMoreActionClick,
|
|
680
792
|
bulkSelectAllRowsProps = _ref.bulkSelectAllRowsProps,
|
|
681
793
|
localStorageKeyPrefix = _ref.localStorageKeyPrefix,
|
|
794
|
+
_ref$virtual = _ref.virtual,
|
|
795
|
+
virtual = _ref$virtual === void 0 ? false : _ref$virtual,
|
|
682
796
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
683
797
|
var _useTranslation = reactI18next.useTranslation(),
|
|
684
798
|
i18n = _useTranslation.i18n;
|
|
685
|
-
var _useState = React.useState(
|
|
799
|
+
var _useState = React.useState(useRestoreScrollPosition.TABLE_DEFAULT_HEADER_HEIGHT),
|
|
686
800
|
_useState2 = _slicedToArray(_useState, 2),
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
var _useState3 = React.useState(
|
|
801
|
+
headerHeight = _useState2[0],
|
|
802
|
+
setHeaderHeight = _useState2[1];
|
|
803
|
+
var _useState3 = React.useState(columnData),
|
|
690
804
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
var _useState5 = React.useState(
|
|
805
|
+
columns = _useState4[0],
|
|
806
|
+
setColumns = _useState4[1];
|
|
807
|
+
var _useState5 = React.useState(false),
|
|
694
808
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
var _useState7 = React.useState(
|
|
809
|
+
bulkSelectedAllRows = _useState6[0],
|
|
810
|
+
setBulkSelectedAllRows = _useState6[1];
|
|
811
|
+
var _useState7 = React.useState({}),
|
|
698
812
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
var _useState9 = React.useState({}),
|
|
702
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
703
|
-
columnChanges = _useState10[0],
|
|
704
|
-
setColumnChanges = _useState10[1];
|
|
813
|
+
columnChanges = _useState8[0],
|
|
814
|
+
setColumnChanges = _useState8[1];
|
|
705
815
|
var _useTableSort = useTableSort(),
|
|
706
816
|
handleTableSortChange = _useTableSort.handleTableChange,
|
|
707
817
|
sortedInfo = _useTableSort.sortedInfo,
|
|
@@ -712,32 +822,8 @@ var Table = function Table(_ref) {
|
|
|
712
822
|
var history = reactRouterDom.useHistory();
|
|
713
823
|
var headerRef = React.useRef();
|
|
714
824
|
var tableOnChangeProps = React.useRef({});
|
|
715
|
-
var resizeObserver = React.useRef(new ResizeObserver(function (_ref3) {
|
|
716
|
-
var _ref4 = _slicedToArray(_ref3, 1),
|
|
717
|
-
entry = _ref4[0];
|
|
718
|
-
return setContainerHeight(entry.contentRect.height);
|
|
719
|
-
}));
|
|
720
|
-
var scrollRef = React.useRef(null);
|
|
721
|
-
var tableRef = React.useCallback(function (table) {
|
|
722
|
-
scrollRef.current = table;
|
|
723
|
-
if (!fixedHeight) return;
|
|
724
|
-
var observer = resizeObserver.current;
|
|
725
|
-
if (table !== null) {
|
|
726
|
-
var _table$parentNode;
|
|
727
|
-
var targetNode = enableColumnReorder ? table === null || table === void 0 || (_table$parentNode = table.parentNode) === null || _table$parentNode === void 0 ? void 0 : _table$parentNode.parentNode : table === null || table === void 0 ? void 0 : table.parentNode;
|
|
728
|
-
observer.observe(targetNode);
|
|
729
|
-
} else if (observer) {
|
|
730
|
-
observer.disconnect();
|
|
731
|
-
}
|
|
732
|
-
}, [resizeObserver.current, fixedHeight, enableColumnReorder]);
|
|
733
|
-
var _useRestoreScrollPosi = useRestoreScrollPosition.useRestoreScrollPosition({
|
|
734
|
-
tableRef: tableRef,
|
|
735
|
-
scrollRef: scrollRef,
|
|
736
|
-
loading: loading
|
|
737
|
-
}),
|
|
738
|
-
handleScroll = _useRestoreScrollPosi.handleScroll;
|
|
739
825
|
useTimeout(function () {
|
|
740
|
-
var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
|
|
826
|
+
var headerHeight = headerRef.current ? headerRef.current.offsetHeight : useRestoreScrollPosition.TABLE_DEFAULT_HEADER_HEIGHT;
|
|
741
827
|
setHeaderHeight(headerHeight);
|
|
742
828
|
}, 10);
|
|
743
829
|
var handleColumnUpdateWithChanges = function handleColumnUpdateWithChanges(updatedColumns) {
|
|
@@ -802,6 +888,22 @@ var Table = function Table(_ref) {
|
|
|
802
888
|
}, [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]);
|
|
803
889
|
var shouldShowSelectAllRowsCallout = bulkSelectAllRowsProps && showBulkSelectionCallout;
|
|
804
890
|
var shouldShowAllRowsSelectedCallout = bulkSelectAllRowsProps && bulkSelectedAllRows;
|
|
891
|
+
var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
|
|
892
|
+
var _ref3 = (virtual ? useVirtualScroll : useScroll)({
|
|
893
|
+
fixedHeight: fixedHeight,
|
|
894
|
+
enableColumnReorder: enableColumnReorder,
|
|
895
|
+
loading: loading,
|
|
896
|
+
otherProps: otherProps,
|
|
897
|
+
rowData: rowData,
|
|
898
|
+
pageSize: pageSize,
|
|
899
|
+
shouldShowSelectAllRowsCallout: shouldShowSelectAllRowsCallout,
|
|
900
|
+
shouldShowAllRowsSelectedCallout: shouldShowAllRowsSelectedCallout,
|
|
901
|
+
headerHeight: headerHeight
|
|
902
|
+
}),
|
|
903
|
+
tableRef = _ref3.tableRef,
|
|
904
|
+
tableContainerRef = _ref3.tableContainerRef,
|
|
905
|
+
handleScroll = _ref3.handleScroll,
|
|
906
|
+
calculatedScroll = _ref3.calculatedScroll;
|
|
805
907
|
var handleRowChange = function handleRowChange(selectedRowKeys, selectedRows) {
|
|
806
908
|
var tableWrapper = document.querySelector('[data-testid="table-wrapper"]');
|
|
807
909
|
if (selectedRowKeys.length !== defaultPageSize) {
|
|
@@ -815,7 +917,8 @@ var Table = function Table(_ref) {
|
|
|
815
917
|
};
|
|
816
918
|
var rowSelectionProps = rowSelection ? _objectSpread(_objectSpread({
|
|
817
919
|
type: "checkbox",
|
|
818
|
-
preserveSelectedRowKeys: true
|
|
920
|
+
preserveSelectedRowKeys: true,
|
|
921
|
+
columnWidth: 48
|
|
819
922
|
}, rowSelection), {}, {
|
|
820
923
|
onChange: handleRowChange,
|
|
821
924
|
selectedRowKeys: selectedRowKeys
|
|
@@ -837,20 +940,6 @@ var Table = function Table(_ref) {
|
|
|
837
940
|
enableColumnReorder: enableColumnReorder
|
|
838
941
|
})
|
|
839
942
|
});
|
|
840
|
-
var calculateRowsPerPage = function calculateRowsPerPage() {
|
|
841
|
-
var viewportHeight = window.innerHeight;
|
|
842
|
-
var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
|
|
843
|
-
return Math.ceil(rowsPerPage / 10) * 10;
|
|
844
|
-
};
|
|
845
|
-
var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
|
|
846
|
-
var calculateTableContainerHeight = function calculateTableContainerHeight() {
|
|
847
|
-
var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
|
|
848
|
-
var selectAllRowsCalloutHeight = 0;
|
|
849
|
-
if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
|
|
850
|
-
selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
|
|
851
|
-
}
|
|
852
|
-
return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
|
|
853
|
-
};
|
|
854
943
|
var calculatePageSizeOptions = function calculatePageSizeOptions() {
|
|
855
944
|
return neetoCist.dynamicArray(5, function (index) {
|
|
856
945
|
return (index + 1) * pageSize;
|
|
@@ -961,6 +1050,7 @@ var Table = function Table(_ref) {
|
|
|
961
1050
|
bordered: bordered,
|
|
962
1051
|
locale: locale,
|
|
963
1052
|
rowKey: rowKey,
|
|
1053
|
+
virtual: virtual,
|
|
964
1054
|
columns: sortedColumns,
|
|
965
1055
|
components: componentOverrides,
|
|
966
1056
|
dataSource: rowData,
|
|
@@ -970,6 +1060,7 @@ var Table = function Table(_ref) {
|
|
|
970
1060
|
},
|
|
971
1061
|
ref: tableRef,
|
|
972
1062
|
rowSelection: rowSelectionProps,
|
|
1063
|
+
scroll: _objectSpread(_objectSpread({}, calculatedScroll), scroll),
|
|
973
1064
|
showSorterTooltip: false,
|
|
974
1065
|
pagination: _objectSpread(_objectSpread({
|
|
975
1066
|
hideOnSinglePage: true
|
|
@@ -985,10 +1076,6 @@ var Table = function Table(_ref) {
|
|
|
985
1076
|
rowClassName: classnames("neeto-ui-table--row", {
|
|
986
1077
|
"neeto-ui-table--row_hover": allowRowClick
|
|
987
1078
|
}, [className]),
|
|
988
|
-
scroll: _objectSpread({
|
|
989
|
-
x: "max-content",
|
|
990
|
-
y: calculateTableContainerHeight()
|
|
991
|
-
}, scroll),
|
|
992
1079
|
onChange: handleTableChange,
|
|
993
1080
|
onScroll: handleScroll,
|
|
994
1081
|
onHeaderRow: function onHeaderRow() {
|
|
@@ -1009,7 +1096,12 @@ var Table = function Table(_ref) {
|
|
|
1009
1096
|
}
|
|
1010
1097
|
}, otherProps)));
|
|
1011
1098
|
};
|
|
1012
|
-
|
|
1099
|
+
var renderTableVirtual = function renderTableVirtual() {
|
|
1100
|
+
return virtual ? /*#__PURE__*/React.createElement("div", {
|
|
1101
|
+
ref: tableContainerRef
|
|
1102
|
+
}, renderTable()) : renderTable();
|
|
1103
|
+
};
|
|
1104
|
+
return enableColumnReorder ? /*#__PURE__*/React.createElement(ReactDragListView.DragColumn, dragProps, renderTableVirtual()) : renderTableVirtual();
|
|
1013
1105
|
};
|
|
1014
1106
|
|
|
1015
1107
|
module.exports = Table;
|