Merge pull request #1740 from RafaelTaranto/backport/button-popper-position
LAM-553 fix: transaction details ID button popper positioning
This commit is contained in:
commit
463e99f284
2 changed files with 37 additions and 15 deletions
|
|
@ -105,20 +105,29 @@ const Popover = ({
|
||||||
|
|
||||||
const classes = useStyles()
|
const classes = useStyles()
|
||||||
|
|
||||||
const arrowClasses = {
|
const getArrowClasses = placement => ({
|
||||||
[classes.arrow]: true,
|
[classes.arrow]: true,
|
||||||
[classes.arrowBottom]: props.placement === 'bottom',
|
[classes.arrowBottom]: placement === 'bottom',
|
||||||
[classes.arrowTop]: props.placement === 'top',
|
[classes.arrowTop]: placement === 'top',
|
||||||
[classes.arrowRight]: props.placement === 'right',
|
[classes.arrowRight]: placement === 'right',
|
||||||
[classes.arrowLeft]: props.placement === 'left'
|
[classes.arrowLeft]: placement === 'left'
|
||||||
|
})
|
||||||
|
|
||||||
|
const flipPlacements = {
|
||||||
|
top: ['bottom'],
|
||||||
|
bottom: ['top'],
|
||||||
|
left: ['right'],
|
||||||
|
right: ['left']
|
||||||
}
|
}
|
||||||
|
|
||||||
const modifiers = R.merge(props.modifiers, {
|
const modifiers = R.mergeDeepLeft(props.modifiers, {
|
||||||
flip: {
|
flip: {
|
||||||
enabled: false
|
enabled: R.defaultTo(false, props.flip),
|
||||||
|
allowedAutoPlacements: flipPlacements[props.placement],
|
||||||
|
boundary: 'clippingParents'
|
||||||
},
|
},
|
||||||
preventOverflow: {
|
preventOverflow: {
|
||||||
enabled: true,
|
enabled: R.defaultTo(true, props.preventOverflow),
|
||||||
boundariesElement: 'scrollParent'
|
boundariesElement: 'scrollParent'
|
||||||
},
|
},
|
||||||
offset: {
|
offset: {
|
||||||
|
|
@ -126,7 +135,7 @@ const Popover = ({
|
||||||
offset: '0, 10'
|
offset: '0, 10'
|
||||||
},
|
},
|
||||||
arrow: {
|
arrow: {
|
||||||
enabled: true,
|
enabled: R.defaultTo(true, props.showArrow),
|
||||||
element: arrowRef
|
element: arrowRef
|
||||||
},
|
},
|
||||||
computeStyle: {
|
computeStyle: {
|
||||||
|
|
@ -134,6 +143,12 @@ const Popover = ({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (props.preventOverflow === false) {
|
||||||
|
modifiers.hide = {
|
||||||
|
enabled: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<MaterialPopper
|
<MaterialPopper
|
||||||
|
|
@ -141,10 +156,15 @@ const Popover = ({
|
||||||
modifiers={modifiers}
|
modifiers={modifiers}
|
||||||
className={classes.popover}
|
className={classes.popover}
|
||||||
{...props}>
|
{...props}>
|
||||||
<Paper className={classnames(classes.root, className)}>
|
{({ placement }) => (
|
||||||
<span className={classnames(arrowClasses)} ref={setArrowRef} />
|
<Paper className={classnames(classes.root, className)}>
|
||||||
{children}
|
<span
|
||||||
</Paper>
|
className={classnames(getArrowClasses(placement))}
|
||||||
|
ref={setArrowRef}
|
||||||
|
/>
|
||||||
|
{children}
|
||||||
|
</Paper>
|
||||||
|
)}
|
||||||
</MaterialPopper>
|
</MaterialPopper>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,8 @@ const styles = {
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
borderRadius: 4,
|
borderRadius: 4,
|
||||||
'& img': {
|
'& img': {
|
||||||
maxHeight: 145
|
height: 145,
|
||||||
|
minWidth: 200
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -127,7 +128,8 @@ const IDButton = memo(
|
||||||
anchorEl={anchorEl}
|
anchorEl={anchorEl}
|
||||||
onClose={handleClose}
|
onClose={handleClose}
|
||||||
arrowSize={3}
|
arrowSize={3}
|
||||||
placement="top">
|
placement="top"
|
||||||
|
flip>
|
||||||
<div className={classes.popoverContent}>
|
<div className={classes.popoverContent}>
|
||||||
<div>{children}</div>
|
<div>{children}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue