grep-components 1.24.0-GREPF-2082.2 → 1.24.0-GREPF-2126.3
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,10 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { MenuItemProps, MenuProps } from '@mui/material';
|
|
3
|
-
declare type BooleanFunction<T> = (context?: T) => boolean;
|
|
4
3
|
export declare type DropdownMenuItem<T> = Omit<MenuItemProps, 'disabled'> & {
|
|
5
4
|
label: string;
|
|
6
5
|
tooltipText?: string;
|
|
7
|
-
disabled?:
|
|
6
|
+
disabled?: boolean;
|
|
8
7
|
children?: Array<DropdownMenuItem<T>>;
|
|
9
8
|
handleClick?: (context?: T) => void;
|
|
10
9
|
};
|
|
@@ -6,7 +6,6 @@ export interface Properties<T> extends TableCellProps {
|
|
|
6
6
|
column: TableColumn<T>;
|
|
7
7
|
lines?: number;
|
|
8
8
|
selected?: boolean;
|
|
9
|
-
expanded?: boolean;
|
|
10
9
|
}
|
|
11
10
|
declare type ComponentProperties<T> = PropsWithChildren<Properties<T>>;
|
|
12
11
|
export declare type Component<T> = FunctionComponent<ComponentProperties<T>>;
|
|
@@ -8,7 +8,6 @@ interface Properties<T> extends TableRowProps, Pick<TableCellProperties<T>, 'var
|
|
|
8
8
|
clickable?: boolean;
|
|
9
9
|
height?: number;
|
|
10
10
|
underlineOnFocus?: boolean;
|
|
11
|
-
expanded?: boolean;
|
|
12
11
|
}
|
|
13
12
|
declare type Component<T> = React.FunctionComponent<Properties<T>>;
|
|
14
13
|
export declare const GrepTableRow: Component<any>;
|
package/dist/index.js
CHANGED
|
@@ -3124,9 +3124,9 @@ var CollapsableMenu = function (_a) {
|
|
|
3124
3124
|
};
|
|
3125
3125
|
|
|
3126
3126
|
var TooltipMenuItem = function (_a) {
|
|
3127
|
-
var children = _a.children, tooltipText = _a.tooltipText,
|
|
3127
|
+
var children = _a.children, tooltipText = _a.tooltipText, props = __rest$1(_a, ["children", "tooltipText"]);
|
|
3128
3128
|
return (React__default.createElement(Tooltip, { title: tooltipText },
|
|
3129
|
-
React__default.createElement(MenuItem, __assign({ role: "menuitem",
|
|
3129
|
+
React__default.createElement(MenuItem, __assign({ role: "menuitem", sx: { pointerEvents: 'inherit !important' } }, props), children)));
|
|
3130
3130
|
};
|
|
3131
3131
|
|
|
3132
3132
|
var useStyles$g = makeStyles()(function (_a, _b) {
|
|
@@ -3218,7 +3218,7 @@ var CollapsableMenuItem = function (_a) {
|
|
|
3218
3218
|
var onScrimClick = useCallback$1(function (e) {
|
|
3219
3219
|
var _a;
|
|
3220
3220
|
var scrimClick = !((_a = listItemRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target));
|
|
3221
|
-
scrimClick && collapse();
|
|
3221
|
+
scrimClick && !disabled && collapse();
|
|
3222
3222
|
}, [listItemRef, collapse]);
|
|
3223
3223
|
var handleClick = items ? onToggleClick : onClick;
|
|
3224
3224
|
useEffect(function () {
|
|
@@ -3235,7 +3235,7 @@ var CollapsableMenuItem = function (_a) {
|
|
|
3235
3235
|
return window.dispatchEvent(new Event('resize'));
|
|
3236
3236
|
});
|
|
3237
3237
|
} }, items)))); };
|
|
3238
|
-
return tooltipText ? (React__default.createElement(TooltipMenuItem, { className: classes.root, tooltipText: tooltipText, onMouseOver: function (e) { return e.currentTarget.focus(); },
|
|
3238
|
+
return tooltipText ? (React__default.createElement(TooltipMenuItem, { sx: disabled && !items ? { cursor: 'not-allowed' } : {}, className: classes.root, tooltipText: tooltipText, onMouseOver: function (e) { return e.currentTarget.focus(); }, selected: open, onClick: handleClick, onKeyDown: handleKey }, renderInner())) : (React__default.createElement(MenuItem, __assign({ sx: disabled && !items ? { cursor: 'not-allowed' } : {}, className: classes.root, ref: listItemRef, selected: open, onClick: handleClick, onKeyDown: handleKey }, props), renderInner()));
|
|
3239
3239
|
};
|
|
3240
3240
|
|
|
3241
3241
|
var useStyles$f = makeStyles()(function (_a) {
|
|
@@ -3251,20 +3251,34 @@ var useStyles$f = makeStyles()(function (_a) {
|
|
|
3251
3251
|
var DropdownMenu = function (_a) {
|
|
3252
3252
|
var context = _a.context, menuItems = _a.menuItems, menuProps = __rest$1(_a, ["context", "menuItems"]);
|
|
3253
3253
|
var classes = useStyles$f().classes;
|
|
3254
|
-
var renderChild = function (level) {
|
|
3254
|
+
var renderChild = function (level, parentDisabled) {
|
|
3255
3255
|
if (level === void 0) { level = 0; }
|
|
3256
|
+
if (parentDisabled === void 0) { parentDisabled = false; }
|
|
3256
3257
|
// eslint-disable-next-line react/display-name
|
|
3257
3258
|
return function (item, index) {
|
|
3259
|
+
var _a;
|
|
3258
3260
|
var label = item.label, children = item.children, handleClick = item.handleClick, disabled = item.disabled, props = __rest$1(item, ["label", "children", "handleClick", "disabled"]);
|
|
3261
|
+
var itemOrParentDisabled = (_a = (parentDisabled || disabled)) !== null && _a !== void 0 ? _a : false;
|
|
3259
3262
|
props.key = "child-item-".concat(index);
|
|
3260
3263
|
props.classes = { selected: classes.selected };
|
|
3261
3264
|
// ninja way, since rewriting existing code on lpu and admin is daunting
|
|
3262
3265
|
props.onClick = function (e) {
|
|
3266
|
+
if (itemOrParentDisabled) {
|
|
3267
|
+
e.preventDefault();
|
|
3268
|
+
e.stopPropagation();
|
|
3269
|
+
return;
|
|
3270
|
+
}
|
|
3263
3271
|
menuProps.onClose && menuProps.onClose(e, 'backdropClick');
|
|
3264
|
-
handleClick && handleClick(context);
|
|
3272
|
+
!itemOrParentDisabled && handleClick && handleClick(context);
|
|
3265
3273
|
};
|
|
3266
|
-
|
|
3267
|
-
|
|
3274
|
+
var style = !itemOrParentDisabled
|
|
3275
|
+
? { paddingLeft: "".concat(level * 0.5, "rem") }
|
|
3276
|
+
: {
|
|
3277
|
+
paddingLeft: "".concat(level * 0.5, "rem"),
|
|
3278
|
+
opacity: 0.4,
|
|
3279
|
+
};
|
|
3280
|
+
return (React__default.createElement(CollapsableMenuItem, __assign({ sx: itemOrParentDisabled && !children ? { cursor: 'not-allowed' } : {}, level: level, id: label, disabled: itemOrParentDisabled, items: children === null || children === void 0 ? void 0 : children.map(renderChild(level + 1, itemOrParentDisabled)) }, props),
|
|
3281
|
+
React__default.createElement("span", { style: style }, label)));
|
|
3268
3282
|
};
|
|
3269
3283
|
};
|
|
3270
3284
|
return (React__default.createElement(Menu, __assign({}, menuProps, { anchorOrigin: (menuProps === null || menuProps === void 0 ? void 0 : menuProps.anchorOrigin) || {
|
|
@@ -3478,8 +3492,8 @@ var CellValue = styled('span')({
|
|
|
3478
3492
|
WebkitBoxOrient: 'vertical',
|
|
3479
3493
|
});
|
|
3480
3494
|
var GrepTableRow$1 = function (_a) {
|
|
3481
|
-
var row = _a.row, column = _a.column,
|
|
3482
|
-
var forceTooltip = column.forceTooltip, getTooltip = column.getTooltip, getCell = column.getCell, lang = column.lang, _b = column.lines, lines = _b === void 0 ? function () { return (
|
|
3495
|
+
var row = _a.row, column = _a.column, selected = _a.selected, props = __rest$1(_a, ["row", "column", "selected"]);
|
|
3496
|
+
var forceTooltip = column.forceTooltip, getTooltip = column.getTooltip, getCell = column.getCell, lang = column.lang, _b = column.lines, lines = _b === void 0 ? function () { return (selected ? undefined : 1); } : _b;
|
|
3483
3497
|
var padding = column.padding;
|
|
3484
3498
|
var value = (React__default.createElement(CellValue, { style: { WebkitLineClamp: lines(row) }, lang: typeof lang === 'string' ? lang : lang ? lang(row) : '' }, getCell(row)));
|
|
3485
3499
|
if (forceTooltip || getTooltip) {
|
|
@@ -3490,8 +3504,8 @@ var GrepTableRow$1 = function (_a) {
|
|
|
3490
3504
|
};
|
|
3491
3505
|
|
|
3492
3506
|
var GrepTableRow = function (_a) {
|
|
3493
|
-
var row = _a.row, columns = _a.columns, selected = _a.selected,
|
|
3494
|
-
var render = function (column, index) { return (React__default.createElement(GrepTableRow$1, __assign({ key: index
|
|
3507
|
+
var row = _a.row, columns = _a.columns, selected = _a.selected, variant = _a.variant; _a.clickable; _a.height; var underlineOnFocus = _a.underlineOnFocus, props = __rest$1(_a, ["row", "columns", "selected", "variant", "clickable", "height", "underlineOnFocus"]);
|
|
3508
|
+
var render = function (column, index) { return (React__default.createElement(GrepTableRow$1, __assign({ key: index }, { column: column, row: row, variant: variant, selected: selected }))); };
|
|
3495
3509
|
return (React__default.createElement(TableRow, __assign({ sx: {
|
|
3496
3510
|
':focus': { textDecoration: underlineOnFocus ? 'underline' : 'none' },
|
|
3497
3511
|
}, tabIndex: props.tabIndex }, __assign({ selected: selected }, props)), columns.map(render)));
|
|
@@ -3667,35 +3681,23 @@ var GrepTable = function (_a) {
|
|
|
3667
3681
|
var _d = __read(React__default.useState(null), 2), menuAnchor = _d[0], setMenuAnchor = _d[1];
|
|
3668
3682
|
var _e = __read(React__default.useState(0), 2), currentPage = _e[0], _setCurrentPage = _e[1];
|
|
3669
3683
|
var _f = __read(React__default.useState(), 2), selectedRowIndex = _f[0], _setSelectedRowIndex = _f[1];
|
|
3670
|
-
var _g = __read(React__default.useState(), 2),
|
|
3671
|
-
var _h = __read(React__default.useState(), 2), dropdownContext = _h[0], setDropdownContext = _h[1];
|
|
3684
|
+
var _g = __read(React__default.useState(), 2), dropdownContext = _g[0], setDropdownContext = _g[1];
|
|
3672
3685
|
var selectedRow = data[selectedRowIndex] || null;
|
|
3673
|
-
var setCurrentPage = useCallback$1(function (index, rowIndex
|
|
3686
|
+
var setCurrentPage = useCallback$1(function (index, rowIndex) {
|
|
3674
3687
|
index = pagination && index >= 0 ? index : 0;
|
|
3675
3688
|
_setCurrentPage(index);
|
|
3676
3689
|
_setSelectedRowIndex(rowIndex);
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
}
|
|
3680
|
-
}, [
|
|
3681
|
-
_setCurrentPage,
|
|
3682
|
-
_setSelectedRowIndex,
|
|
3683
|
-
_setExpandedRowIndex,
|
|
3684
|
-
rowsPerPage,
|
|
3685
|
-
pagination,
|
|
3686
|
-
]);
|
|
3687
|
-
var setSelectedRowIndex = function (index, shouldExpand) {
|
|
3688
|
-
if (shouldExpand === void 0) { shouldExpand = true; }
|
|
3690
|
+
}, [_setCurrentPage, _setSelectedRowIndex, rowsPerPage, pagination]);
|
|
3691
|
+
var setSelectedRowIndex = function (index) {
|
|
3689
3692
|
var hasIndexChanged = index === selectedRowIndex;
|
|
3690
3693
|
var pageIndex = Math.floor(index / rowsPerPage);
|
|
3691
|
-
setCurrentPage(pageIndex, index
|
|
3694
|
+
setCurrentPage(pageIndex, index);
|
|
3692
3695
|
if (hasIndexChanged && onSelectedRowChange) {
|
|
3693
3696
|
onSelectedRowChange(data[index]);
|
|
3694
3697
|
}
|
|
3695
3698
|
};
|
|
3696
|
-
var setSelectedElement = function (el
|
|
3697
|
-
|
|
3698
|
-
setSelectedRowIndex(getElementIndex(el), shouldExpand);
|
|
3699
|
+
var setSelectedElement = function (el) {
|
|
3700
|
+
return setSelectedRowIndex(getElementIndex(el));
|
|
3699
3701
|
};
|
|
3700
3702
|
var tableRef = React__default.useRef(null);
|
|
3701
3703
|
// focus selected row first tabable item
|
|
@@ -3763,22 +3765,15 @@ var GrepTable = function (_a) {
|
|
|
3763
3765
|
var clickableRows = !!onRowClick;
|
|
3764
3766
|
var disabled = isRowDisabled && isRowDisabled(row);
|
|
3765
3767
|
var rowIndex = index + currentPage * rowsPerPage;
|
|
3766
|
-
return (React__default.createElement(GrepTableRow, { key: rowIndex, "data-index": rowIndex, tabIndex: rowTabIndex !== null && rowTabIndex !== void 0 ? rowTabIndex : 0, hover: clickableRows, selected: rowIndex === selectedRowIndex,
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
}
|
|
3772
|
-
else {
|
|
3773
|
-
setSelectedElement(e.currentTarget);
|
|
3774
|
-
if (!disableSelectOnClick) {
|
|
3775
|
-
_handleRowClick(row);
|
|
3776
|
-
}
|
|
3777
|
-
}
|
|
3778
|
-
}, columns: rowColumns, row: row, style: { cursor: clickableRows && !disabled ? 'pointer' : '' }, onFocus: function (e) {
|
|
3779
|
-
if (selectedRowIndex !== rowIndex) {
|
|
3780
|
-
setSelectedElement(e.currentTarget);
|
|
3768
|
+
return (React__default.createElement(GrepTableRow, { key: rowIndex, "data-index": rowIndex, tabIndex: rowTabIndex !== null && rowTabIndex !== void 0 ? rowTabIndex : 0, hover: clickableRows, selected: rowIndex === selectedRowIndex, clickable: clickableRows, onMouseDown: function (_a) {
|
|
3769
|
+
var currentTarget = _a.currentTarget;
|
|
3770
|
+
setSelectedElement(currentTarget);
|
|
3771
|
+
if (!disableSelectOnClick) {
|
|
3772
|
+
_handleRowClick(row);
|
|
3781
3773
|
}
|
|
3774
|
+
}, columns: rowColumns, row: row, style: { cursor: clickableRows && !disabled ? 'pointer' : '' }, onFocus: function (_a) {
|
|
3775
|
+
var currentTarget = _a.currentTarget;
|
|
3776
|
+
return setSelectedElement(currentTarget);
|
|
3782
3777
|
}, underlineOnFocus: underlineOnFocus }));
|
|
3783
3778
|
};
|
|
3784
3779
|
var onKey = function (e) {
|