@pdg/react-table 1.0.68 → 1.0.70
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/Table/Table.types.d.ts +6 -0
- package/dist/TableBodyCell/TableBodyCell.types.d.ts +4 -0
- package/dist/TableBodyRow/TableBodyRow.types.d.ts +5 -1
- package/dist/index.esm.js +16 -7
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -91,7 +91,12 @@ export interface TableProps<T = TableItem> extends CommonSxProps {
|
|
|
91
91
|
};
|
|
92
92
|
sortable?: boolean;
|
|
93
93
|
onClick?(item: T, index: number): void;
|
|
94
|
+
onGetBodyRowClassName?(item: T, index: number): CommonSxProps['className'] | undefined;
|
|
95
|
+
onGetBodyRowStyle?(item: T, index: number): CommonSxProps['style'] | undefined;
|
|
94
96
|
onGetBodyRowSx?(item: T, index: number): CommonSxProps['sx'] | undefined;
|
|
97
|
+
onGetBodyColumnClassName?(column: TableColumn<T>, item: T, index: number): CommonSxProps['className'] | undefined;
|
|
98
|
+
onGetBodyColumnStyle?(column: TableColumn<T>, item: T, index: number): CommonSxProps['style'] | undefined;
|
|
99
|
+
onGetBodyColumnSx?(column: TableColumn<T>, item: T, index: number): CommonSxProps['sx'] | undefined;
|
|
95
100
|
onPageChange?(page: number): void;
|
|
96
101
|
onSortChange?(items: T[]): void;
|
|
97
102
|
onCheckChange?(columnId: string, items: T[]): void;
|
|
@@ -101,6 +106,7 @@ export interface TableCommands<T = TableItem> {
|
|
|
101
106
|
getColumns(): TableProps<T>['columns'];
|
|
102
107
|
setColumns(columns: TableProps<T>['columns']): void;
|
|
103
108
|
getItems(): TableProps<T>['items'];
|
|
109
|
+
setItems(items: TableProps<T>['items']): void;
|
|
104
110
|
getPaging(): TableProps<T>['paging'];
|
|
105
111
|
setItemsPaging(items: TableProps<T>['items'], paging: TableProps<T>['paging']): void;
|
|
106
112
|
resetSort(): void;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { TableColumn, TableItem, TableProps } from '../Table/Table.types';
|
|
2
|
+
import { CommonSxProps } from '../@types';
|
|
2
3
|
export interface TableBodyCellCommands {
|
|
3
4
|
setChecked(checked: boolean): void;
|
|
4
5
|
setCheckDisabled(disabled: boolean): void;
|
|
5
6
|
}
|
|
6
7
|
export interface TableBodyCellProps {
|
|
8
|
+
className?: CommonSxProps['className'];
|
|
9
|
+
style?: CommonSxProps['style'];
|
|
10
|
+
sx?: CommonSxProps['sx'];
|
|
7
11
|
index: number;
|
|
8
12
|
item: TableItem;
|
|
9
13
|
column: TableColumn;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { TableCellProps, TableRowProps } from '@mui/material';
|
|
2
2
|
import { TableColumn, TableItem, TableProps } from '../Table';
|
|
3
3
|
import { TableBodyCellProps } from '../TableBodyCell';
|
|
4
|
+
import { CommonSxProps } from '../@types';
|
|
4
5
|
export interface TableBodyRowProps extends Omit<TableRowProps, 'id' | 'onClick'> {
|
|
5
6
|
id: string | number;
|
|
6
7
|
index: number;
|
|
7
8
|
defaultAlign?: TableCellProps['align'];
|
|
8
9
|
defaultEllipsis?: boolean;
|
|
9
10
|
sortable?: boolean;
|
|
10
|
-
columns: TableColumn
|
|
11
|
+
columns: TableColumn[];
|
|
11
12
|
item: TableItem;
|
|
12
13
|
onClick: TableProps['onClick'];
|
|
13
14
|
onCheckChange: TableBodyCellProps['onCheckChange'];
|
|
15
|
+
onGetColumnClassName?(column: TableColumn, item: TableItem, index: number): CommonSxProps['className'] | undefined;
|
|
16
|
+
onGetColumnStyle?(column: TableColumn, item: TableItem, index: number): CommonSxProps['style'] | undefined;
|
|
17
|
+
onGetColumnSx?(column: TableColumn, item: TableItem, index: number): CommonSxProps['sx'] | undefined;
|
|
14
18
|
}
|
|
15
19
|
export declare const TableBodyRowDefaultProps: {};
|
package/dist/index.esm.js
CHANGED
|
@@ -2953,7 +2953,7 @@ var TableCommonCell = function (_a) {
|
|
|
2953
2953
|
var templateObject_1$3;var StyledButtonsBox = styled(Box)(templateObject_1$2 || (templateObject_1$2 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
|
|
2954
2954
|
var TableBodyCell = function (_a) {
|
|
2955
2955
|
// Use ---------------------------------------------------------------------------------------------------------------
|
|
2956
|
-
var item = _a.item, index = _a.index, column = _a.column, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, onClick = _a.onClick, onCheckChange = _a.onCheckChange;
|
|
2956
|
+
var className = _a.className, style = _a.style, sx = _a.sx, item = _a.item, index = _a.index, column = _a.column, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, onClick = _a.onClick, onCheckChange = _a.onCheckChange;
|
|
2957
2957
|
var _b = useTableState(), menuOpen = _b.menuOpen, setItemColumnChecked = _b.setItemColumnChecked, setItemColumnCheckDisabled = _b.setItemColumnCheckDisabled, setItemColumnCommands = _b.setItemColumnCommands;
|
|
2958
2958
|
// State -------------------------------------------------------------------------------------------------------------
|
|
2959
2959
|
var _c = useState(false), checked = _c[0], setChecked = _c[1];
|
|
@@ -3118,7 +3118,7 @@ var TableBodyCell = function (_a) {
|
|
|
3118
3118
|
}
|
|
3119
3119
|
}, [column, onClick]);
|
|
3120
3120
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
3121
|
-
return (React__default.createElement(TableCommonCell, { type: 'body', className: 'TableBodyCell', column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, !isHidden && data));
|
|
3121
|
+
return (React__default.createElement(TableCommonCell, { type: 'body', className: classNames('TableBodyCell', className), style: style, sx: sx, column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, !isHidden && data));
|
|
3122
3122
|
};
|
|
3123
3123
|
var templateObject_1$2;var StyledBodyRow = styled(TableRow)(function (_a) {
|
|
3124
3124
|
var theme = _a.theme;
|
|
@@ -3134,9 +3134,9 @@ var templateObject_1$2;var StyledBodyRow = styled(TableRow)(function (_a) {
|
|
|
3134
3134
|
var TableBodyRow = function (_a) {
|
|
3135
3135
|
var className = _a.className, style = _a.style,
|
|
3136
3136
|
//--------------------------------------------------------------------------------------------------------------------
|
|
3137
|
-
id = _a.id, index = _a.index, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, sortable = _a.sortable, columns = _a.columns, item = _a.item, onClick = _a.onClick, onCheckChange = _a.onCheckChange,
|
|
3137
|
+
id = _a.id, index = _a.index, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, sortable = _a.sortable, columns = _a.columns, item = _a.item, onClick = _a.onClick, onCheckChange = _a.onCheckChange, onGetColumnClassName = _a.onGetColumnClassName, onGetColumnStyle = _a.onGetColumnStyle, onGetColumnSx = _a.onGetColumnSx,
|
|
3138
3138
|
// -------------------------------------------------------------------------------------------------------------------
|
|
3139
|
-
props = __rest$2(_a, ["className", "style", "id", "index", "defaultAlign", "defaultEllipsis", "sortable", "columns", "item", "onClick", "onCheckChange"]);
|
|
3139
|
+
props = __rest$2(_a, ["className", "style", "id", "index", "defaultAlign", "defaultEllipsis", "sortable", "columns", "item", "onClick", "onCheckChange", "onGetColumnClassName", "onGetColumnStyle", "onGetColumnSx"]);
|
|
3140
3140
|
var _b = useSortable({ id: id }), attributes = _b.attributes, listeners = _b.listeners, setNodeRef = _b.setNodeRef, transform = _b.transform, transition = _b.transition;
|
|
3141
3141
|
var finalStyle = useMemo(function () {
|
|
3142
3142
|
return sortable
|
|
@@ -3146,7 +3146,7 @@ var TableBodyRow = function (_a) {
|
|
|
3146
3146
|
return sortable
|
|
3147
3147
|
? __assign$3(__assign$3({ ref: setNodeRef }, attributes), listeners) : {};
|
|
3148
3148
|
}, [attributes, listeners, setNodeRef, sortable]);
|
|
3149
|
-
return (React__default.createElement(StyledBodyRow, __assign$3({ className: classNames('TableBodyRow', className), style: finalStyle }, props, sortableProps), columns.map(function (column, columnIdx) { return (React__default.createElement(TableBodyCell, { key: columnIdx, index: index, item: item, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, column: column, onClick: onClick, onCheckChange: onCheckChange })); })));
|
|
3149
|
+
return (React__default.createElement(StyledBodyRow, __assign$3({ className: classNames('TableBodyRow', className), style: finalStyle }, props, sortableProps), columns.map(function (column, columnIdx) { return (React__default.createElement(TableBodyCell, { className: onGetColumnClassName ? onGetColumnClassName(column, item, index) : undefined, sx: onGetColumnSx ? onGetColumnSx(column, item, index) : undefined, style: onGetColumnStyle ? onGetColumnStyle(column, item, index) : undefined, key: columnIdx, index: index, item: item, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, column: column, onClick: onClick, onCheckChange: onCheckChange })); })));
|
|
3150
3150
|
};
|
|
3151
3151
|
TableBodyRow.displayName = 'TableBodyRow';
|
|
3152
3152
|
TableBodyRow.defaultProps = TableBodyRowDefaultProps;var TableFooterCell = function (_a) {
|
|
@@ -3470,7 +3470,7 @@ var templateObject_1$1;function columnFilter(v) {
|
|
|
3470
3470
|
var _columnId = 0;
|
|
3471
3471
|
var Table = React__default.forwardRef(function (_a, ref) {
|
|
3472
3472
|
// Ref ---------------------------------------------------------------------------------------------------------------
|
|
3473
|
-
var caption = _a.caption, topHeadRows = _a.topHeadRows, initColumns = _a.columns, initItems = _a.items, initPaging = _a.paging, pagingAlign = _a.pagingAlign, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, initStickyHeader = _a.stickyHeader, height = _a.height, minHeight = _a.minHeight, maxHeight = _a.maxHeight, fullHeight = _a.fullHeight, showOddColor = _a.showOddColor, showEvenColor = _a.showEvenColor, cellPadding = _a.cellPadding, footer = _a.footer, noData = _a.noData, pagination = _a.pagination, sortable = _a.sortable, onClick = _a.onClick, onGetBodyRowSx = _a.onGetBodyRowSx, onPageChange = _a.onPageChange, onSortChange = _a.onSortChange, onCheckChange = _a.onCheckChange,
|
|
3473
|
+
var caption = _a.caption, topHeadRows = _a.topHeadRows, initColumns = _a.columns, initItems = _a.items, initPaging = _a.paging, pagingAlign = _a.pagingAlign, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, initStickyHeader = _a.stickyHeader, height = _a.height, minHeight = _a.minHeight, maxHeight = _a.maxHeight, fullHeight = _a.fullHeight, showOddColor = _a.showOddColor, showEvenColor = _a.showEvenColor, cellPadding = _a.cellPadding, footer = _a.footer, noData = _a.noData, pagination = _a.pagination, sortable = _a.sortable, onClick = _a.onClick, onGetBodyRowClassName = _a.onGetBodyRowClassName, onGetBodyRowStyle = _a.onGetBodyRowStyle, onGetBodyRowSx = _a.onGetBodyRowSx, onGetBodyColumnClassName = _a.onGetBodyColumnClassName, onGetBodyColumnStyle = _a.onGetBodyColumnStyle, onGetBodyColumnSx = _a.onGetBodyColumnSx, onPageChange = _a.onPageChange, onSortChange = _a.onSortChange, onCheckChange = _a.onCheckChange,
|
|
3474
3474
|
// ---------------------------------------------------------------------------------------------------------------
|
|
3475
3475
|
className = _a.className, initStyle = _a.style, sx = _a.sx;
|
|
3476
3476
|
var localHeaderDataRef = useRef({});
|
|
@@ -3731,6 +3731,10 @@ var Table = React__default.forwardRef(function (_a, ref) {
|
|
|
3731
3731
|
setColumns(lastColumns_1);
|
|
3732
3732
|
},
|
|
3733
3733
|
getItems: function () { return lastItems_1; },
|
|
3734
|
+
setItems: function (items) {
|
|
3735
|
+
lastItems_1 = items;
|
|
3736
|
+
setItems(items);
|
|
3737
|
+
},
|
|
3734
3738
|
getPaging: function () { return lastPaging_1; },
|
|
3735
3739
|
setItemsPaging: function (items, paging) {
|
|
3736
3740
|
lastItems_1 = items;
|
|
@@ -3926,7 +3930,7 @@ var Table = React__default.forwardRef(function (_a, ref) {
|
|
|
3926
3930
|
return finalColumns && (React__default.createElement(TableTopHead, { caption: caption, rows: topHeadRows, columns: finalColumns, defaultAlign: defaultAlign, onCheckChange: handleHeadCheckChange }));
|
|
3927
3931
|
}, [caption, defaultAlign, finalColumns, handleHeadCheckChange, topHeadRows]);
|
|
3928
3932
|
var tableBody = useMemo(function () {
|
|
3929
|
-
return finalColumns && (React__default.createElement(TableBody, null, sortableItems ? (sortableItems.length > 0 ? (React__default.createElement(SortableContext, { items: sortableItems, strategy: verticalListSortingStrategy }, sortableItems.map(function (item, idx) { return (React__default.createElement(TableBodyRow, { key: item.id, className: classNames(!!showOddColor && 'odd-color', !!showEvenColor && 'even-color'),
|
|
3933
|
+
return finalColumns && (React__default.createElement(TableBody, null, sortableItems ? (sortableItems.length > 0 ? (React__default.createElement(SortableContext, { items: sortableItems, strategy: verticalListSortingStrategy }, sortableItems.map(function (item, idx) { return (React__default.createElement(TableBodyRow, { key: item.id, className: classNames(!!showOddColor && 'odd-color', !!showEvenColor && 'even-color', onGetBodyRowClassName ? onGetBodyRowClassName(item, idx) : undefined), style: onGetBodyRowStyle ? onGetBodyRowStyle(item, idx) : undefined, sx: onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined, onGetColumnClassName: onGetBodyColumnClassName, onGetColumnStyle: onGetBodyColumnStyle, onGetColumnSx: onGetBodyColumnSx, hover: true, id: item.id, index: idx, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, sortable: sortable, columns: finalColumns, item: item, onClick: onClick, onCheckChange: handleBodyCheckChange })); }))) : (React__default.createElement(StyledBodyRow$1, null,
|
|
3930
3934
|
React__default.createElement(TableCell, { colSpan: finalColumns.length, style: { flex: 1 } }, noData ? (noData) : (React__default.createElement(StyledNoDataDiv, null,
|
|
3931
3935
|
React__default.createElement("div", null,
|
|
3932
3936
|
React__default.createElement(Icon, null, "error")),
|
|
@@ -3938,6 +3942,11 @@ var Table = React__default.forwardRef(function (_a, ref) {
|
|
|
3938
3942
|
handleBodyCheckChange,
|
|
3939
3943
|
noData,
|
|
3940
3944
|
onClick,
|
|
3945
|
+
onGetBodyColumnClassName,
|
|
3946
|
+
onGetBodyColumnStyle,
|
|
3947
|
+
onGetBodyColumnSx,
|
|
3948
|
+
onGetBodyRowClassName,
|
|
3949
|
+
onGetBodyRowStyle,
|
|
3941
3950
|
onGetBodyRowSx,
|
|
3942
3951
|
showEvenColor,
|
|
3943
3952
|
showOddColor,
|