@stella-source/stellasource-dsl 0.2.0 → 0.2.1
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/cjs/index.js +30 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/Pagination/types.d.ts +1 -0
- package/dist/cjs/types/components/Table/Table.d.ts +1 -1
- package/dist/cjs/types/components/Table/types.d.ts +1 -0
- package/dist/esm/index.esm.js +30 -9
- package/dist/esm/index.esm.js.map +1 -1
- package/dist/esm/types/components/Pagination/types.d.ts +1 -0
- package/dist/esm/types/components/Table/Table.d.ts +1 -1
- package/dist/esm/types/components/Table/types.d.ts +1 -0
- package/dist/index.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TableProps } from "./types";
|
|
3
|
-
declare function Table<T>({ columns, data, isLoading, serverSide, onPageChange, onSortChange, onFilterChange, onRowSelect, rowStatuses, showSelection, showRowOptions, showPagination, variant, paginationDetails, selectionMenuItems, dataAuto, dataTestId, id, className, htmlProps, }: TableProps<T>): React.JSX.Element;
|
|
3
|
+
declare function Table<T>({ columns, data, isLoading, serverSide, onPageChange, onSortChange, onFilterChange, onRowSelect, rowStatuses, showSelection, showRowOptions, showPagination, variant, paginationDetails, selectionMenuItems, dataAuto, dataTestId, id, className, htmlProps, resetTrigger, }: TableProps<T>): React.JSX.Element;
|
|
4
4
|
export default Table;
|
|
@@ -37,6 +37,7 @@ export interface TableProps<T> {
|
|
|
37
37
|
htmlProps?: HTMLAttributes<HTMLTableElement>;
|
|
38
38
|
paginationDetails?: PaginationDetails;
|
|
39
39
|
rowStatuses?: Record<number | string, RowStatus>;
|
|
40
|
+
resetTrigger?: number;
|
|
40
41
|
}
|
|
41
42
|
export interface CustomColumnMeta {
|
|
42
43
|
headerAlign?: "left" | "right";
|
package/dist/esm/index.esm.js
CHANGED
|
@@ -20679,14 +20679,19 @@ const PageTotals = styled.span `
|
|
|
20679
20679
|
|
|
20680
20680
|
const Pagination = ({ isLoading, rowsPerPage = 100, totalRows, ariaLabel = "Pagination", onPageChange, startingPage = 1, id, className, htmlProps, }) => {
|
|
20681
20681
|
const [pageNumber, setPageNumber] = a__default.useState(startingPage || 1);
|
|
20682
|
+
const [total, setTotal] = a__default.useState(totalRows || 5);
|
|
20682
20683
|
const totalPages = useMemo$1(() => {
|
|
20683
|
-
return Math.ceil(
|
|
20684
|
-
}, [rowsPerPage,
|
|
20684
|
+
return Math.ceil(total / rowsPerPage);
|
|
20685
|
+
}, [rowsPerPage, total]);
|
|
20685
20686
|
const currentRows = useMemo$1(() => {
|
|
20686
20687
|
const startRow = (pageNumber - 1) * rowsPerPage + 1;
|
|
20687
|
-
const endRow = Math.min(startRow + rowsPerPage - 1,
|
|
20688
|
+
const endRow = Math.min(startRow + rowsPerPage - 1, total);
|
|
20688
20689
|
return { startRow, endRow };
|
|
20689
|
-
}, [pageNumber, rowsPerPage,
|
|
20690
|
+
}, [pageNumber, rowsPerPage, total]);
|
|
20691
|
+
useEffect(() => {
|
|
20692
|
+
setPageNumber(startingPage);
|
|
20693
|
+
setTotal(totalRows);
|
|
20694
|
+
}, [totalRows, startingPage]);
|
|
20690
20695
|
const handlePageChange = (newPage) => {
|
|
20691
20696
|
if (newPage >= 1 && newPage <= totalPages) {
|
|
20692
20697
|
setPageNumber(newPage);
|
|
@@ -21202,7 +21207,7 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21202
21207
|
startingPage: 1,
|
|
21203
21208
|
rowsPerPage: 10,
|
|
21204
21209
|
totalRows: data.length,
|
|
21205
|
-
}, selectionMenuItems, dataAuto, dataTestId, id, className, htmlProps, }) {
|
|
21210
|
+
}, selectionMenuItems, dataAuto, dataTestId, id, className, htmlProps, resetTrigger, }) {
|
|
21206
21211
|
const [rowSelection, setRowSelection] = useState({});
|
|
21207
21212
|
const [selectedRows] = useState({});
|
|
21208
21213
|
const [pageIndex, setPageIndex] = useState(paginationDetails?.startingPage);
|
|
@@ -21210,6 +21215,7 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21210
21215
|
pageIndex: paginationDetails?.startingPage - 1,
|
|
21211
21216
|
pageSize: paginationDetails?.rowsPerPage || 10,
|
|
21212
21217
|
});
|
|
21218
|
+
const [totalData, setTotalData] = useState(paginationDetails?.totalRows);
|
|
21213
21219
|
const [sorting, setSorting] = useState([]);
|
|
21214
21220
|
const [filters, setFilters] = useState({});
|
|
21215
21221
|
const [rowState, setRowState] = useState({});
|
|
@@ -21225,6 +21231,9 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21225
21231
|
useEffect(() => {
|
|
21226
21232
|
setRowStatusesState(rowStatuses || {});
|
|
21227
21233
|
}, [rowStatuses]);
|
|
21234
|
+
useEffect(() => {
|
|
21235
|
+
setTotalData(paginationDetails?.totalRows);
|
|
21236
|
+
}, [paginationDetails.totalRows, data]);
|
|
21228
21237
|
useEffect(() => {
|
|
21229
21238
|
const el = scrollRef?.current;
|
|
21230
21239
|
if (!el)
|
|
@@ -21331,6 +21340,20 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21331
21340
|
onRowSelect?.(selectedData);
|
|
21332
21341
|
}
|
|
21333
21342
|
}, [onRowSelect, table, rowSelection]);
|
|
21343
|
+
useEffect(() => {
|
|
21344
|
+
resetTable();
|
|
21345
|
+
}, [resetTrigger]);
|
|
21346
|
+
const resetTable = () => {
|
|
21347
|
+
setColumnFilters([]);
|
|
21348
|
+
setFilters({});
|
|
21349
|
+
setScrollState({ atLeft: true, atRight: false });
|
|
21350
|
+
setSorting([]);
|
|
21351
|
+
setPageIndex(1);
|
|
21352
|
+
setPagination({
|
|
21353
|
+
pageIndex: paginationDetails?.startingPage - 1,
|
|
21354
|
+
pageSize: paginationDetails?.rowsPerPage || 10,
|
|
21355
|
+
});
|
|
21356
|
+
};
|
|
21334
21357
|
return (a__default.createElement(TableWrapper, { className: className, id: id, "data-testid": dataTestId, "data-auto": dataAuto },
|
|
21335
21358
|
a__default.createElement(TableWrapperScroll, { "$filterMenuOpen": Object.values(filterMenuOpen).some((value) => value), ref: scrollRef }, isLoading ? (a__default.createElement("div", null,
|
|
21336
21359
|
a__default.createElement("div", { style: {
|
|
@@ -21399,16 +21422,14 @@ function Table({ columns, data, isLoading, serverSide = false, onPageChange, onS
|
|
|
21399
21422
|
: "white",
|
|
21400
21423
|
}, "$isPinnedLeft": cell.column.getIsPinned() === "left", "$isPinnedRight": cell.column.getIsPinned() === "right", "$columnInfo": cell.column, "$isLastRow": row.index === table.getRowModel().rows.length - 1 }, value));
|
|
21401
21424
|
})))))))),
|
|
21402
|
-
showPagination && paginationDetails?.totalRows && (a__default.createElement(CustomPagination, { totalRows: serverSide
|
|
21403
|
-
? paginationDetails?.totalRows
|
|
21404
|
-
: table.getFilteredRowModel().rows.length, isLoading: isLoading, rowsPerPage: paginationDetails?.rowsPerPage, startingPage: pageIndex, onPageChange: (page, pageSize) => {
|
|
21425
|
+
showPagination && paginationDetails?.totalRows && (a__default.createElement(CustomPagination, { totalRows: serverSide ? totalData : table.getFilteredRowModel().rows.length, isLoading: isLoading, rowsPerPage: paginationDetails?.rowsPerPage, startingPage: pageIndex, onPageChange: (page, pageSize) => {
|
|
21405
21426
|
setPageIndex(page);
|
|
21406
21427
|
setPagination((prev) => ({
|
|
21407
21428
|
...prev,
|
|
21408
21429
|
pageIndex: page - 1,
|
|
21409
21430
|
}));
|
|
21410
21431
|
onPageChange?.(page, pageSize);
|
|
21411
|
-
} }))));
|
|
21432
|
+
}, resetTrigger: resetTrigger }))));
|
|
21412
21433
|
}
|
|
21413
21434
|
|
|
21414
21435
|
const SyncContainer = styled.div `
|