@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/DatePicker.js
CHANGED
|
@@ -26,7 +26,7 @@ import 'react-i18next';
|
|
|
26
26
|
import './useRecentlyUsedColors-CJe4G0Xs.js';
|
|
27
27
|
import './Dropdown.js';
|
|
28
28
|
import './index-BCP3m_SF.js';
|
|
29
|
-
export { D as default } from './index-
|
|
29
|
+
export { D as default } from './index-DqcLcdQ2.js';
|
|
30
30
|
import './Input.js';
|
|
31
31
|
import './Label.js';
|
|
32
32
|
import './MultiEmailInput.js';
|
|
@@ -62,7 +62,7 @@ import './Switch.js';
|
|
|
62
62
|
import './Tab.js';
|
|
63
63
|
import 'antd/lib/table';
|
|
64
64
|
import 'react-drag-listview';
|
|
65
|
-
import './useRestoreScrollPosition-
|
|
65
|
+
import './useRestoreScrollPosition-9jPpcAT1.js';
|
|
66
66
|
import 'react-resizable';
|
|
67
67
|
import './Tag.js';
|
|
68
68
|
import './Toastr.js';
|
package/dist/Table.js
CHANGED
|
@@ -20,7 +20,7 @@ import { u as useQueryParams } from './useQueryParams-b60CHFUx.js';
|
|
|
20
20
|
import Button from './Button.js';
|
|
21
21
|
import Callout from './Callout.js';
|
|
22
22
|
import Typography from './Typography.js';
|
|
23
|
-
import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, C as COLUMN_FIXED_VALUES, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT,
|
|
23
|
+
import { T as TABLE_SORT_ORDERS, U as URL_SORT_ORDERS, H as HeaderCellMenu, a as TABLE_PAGINATION_HEIGHT, b as TABLE_ROW_HEIGHT, C as COLUMN_FIXED_VALUES, S as SELECT_ALL_ROWS_CALLOUT_MOBILE_HEIGHT, c as SELECT_ALL_ROWS_CALLOUT_DESKTOP_HEIGHT, u as useRestoreScrollPosition, d as TABLE_DEFAULT_HEADER_HEIGHT } from './useRestoreScrollPosition-9jPpcAT1.js';
|
|
24
24
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
25
25
|
import Popover from './Popover.js';
|
|
26
26
|
import { Resizable } from 'react-resizable';
|
|
@@ -206,6 +206,7 @@ var TitleWithInfoIcon = function TitleWithInfoIcon(_ref) {
|
|
|
206
206
|
style: "body2"
|
|
207
207
|
}, description))));
|
|
208
208
|
};
|
|
209
|
+
var TitleWithInfoIcon$1 = /*#__PURE__*/React__default.memo(TitleWithInfoIcon);
|
|
209
210
|
|
|
210
211
|
var _excluded$4 = ["children", "isSortable", "isAddEnabled", "sortedInfo", "onSort", "isHidable", "isDeletable", "isFixedColumn", "isColumnFreezeEnabled", "onColumnHide", "onAddColumn", "onColumnDelete", "onColumnFreeze", "onMoreActionClick", "column", "moreActions"];
|
|
211
212
|
var CellContent = function CellContent(_ref) {
|
|
@@ -260,6 +261,7 @@ var CellContent = function CellContent(_ref) {
|
|
|
260
261
|
isHidable: isColumnHidable
|
|
261
262
|
})));
|
|
262
263
|
};
|
|
264
|
+
var CellContent$1 = /*#__PURE__*/React__default.memo(CellContent);
|
|
263
265
|
|
|
264
266
|
var _excluded$3 = ["onResize", "width", "onResizeStop", "className"];
|
|
265
267
|
var HeaderCell = function HeaderCell(props) {
|
|
@@ -269,7 +271,7 @@ var HeaderCell = function HeaderCell(props) {
|
|
|
269
271
|
className = props.className,
|
|
270
272
|
restProps = _objectWithoutProperties(props, _excluded$3);
|
|
271
273
|
if (!width) {
|
|
272
|
-
return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
|
|
274
|
+
return /*#__PURE__*/React__default.createElement(CellContent$1, _extends({}, restProps, {
|
|
273
275
|
className: classnames(className, "drag-handler")
|
|
274
276
|
}));
|
|
275
277
|
}
|
|
@@ -290,10 +292,11 @@ var HeaderCell = function HeaderCell(props) {
|
|
|
290
292
|
onResizeStart: function onResizeStart(e) {
|
|
291
293
|
e.preventDefault();
|
|
292
294
|
}
|
|
293
|
-
}, /*#__PURE__*/React__default.createElement(CellContent, _extends({}, restProps, {
|
|
295
|
+
}, /*#__PURE__*/React__default.createElement(CellContent$1, _extends({}, restProps, {
|
|
294
296
|
className: classnames(className, "drag-handler")
|
|
295
297
|
})));
|
|
296
298
|
};
|
|
299
|
+
var HeaderCell$1 = /*#__PURE__*/React__default.memo(HeaderCell);
|
|
297
300
|
|
|
298
301
|
var _excluded$2 = ["onResize", "width", "onResizeStop", "onResizeStart"];
|
|
299
302
|
var ResizableHeaderCell = function ResizableHeaderCell(props) {
|
|
@@ -307,7 +310,7 @@ var ResizableHeaderCell = function ResizableHeaderCell(props) {
|
|
|
307
310
|
isResizing = _useState2[0],
|
|
308
311
|
setIsResizing = _useState2[1];
|
|
309
312
|
if (!width) {
|
|
310
|
-
return /*#__PURE__*/React__default.createElement(CellContent, restProps);
|
|
313
|
+
return /*#__PURE__*/React__default.createElement(CellContent$1, restProps);
|
|
311
314
|
}
|
|
312
315
|
return /*#__PURE__*/React__default.createElement(Resizable, _defineProperty({
|
|
313
316
|
onResize: onResize,
|
|
@@ -335,14 +338,15 @@ var ResizableHeaderCell = function ResizableHeaderCell(props) {
|
|
|
335
338
|
}, "onResizeStop", function onResizeStop(e, data) {
|
|
336
339
|
setIsResizing(false);
|
|
337
340
|
_onResizeStop === null || _onResizeStop === void 0 || _onResizeStop(e, data);
|
|
338
|
-
}), /*#__PURE__*/React__default.createElement(CellContent, restProps));
|
|
341
|
+
}), /*#__PURE__*/React__default.createElement(CellContent$1, restProps));
|
|
339
342
|
};
|
|
343
|
+
var ResizableHeaderCell$1 = /*#__PURE__*/React__default.memo(ResizableHeaderCell);
|
|
340
344
|
|
|
341
345
|
var _excluded$1 = ["className"];
|
|
342
346
|
var ReorderableHeaderCell = function ReorderableHeaderCell(_ref) {
|
|
343
347
|
var className = _ref.className,
|
|
344
348
|
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
345
|
-
return /*#__PURE__*/React__default.createElement(CellContent, _extends({}, props, {
|
|
349
|
+
return /*#__PURE__*/React__default.createElement(CellContent$1, _extends({}, props, {
|
|
346
350
|
className: classnames(className, "drag-handler")
|
|
347
351
|
}));
|
|
348
352
|
};
|
|
@@ -362,16 +366,16 @@ var getHeaderCell = function getHeaderCell(_ref) {
|
|
|
362
366
|
var enableColumnResize = _ref.enableColumnResize,
|
|
363
367
|
enableColumnReorder = _ref.enableColumnReorder;
|
|
364
368
|
if (enableColumnReorder && enableColumnResize) return {
|
|
365
|
-
cell: HeaderCell
|
|
369
|
+
cell: HeaderCell$1
|
|
366
370
|
};
|
|
367
371
|
if (enableColumnResize) return {
|
|
368
|
-
cell: ResizableHeaderCell
|
|
372
|
+
cell: ResizableHeaderCell$1
|
|
369
373
|
};
|
|
370
374
|
if (enableColumnReorder) return {
|
|
371
375
|
cell: ReorderableHeaderCell
|
|
372
376
|
};
|
|
373
377
|
return {
|
|
374
|
-
cell: CellContent
|
|
378
|
+
cell: CellContent$1
|
|
375
379
|
};
|
|
376
380
|
};
|
|
377
381
|
var isIncludedIn = function isIncludedIn(array1, array2) {
|
|
@@ -423,6 +427,11 @@ var getSortField = function getSortField(field) {
|
|
|
423
427
|
}
|
|
424
428
|
return camelToSnakeCase(field);
|
|
425
429
|
};
|
|
430
|
+
var calculateRowsPerPage = function calculateRowsPerPage() {
|
|
431
|
+
var viewportHeight = window.innerHeight;
|
|
432
|
+
var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
|
|
433
|
+
return Math.ceil(rowsPerPage / 10) * 10;
|
|
434
|
+
};
|
|
426
435
|
|
|
427
436
|
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; }
|
|
428
437
|
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; }
|
|
@@ -488,7 +497,7 @@ var useResizableColumns = function useResizableColumns(_ref) {
|
|
|
488
497
|
sortOrder: getColumnSortOrder(col, sortedInfo),
|
|
489
498
|
fixed: fixed,
|
|
490
499
|
title: col.description ? function (props) {
|
|
491
|
-
return /*#__PURE__*/React__default.createElement(TitleWithInfoIcon, _extends({}, props, {
|
|
500
|
+
return /*#__PURE__*/React__default.createElement(TitleWithInfoIcon$1, _extends({}, props, {
|
|
492
501
|
description: col.description,
|
|
493
502
|
title: col.title
|
|
494
503
|
}));
|
|
@@ -588,6 +597,63 @@ var useColumns = function useColumns(_ref) {
|
|
|
588
597
|
};
|
|
589
598
|
};
|
|
590
599
|
|
|
600
|
+
var useScroll = function useScroll(_ref) {
|
|
601
|
+
var fixedHeight = _ref.fixedHeight,
|
|
602
|
+
enableColumnReorder = _ref.enableColumnReorder,
|
|
603
|
+
loading = _ref.loading,
|
|
604
|
+
otherProps = _ref.otherProps,
|
|
605
|
+
rowData = _ref.rowData,
|
|
606
|
+
pageSize = _ref.pageSize,
|
|
607
|
+
shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout,
|
|
608
|
+
shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout,
|
|
609
|
+
headerHeight = _ref.headerHeight;
|
|
610
|
+
var _useState = useState(0),
|
|
611
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
612
|
+
containerHeight = _useState2[0],
|
|
613
|
+
setContainerHeight = _useState2[1];
|
|
614
|
+
var resizeObserver = useRef(new ResizeObserver(function (_ref2) {
|
|
615
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
616
|
+
entry = _ref3[0];
|
|
617
|
+
return setContainerHeight(entry.contentRect.height);
|
|
618
|
+
}));
|
|
619
|
+
var scrollRef = useRef(null);
|
|
620
|
+
var tableRef = useCallback(function (table) {
|
|
621
|
+
scrollRef.current = table;
|
|
622
|
+
if (!fixedHeight) return;
|
|
623
|
+
var observer = resizeObserver.current;
|
|
624
|
+
if (table !== null) {
|
|
625
|
+
var _table$parentNode;
|
|
626
|
+
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;
|
|
627
|
+
observer.observe(targetNode);
|
|
628
|
+
} else if (observer) {
|
|
629
|
+
observer.disconnect();
|
|
630
|
+
}
|
|
631
|
+
}, [resizeObserver.current, fixedHeight, enableColumnReorder]);
|
|
632
|
+
var _useRestoreScrollPosi = useRestoreScrollPosition({
|
|
633
|
+
tableRef: tableRef,
|
|
634
|
+
scrollRef: scrollRef,
|
|
635
|
+
loading: loading
|
|
636
|
+
}),
|
|
637
|
+
handleScroll = _useRestoreScrollPosi.handleScroll;
|
|
638
|
+
var calculateTableContainerHeight = function calculateTableContainerHeight() {
|
|
639
|
+
var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
|
|
640
|
+
var selectAllRowsCalloutHeight = 0;
|
|
641
|
+
if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
|
|
642
|
+
selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
|
|
643
|
+
}
|
|
644
|
+
return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
|
|
645
|
+
};
|
|
646
|
+
return {
|
|
647
|
+
tableRef: tableRef,
|
|
648
|
+
tableContainerRef: null,
|
|
649
|
+
handleScroll: handleScroll,
|
|
650
|
+
calculatedScroll: {
|
|
651
|
+
x: "max-content",
|
|
652
|
+
y: calculateTableContainerHeight()
|
|
653
|
+
}
|
|
654
|
+
};
|
|
655
|
+
};
|
|
656
|
+
|
|
591
657
|
var useTableSort = function useTableSort() {
|
|
592
658
|
var queryParams = useQueryParams();
|
|
593
659
|
var _useState = useState(function () {
|
|
@@ -616,12 +682,58 @@ var useTableSort = function useTableSort() {
|
|
|
616
682
|
};
|
|
617
683
|
};
|
|
618
684
|
|
|
619
|
-
var
|
|
685
|
+
var useVirtualScroll = function useVirtualScroll(_ref) {
|
|
686
|
+
var otherProps = _ref.otherProps,
|
|
687
|
+
rowData = _ref.rowData,
|
|
688
|
+
pageSize = _ref.pageSize,
|
|
689
|
+
shouldShowSelectAllRowsCallout = _ref.shouldShowSelectAllRowsCallout,
|
|
690
|
+
shouldShowAllRowsSelectedCallout = _ref.shouldShowAllRowsSelectedCallout,
|
|
691
|
+
headerHeight = _ref.headerHeight;
|
|
692
|
+
var _useState = useState({
|
|
693
|
+
top: 0,
|
|
694
|
+
left: 0
|
|
695
|
+
}),
|
|
696
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
697
|
+
containerRect = _useState2[0],
|
|
698
|
+
setContainerRect = _useState2[1];
|
|
699
|
+
var tableContainerRef = useRef(null);
|
|
700
|
+
useEffect(function () {
|
|
701
|
+
var updateContainerRect = function updateContainerRect() {
|
|
702
|
+
if (!tableContainerRef.current) return;
|
|
703
|
+
var rect = tableContainerRef.current.getBoundingClientRect();
|
|
704
|
+
setContainerRect(rect);
|
|
705
|
+
};
|
|
706
|
+
updateContainerRect();
|
|
707
|
+
window.addEventListener("scroll", updateContainerRect);
|
|
708
|
+
window.addEventListener("resize", updateContainerRect);
|
|
709
|
+
return function () {
|
|
710
|
+
window.removeEventListener("scroll", updateContainerRect);
|
|
711
|
+
window.removeEventListener("resize", updateContainerRect);
|
|
712
|
+
};
|
|
713
|
+
}, []);
|
|
714
|
+
var calculateTableContainerHeight = function calculateTableContainerHeight() {
|
|
715
|
+
var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
|
|
716
|
+
var selectAllRowsCalloutHeight = 0;
|
|
717
|
+
if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
|
|
718
|
+
selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
|
|
719
|
+
}
|
|
720
|
+
var containerHeight = window.innerHeight - containerRect.top;
|
|
721
|
+
return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
|
|
722
|
+
};
|
|
723
|
+
return {
|
|
724
|
+
tableRef: null,
|
|
725
|
+
tableContainerRef: tableContainerRef,
|
|
726
|
+
handleScroll: noop,
|
|
727
|
+
calculatedScroll: {
|
|
728
|
+
x: window.innerWidth - (containerRect === null || containerRect === void 0 ? void 0 : containerRect.left),
|
|
729
|
+
y: calculateTableContainerHeight()
|
|
730
|
+
}
|
|
731
|
+
};
|
|
732
|
+
};
|
|
733
|
+
|
|
734
|
+
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"];
|
|
620
735
|
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; }
|
|
621
736
|
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; }
|
|
622
|
-
var TABLE_PAGINATION_HEIGHT = 64;
|
|
623
|
-
var TABLE_DEFAULT_HEADER_HEIGHT = 40;
|
|
624
|
-
var TABLE_ROW_HEIGHT = 52;
|
|
625
737
|
var Table = function Table(_ref) {
|
|
626
738
|
var _ref$allowRowClick = _ref.allowRowClick,
|
|
627
739
|
allowRowClick = _ref$allowRowClick === void 0 ? true : _ref$allowRowClick,
|
|
@@ -677,25 +789,27 @@ var Table = function Table(_ref) {
|
|
|
677
789
|
onMoreActionClick = _ref.onMoreActionClick,
|
|
678
790
|
bulkSelectAllRowsProps = _ref.bulkSelectAllRowsProps,
|
|
679
791
|
localStorageKeyPrefix = _ref.localStorageKeyPrefix,
|
|
792
|
+
_ref$virtual = _ref.virtual,
|
|
793
|
+
virtual = _ref$virtual === void 0 ? false : _ref$virtual,
|
|
680
794
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
681
795
|
var _useTranslation = useTranslation(),
|
|
682
796
|
i18n = _useTranslation.i18n;
|
|
683
|
-
var _useState = useState(
|
|
797
|
+
var _useState = useState(TABLE_DEFAULT_HEADER_HEIGHT),
|
|
684
798
|
_useState2 = _slicedToArray(_useState, 2),
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
var _useState3 = useState(
|
|
799
|
+
headerHeight = _useState2[0],
|
|
800
|
+
setHeaderHeight = _useState2[1];
|
|
801
|
+
var _useState3 = useState(columnData),
|
|
688
802
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
var _useState5 = useState(
|
|
803
|
+
columns = _useState4[0],
|
|
804
|
+
setColumns = _useState4[1];
|
|
805
|
+
var _useState5 = useState(false),
|
|
692
806
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
var _useState7 = useState(
|
|
807
|
+
bulkSelectedAllRows = _useState6[0],
|
|
808
|
+
setBulkSelectedAllRows = _useState6[1];
|
|
809
|
+
var _useState7 = useState({}),
|
|
696
810
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
697
|
-
|
|
698
|
-
|
|
811
|
+
columnChanges = _useState8[0],
|
|
812
|
+
setColumnChanges = _useState8[1];
|
|
699
813
|
var _useTableSort = useTableSort(),
|
|
700
814
|
handleTableSortChange = _useTableSort.handleTableChange,
|
|
701
815
|
sortedInfo = _useTableSort.sortedInfo,
|
|
@@ -706,34 +820,29 @@ var Table = function Table(_ref) {
|
|
|
706
820
|
var history = useHistory();
|
|
707
821
|
var headerRef = useRef();
|
|
708
822
|
var tableOnChangeProps = useRef({});
|
|
709
|
-
var resizeObserver = useRef(new ResizeObserver(function (_ref3) {
|
|
710
|
-
var _ref4 = _slicedToArray(_ref3, 1),
|
|
711
|
-
entry = _ref4[0];
|
|
712
|
-
return setContainerHeight(entry.contentRect.height);
|
|
713
|
-
}));
|
|
714
|
-
var scrollRef = useRef(null);
|
|
715
|
-
var tableRef = useCallback(function (table) {
|
|
716
|
-
scrollRef.current = table;
|
|
717
|
-
if (!fixedHeight) return;
|
|
718
|
-
var observer = resizeObserver.current;
|
|
719
|
-
if (table !== null) {
|
|
720
|
-
var _table$parentNode;
|
|
721
|
-
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;
|
|
722
|
-
observer.observe(targetNode);
|
|
723
|
-
} else if (observer) {
|
|
724
|
-
observer.disconnect();
|
|
725
|
-
}
|
|
726
|
-
}, [resizeObserver.current, fixedHeight, enableColumnReorder]);
|
|
727
|
-
var _useRestoreScrollPosi = useRestoreScrollPosition({
|
|
728
|
-
tableRef: tableRef,
|
|
729
|
-
scrollRef: scrollRef,
|
|
730
|
-
loading: loading
|
|
731
|
-
}),
|
|
732
|
-
handleScroll = _useRestoreScrollPosi.handleScroll;
|
|
733
823
|
useTimeout(function () {
|
|
734
824
|
var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
|
|
735
825
|
setHeaderHeight(headerHeight);
|
|
736
826
|
}, 10);
|
|
827
|
+
var handleColumnUpdateWithChanges = function handleColumnUpdateWithChanges(updatedColumns) {
|
|
828
|
+
var newChanges = {};
|
|
829
|
+
updatedColumns.forEach(function (col) {
|
|
830
|
+
var originalCol = columnData.find(function (c) {
|
|
831
|
+
return c.dataIndex === col.dataIndex;
|
|
832
|
+
});
|
|
833
|
+
var changes = {};
|
|
834
|
+
if (col.width && col.width !== (originalCol === null || originalCol === void 0 ? void 0 : originalCol.width)) {
|
|
835
|
+
changes.width = col.width;
|
|
836
|
+
}
|
|
837
|
+
if (Object.keys(changes).length > 0) {
|
|
838
|
+
newChanges[col.dataIndex] = changes;
|
|
839
|
+
}
|
|
840
|
+
});
|
|
841
|
+
setColumnChanges(function (prev) {
|
|
842
|
+
return _objectSpread(_objectSpread({}, prev), newChanges);
|
|
843
|
+
});
|
|
844
|
+
onColumnUpdate(updatedColumns);
|
|
845
|
+
};
|
|
737
846
|
var _useColumns = useColumns({
|
|
738
847
|
isReorderEnabled: enableColumnReorder,
|
|
739
848
|
isResizeEnabled: enableColumnResize,
|
|
@@ -743,7 +852,7 @@ var Table = function Table(_ref) {
|
|
|
743
852
|
columns: columns,
|
|
744
853
|
columnData: columnData,
|
|
745
854
|
setColumns: setColumns,
|
|
746
|
-
onColumnUpdate:
|
|
855
|
+
onColumnUpdate: handleColumnUpdateWithChanges,
|
|
747
856
|
rowSelection: rowSelection,
|
|
748
857
|
sortedInfo: sortedInfo,
|
|
749
858
|
setSortedInfo: setSortedInfo,
|
|
@@ -777,6 +886,22 @@ var Table = function Table(_ref) {
|
|
|
777
886
|
}, [selectedRowKeys, rowKey, rowData, totalCount, bulkSelectedAllRows]);
|
|
778
887
|
var shouldShowSelectAllRowsCallout = bulkSelectAllRowsProps && showBulkSelectionCallout;
|
|
779
888
|
var shouldShowAllRowsSelectedCallout = bulkSelectAllRowsProps && bulkSelectedAllRows;
|
|
889
|
+
var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
|
|
890
|
+
var _ref3 = (virtual ? useVirtualScroll : useScroll)({
|
|
891
|
+
fixedHeight: fixedHeight,
|
|
892
|
+
enableColumnReorder: enableColumnReorder,
|
|
893
|
+
loading: loading,
|
|
894
|
+
otherProps: otherProps,
|
|
895
|
+
rowData: rowData,
|
|
896
|
+
pageSize: pageSize,
|
|
897
|
+
shouldShowSelectAllRowsCallout: shouldShowSelectAllRowsCallout,
|
|
898
|
+
shouldShowAllRowsSelectedCallout: shouldShowAllRowsSelectedCallout,
|
|
899
|
+
headerHeight: headerHeight
|
|
900
|
+
}),
|
|
901
|
+
tableRef = _ref3.tableRef,
|
|
902
|
+
tableContainerRef = _ref3.tableContainerRef,
|
|
903
|
+
handleScroll = _ref3.handleScroll,
|
|
904
|
+
calculatedScroll = _ref3.calculatedScroll;
|
|
780
905
|
var handleRowChange = function handleRowChange(selectedRowKeys, selectedRows) {
|
|
781
906
|
var tableWrapper = document.querySelector('[data-testid="table-wrapper"]');
|
|
782
907
|
if (selectedRowKeys.length !== defaultPageSize) {
|
|
@@ -790,7 +915,8 @@ var Table = function Table(_ref) {
|
|
|
790
915
|
};
|
|
791
916
|
var rowSelectionProps = rowSelection ? _objectSpread(_objectSpread({
|
|
792
917
|
type: "checkbox",
|
|
793
|
-
preserveSelectedRowKeys: true
|
|
918
|
+
preserveSelectedRowKeys: true,
|
|
919
|
+
columnWidth: 48
|
|
794
920
|
}, rowSelection), {}, {
|
|
795
921
|
onChange: handleRowChange,
|
|
796
922
|
selectedRowKeys: selectedRowKeys
|
|
@@ -812,20 +938,6 @@ var Table = function Table(_ref) {
|
|
|
812
938
|
enableColumnReorder: enableColumnReorder
|
|
813
939
|
})
|
|
814
940
|
});
|
|
815
|
-
var calculateRowsPerPage = function calculateRowsPerPage() {
|
|
816
|
-
var viewportHeight = window.innerHeight;
|
|
817
|
-
var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
|
|
818
|
-
return Math.ceil(rowsPerPage / 10) * 10;
|
|
819
|
-
};
|
|
820
|
-
var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
|
|
821
|
-
var calculateTableContainerHeight = function calculateTableContainerHeight() {
|
|
822
|
-
var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
|
|
823
|
-
var selectAllRowsCalloutHeight = 0;
|
|
824
|
-
if (shouldShowSelectAllRowsCallout || shouldShowAllRowsSelectedCallout) {
|
|
825
|
-
selectAllRowsCalloutHeight = getSelectAllRowsCalloutHeight();
|
|
826
|
-
}
|
|
827
|
-
return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0) - selectAllRowsCalloutHeight;
|
|
828
|
-
};
|
|
829
941
|
var calculatePageSizeOptions = function calculatePageSizeOptions() {
|
|
830
942
|
return dynamicArray(5, function (index) {
|
|
831
943
|
return (index + 1) * pageSize;
|
|
@@ -865,8 +977,11 @@ var Table = function Table(_ref) {
|
|
|
865
977
|
}, queryParams))) : handlePageChange(page, pageSize);
|
|
866
978
|
}, [rowData]);
|
|
867
979
|
useEffect(function () {
|
|
868
|
-
|
|
869
|
-
|
|
980
|
+
var mergedColumns = columnData.map(function (col) {
|
|
981
|
+
return _objectSpread(_objectSpread({}, col), columnChanges[col.dataIndex]);
|
|
982
|
+
});
|
|
983
|
+
setColumns(mergedColumns);
|
|
984
|
+
}, [columnData, columnChanges]);
|
|
870
985
|
var neetoUIFontBold = parseInt(getComputedStyle(document.documentElement).getPropertyValue("--neeto-ui-font-bold"), 10);
|
|
871
986
|
var renderTable = function renderTable() {
|
|
872
987
|
return /*#__PURE__*/React__default.createElement(_ConfigProvider, {
|
|
@@ -933,6 +1048,7 @@ var Table = function Table(_ref) {
|
|
|
933
1048
|
bordered: bordered,
|
|
934
1049
|
locale: locale,
|
|
935
1050
|
rowKey: rowKey,
|
|
1051
|
+
virtual: virtual,
|
|
936
1052
|
columns: sortedColumns,
|
|
937
1053
|
components: componentOverrides,
|
|
938
1054
|
dataSource: rowData,
|
|
@@ -942,6 +1058,7 @@ var Table = function Table(_ref) {
|
|
|
942
1058
|
},
|
|
943
1059
|
ref: tableRef,
|
|
944
1060
|
rowSelection: rowSelectionProps,
|
|
1061
|
+
scroll: _objectSpread(_objectSpread({}, calculatedScroll), scroll),
|
|
945
1062
|
showSorterTooltip: false,
|
|
946
1063
|
pagination: _objectSpread(_objectSpread({
|
|
947
1064
|
hideOnSinglePage: true
|
|
@@ -957,10 +1074,6 @@ var Table = function Table(_ref) {
|
|
|
957
1074
|
rowClassName: classnames("neeto-ui-table--row", {
|
|
958
1075
|
"neeto-ui-table--row_hover": allowRowClick
|
|
959
1076
|
}, [className]),
|
|
960
|
-
scroll: _objectSpread({
|
|
961
|
-
x: "max-content",
|
|
962
|
-
y: calculateTableContainerHeight()
|
|
963
|
-
}, scroll),
|
|
964
1077
|
onChange: handleTableChange,
|
|
965
1078
|
onScroll: handleScroll,
|
|
966
1079
|
onHeaderRow: function onHeaderRow() {
|
|
@@ -981,7 +1094,12 @@ var Table = function Table(_ref) {
|
|
|
981
1094
|
}
|
|
982
1095
|
}, otherProps)));
|
|
983
1096
|
};
|
|
984
|
-
|
|
1097
|
+
var renderTableVirtual = function renderTableVirtual() {
|
|
1098
|
+
return virtual ? /*#__PURE__*/React__default.createElement("div", {
|
|
1099
|
+
ref: tableContainerRef
|
|
1100
|
+
}, renderTable()) : renderTable();
|
|
1101
|
+
};
|
|
1102
|
+
return enableColumnReorder ? /*#__PURE__*/React__default.createElement(ReactDragListView.DragColumn, dragProps, renderTableVirtual()) : renderTableVirtual();
|
|
985
1103
|
};
|
|
986
1104
|
|
|
987
1105
|
export { Table as default };
|