@bigbinary/neetoui 5.2.45 → 5.2.46

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/index.js CHANGED
@@ -33805,19 +33805,22 @@ var Table = function Table(_ref) {
33805
33805
  _useState6 = _slicedToArray$2(_useState5, 2),
33806
33806
  columns = _useState6[0],
33807
33807
  setColumns = _useState6[1];
33808
- var isPageChangeHandlerDefault = handlePageChange === noop$3;
33808
+ var isDefaultPageChangeHandler = handlePageChange === noop$3;
33809
+ var history = useHistory();
33809
33810
  var headerRef = useRef();
33810
33811
  var resizeObserver = useRef(new ResizeObserver(function (_ref2) {
33811
33812
  var _ref3 = _slicedToArray$2(_ref2, 1),
33812
- height = _ref3[0].contentRect.height;
33813
- return setContainerHeight(height);
33813
+ entry = _ref3[0];
33814
+ return setContainerHeight(entry.contentRect.height);
33814
33815
  }));
33815
33816
  var tableRef = useCallback(function (table) {
33816
33817
  if (!fixedHeight) return;
33817
33818
  var observer = resizeObserver.current;
33818
33819
  if (table !== null) {
33819
33820
  observer.observe(table === null || table === void 0 ? void 0 : table.parentNode);
33820
- } else if (observer) observer.disconnect();
33821
+ } else if (observer) {
33822
+ observer.disconnect();
33823
+ }
33821
33824
  }, [resizeObserver.current, fixedHeight]);
33822
33825
  useTimeout(function () {
33823
33826
  var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
@@ -33848,7 +33851,7 @@ var Table = function Table(_ref) {
33848
33851
  dataIndex: snakeToCamelCase((_queryParams$sort_by = queryParams.sort_by) !== null && _queryParams$sort_by !== void 0 ? _queryParams$sort_by : "")
33849
33852
  }, assoc("sortOrder", TABLE_SORT_ORDERS[queryParams.order_by]), columnData);
33850
33853
  };
33851
- var sortedColumns = isPageChangeHandlerDefault ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33854
+ var sortedColumns = isDefaultPageChangeHandler ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33852
33855
  var locale = {
33853
33856
  emptyText: /*#__PURE__*/React__default.createElement(Typography, {
33854
33857
  style: "body2"
@@ -33858,87 +33861,78 @@ var Table = function Table(_ref) {
33858
33861
  return _objectSpread$6(_objectSpread$6({}, sortedColumn), {}, {
33859
33862
  onHeaderCell: function onHeaderCell(column) {
33860
33863
  var _sortedColumn$onHeade;
33861
- var col = (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column);
33862
- return _objectSpread$6(_objectSpread$6({}, col), {}, {
33864
+ return _objectSpread$6(_objectSpread$6({}, (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column)), {}, {
33863
33865
  "data-text-align": column.align
33864
33866
  });
33865
33867
  }
33866
33868
  });
33867
33869
  });
33868
- var isPaginationVisible = otherProps.pagination !== false && rowData.length > defaultPageSize;
33869
- var rowSelectionProps = false;
33870
- if (rowSelection) {
33871
- rowSelectionProps = _objectSpread$6(_objectSpread$6({
33872
- type: "checkbox"
33873
- }, rowSelection), {}, {
33874
- onChange: function onChange(selectedRowKeys, selectedRows) {
33875
- return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33876
- },
33877
- selectedRowKeys: selectedRowKeys
33878
- });
33879
- }
33870
+ var rowSelectionProps = rowSelection ? _objectSpread$6(_objectSpread$6({
33871
+ type: "checkbox"
33872
+ }, rowSelection), {}, {
33873
+ onChange: function onChange(selectedRowKeys, selectedRows) {
33874
+ return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33875
+ },
33876
+ selectedRowKeys: selectedRowKeys
33877
+ }) : false;
33880
33878
  var reordableHeader = {
33881
33879
  header: {
33882
33880
  cell: enableColumnResize ? enableColumnReorder ? HeaderCell : ResizableHeaderCell : enableColumnReorder ? ReorderableHeaderCell : null
33883
33881
  }
33884
33882
  };
33885
- var componentOverrides = _objectSpread$6(_objectSpread$6({}, components), reordableHeader);
33886
- var calculateTableContainerHeight = function calculateTableContainerHeight() {
33887
- return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33888
- };
33889
- var itemRender = function itemRender(_, type, originalElement) {
33890
- if (type === "prev") {
33891
- return /*#__PURE__*/React__default.createElement(Button, {
33892
- className: "",
33893
- icon: Left,
33894
- size: "small",
33895
- style: "text"
33896
- });
33897
- }
33898
- if (type === "next") {
33899
- return /*#__PURE__*/React__default.createElement(Button, {
33900
- className: "",
33901
- icon: Right,
33902
- size: "small",
33903
- style: "text"
33904
- });
33905
- }
33906
- if (type === "jump-prev") {
33907
- return /*#__PURE__*/React__default.createElement(Button, {
33908
- className: "",
33909
- icon: MenuHorizontal,
33910
- size: "small",
33911
- style: "text"
33912
- });
33913
- }
33914
- if (type === "jump-next") {
33915
- return /*#__PURE__*/React__default.createElement(Button, {
33916
- className: "",
33917
- icon: MenuHorizontal,
33918
- size: "small",
33919
- style: "text"
33920
- });
33921
- }
33922
- return originalElement;
33923
- };
33924
33883
  var calculateRowsPerPage = function calculateRowsPerPage() {
33925
33884
  var viewportHeight = window.innerHeight;
33926
33885
  var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
33927
33886
  return Math.ceil(rowsPerPage / 10) * 10;
33928
33887
  };
33888
+ var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
33889
+ var calculateTableContainerHeight = function calculateTableContainerHeight() {
33890
+ var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
33891
+ return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33892
+ };
33929
33893
  var calculatePageSizeOptions = function calculatePageSizeOptions() {
33930
- var rowsPerPage = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize;
33931
33894
  return dynamicArray(5, function (index) {
33932
- return (index + 1) * rowsPerPage;
33895
+ return (index + 1) * pageSize;
33933
33896
  });
33934
33897
  };
33898
+ var itemRender = function itemRender(_, type, originalElement) {
33899
+ var commonProps = {
33900
+ size: "small",
33901
+ style: "text"
33902
+ };
33903
+ if (type === "prev") return /*#__PURE__*/React__default.createElement(Button, _extends$4({
33904
+ icon: Left
33905
+ }, commonProps));
33906
+ if (type === "next") return /*#__PURE__*/React__default.createElement(Button, _extends$4({
33907
+ icon: Right
33908
+ }, commonProps));
33909
+ if (type === "jump-prev" || type === "jump-next") {
33910
+ return /*#__PURE__*/React__default.createElement(Button, _extends$4({
33911
+ icon: MenuHorizontal
33912
+ }, commonProps));
33913
+ }
33914
+ return originalElement;
33915
+ };
33916
+ useEffect(function () {
33917
+ var shouldNavigateToLastPage = isEmpty(rowData) && !loading && currentPageNumber !== 1;
33918
+ if (!shouldNavigateToLastPage) return;
33919
+ var lastPage = Math.ceil(totalCount / pageSize);
33920
+ var page = Math.max(1, lastPage);
33921
+ var pathname = window.location.pathname;
33922
+ isDefaultPageChangeHandler ? history.push(buildUrl(pathname, mergeLeft({
33923
+ page: page
33924
+ }, queryParams))) : handlePageChange(page, pageSize);
33925
+ }, [rowData]);
33926
+ useEffect(function () {
33927
+ return setColumns(columnData);
33928
+ }, [columnData]);
33935
33929
  var renderTable = function renderTable() {
33936
33930
  return /*#__PURE__*/React__default.createElement(_Table, _extends$4({
33937
33931
  bordered: bordered,
33938
33932
  loading: loading,
33939
33933
  locale: locale,
33940
33934
  columns: sortedColumnsWithAlignment,
33941
- components: componentOverrides,
33935
+ components: _objectSpread$6(_objectSpread$6({}, components), reordableHeader),
33942
33936
  dataSource: rowData,
33943
33937
  ref: tableRef,
33944
33938
  rowKey: "id",
@@ -33950,7 +33944,7 @@ var Table = function Table(_ref) {
33950
33944
  showSizeChanger: false,
33951
33945
  total: totalCount !== null && totalCount !== void 0 ? totalCount : 0,
33952
33946
  current: currentPageNumber,
33953
- defaultPageSize: shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize,
33947
+ defaultPageSize: pageSize,
33954
33948
  pageSizeOptions: calculatePageSizeOptions(),
33955
33949
  onChange: handlePageChange,
33956
33950
  itemRender: itemRender
@@ -33963,7 +33957,7 @@ var Table = function Table(_ref) {
33963
33957
  y: calculateTableContainerHeight()
33964
33958
  }, scroll),
33965
33959
  onChange: function onChange(pagination, _, sorter) {
33966
- isPageChangeHandlerDefault && handleTableChange(pagination, sorter);
33960
+ isDefaultPageChangeHandler && handleTableChange(pagination, sorter);
33967
33961
  },
33968
33962
  onHeaderRow: function onHeaderRow() {
33969
33963
  return {
@@ -33983,13 +33977,7 @@ var Table = function Table(_ref) {
33983
33977
  }
33984
33978
  }, otherProps));
33985
33979
  };
33986
- useEffect(function () {
33987
- setColumns(columnData);
33988
- }, [columnData]);
33989
- if (enableColumnReorder) {
33990
- return /*#__PURE__*/React__default.createElement(ReactDragListView.DragColumn, dragProps, renderTable());
33991
- }
33992
- return renderTable();
33980
+ return enableColumnReorder ? /*#__PURE__*/React__default.createElement(ReactDragListView.DragColumn, dragProps, renderTable()) : renderTable();
33993
33981
  };
33994
33982
 
33995
33983
  var _excluded$4 = ["size", "rows", "disabled", "required", "nakedTextarea", "helpText", "error", "label", "className", "maxLength", "unlimitedChars", "labelProps"];