Skip to content

Commit 0594b48

Browse files
authored
fix(MessageView): fix overflow behavior and item selection (#5137)
Fixes #5076 Fixes #5077 Fixes #5078
1 parent 2de9679 commit 0594b48

File tree

3 files changed

+20
-9
lines changed

3 files changed

+20
-9
lines changed

.storybook/mockData/generateMessageItems.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const informationMessageItems = (count) => {
1313
return [];
1414
}
1515
return new Array(count).fill('').map((_, index) => (
16-
<MessageItem titleText={<Text>Information Message</Text>} type={ValueState.Information} groupName={`Group${index}`}>
16+
<MessageItem titleText={'Information Message'} type={ValueState.Information} groupName={`Group${index}`}>
1717
{LoremIpsum}
1818
</MessageItem>
1919
));
@@ -24,7 +24,7 @@ const successMessageItems = (count) => {
2424
return [];
2525
}
2626
return new Array(count).fill('').map((_, index) => (
27-
<MessageItem titleText={<Text>Success Message</Text>} type={ValueState.Success} groupName={`Group${index}`}>
27+
<MessageItem titleText={'Success Message'} type={ValueState.Success} groupName={`Group${index}`}>
2828
{LoremIpsum}
2929
</MessageItem>
3030
));
@@ -35,7 +35,7 @@ const warningMessageItems = (count) => {
3535
return [];
3636
}
3737
return new Array(count).fill('').map((_, index) => (
38-
<MessageItem titleText={<Text>Warning Message</Text>} type={ValueState.Warning} groupName={`Group${index}`}>
38+
<MessageItem titleText={'Warning Message'} type={ValueState.Warning} groupName={`Group${index}`}>
3939
{LoremIpsum}
4040
</MessageItem>
4141
));
@@ -46,7 +46,7 @@ const errorMessageItems = (count) => {
4646
return [];
4747
}
4848
return new Array(count).fill('').map((_, index) => (
49-
<MessageItem titleText={<Text>Error Message</Text>} type={ValueState.Error} groupName={`Group${index}`}>
49+
<MessageItem titleText={'Error Message'} type={ValueState.Error} groupName={`Group${index}`}>
5050
{LoremIpsum}
5151
</MessageItem>
5252
));

packages/main/src/components/MessageView/MessageItem.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,19 @@ const MessageItem = forwardRef<CustomListItemDomRef, MessageItemPropTypes>((prop
167167
}
168168
}
169169
};
170+
171+
const handleKeyDown = (e) => {
172+
if (typeof rest.onKeyDown === 'function') {
173+
rest.onKeyDown(e);
174+
}
175+
if (e.code === 'Enter') {
176+
handleListItemClick(e);
177+
}
178+
};
170179
return (
171180
<CustomListItem
172181
onClick={handleListItemClick}
182+
onKeyDown={handleKeyDown}
173183
data-title={titleText}
174184
data-type={type}
175185
type={children ? ListItemType.Active : ListItemType.Inactive}

packages/main/src/components/MessageView/index.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { clsx } from 'clsx';
66
import type { ReactElement, ReactNode } from 'react';
77
import React, { Children, forwardRef, Fragment, isValidElement, useCallback, useEffect, useState } from 'react';
88
import { createUseStyles } from 'react-jss';
9-
import { ButtonDesign, FlexBoxDirection, TitleLevel, ValueState } from '../../enums/index.js';
9+
import { ButtonDesign, FlexBoxDirection, TitleLevel, ValueState, WrappingType } from '../../enums/index.js';
1010
import { ALL, LIST_NO_DATA } from '../../i18n/i18n-defaults.js';
1111
import type { CommonProps } from '../../interfaces/index.js';
1212
import { MessageViewContext } from '../../internal/MessageViewContext.js';
@@ -126,6 +126,7 @@ const useStyles = createUseStyles(
126126
'&[data-type="Success"]': { color: ThemingParameters.sapPositiveElementColor },
127127
'&[data-type="Information"],&[data-type="None"]': { color: ThemingParameters.sapNeutralElementColor }
128128
},
129+
detailsTextContainer: { overflow: 'hidden' },
129130
detailsTitle: {
130131
marginBottom: '1rem'
131132
},
@@ -196,7 +197,7 @@ const MessageView = forwardRef<MessageViewDomRef, MessageViewPropTypes>((props,
196197
selectMessage: setSelectedMessage
197198
}}
198199
>
199-
<div>
200+
<div style={{ visibility: selectedMessage ? 'hidden' : 'visible' }}>
200201
{filledTypes > 1 && (
201202
<Bar
202203
startContent={
@@ -241,7 +242,7 @@ const MessageView = forwardRef<MessageViewDomRef, MessageViewPropTypes>((props,
241242
<div>
242243
{childrenArray.length > 0 ? (
243244
<>
244-
{showDetailsPageHeader && (
245+
{showDetailsPageHeader && selectedMessage && (
245246
<Bar
246247
startContent={
247248
<Button design={ButtonDesign.Transparent} icon={iconSlimArrowLeft} onClick={navigateBack} />
@@ -255,8 +256,8 @@ const MessageView = forwardRef<MessageViewDomRef, MessageViewPropTypes>((props,
255256
name={getIconNameForType(selectedMessage.type)}
256257
className={classes.detailsIcon}
257258
/>
258-
<FlexBox direction={FlexBoxDirection.Column}>
259-
<Title level={TitleLevel.H5} className={classes.detailsTitle}>
259+
<FlexBox direction={FlexBoxDirection.Column} className={classes.detailsTextContainer}>
260+
<Title level={TitleLevel.H5} className={classes.detailsTitle} wrappingType={WrappingType.Normal}>
260261
{selectedMessage.titleText}
261262
</Title>
262263
<div className={classes.detailsText}>{selectedMessage.children}</div>

0 commit comments

Comments
 (0)