@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.cjs.js CHANGED
@@ -33839,19 +33839,22 @@ var Table = function Table(_ref) {
33839
33839
  _useState6 = _slicedToArray$2(_useState5, 2),
33840
33840
  columns = _useState6[0],
33841
33841
  setColumns = _useState6[1];
33842
- var isPageChangeHandlerDefault = handlePageChange === noop$3;
33842
+ var isDefaultPageChangeHandler = handlePageChange === noop$3;
33843
+ var history = reactRouterDom.useHistory();
33843
33844
  var headerRef = React$3.useRef();
33844
33845
  var resizeObserver = React$3.useRef(new ResizeObserver(function (_ref2) {
33845
33846
  var _ref3 = _slicedToArray$2(_ref2, 1),
33846
- height = _ref3[0].contentRect.height;
33847
- return setContainerHeight(height);
33847
+ entry = _ref3[0];
33848
+ return setContainerHeight(entry.contentRect.height);
33848
33849
  }));
33849
33850
  var tableRef = React$3.useCallback(function (table) {
33850
33851
  if (!fixedHeight) return;
33851
33852
  var observer = resizeObserver.current;
33852
33853
  if (table !== null) {
33853
33854
  observer.observe(table === null || table === void 0 ? void 0 : table.parentNode);
33854
- } else if (observer) observer.disconnect();
33855
+ } else if (observer) {
33856
+ observer.disconnect();
33857
+ }
33855
33858
  }, [resizeObserver.current, fixedHeight]);
33856
33859
  useTimeout(function () {
33857
33860
  var headerHeight = headerRef.current ? headerRef.current.offsetHeight : TABLE_DEFAULT_HEADER_HEIGHT;
@@ -33882,7 +33885,7 @@ var Table = function Table(_ref) {
33882
33885
  dataIndex: neetoCist.snakeToCamelCase((_queryParams$sort_by = queryParams.sort_by) !== null && _queryParams$sort_by !== void 0 ? _queryParams$sort_by : "")
33883
33886
  }, ramda.assoc("sortOrder", TABLE_SORT_ORDERS[queryParams.order_by]), columnData);
33884
33887
  };
33885
- var sortedColumns = isPageChangeHandlerDefault ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33888
+ var sortedColumns = isDefaultPageChangeHandler ? setSortFromURL(curatedColumnsData) : curatedColumnsData;
33886
33889
  var locale = {
33887
33890
  emptyText: /*#__PURE__*/React__default["default"].createElement(Typography, {
33888
33891
  style: "body2"
@@ -33892,87 +33895,78 @@ var Table = function Table(_ref) {
33892
33895
  return _objectSpread$6(_objectSpread$6({}, sortedColumn), {}, {
33893
33896
  onHeaderCell: function onHeaderCell(column) {
33894
33897
  var _sortedColumn$onHeade;
33895
- var col = (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column);
33896
- return _objectSpread$6(_objectSpread$6({}, col), {}, {
33898
+ return _objectSpread$6(_objectSpread$6({}, (_sortedColumn$onHeade = sortedColumn.onHeaderCell) === null || _sortedColumn$onHeade === void 0 ? void 0 : _sortedColumn$onHeade.call(sortedColumn, column)), {}, {
33897
33899
  "data-text-align": column.align
33898
33900
  });
33899
33901
  }
33900
33902
  });
33901
33903
  });
33902
- var isPaginationVisible = otherProps.pagination !== false && rowData.length > defaultPageSize;
33903
- var rowSelectionProps = false;
33904
- if (rowSelection) {
33905
- rowSelectionProps = _objectSpread$6(_objectSpread$6({
33906
- type: "checkbox"
33907
- }, rowSelection), {}, {
33908
- onChange: function onChange(selectedRowKeys, selectedRows) {
33909
- return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33910
- },
33911
- selectedRowKeys: selectedRowKeys
33912
- });
33913
- }
33904
+ var rowSelectionProps = rowSelection ? _objectSpread$6(_objectSpread$6({
33905
+ type: "checkbox"
33906
+ }, rowSelection), {}, {
33907
+ onChange: function onChange(selectedRowKeys, selectedRows) {
33908
+ return onRowSelect && onRowSelect(selectedRowKeys, selectedRows);
33909
+ },
33910
+ selectedRowKeys: selectedRowKeys
33911
+ }) : false;
33914
33912
  var reordableHeader = {
33915
33913
  header: {
33916
33914
  cell: enableColumnResize ? enableColumnReorder ? HeaderCell : ResizableHeaderCell : enableColumnReorder ? ReorderableHeaderCell : null
33917
33915
  }
33918
33916
  };
33919
- var componentOverrides = _objectSpread$6(_objectSpread$6({}, components), reordableHeader);
33920
- var calculateTableContainerHeight = function calculateTableContainerHeight() {
33921
- return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33922
- };
33923
- var itemRender = function itemRender(_, type, originalElement) {
33924
- if (type === "prev") {
33925
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33926
- className: "",
33927
- icon: neetoIcons.Left,
33928
- size: "small",
33929
- style: "text"
33930
- });
33931
- }
33932
- if (type === "next") {
33933
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33934
- className: "",
33935
- icon: neetoIcons.Right,
33936
- size: "small",
33937
- style: "text"
33938
- });
33939
- }
33940
- if (type === "jump-prev") {
33941
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33942
- className: "",
33943
- icon: neetoIcons.MenuHorizontal,
33944
- size: "small",
33945
- style: "text"
33946
- });
33947
- }
33948
- if (type === "jump-next") {
33949
- return /*#__PURE__*/React__default["default"].createElement(Button, {
33950
- className: "",
33951
- icon: neetoIcons.MenuHorizontal,
33952
- size: "small",
33953
- style: "text"
33954
- });
33955
- }
33956
- return originalElement;
33957
- };
33958
33917
  var calculateRowsPerPage = function calculateRowsPerPage() {
33959
33918
  var viewportHeight = window.innerHeight;
33960
33919
  var rowsPerPage = Math.floor((viewportHeight - TABLE_PAGINATION_HEIGHT) / TABLE_ROW_HEIGHT * 3);
33961
33920
  return Math.ceil(rowsPerPage / 10) * 10;
33962
33921
  };
33922
+ var pageSize = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : paginationProps.pageSize || defaultPageSize;
33923
+ var calculateTableContainerHeight = function calculateTableContainerHeight() {
33924
+ var isPaginationVisible = otherProps.pagination !== false && rowData.length > pageSize;
33925
+ return containerHeight - headerHeight - (isPaginationVisible ? TABLE_PAGINATION_HEIGHT : 0);
33926
+ };
33963
33927
  var calculatePageSizeOptions = function calculatePageSizeOptions() {
33964
- var rowsPerPage = shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize;
33965
33928
  return neetoCist.dynamicArray(5, function (index) {
33966
- return (index + 1) * rowsPerPage;
33929
+ return (index + 1) * pageSize;
33967
33930
  });
33968
33931
  };
33932
+ var itemRender = function itemRender(_, type, originalElement) {
33933
+ var commonProps = {
33934
+ size: "small",
33935
+ style: "text"
33936
+ };
33937
+ if (type === "prev") return /*#__PURE__*/React__default["default"].createElement(Button, _extends$4({
33938
+ icon: neetoIcons.Left
33939
+ }, commonProps));
33940
+ if (type === "next") return /*#__PURE__*/React__default["default"].createElement(Button, _extends$4({
33941
+ icon: neetoIcons.Right
33942
+ }, commonProps));
33943
+ if (type === "jump-prev" || type === "jump-next") {
33944
+ return /*#__PURE__*/React__default["default"].createElement(Button, _extends$4({
33945
+ icon: neetoIcons.MenuHorizontal
33946
+ }, commonProps));
33947
+ }
33948
+ return originalElement;
33949
+ };
33950
+ React$3.useEffect(function () {
33951
+ var shouldNavigateToLastPage = ramda.isEmpty(rowData) && !loading && currentPageNumber !== 1;
33952
+ if (!shouldNavigateToLastPage) return;
33953
+ var lastPage = Math.ceil(totalCount / pageSize);
33954
+ var page = Math.max(1, lastPage);
33955
+ var pathname = window.location.pathname;
33956
+ isDefaultPageChangeHandler ? history.push(buildUrl(pathname, ramda.mergeLeft({
33957
+ page: page
33958
+ }, queryParams))) : handlePageChange(page, pageSize);
33959
+ }, [rowData]);
33960
+ React$3.useEffect(function () {
33961
+ return setColumns(columnData);
33962
+ }, [columnData]);
33969
33963
  var renderTable = function renderTable() {
33970
33964
  return /*#__PURE__*/React__default["default"].createElement(_Table__default["default"], _extends$4({
33971
33965
  bordered: bordered,
33972
33966
  loading: loading,
33973
33967
  locale: locale,
33974
33968
  columns: sortedColumnsWithAlignment,
33975
- components: componentOverrides,
33969
+ components: _objectSpread$6(_objectSpread$6({}, components), reordableHeader),
33976
33970
  dataSource: rowData,
33977
33971
  ref: tableRef,
33978
33972
  rowKey: "id",
@@ -33984,7 +33978,7 @@ var Table = function Table(_ref) {
33984
33978
  showSizeChanger: false,
33985
33979
  total: totalCount !== null && totalCount !== void 0 ? totalCount : 0,
33986
33980
  current: currentPageNumber,
33987
- defaultPageSize: shouldDynamicallyRenderRowSize ? calculateRowsPerPage() : defaultPageSize,
33981
+ defaultPageSize: pageSize,
33988
33982
  pageSizeOptions: calculatePageSizeOptions(),
33989
33983
  onChange: handlePageChange,
33990
33984
  itemRender: itemRender
@@ -33997,7 +33991,7 @@ var Table = function Table(_ref) {
33997
33991
  y: calculateTableContainerHeight()
33998
33992
  }, scroll),
33999
33993
  onChange: function onChange(pagination, _, sorter) {
34000
- isPageChangeHandlerDefault && handleTableChange(pagination, sorter);
33994
+ isDefaultPageChangeHandler && handleTableChange(pagination, sorter);
34001
33995
  },
34002
33996
  onHeaderRow: function onHeaderRow() {
34003
33997
  return {
@@ -34017,13 +34011,7 @@ var Table = function Table(_ref) {
34017
34011
  }
34018
34012
  }, otherProps));
34019
34013
  };
34020
- React$3.useEffect(function () {
34021
- setColumns(columnData);
34022
- }, [columnData]);
34023
- if (enableColumnReorder) {
34024
- return /*#__PURE__*/React__default["default"].createElement(ReactDragListView.DragColumn, dragProps, renderTable());
34025
- }
34026
- return renderTable();
34014
+ return enableColumnReorder ? /*#__PURE__*/React__default["default"].createElement(ReactDragListView.DragColumn, dragProps, renderTable()) : renderTable();
34027
34015
  };
34028
34016
 
34029
34017
  var _excluded$4 = ["size", "rows", "disabled", "required", "nakedTextarea", "helpText", "error", "label", "className", "maxLength", "unlimitedChars", "labelProps"];