@apia/table 4.0.29 → 4.0.31
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/index.d.ts +4 -3
- package/dist/index.js +38 -8
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
|
@@ -323,6 +323,7 @@ type TResponsiveTableContextProps = TResponsiveTableStoreProps & Pick<ISelectabl
|
|
|
323
323
|
* Si se pasa selectionHandler, la tabla no realizará ningún control de eventos de teclado o mouse.
|
|
324
324
|
*/
|
|
325
325
|
SelectionHandler?: FC<TKeyHandlerProps>;
|
|
326
|
+
showFilters?: boolean;
|
|
326
327
|
variant?: string;
|
|
327
328
|
};
|
|
328
329
|
/**
|
|
@@ -332,7 +333,7 @@ type TResponsiveTableContextProps = TResponsiveTableStoreProps & Pick<ISelectabl
|
|
|
332
333
|
* desee informar de un evento en particular
|
|
333
334
|
* pueda hacerlo en forma sencilla.
|
|
334
335
|
*/
|
|
335
|
-
type TResponsiveTableContext = TModify<Pick<TResponsiveTableContextProps, 'avoidAutoEllipsis' | 'FiltersRenderer' | 'currentBreakPoint' | 'name' | 'onChangeSelection' | 'onFilterBlur' | 'onFilterChange' | 'onFilterPressEnter' | 'onSelectRows' | 'onRowClick' | 'onSortChange' | 'label' | 'SelectionHandler'>, {
|
|
336
|
+
type TResponsiveTableContext = TModify<Pick<TResponsiveTableContextProps, 'avoidAutoEllipsis' | 'FiltersRenderer' | 'currentBreakPoint' | 'name' | 'onChangeSelection' | 'onFilterBlur' | 'onFilterChange' | 'onFilterPressEnter' | 'onSelectRows' | 'onRowClick' | 'onSortChange' | 'label' | 'SelectionHandler' | 'showFilters'>, {
|
|
336
337
|
labels: typeof defaultLabels;
|
|
337
338
|
name: string;
|
|
338
339
|
}>;
|
|
@@ -547,7 +548,7 @@ declare const Responsive: React__default.MemoExoticComponent<({ tableName }: {
|
|
|
547
548
|
tableName?: string;
|
|
548
549
|
}) => React__default.JSX.Element>;
|
|
549
550
|
|
|
550
|
-
declare const Pagination: React__default.MemoExoticComponent<({ listId: outerListId, ...props }: Omit<IPagination, "isMaximized" | "onMaximize"> & {
|
|
551
|
+
declare const Pagination: React__default.MemoExoticComponent<({ listId: outerListId, onPageChange, ...props }: Omit<IPagination, "isMaximized" | "onMaximize"> & {
|
|
551
552
|
listId: string;
|
|
552
553
|
}) => React__default.JSX.Element>;
|
|
553
554
|
|
|
@@ -558,7 +559,7 @@ declare const Grouped: React__default.MemoExoticComponent<({ group, tableName, }
|
|
|
558
559
|
|
|
559
560
|
declare function getResponsiveTableContext(tableName: string): TResponsiveTableContext;
|
|
560
561
|
declare function useResponsiveTableContext(tableName?: string): TResponsiveTableContext;
|
|
561
|
-
declare const ResponsiveTableContext: React__default.MemoExoticComponent<({ allowEdition, allowRowsKeyboardSorting, avoidAutoEllipsis, allowSelection, allowSorting, avoidReparseSelectionOnRowChange, children, className, currentBreakPoint, customLabels, columns, filters, FiltersRenderer, rows, label, isMultiple, isLoading, name, statesColumns, onChangeSelection, onFilterBlur, onFilterChange, onFilterPressEnter, onRowClick, onSelectRows, onSortChange, reserveColumnsForStates, SelectionHandler, variant, }: TResponsiveTableContextProps) => React__default.JSX.Element>;
|
|
562
|
+
declare const ResponsiveTableContext: React__default.MemoExoticComponent<({ allowEdition, allowRowsKeyboardSorting, avoidAutoEllipsis, allowSelection, allowSorting, avoidReparseSelectionOnRowChange, children, className, currentBreakPoint, customLabels, columns, filters, FiltersRenderer, rows, label, isMultiple, isLoading, name, statesColumns, showFilters, onChangeSelection, onFilterBlur, onFilterChange, onFilterPressEnter, onRowClick, onSelectRows, onSortChange, reserveColumnsForStates, SelectionHandler, variant, }: TResponsiveTableContextProps) => React__default.JSX.Element>;
|
|
562
563
|
|
|
563
564
|
type TPayloadWithId$1<P = Record<string, unknown>, T extends string = string, M = never, E = never> = PayloadAction$1<P & {
|
|
564
565
|
id: string;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import React, { useMemo, useRef, useState, createContext, useContext, memo,
|
|
2
|
+
import React, { useMemo, useRef, useState, createContext, useContext, memo, useCallback, useEffect, forwardRef } from 'react';
|
|
3
3
|
import { Box, getVariant, Input, Select, useBreakpointIndex, Label, Link, Spinner } from '@apia/theme';
|
|
4
4
|
import { useMount, useUpdateEffect, useUnmount, useThrottleFn } from 'ahooks';
|
|
5
5
|
import uniqueId from 'lodash-es/uniqueId';
|
|
@@ -465,6 +465,7 @@ const NoMemoResponsiveTableContext = ({
|
|
|
465
465
|
isLoading,
|
|
466
466
|
name,
|
|
467
467
|
statesColumns,
|
|
468
|
+
showFilters,
|
|
468
469
|
onChangeSelection,
|
|
469
470
|
onFilterBlur,
|
|
470
471
|
onFilterChange,
|
|
@@ -501,15 +502,16 @@ const NoMemoResponsiveTableContext = ({
|
|
|
501
502
|
onSortChange,
|
|
502
503
|
SelectionHandler,
|
|
503
504
|
statesColumns,
|
|
504
|
-
isLoading
|
|
505
|
+
isLoading,
|
|
506
|
+
showFilters
|
|
505
507
|
}),
|
|
506
508
|
[
|
|
507
509
|
currentBreakPoint,
|
|
508
510
|
label,
|
|
509
511
|
labels,
|
|
510
512
|
avoidAutoEllipsis,
|
|
511
|
-
actualName,
|
|
512
513
|
FiltersRenderer,
|
|
514
|
+
actualName,
|
|
513
515
|
onChangeSelection,
|
|
514
516
|
onFilterBlur,
|
|
515
517
|
onFilterChange,
|
|
@@ -519,7 +521,8 @@ const NoMemoResponsiveTableContext = ({
|
|
|
519
521
|
onSortChange,
|
|
520
522
|
SelectionHandler,
|
|
521
523
|
statesColumns,
|
|
522
|
-
isLoading
|
|
524
|
+
isLoading,
|
|
525
|
+
showFilters
|
|
523
526
|
]
|
|
524
527
|
);
|
|
525
528
|
tableContexts[actualName] = contextValue;
|
|
@@ -1647,7 +1650,7 @@ const FilterCell = ({ columnIndex, filter, Renderer }) => {
|
|
|
1647
1650
|
};
|
|
1648
1651
|
|
|
1649
1652
|
const NoMemoHeader = () => {
|
|
1650
|
-
const { name, FiltersRenderer } = useResponsiveTableContext();
|
|
1653
|
+
const { name, FiltersRenderer, showFilters } = useResponsiveTableContext();
|
|
1651
1654
|
const columns = useResponsiveTable(
|
|
1652
1655
|
(global) => global.responsiveTableSlice[name]?.columns
|
|
1653
1656
|
);
|
|
@@ -1704,8 +1707,7 @@ const NoMemoHeader = () => {
|
|
|
1704
1707
|
[columns]
|
|
1705
1708
|
);
|
|
1706
1709
|
const [isFiltersRowVisible, setIsFiltersRowVisible] = React.useState(
|
|
1707
|
-
|
|
1708
|
-
false
|
|
1710
|
+
showFilters ?? false
|
|
1709
1711
|
);
|
|
1710
1712
|
React.useEffect(() => {
|
|
1711
1713
|
persistentStorage.showResponsiveTableFilters = isFiltersRowVisible;
|
|
@@ -2766,13 +2768,41 @@ function useIsMaximized(id) {
|
|
|
2766
2768
|
|
|
2767
2769
|
const NoMemoPagination = ({
|
|
2768
2770
|
listId: outerListId,
|
|
2771
|
+
onPageChange,
|
|
2769
2772
|
...props
|
|
2770
2773
|
}) => {
|
|
2771
2774
|
const listId = useResponsiveTableContext().name;
|
|
2772
2775
|
const { isMaximized, toggleIsMaximized } = useIsMaximized(
|
|
2773
2776
|
outerListId ?? listId
|
|
2774
2777
|
);
|
|
2775
|
-
|
|
2778
|
+
const numberCurrentPage = Number(props.currentPage);
|
|
2779
|
+
const [internCurrentPage, setCurrentPage] = useState(
|
|
2780
|
+
numberCurrentPage ?? 1
|
|
2781
|
+
);
|
|
2782
|
+
const [lastEmittedPage, setLastEmittedPage] = useState(
|
|
2783
|
+
numberCurrentPage ?? 1
|
|
2784
|
+
);
|
|
2785
|
+
const setCurrentAndDispatch = useCallback(
|
|
2786
|
+
(page) => {
|
|
2787
|
+
if (page !== lastEmittedPage) {
|
|
2788
|
+
setCurrentPage(page);
|
|
2789
|
+
onPageChange?.(page);
|
|
2790
|
+
setLastEmittedPage(page);
|
|
2791
|
+
}
|
|
2792
|
+
},
|
|
2793
|
+
[lastEmittedPage, onPageChange]
|
|
2794
|
+
);
|
|
2795
|
+
useEffect(() => {
|
|
2796
|
+
setCurrentPage(numberCurrentPage);
|
|
2797
|
+
}, [numberCurrentPage]);
|
|
2798
|
+
return /* @__PURE__ */ jsx(
|
|
2799
|
+
Pagination$1,
|
|
2800
|
+
{
|
|
2801
|
+
...{ ...props, isMaximized, onMaximize: toggleIsMaximized },
|
|
2802
|
+
currentPage: internCurrentPage,
|
|
2803
|
+
onPageChange: setCurrentAndDispatch
|
|
2804
|
+
}
|
|
2805
|
+
);
|
|
2776
2806
|
};
|
|
2777
2807
|
const Pagination = React.memo(NoMemoPagination);
|
|
2778
2808
|
|