@xyo-network/react-payload-table 2.37.23 → 2.37.25

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.
@@ -1,6 +1,6 @@
1
+ /// <reference types="react" />
1
2
  import { XyoPayload } from '@xyo-network/payload';
2
3
  import { TableExProps } from '@xyo-network/react-table';
3
- import * as React from 'react';
4
4
  import { PayloadTableColumnConfig } from './PayloadTableColumnConfig';
5
5
  export interface PayloadTableProps extends TableExProps {
6
6
  exploreDomain?: string;
@@ -8,8 +8,14 @@ export interface PayloadTableProps extends TableExProps {
8
8
  onRowClick?: (value: XyoPayload) => void;
9
9
  rowsPerPage?: number;
10
10
  payloads?: XyoPayload[] | null;
11
+ loading?: boolean;
11
12
  columns?: PayloadTableColumnConfig;
13
+ /** External trigger to fetch more payloads */
14
+ fetchMorePayloads?: () => void;
15
+ /** set number of schema parts to display starting from the end */
12
16
  maxSchemaDepth?: number;
17
+ /** Total number of payloads passed */
18
+ count?: number;
13
19
  }
14
20
  export declare const PayloadTable: React.FC<PayloadTableProps>;
15
21
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AASA,OAAO,EAAkB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EAAW,YAAY,EAAiB,MAAM,0BAA0B,CAAA;AAC/E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAsB,wBAAwB,EAAoC,MAAM,4BAA4B,CAAA;AAE3H,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AA+CD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsGpD,CAAA"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAkB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EAAW,YAAY,EAAiB,MAAM,0BAA0B,CAAA;AAG/E,OAAO,EAAsB,wBAAwB,EAAoC,MAAM,4BAA4B,CAAA;AAI3H,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,wBAAwB,CAAA;IAClC,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC9B,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkIpD,CAAA"}
@@ -3,52 +3,52 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PayloadTable = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
- const FirstPage_1 = tslib_1.__importDefault(require("@mui/icons-material/FirstPage"));
7
- const KeyboardArrowLeft_1 = tslib_1.__importDefault(require("@mui/icons-material/KeyboardArrowLeft"));
8
- const KeyboardArrowRight_1 = tslib_1.__importDefault(require("@mui/icons-material/KeyboardArrowRight"));
9
- const LastPage_1 = tslib_1.__importDefault(require("@mui/icons-material/LastPage"));
10
6
  const material_1 = require("@mui/material");
11
- const Box_1 = tslib_1.__importDefault(require("@mui/material/Box"));
12
- const IconButton_1 = tslib_1.__importDefault(require("@mui/material/IconButton"));
13
- const styles_1 = require("@mui/material/styles");
14
7
  const react_shared_1 = require("@xylabs/react-shared");
15
8
  const payload_1 = require("@xyo-network/payload");
16
9
  const react_auth_service_1 = require("@xyo-network/react-auth-service");
17
10
  const react_table_1 = require("@xyo-network/react-table");
18
11
  const react_1 = require("react");
19
12
  const PayloadTableColumnConfig_1 = require("./PayloadTableColumnConfig");
13
+ const TablePagination_1 = require("./TablePagination");
20
14
  const TableRow_1 = require("./TableRow");
21
- function TablePaginationActions(props) {
22
- const theme = (0, styles_1.useTheme)();
23
- const { count, page, rowsPerPage, onPageChange } = props;
24
- const handleFirstPageButtonClick = (event) => {
25
- onPageChange(event, 0);
26
- };
27
- const handleBackButtonClick = (event) => {
28
- onPageChange(event, page - 1);
29
- };
30
- const handleNextButtonClick = (event) => {
31
- onPageChange(event, page + 1);
32
- };
33
- const handleLastPageButtonClick = (event) => {
34
- onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
35
- };
36
- return ((0, jsx_runtime_1.jsxs)(Box_1.default, Object.assign({ sx: { flexShrink: 0, ml: 2.5 } }, { children: [(0, jsx_runtime_1.jsx)(IconButton_1.default, Object.assign({ onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(LastPage_1.default, {}) : (0, jsx_runtime_1.jsx)(FirstPage_1.default, {}) })), (0, jsx_runtime_1.jsx)(IconButton_1.default, Object.assign({ onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(KeyboardArrowRight_1.default, {}) : (0, jsx_runtime_1.jsx)(KeyboardArrowLeft_1.default, {}) })), (0, jsx_runtime_1.jsx)(IconButton_1.default, Object.assign({ onClick: handleNextButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "next page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(KeyboardArrowLeft_1.default, {}) : (0, jsx_runtime_1.jsx)(KeyboardArrowRight_1.default, {}) })), (0, jsx_runtime_1.jsx)(IconButton_1.default, Object.assign({ onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(FirstPage_1.default, {}) : (0, jsx_runtime_1.jsx)(LastPage_1.default, {}) }))] })));
37
- }
38
15
  const PayloadTable = (_a) => {
39
16
  var _b;
40
- var { exploreDomain, archive, onRowClick, rowsPerPage: rowsPerPageProp = 25, payloads, children, columns = (0, PayloadTableColumnConfig_1.payloadTableColumnConfigDefaults)(), maxSchemaDepth, variant = 'scrollable' } = _a, props = tslib_1.__rest(_a, ["exploreDomain", "archive", "onRowClick", "rowsPerPage", "payloads", "children", "columns", "maxSchemaDepth", "variant"]);
41
- const theme = (0, styles_1.useTheme)();
17
+ var { exploreDomain, archive, onRowClick, fetchMorePayloads, rowsPerPage: rowsPerPageProp = 25, payloads, children, columns = (0, PayloadTableColumnConfig_1.payloadTableColumnConfigDefaults)(), maxSchemaDepth, count = 0, loading = false, variant = 'scrollable' } = _a, props = tslib_1.__rest(_a, ["exploreDomain", "archive", "onRowClick", "fetchMorePayloads", "rowsPerPage", "payloads", "children", "columns", "maxSchemaDepth", "count", "loading", "variant"]);
42
18
  const breakPoint = (0, react_shared_1.useBreakpoint)();
43
19
  const [page, setPage] = (0, react_1.useState)(0);
44
20
  const [rowsPerPage, setRowsPerPage] = (0, react_1.useState)(rowsPerPageProp);
45
- const payloadCount = payloads ? payloads.length : 0;
21
+ const [visiblePayloads, setVisiblePayloads] = (0, react_1.useState)([]);
46
22
  // Avoid a layout jump when reaching the last page with empty rows.
47
- const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - payloadCount) : 0;
23
+ const emptyRows = page > 0 ? Math.max(0, (1 + page) * rowsPerPage - count || 0) : 0;
48
24
  (0, react_1.useEffect)(() => {
49
25
  setRowsPerPage(rowsPerPageProp);
50
26
  }, [rowsPerPageProp]);
27
+ // React to various prop changes to derive new visible payloads
28
+ // count is needed to show initial payloads added async to the same payloads reference
29
+ (0, react_1.useEffect)(() => {
30
+ if (payloads) {
31
+ setVisiblePayloads(payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage));
32
+ }
33
+ }, [count, page, payloads, rowsPerPage]);
34
+ // If the payload reference changes, assume we have a new list and reset current page
35
+ (0, react_1.useEffect)(() => {
36
+ setPage(0);
37
+ }, [payloads]);
38
+ const handleAdditionalPayloads = () => {
39
+ if (fetchMorePayloads && payloads) {
40
+ const buffer = rowsPerPage * 2;
41
+ const lastVisiblePayload = visiblePayloads === null || visiblePayloads === void 0 ? void 0 : visiblePayloads.at(-1);
42
+ if (lastVisiblePayload) {
43
+ const lastVisibleIndex = payloads === null || payloads === void 0 ? void 0 : payloads.indexOf(lastVisiblePayload);
44
+ if (lastVisibleIndex !== undefined && payloads.length - (lastVisibleIndex + 1) <= buffer) {
45
+ fetchMorePayloads();
46
+ }
47
+ }
48
+ }
49
+ };
51
50
  const handleChangePage = (event, newPage) => {
51
+ handleAdditionalPayloads();
52
52
  setPage(newPage);
53
53
  };
54
54
  const handleChangeRowsPerPage = (event) => {
@@ -57,20 +57,26 @@ const PayloadTable = (_a) => {
57
57
  };
58
58
  return breakPoint ? ((0, jsx_runtime_1.jsxs)(react_table_1.TableEx, Object.assign({ variant: variant }, props, { children: [(0, jsx_runtime_1.jsx)(material_1.TableHead, { children: (0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (_b = columns[breakPoint]) === null || _b === void 0 ? void 0 : _b.map((column, index) => {
59
59
  return ((0, jsx_runtime_1.jsx)(material_1.TableCell, Object.assign({ width: index === 0 ? '100%' : undefined, align: index === 0 ? 'left' : 'center' }, { children: (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ variant: "body2", noWrap: true }, { children: PayloadTableColumnConfig_1.payloadColumnNames[column] })) }), index));
60
- }) }) }), (0, jsx_runtime_1.jsxs)(material_1.TableBody, { children: [payloads === null || payloads === void 0 ? void 0 : payloads.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage).map((payload, index) => {
61
- // {payloads?.map((payload, index) => {
60
+ }) }) }), (0, jsx_runtime_1.jsxs)(material_1.TableBody, { children: [visiblePayloads === null || visiblePayloads === void 0 ? void 0 : visiblePayloads.map((payload, index) => {
62
61
  const wrapper = new payload_1.PayloadWrapper(payload);
63
62
  return ((0, jsx_runtime_1.jsx)(react_auth_service_1.XyoApiThrownErrorBoundary, Object.assign({ errorComponent: (e) => ((0, jsx_runtime_1.jsxs)(material_1.Alert, Object.assign({ severity: "error" }, { children: ["Error Loading Payload: ", (0, jsx_runtime_1.jsx)(material_1.Typography, Object.assign({ fontWeight: "bold" }, { children: e.message }))] }))) }, { children: (0, jsx_runtime_1.jsx)(TableRow_1.PayloadTableRow, { maxSchemaDepth: maxSchemaDepth, archive: archive, onClick: onRowClick
64
63
  ? () => {
65
64
  onRowClick(payload);
66
65
  }
67
66
  : undefined, exploreDomain: exploreDomain, payload: payload }) }), `${wrapper.hash}-${index}`));
68
- }), children, emptyRows > 0 && Array(emptyRows).fill((0, jsx_runtime_1.jsx)(TableRow_1.PayloadTableRow, {}))] }), (0, jsx_runtime_1.jsx)(react_table_1.TableFooterEx, Object.assign({ variant: variant }, { children: (0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(material_1.TablePagination, { rowsPerPageOptions: [5, 10, 25, { label: 'All', value: -1 }], count: payloadCount, rowsPerPage: rowsPerPage, page: page, style: { borderTop: '1px solid', borderTopColor: theme.palette.divider }, SelectProps: {
67
+ }), children, emptyRows > 0 && Array(emptyRows).fill((0, jsx_runtime_1.jsx)(TableRow_1.PayloadTableRow, {}))] }), (0, jsx_runtime_1.jsx)(react_table_1.TableFooterEx, Object.assign({ variant: variant }, { children: (0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(StyledTablePagination, { rowsPerPageOptions: [5, 10, 25, { label: 'All', value: -1 }], count: count !== null && count !== void 0 ? count : 0, rowsPerPage: rowsPerPage, page: page, SelectProps: {
69
68
  inputProps: {
70
69
  'aria-label': 'rows per page',
71
70
  },
72
71
  native: true,
73
- }, onPageChange: handleChangePage, onRowsPerPageChange: handleChangeRowsPerPage, ActionsComponent: TablePaginationActions }) }) }))] }))) : null;
72
+ }, onPageChange: handleChangePage, onRowsPerPageChange: handleChangeRowsPerPage, ActionsComponent: (props) => (0, jsx_runtime_1.jsx)(TablePagination_1.TablePaginationActions, Object.assign({ enableNextPage: !!fetchMorePayloads, loading: loading }, props)) }) }) }))] }))) : null;
74
73
  };
75
74
  exports.PayloadTable = PayloadTable;
75
+ const StyledTablePagination = (0, material_1.styled)(material_1.TablePagination)(({ theme }) => ({
76
+ '& > .MuiToolbar-root': {
77
+ paddingLeft: theme.spacing(1),
78
+ },
79
+ borderTop: '1px solid',
80
+ borderTopColor: theme.palette.divider,
81
+ }));
76
82
  //# sourceMappingURL=Table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/components/Table/Table.tsx"],"names":[],"mappings":";;;;;AAAA,4CAAqH;AACrH,uDAAoD;AACpD,kDAAiE;AACjE,wEAA2E;AAC3E,0DAA+E;AAC/E,iCAA2C;AAE3C,yEAA2H;AAC3H,uDAA0D;AAC1D,yCAA4C;AAkBrC,MAAM,YAAY,GAAgC,CAAC,EAczD,EAAE,EAAE;;QAdqD,EACxD,aAAa,EACb,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,WAAW,EAAE,eAAe,GAAG,EAAE,EACjC,QAAQ,EACR,QAAQ,EACR,OAAO,GAAG,IAAA,2DAAgC,GAAE,EAC5C,cAAc,EACd,KAAK,GAAG,CAAC,EACT,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,YAAY,OAEvB,EADI,KAAK,sBAbgD,kKAczD,CADS;IAER,MAAM,UAAU,GAAG,IAAA,4BAAa,GAAE,CAAA;IAClC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAA;IACnC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,eAAe,CAAC,CAAA;IAC/D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,IAAA,gBAAQ,EAAe,EAAE,CAAC,CAAA;IAExE,mEAAmE;IACnE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,WAAW,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,cAAc,CAAC,eAAe,CAAC,CAAA;IACjC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;IAErB,+DAA+D;IAC/D,sFAAsF;IACtF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,QAAQ,EAAE;YACZ,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC,CAAA;SACzF;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;IAExC,qFAAqF;IACrF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,OAAO,CAAC,CAAC,CAAC,CAAA;IACZ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,wBAAwB,GAAG,GAAG,EAAE;QACpC,IAAI,iBAAiB,IAAI,QAAQ,EAAE;YACjC,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,CAAA;YAC9B,MAAM,kBAAkB,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,IAAI,kBAAkB,EAAE;gBACtB,MAAM,gBAAgB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;gBAC9D,IAAI,gBAAgB,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE;oBACxF,iBAAiB,EAAE,CAAA;iBACpB;aACF;SACF;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,KAAiD,EAAE,OAAe,EAAE,EAAE;QAC9F,wBAAwB,EAAE,CAAA;QAC1B,OAAO,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,CAAC,KAAgE,EAAE,EAAE;QACnG,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;QAChD,OAAO,CAAC,CAAC,CAAC,CAAA;IACZ,CAAC,CAAA;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,CAClB,wBAAC,qBAAO,kBAAC,OAAO,EAAE,OAAO,IAAM,KAAK,eAClC,uBAAC,oBAAS,cACR,uBAAC,mBAAQ,cACN,MAAA,OAAO,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;wBAC1C,OAAO,CACL,uBAAC,oBAAS,kBAAa,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,gBACpG,uBAAC,qBAAU,kBAAC,OAAO,EAAC,OAAO,EAAC,MAAM,sBAC/B,6CAAkB,CAAC,MAAM,CAAC,IAChB,KAHC,KAAK,CAIT,CACb,CAAA;oBACH,CAAC,CAAC,GACO,GACD,EACZ,wBAAC,oBAAS,eACP,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;wBACvC,MAAM,OAAO,GAAG,IAAI,wBAAc,CAAC,OAAO,CAAC,CAAA;wBAC3C,OAAO,CACL,uBAAC,8CAAyB,kBAExB,cAAc,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,CAC5B,wBAAC,gBAAK,kBAAC,QAAQ,EAAC,OAAO,4CACE,uBAAC,qBAAU,kBAAC,UAAU,EAAC,MAAM,gBAAE,CAAC,CAAC,OAAO,IAAc,KACvE,CACT,gBAED,uBAAC,0BAAe,IACd,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,EACL,UAAU;oCACR,CAAC,CAAC,GAAG,EAAE;wCACH,UAAU,CAAC,OAAO,CAAC,CAAA;oCACrB,CAAC;oCACH,CAAC,CAAC,SAAS,EAEf,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,GAChB,KAnBG,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,EAAE,CAoBL,CAC7B,CAAA;oBACH,CAAC,CAAC,EACD,QAAQ,EACR,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,uBAAC,0BAAe,KAAG,CAAC,IAClD,EACZ,uBAAC,2BAAa,kBAAC,OAAO,EAAE,OAAO,gBAC7B,uBAAC,mBAAQ,cACP,uBAAC,qBAAqB,IACpB,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAC5D,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,EACjB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,WAAW,EAAE;4BACX,UAAU,EAAE;gCACV,YAAY,EAAE,eAAe;6BAC9B;4BACD,MAAM,EAAE,IAAI;yBACb,EACD,YAAY,EAAE,gBAAgB,EAC9B,mBAAmB,EAAE,uBAAuB,EAC5C,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAC,wCAAsB,kBAAC,cAAc,EAAE,CAAC,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,IAAM,KAAK,EAAI,GACzH,GACO,IACG,KACR,CACX,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA;AAlIY,QAAA,YAAY,gBAkIxB;AAED,MAAM,qBAAqB,GAAG,IAAA,iBAAM,EAAC,0BAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,sBAAsB,EAAE;QACtB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC9B;IACD,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;CACtC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ interface TablePaginationActionsProps {
3
+ count: number;
4
+ enableNextPage?: boolean;
5
+ page: number;
6
+ rowsPerPage: number;
7
+ loading?: boolean;
8
+ onPageChange: (event: React.MouseEvent<HTMLButtonElement>, newPage: number) => void;
9
+ }
10
+ export declare function TablePaginationActions({ count, page, rowsPerPage, onPageChange, enableNextPage, loading }: TablePaginationActionsProps): JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=TablePagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePagination.d.ts","sourceRoot":"","sources":["../../../../src/components/Table/TablePagination.tsx"],"names":[],"mappings":";AAMA,UAAU,2BAA2B;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACpF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,2BAA2B,eAsCtI"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TablePaginationActions = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const FirstPage_1 = tslib_1.__importDefault(require("@mui/icons-material/FirstPage"));
7
+ const KeyboardArrowLeft_1 = tslib_1.__importDefault(require("@mui/icons-material/KeyboardArrowLeft"));
8
+ const KeyboardArrowRight_1 = tslib_1.__importDefault(require("@mui/icons-material/KeyboardArrowRight"));
9
+ const LastPage_1 = tslib_1.__importDefault(require("@mui/icons-material/LastPage"));
10
+ const material_1 = require("@mui/material");
11
+ function TablePaginationActions({ count, page, rowsPerPage, onPageChange, enableNextPage, loading }) {
12
+ const theme = (0, material_1.useTheme)();
13
+ const handleFirstPageButtonClick = (event) => {
14
+ onPageChange(event, 0);
15
+ };
16
+ const handleBackButtonClick = (event) => {
17
+ onPageChange(event, page - 1);
18
+ };
19
+ const handleNextButtonClick = (event) => {
20
+ onPageChange(event, page + 1);
21
+ };
22
+ const handleLastPageButtonClick = (event) => {
23
+ onPageChange(event, Math.max(0, Math.ceil(count / rowsPerPage) - 1));
24
+ };
25
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [loading ? (0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 'small', sx: { height: theme.spacing(2), position: 'absolute', width: theme.spacing(2) } }) : null, (0, jsx_runtime_1.jsxs)(material_1.Box, Object.assign({ sx: { flexShrink: 0, ml: 2.5 } }, { children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleFirstPageButtonClick, disabled: page === 0, "aria-label": "first page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(LastPage_1.default, {}) : (0, jsx_runtime_1.jsx)(FirstPage_1.default, {}) })), (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleBackButtonClick, disabled: page === 0, "aria-label": "previous page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(KeyboardArrowRight_1.default, {}) : (0, jsx_runtime_1.jsx)(KeyboardArrowLeft_1.default, {}) })), (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleNextButtonClick, disabled: !enableNextPage && page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "next page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(KeyboardArrowLeft_1.default, {}) : (0, jsx_runtime_1.jsx)(KeyboardArrowRight_1.default, {}) })), (0, jsx_runtime_1.jsx)(material_1.IconButton, Object.assign({ onClick: handleLastPageButtonClick, disabled: page >= Math.ceil(count / rowsPerPage) - 1, "aria-label": "last page" }, { children: theme.direction === 'rtl' ? (0, jsx_runtime_1.jsx)(FirstPage_1.default, {}) : (0, jsx_runtime_1.jsx)(LastPage_1.default, {}) }))] }))] }));
26
+ }
27
+ exports.TablePaginationActions = TablePaginationActions;
28
+ //# sourceMappingURL=TablePagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TablePagination.js","sourceRoot":"","sources":["../../../../src/components/Table/TablePagination.tsx"],"names":[],"mappings":";;;;;AAAA,sFAAyD;AACzD,sGAAqE;AACrE,wGAAuE;AACvE,oFAAuD;AACvD,4CAA2E;AAW3E,SAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAA+B;IACrI,MAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAA;IAExB,MAAM,0BAA0B,GAAG,CAAC,KAA0C,EAAE,EAAE;QAChF,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,KAA0C,EAAE,EAAE;QAC3E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,qBAAqB,GAAG,CAAC,KAA0C,EAAE,EAAE;QAC3E,YAAY,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,CAAC,KAA0C,EAAE,EAAE;QAC/E,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC,CAAA;IAED,OAAO,CACL,6DACG,OAAO,CAAC,CAAC,CAAC,uBAAC,2BAAgB,IAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAI,CAAC,CAAC,CAAC,IAAI,EACtI,wBAAC,cAAG,kBAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,iBACjC,uBAAC,qBAAU,kBAAC,OAAO,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,gBAAa,YAAY,gBAC3F,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAC,kBAAY,KAAG,CAAC,CAAC,CAAC,uBAAC,mBAAa,KAAG,IACtD,EACb,uBAAC,qBAAU,kBAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,KAAK,CAAC,gBAAa,eAAe,gBACzF,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAC,4BAAkB,KAAG,CAAC,CAAC,CAAC,uBAAC,2BAAiB,KAAG,IAChE,EACb,uBAAC,qBAAU,kBAAC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAa,WAAW,gBACxI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAC,2BAAiB,KAAG,CAAC,CAAC,CAAC,uBAAC,4BAAkB,KAAG,IAChE,EACb,uBAAC,qBAAU,kBAAC,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,gBAAa,WAAW,gBACzH,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,uBAAC,mBAAa,KAAG,CAAC,CAAC,CAAC,uBAAC,kBAAY,KAAG,IACtD,KACT,IACL,CACJ,CAAA;AACH,CAAC;AAtCD,wDAsCC"}