@bigbinary/neetoui 8.3.16 → 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 +191 -73
- 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 +192 -74
- 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,25 +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
|
-
|
|
813
|
+
columnChanges = _useState8[0],
|
|
814
|
+
setColumnChanges = _useState8[1];
|
|
701
815
|
var _useTableSort = useTableSort(),
|
|
702
816
|
handleTableSortChange = _useTableSort.handleTableChange,
|
|
703
817
|
sortedInfo = _useTableSort.sortedInfo,
|
|
@@ -708,34 +822,29 @@ var Table = function Table(_ref) {
|
|
|
708
822
|
var history = reactRouterDom.useHistory();
|
|
709
823
|
var headerRef = React.useRef();
|
|
710
824
|
var tableOnChangeProps = React.useRef({});
|
|
711
|
-
var resizeObserver = React.useRef(new ResizeObserver(function (_ref3) {
|
|
712
|
-
var _ref4 = _slicedToArray(_ref3, 1),
|
|
713
|
-
entry = _ref4[0];
|
|
714
|
-
return setContainerHeight(entry.contentRect.height);
|
|
715
|
-
}));
|
|
716
|
-
var scrollRef = React.useRef(null);
|
|
717
|
-
var tableRef = React.useCallback(function (table) {
|
|
718
|
-
scrollRef.current = table;
|
|
719
|
-
if (!fixedHeight) return;
|
|
720
|
-
var observer = resizeObserver.current;
|
|
721
|
-
if (table !== null) {
|
|
722
|
-
var _table$parentNode;
|
|
723
|
-
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;
|
|
724
|
-
observer.observe(targetNode);
|
|
725
|
-
} else if (observer) {
|
|
726
|
-
observer.disconnect();
|
|
727
|
-
}
|
|
728
|
-
}, [resizeObserver.current, fixedHeight, enableColumnReorder]);
|
|
729
|
-
var _useRestoreScrollPosi = useRestoreScrollPosition.useRestoreScrollPosition({
|
|
730
|
-
tableRef: tableRef,
|
|
731
|
-
scrollRef: scrollRef,
|
|
732
|
-
loading: loading
|
|
733
|
-
}),
|
|
734
|
-
handleScroll = _useRestoreScrollPosi.handleScroll;
|
|
735
825
|
useTimeout(function () {
|
|
736
|
-
var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
|
|
826
|
+
var headerHeight = headerRef.current ? headerRef.current.offsetHeight : useRestoreScrollPosition.TABLE_DEFAULT_HEADER_HEIGHT;
|
|
737
827
|
setHeaderHeight(headerHeight);
|
|
738
828
|
}, 10);
|
|
829
|
+
var handleColumnUpdateWithChanges = function handleColumnUpdateWithChanges(updatedColumns) {
|
|
830
|
+
var newChanges = {};
|
|
831
|
+
updatedColumns.forEach(function (col) {
|
|
832
|
+
var originalCol = columnData.find(function (c) {
|
|
833
|
+
return c.dataIndex === col.dataIndex;
|
|
834
|
+
});
|
|
835
|
+
var changes = {};
|
|
836
|
+
if (col.width && col.width !== (originalCol === null || originalCol === void 0 ? void 0 : originalCol.width)) {
|
|
837
|
+
changes.width = col.width;
|
|
838
|
+
}
|
|
839
|
+
if (Object.keys(changes).length > 0) {
|
|
840
|
+
newChanges[col.dataIndex] = changes;
|
|
841
|
+
}
|
|
842
|
+
});
|
|
843
|
+
setColumnChanges(function (prev) {
|
|
844
|
+
return _objectSpread(_objectSpread({}, prev), newChanges);
|
|
845
|
+
});
|
|
846
|
+
onColumnUpdate(updatedColumns);
|
|
847
|
+
};
|
|
739
848
|
var _useColumns = useColumns({
|
|
740
849
|
isReorderEnabled: enableColumnReorder,
|
|
741
850
|
isResizeEnabled: enableColumnResize,
|
|
@@ -745,7 +854,7 @@ var Table = function Table(_ref) {
|
|
|
745
854
|
columns: columns,
|
|
746
855
|
columnData: columnData,
|
|
747
856
|
setColumns: setColumns,
|
|
748
|
-
onColumnUpdate:
|
|
857
|
+
onColumnUpdate: handleColumnUpdateWithChanges,
|
|
749
858
|
rowSelection: rowSelection,
|
|
750
859
|
sortedInfo: sortedInfo,
|
|
751
860
|
setSortedInfo: setSortedInfo,
|
|
@@ -779,6 +888,22 @@ var Table = function Table(_ref) {
|
|
|
779
888
|
}, [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]);
|
|
780
889
|
var shouldShowSelectAllRowsCallout = bulkSelectAllRowsProps && showBulkSelectionCallout;
|
|
781
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;
|
|
782
907
|
var handleRowChange = function handleRowChange(selectedRowKeys, selectedRows) {
|
|
783
908
|
var tableWrapper = document.querySelector('[data-testid="table-wrapper"]');
|
|
784
909
|
if (selectedRowKeys.length !== defaultPageSize) {
|
|
@@ -792,7 +917,8 @@ var Table = function Table(_ref) {
|
|
|
792
917
|
};
|
|
793
918
|
var rowSelectionProps = rowSelection ? _objectSpread(_objectSpread({
|
|
794
919
|
type: "checkbox",
|
|
795
|
-
preserveSelectedRowKeys: true
|
|
920
|
+
preserveSelectedRowKeys: true,
|
|
921
|
+
columnWidth: 48
|
|
796
922
|
}, rowSelection), {}, {
|
|
797
923
|
onChange: handleRowChange,
|
|
798
924
|
selectedRowKeys: selectedRowKeys
|
|
@@ -814,20 +940,6 @@ var Table = function Table(_ref) {
|
|
|
814
940
|
enableColumnReorder: enableColumnReorder
|
|
815
941
|
})
|
|
816
942
|
});
|
|
817
|
-
var calculateRowsPerPage = function calculateRowsPerPage() {
|
|
818
|
-
var viewportHeight = window.innerHeight;
|
|
819
|
-
var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
|
|
820
|
-
return Math.ceil(rowsPerPage / 10) * 10;
|
|
821
|
-
};
|
|
822
|
-
var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
|
|
823
|
-
var calculateTableContainerHeight = function calculateTableContainerHeight() {
|
|
824
|
-
var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
|
|
825
|
-
var selectAllRowsCalloutHeight = 0;
|
|
826
|
-
if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
|
|
827
|
-
selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
|
|
828
|
-
}
|
|
829
|
-
return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
|
|
830
|
-
};
|
|
831
943
|
var calculatePageSizeOptions = function calculatePageSizeOptions() {
|
|
832
944
|
return neetoCist.dynamicArray(5, function (index) {
|
|
833
945
|
return (index + 1) * pageSize;
|
|
@@ -867,8 +979,11 @@ var Table = function Table(_ref) {
|
|
|
867
979
|
}, queryParams))) : handlePageChange(page, pageSize);
|
|
868
980
|
}, [rowData]);
|
|
869
981
|
React.useEffect(function () {
|
|
870
|
-
|
|
871
|
-
|
|
982
|
+
var mergedColumns = columnData.map(function (col) {
|
|
983
|
+
return _objectSpread(_objectSpread({}, col), columnChanges[col.dataIndex]);
|
|
984
|
+
});
|
|
985
|
+
setColumns(mergedColumns);
|
|
986
|
+
}, [columnData, columnChanges]);
|
|
872
987
|
var neetoUIFontBold = parseInt(getComputedStyle(document.documentElement).getPropertyValue("--neeto-ui-font-bold"), 10);
|
|
873
988
|
var renderTable = function renderTable() {
|
|
874
989
|
return /*#__PURE__*/React.createElement(_ConfigProvider, {
|
|
@@ -935,6 +1050,7 @@ var Table = function Table(_ref) {
|
|
|
935
1050
|
bordered: bordered,
|
|
936
1051
|
locale: locale,
|
|
937
1052
|
rowKey: rowKey,
|
|
1053
|
+
virtual: virtual,
|
|
938
1054
|
columns: sortedColumns,
|
|
939
1055
|
components: componentOverrides,
|
|
940
1056
|
dataSource: rowData,
|
|
@@ -944,6 +1060,7 @@ var Table = function Table(_ref) {
|
|
|
944
1060
|
},
|
|
945
1061
|
ref: tableRef,
|
|
946
1062
|
rowSelection: rowSelectionProps,
|
|
1063
|
+
scroll: _objectSpread(_objectSpread({}, calculatedScroll), scroll),
|
|
947
1064
|
showSorterTooltip: false,
|
|
948
1065
|
pagination: _objectSpread(_objectSpread({
|
|
949
1066
|
hideOnSinglePage: true
|
|
@@ -959,10 +1076,6 @@ var Table = function Table(_ref) {
|
|
|
959
1076
|
rowClassName: classnames("neeto-ui-table--row", {
|
|
960
1077
|
"neeto-ui-table--row_hover": allowRowClick
|
|
961
1078
|
}, [className]),
|
|
962
|
-
scroll: _objectSpread({
|
|
963
|
-
x: "max-content",
|
|
964
|
-
y: calculateTableContainerHeight()
|
|
965
|
-
}, scroll),
|
|
966
1079
|
onChange: handleTableChange,
|
|
967
1080
|
onScroll: handleScroll,
|
|
968
1081
|
onHeaderRow: function onHeaderRow() {
|
|
@@ -983,7 +1096,12 @@ var Table = function Table(_ref) {
|
|
|
983
1096
|
}
|
|
984
1097
|
}, otherProps)));
|
|
985
1098
|
};
|
|
986
|
-
|
|
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();
|
|
987
1105
|
};
|
|
988
1106
|
|
|
989
1107
|
module.exports = Table;
|