diff --git a/redisinsight/ui/src/components/notifications/success-messages.tsx b/redisinsight/ui/src/components/notifications/success-messages.tsx index 93c647a427..de78778fed 100644 --- a/redisinsight/ui/src/components/notifications/success-messages.tsx +++ b/redisinsight/ui/src/components/notifications/success-messages.tsx @@ -137,5 +137,9 @@ export default { {actionName}. ), + }), + NO_CLAIMED_MESSAGES: () => ({ + title: 'No messages claimed', + message: 'No messages exceed the minimum idle time.', }) } diff --git a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx index 74e460a6d2..f69db7aa43 100644 --- a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx +++ b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx @@ -13,7 +13,8 @@ import { EuiSwitch, EuiText, EuiCheckbox, - EuiSpacer + EuiSpacer, + EuiToolTip } from '@elastic/eui' import { useFormik } from 'formik' import { orderBy, filter } from 'lodash' @@ -106,9 +107,35 @@ const MessageClaimPopover = (props: Props) => { } }, [consumers, currentConsumerName]) + const button = ( + + CLAIM + + ) + + const buttonTooltip = ( + + {button} + + ) + return ( e.stopPropagation()} anchorPosition="leftCenter" ownFocus isOpen={isOpen} @@ -117,18 +144,7 @@ const MessageClaimPopover = (props: Props) => { anchorClassName="claimPendingMessage" panelClassName={styles.popoverWrapper} closePopover={() => {}} - button={( - - CLAIM - - )} + button={consumers.length < 2 ? buttonTooltip : button} > diff --git a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss index 8b3dff7a13..790a1196ed 100644 --- a/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss +++ b/redisinsight/ui/src/pages/browser/components/stream-details/messages-view/MessageClaimPopover/styles.module.scss @@ -64,6 +64,7 @@ font: normal normal normal 13px/24px Graphik; letter-spacing: -0.13px; color: var(--inputPlaceholderColor) !important; + white-space: nowrap; } .consumerOption :global(.euiContextMenu__itemLayout) .pendingCount { @@ -119,3 +120,8 @@ .popoverWrapper .container .grow { flex-grow: 2; } + +.consumerName { + overflow: hidden; + text-overflow: ellipsis; +} diff --git a/redisinsight/ui/src/slices/browser/stream.ts b/redisinsight/ui/src/slices/browser/stream.ts index 2de8f76a2c..fe04bb1790 100644 --- a/redisinsight/ui/src/slices/browser/stream.ts +++ b/redisinsight/ui/src/slices/browser/stream.ts @@ -959,9 +959,15 @@ export function claimPendingMessages( dispatch(claimConsumerMessagesSuccess()) dispatch(fetchConsumerMessages()) dispatch(fetchConsumers()) - dispatch(addMessageNotification( - successMessages.MESSAGE_ACTION(data.affected[0], 'claimed') - )) + if (data.affected.length) { + dispatch(addMessageNotification( + successMessages.MESSAGE_ACTION(data.affected[0], 'claimed') + )) + } else { + dispatch(addMessageNotification( + successMessages.NO_CLAIMED_MESSAGES() + )) + } onSuccess?.(data) } } catch (_err) {