@underverse-ui/underverse 0.2.21 → 0.2.22
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.cjs +21 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +21 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1411,6 +1411,8 @@ interface DataTableProps<T> {
|
|
|
1411
1411
|
/** Hiển thị đường kẻ dọc ngăn cách giữa các cột */
|
|
1412
1412
|
columnDividers?: boolean;
|
|
1413
1413
|
className?: string;
|
|
1414
|
+
/** Key để lưu pageSize vào localStorage. Nếu không cung cấp, pageSize sẽ không được persist */
|
|
1415
|
+
storageKey?: string;
|
|
1414
1416
|
labels?: {
|
|
1415
1417
|
density?: string;
|
|
1416
1418
|
columns?: string;
|
|
@@ -1424,7 +1426,7 @@ interface DataTableProps<T> {
|
|
|
1424
1426
|
};
|
|
1425
1427
|
}
|
|
1426
1428
|
declare function DataTable<T extends Record<string, any>>({ columns, data, rowKey, loading, total, page, pageSize, pageSizeOptions, onQueryChange, caption, toolbar, enableColumnVisibilityToggle, enableDensityToggle, enableHeaderAlignToggle, striped, // Mặc định bật màu nền sẽn kẽ cho các dòng
|
|
1427
|
-
columnDividers, className, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
1429
|
+
columnDividers, className, storageKey, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
1428
1430
|
|
|
1429
1431
|
interface TableProps extends React__default.HTMLAttributes<HTMLTableElement> {
|
|
1430
1432
|
containerClassName?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1411,6 +1411,8 @@ interface DataTableProps<T> {
|
|
|
1411
1411
|
/** Hiển thị đường kẻ dọc ngăn cách giữa các cột */
|
|
1412
1412
|
columnDividers?: boolean;
|
|
1413
1413
|
className?: string;
|
|
1414
|
+
/** Key để lưu pageSize vào localStorage. Nếu không cung cấp, pageSize sẽ không được persist */
|
|
1415
|
+
storageKey?: string;
|
|
1414
1416
|
labels?: {
|
|
1415
1417
|
density?: string;
|
|
1416
1418
|
columns?: string;
|
|
@@ -1424,7 +1426,7 @@ interface DataTableProps<T> {
|
|
|
1424
1426
|
};
|
|
1425
1427
|
}
|
|
1426
1428
|
declare function DataTable<T extends Record<string, any>>({ columns, data, rowKey, loading, total, page, pageSize, pageSizeOptions, onQueryChange, caption, toolbar, enableColumnVisibilityToggle, enableDensityToggle, enableHeaderAlignToggle, striped, // Mặc định bật màu nền sẽn kẽ cho các dòng
|
|
1427
|
-
columnDividers, className, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
1429
|
+
columnDividers, className, storageKey, labels, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
1428
1430
|
|
|
1429
1431
|
interface TableProps extends React__default.HTMLAttributes<HTMLTableElement> {
|
|
1430
1432
|
containerClassName?: string;
|
package/dist/index.js
CHANGED
|
@@ -9914,6 +9914,7 @@ function DataTable({
|
|
|
9914
9914
|
// Mặc định bật màu nền sẽn kẽ cho các dòng
|
|
9915
9915
|
columnDividers = false,
|
|
9916
9916
|
className,
|
|
9917
|
+
storageKey,
|
|
9917
9918
|
labels
|
|
9918
9919
|
}) {
|
|
9919
9920
|
const t = useTranslations7("Common");
|
|
@@ -9923,7 +9924,26 @@ function DataTable({
|
|
|
9923
9924
|
const [sort, setSort] = React37.useState(null);
|
|
9924
9925
|
const [density, setDensity] = React37.useState("normal");
|
|
9925
9926
|
const [curPage, setCurPage] = React37.useState(page);
|
|
9926
|
-
const
|
|
9927
|
+
const getInitialPageSize = React37.useCallback(() => {
|
|
9928
|
+
if (typeof window === "undefined" || !storageKey) return pageSize;
|
|
9929
|
+
try {
|
|
9930
|
+
const saved = localStorage.getItem(`datatable_${storageKey}_pageSize`);
|
|
9931
|
+
if (saved) {
|
|
9932
|
+
const parsed = parseInt(saved, 10);
|
|
9933
|
+
if (!isNaN(parsed) && parsed > 0) return parsed;
|
|
9934
|
+
}
|
|
9935
|
+
} catch {
|
|
9936
|
+
}
|
|
9937
|
+
return pageSize;
|
|
9938
|
+
}, [storageKey, pageSize]);
|
|
9939
|
+
const [curPageSize, setCurPageSize] = React37.useState(getInitialPageSize);
|
|
9940
|
+
React37.useEffect(() => {
|
|
9941
|
+
if (typeof window === "undefined" || !storageKey) return;
|
|
9942
|
+
try {
|
|
9943
|
+
localStorage.setItem(`datatable_${storageKey}_pageSize`, String(curPageSize));
|
|
9944
|
+
} catch {
|
|
9945
|
+
}
|
|
9946
|
+
}, [curPageSize, storageKey]);
|
|
9927
9947
|
React37.useEffect(() => {
|
|
9928
9948
|
const newColKeys = columns.filter((c) => c.visible !== false).map((c) => c.key);
|
|
9929
9949
|
setVisibleCols((prev) => {
|