@pdg/react-table 1.0.2 → 1.0.4
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.d.ts +2 -2
- package/dist/Table/Table.types.d.ts +1 -1
- package/dist/index.esm.js +36 -18
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +36 -18
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -8466,7 +8466,7 @@ var TableCommonCell = function (_a) {
|
|
|
8466
8466
|
}
|
|
8467
8467
|
}, [type, column, onClick, item, index]);
|
|
8468
8468
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
8469
|
-
return (React__default["default"].createElement(StyledTableCell, { align: align, className: classNames(className, 'TableCommonCell', ellipsis && 'ellipsis'), style: style, sx: sx, onClick: type === 'body' ? handleClick : undefined }, children));
|
|
8469
|
+
return (React__default["default"].createElement(StyledTableCell, { align: align, className: classNames(className, 'TableCommonCell', ellipsis && 'ellipsis', column.type ? "column-type-".concat(column.type) : false), style: style, sx: sx, onClick: type === 'body' ? handleClick : undefined }, children));
|
|
8470
8470
|
};
|
|
8471
8471
|
var templateObject_1$1;var TableHeadCell = function (_a) {
|
|
8472
8472
|
var column = _a.column, defaultAlign = _a.defaultAlign;
|
|
@@ -8479,11 +8479,21 @@ var templateObject_1$1;var TableHeadCell = function (_a) {
|
|
|
8479
8479
|
return column.label;
|
|
8480
8480
|
}
|
|
8481
8481
|
}, [column]))[0];
|
|
8482
|
-
return (React__default["default"].createElement(TableCommonCell, { type: 'head', column: column, defaultAlign: defaultAlign }, data));
|
|
8483
|
-
};var StyledButtonsBox = material.styled(material.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display:
|
|
8482
|
+
return (React__default["default"].createElement(TableCommonCell, { type: 'head', className: 'TableHeadCell', column: column, defaultAlign: defaultAlign }, data));
|
|
8483
|
+
};var StyledButtonsBox = material.styled(material.Box)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n"])));
|
|
8484
8484
|
var TableBodyCell = function (_a) {
|
|
8485
8485
|
// State -----------------------------------------------------------------------------------------------------------
|
|
8486
8486
|
var item = _a.item, index = _a.index, column = _a.column, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, onClick = _a.onClick;
|
|
8487
|
+
var buttonsBoxJustifyContent = useAutoUpdateState(React.useCallback(function () {
|
|
8488
|
+
switch (getTableColumnAlign(column, defaultAlign)) {
|
|
8489
|
+
case 'center':
|
|
8490
|
+
return 'center';
|
|
8491
|
+
case 'right':
|
|
8492
|
+
return 'end';
|
|
8493
|
+
default:
|
|
8494
|
+
return 'start';
|
|
8495
|
+
}
|
|
8496
|
+
}, [column, defaultAlign]))[0];
|
|
8487
8497
|
var _b = React.useState(), data = _b[0], setData = _b[1];
|
|
8488
8498
|
// Effect ----------------------------------------------------------------------------------------------------------
|
|
8489
8499
|
React.useEffect(function () {
|
|
@@ -8505,10 +8515,10 @@ var TableBodyCell = function (_a) {
|
|
|
8505
8515
|
}
|
|
8506
8516
|
break;
|
|
8507
8517
|
case 'button':
|
|
8508
|
-
data = React__default["default"].createElement(material.Box, { onClick: function (e) { return e.stopPropagation(); } }, data);
|
|
8518
|
+
data = (React__default["default"].createElement(material.Box, { className: 'TableBoxyCell-button-box', onClick: function (e) { return e.stopPropagation(); } }, data));
|
|
8509
8519
|
break;
|
|
8510
8520
|
case 'buttons':
|
|
8511
|
-
data = React__default["default"].createElement(StyledButtonsBox, { onClick: function (e) { return e.stopPropagation(); } }, data);
|
|
8521
|
+
data = (React__default["default"].createElement(StyledButtonsBox, { className: 'TableBodyCell-buttons-box', justifyContent: buttonsBoxJustifyContent, onClick: function (e) { return e.stopPropagation(); } }, data));
|
|
8512
8522
|
break;
|
|
8513
8523
|
}
|
|
8514
8524
|
switch (column.type) {
|
|
@@ -8519,7 +8529,7 @@ var TableBodyCell = function (_a) {
|
|
|
8519
8529
|
data = (React__default["default"].createElement("a", { href: data, target: '_blank', onClick: function (e) {
|
|
8520
8530
|
e.stopPropagation();
|
|
8521
8531
|
} },
|
|
8522
|
-
React__default["default"].createElement(material.Tooltip, __assign({ title: React__default["default"].createElement("div", { style: { paddingTop: 3, paddingBottom: 3 } }, img) }, column.tooltipProps, { placement: placement }), img)));
|
|
8532
|
+
React__default["default"].createElement(material.Tooltip, __assign({ className: 'TableBodyCell-tooltip', title: React__default["default"].createElement("div", { style: { paddingTop: 3, paddingBottom: 3 } }, img) }, column.tooltipProps, { placement: placement }), img)));
|
|
8523
8533
|
}
|
|
8524
8534
|
break;
|
|
8525
8535
|
case 'date':
|
|
@@ -8539,7 +8549,7 @@ var TableBodyCell = function (_a) {
|
|
|
8539
8549
|
tooltip = column.onGetTooltip(item, index);
|
|
8540
8550
|
}
|
|
8541
8551
|
if (tooltip) {
|
|
8542
|
-
data = (React__default["default"].createElement(material.Tooltip, __assign({ title: tooltip }, column.tooltipProps), React__default["default"].isValidElement(data) ? data : React__default["default"].createElement("span", null, data)));
|
|
8552
|
+
data = (React__default["default"].createElement(material.Tooltip, __assign({ className: 'TableBodyCell-tooltip', title: tooltip }, column.tooltipProps), React__default["default"].isValidElement(data) ? data : React__default["default"].createElement("span", null, data)));
|
|
8543
8553
|
}
|
|
8544
8554
|
}
|
|
8545
8555
|
break;
|
|
@@ -8557,7 +8567,7 @@ var TableBodyCell = function (_a) {
|
|
|
8557
8567
|
}
|
|
8558
8568
|
}, [column, onClick]);
|
|
8559
8569
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
8560
|
-
return (React__default["default"].createElement(TableCommonCell, { type: 'body', column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, data));
|
|
8570
|
+
return (React__default["default"].createElement(TableCommonCell, { type: 'body', className: 'TableBodyCell', column: column, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, item: item, index: index, onClick: column.onClick || onClick ? handleClick : undefined }, data));
|
|
8561
8571
|
};
|
|
8562
8572
|
var templateObject_1;var TableFooterCell = function (_a) {
|
|
8563
8573
|
var column = _a.column, defaultAlign = _a.defaultAlign;
|
|
@@ -8570,7 +8580,7 @@ var templateObject_1;var TableFooterCell = function (_a) {
|
|
|
8570
8580
|
return (_c = column.footer) === null || _c === void 0 ? void 0 : _c.value;
|
|
8571
8581
|
}
|
|
8572
8582
|
}, [column]))[0];
|
|
8573
|
-
return (React__default["default"].createElement(TableCommonCell, { type: 'head', column: column, defaultAlign: defaultAlign, style: { borderTop: '1px solid rgba(224, 224, 224, 1)' } }, data));
|
|
8583
|
+
return (React__default["default"].createElement(TableCommonCell, { type: 'head', className: 'TableFooterCell', column: column, defaultAlign: defaultAlign, style: { borderTop: '1px solid rgba(224, 224, 224, 1)' } }, data));
|
|
8574
8584
|
};var TablePagination = function (_a) {
|
|
8575
8585
|
var className = _a.className, style = _a.style, sx = _a.sx, paging = _a.paging, align = _a.align, onChange = _a.onChange;
|
|
8576
8586
|
return (React__default["default"].createElement(material.Stack, { alignItems: align },
|
|
@@ -8604,7 +8614,10 @@ var templateObject_1;var TableFooterCell = function (_a) {
|
|
|
8604
8614
|
style.appendChild(document.createTextNode(css));
|
|
8605
8615
|
}
|
|
8606
8616
|
}var css_248z = "[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:' ';display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:'';background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{top:2px;bottom:2px;left:2px;right:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{right:auto;left:0;top:0;bottom:0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}\n";
|
|
8607
|
-
styleInject(css_248z);
|
|
8617
|
+
styleInject(css_248z);function columnFilter(v) {
|
|
8618
|
+
return v !== undefined && v !== null && v !== false;
|
|
8619
|
+
}
|
|
8620
|
+
var Table = React__default["default"].forwardRef(function (_a, ref) {
|
|
8608
8621
|
// State - footerHeight --------------------------------------------------------------------------------------------
|
|
8609
8622
|
var initColumns = _a.columns, initItems = _a.items, initPaging = _a.paging, pagingAlign = _a.pagingAlign, defaultAlign = _a.defaultAlign, defaultEllipsis = _a.defaultEllipsis, stickyHeader = _a.stickyHeader, height = _a.height, minHeight = _a.minHeight, maxHeight = _a.maxHeight, showOddColor = _a.showOddColor, showEvenColor = _a.showEvenColor, cellPadding = _a.cellPadding, footer = _a.footer, noData = _a.noData, pagination = _a.pagination, onClick = _a.onClick, onGetBodyRowSx = _a.onGetBodyRowSx, onPageChange = _a.onPageChange;
|
|
8610
8623
|
var _b = React.useState(), footerHeight = _b[0], setFooterHeight = _b[1];
|
|
@@ -8622,8 +8635,9 @@ styleInject(css_248z);var Table = React__default["default"].forwardRef(function
|
|
|
8622
8635
|
}).ref;
|
|
8623
8636
|
// State -----------------------------------------------------------------------------------------------------------
|
|
8624
8637
|
var _c = useAutoUpdateState(initColumns), columns = _c[0], setColumns = _c[1];
|
|
8625
|
-
var _d =
|
|
8626
|
-
var _e = useAutoUpdateState(
|
|
8638
|
+
var _d = React.useState(), finalColumns = _d[0], setFinalColumns = _d[1];
|
|
8639
|
+
var _e = useAutoUpdateState(initItems), items = _e[0], setItems = _e[1];
|
|
8640
|
+
var _f = useAutoUpdateState(initPaging), paging = _f[0], setPaging = _f[1];
|
|
8627
8641
|
var tableSx = useAutoUpdateState(React.useCallback(function () {
|
|
8628
8642
|
var sx = {
|
|
8629
8643
|
padding: typeof cellPadding === 'number' ? "".concat(cellPadding, "px") : cellPadding,
|
|
@@ -8634,6 +8648,10 @@ styleInject(css_248z);var Table = React__default["default"].forwardRef(function
|
|
|
8634
8648
|
'> .MuiTableFooter-root > .MuiTableRow-root > .MuiTableCell-root ': sx,
|
|
8635
8649
|
};
|
|
8636
8650
|
}, [cellPadding]))[0];
|
|
8651
|
+
// Effect ----------------------------------------------------------------------------------------------------------
|
|
8652
|
+
React.useEffect(function () {
|
|
8653
|
+
setFinalColumns(columns === null || columns === void 0 ? void 0 : columns.filter(columnFilter));
|
|
8654
|
+
}, [columns]);
|
|
8637
8655
|
// Commands --------------------------------------------------------------------------------------------------------
|
|
8638
8656
|
React.useLayoutEffect(function () {
|
|
8639
8657
|
if (ref) {
|
|
@@ -8664,13 +8682,13 @@ styleInject(css_248z);var Table = React__default["default"].forwardRef(function
|
|
|
8664
8682
|
}
|
|
8665
8683
|
}, [ref, columns, items, paging]);
|
|
8666
8684
|
// Render ----------------------------------------------------------------------------------------------------------
|
|
8667
|
-
return
|
|
8685
|
+
return finalColumns ? (React__default["default"].createElement(material.Paper, { className: 'ReactMuiTable', variant: 'outlined', style: { width: '100%' } },
|
|
8668
8686
|
React__default["default"].createElement(SimpleBar, { style: { height: height, minHeight: minHeight, maxHeight: maxHeight } },
|
|
8669
8687
|
React__default["default"].createElement(material.Table, { stickyHeader: stickyHeader, sx: tableSx },
|
|
8670
8688
|
React__default["default"].createElement(material.TableHead, null,
|
|
8671
|
-
React__default["default"].createElement(material.TableRow, null,
|
|
8672
|
-
React__default["default"].createElement(material.TableBody, { style: { paddingBottom: footerHeight || 65 } }, items ? (items.length > 0 ? (items.map(function (item, idx) { return (React__default["default"].createElement(StyledBodyRow, { className: classNames(!!showOddColor && 'odd-color', !!showEvenColor && 'even-color'), key: idx, hover: true, sx: onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined },
|
|
8673
|
-
React__default["default"].createElement(material.TableCell, { colSpan:
|
|
8689
|
+
React__default["default"].createElement(material.TableRow, null, finalColumns.map(function (column, idx) { return (React__default["default"].createElement(TableHeadCell, { key: idx, column: column, defaultAlign: defaultAlign })); }))),
|
|
8690
|
+
React__default["default"].createElement(material.TableBody, { style: { paddingBottom: footerHeight || 65 } }, items ? (items.length > 0 ? (items.map(function (item, idx) { return (React__default["default"].createElement(StyledBodyRow, { className: classNames(!!showOddColor && 'odd-color', !!showEvenColor && 'even-color'), key: idx, hover: true, sx: onGetBodyRowSx ? onGetBodyRowSx(item, idx) : undefined }, finalColumns.map(function (column, columnIdx) { return (React__default["default"].createElement(TableBodyCell, { key: columnIdx, index: idx, item: item, defaultAlign: defaultAlign, defaultEllipsis: defaultEllipsis, column: column, onClick: onClick })); }))); })) : (React__default["default"].createElement(StyledBodyRow, null,
|
|
8691
|
+
React__default["default"].createElement(material.TableCell, { colSpan: finalColumns.length }, noData ? (noData) : (React__default["default"].createElement(StyledNoDataDiv, null,
|
|
8674
8692
|
React__default["default"].createElement("div", null,
|
|
8675
8693
|
React__default["default"].createElement(material.Icon, null, "error")),
|
|
8676
8694
|
React__default["default"].createElement("div", null, "\uAC80\uC0C9\uB41C \uC815\uBCF4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."))))))) : undefined),
|
|
@@ -8682,11 +8700,11 @@ styleInject(css_248z);var Table = React__default["default"].forwardRef(function
|
|
|
8682
8700
|
backgroundColor: '#fff',
|
|
8683
8701
|
} },
|
|
8684
8702
|
React__default["default"].createElement(material.TableRow, null,
|
|
8685
|
-
React__default["default"].createElement(material.TableCell, { colSpan:
|
|
8703
|
+
React__default["default"].createElement(material.TableCell, { colSpan: finalColumns.length, style: { borderBottom: 0, borderTop: '1px solid rgba(224, 224, 224, 1)' } },
|
|
8686
8704
|
React__default["default"].createElement(material.Stack, { alignItems: pagingAlign },
|
|
8687
8705
|
React__default["default"].createElement(TablePagination, { className: pagination === null || pagination === void 0 ? void 0 : pagination.className, style: pagination === null || pagination === void 0 ? void 0 : pagination.style, sx: pagination === null || pagination === void 0 ? void 0 : pagination.sx, paging: paging, align: pagingAlign, onChange: onPageChange })))))),
|
|
8688
8706
|
footer && (React__default["default"].createElement(material.TableFooter, null,
|
|
8689
|
-
React__default["default"].createElement(material.TableRow, null,
|
|
8707
|
+
React__default["default"].createElement(material.TableRow, null, finalColumns.map(function (column, idx) { return (React__default["default"].createElement(TableFooterCell, { key: idx, column: column, defaultAlign: defaultAlign })); })))))))) : null;
|
|
8690
8708
|
});
|
|
8691
8709
|
Table.displayName = 'Table';
|
|
8692
8710
|
Table.defaultProps = TableDefaultProps;var SearchTableDefaultProps = {};var SearchTable = React__default["default"].forwardRef(function (_a, ref) {
|