Skip to content

Commit 207fc8b

Browse files
committed
update Truncate with fix
1 parent 864ae46 commit 207fc8b

File tree

3 files changed

+30
-27
lines changed

3 files changed

+30
-27
lines changed

packages/react-core/src/components/Progress/ProgressContainer.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export const ProgressContainer: React.FunctionComponent<ProgressContainerProps>
8181
const StatusIcon = variantToIcon.hasOwnProperty(variant) && variantToIcon[variant];
8282
const [tooltip, setTooltip] = useState('');
8383
const titleRef = useRef(null);
84-
const onFocus = (event: any) => {
84+
const updateTooltip = (event: any) => {
8585
if (event.target.offsetWidth < event.target.scrollWidth) {
8686
setTooltip(title || event.target.innerHTML);
8787
} else {
@@ -101,8 +101,8 @@ export const ProgressContainer: React.FunctionComponent<ProgressContainerProps>
101101
className={css(progressStyle.progressDescription, _isTruncatedAndString && progressStyle.modifiers.truncate)}
102102
id={`${parentId}-description`}
103103
aria-hidden={_isTruncatedAndString ? null : 'true'}
104-
onMouseEnter={_isTruncatedAndString ? onFocus : null}
105-
onFocus={_isTruncatedAndString ? onFocus : null}
104+
onMouseEnter={_isTruncatedAndString ? updateTooltip : null}
105+
onFocus={_isTruncatedAndString ? updateTooltip : null}
106106
{...(_isTruncatedAndString && { tabIndex: 0 })}
107107
ref={titleRef}
108108
>

packages/react-core/src/components/Truncate/Truncate.tsx

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,8 @@ export const Truncate: React.FunctionComponent<TruncateProps> = ({
109109
setTextElement(textRef.current);
110110
}
111111

112-
if (
113-
(refToGetParent?.current || (subParentRef?.current && subParentRef.current.parentElement.parentElement)) &&
114-
!parentElement
115-
) {
116-
setParentElement(refToGetParent?.current.parentElement || subParentRef?.current.parentElement.parentElement);
112+
if ((refToGetParent?.current || (subParentRef?.current && subParentRef.current.parentElement)) && !parentElement) {
113+
setParentElement(refToGetParent?.current.parentElement || subParentRef?.current.parentElement);
117114
}
118115
}, [textRef, subParentRef, textElement, parentElement]);
119116

@@ -224,18 +221,20 @@ export const Truncate: React.FunctionComponent<TruncateProps> = ({
224221
<span
225222
ref={subParentRef}
226223
className={css(styles.truncate, shouldRenderByMaxChars && styles.modifiers.fixed, className)}
224+
{...(isTruncated && { tabIndex: 0 })}
227225
{...props}
228226
>
229227
{!shouldRenderByMaxChars ? renderResizeObserverContent() : renderMaxDisplayContent()}
230228
</span>
231229
);
232230

233-
return isTruncated ? (
234-
<Tooltip hidden={!isTruncated} position={tooltipPosition} content={content}>
231+
return (
232+
<>
233+
{isTruncated && (
234+
<Tooltip hidden={!isTruncated} position={tooltipPosition} content={content} triggerRef={subParentRef} />
235+
)}
235236
{truncateBody}
236-
</Tooltip>
237-
) : (
238-
truncateBody
237+
</>
239238
);
240239
};
241240

packages/react-core/src/components/Truncate/__tests__/__snapshots__/Truncate.test.tsx.snap

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ exports[`renders default truncation 1`] = `
4141
<DocumentFragment>
4242
<div
4343
data-testid="Tooltip-mock"
44+
triggerref="[object Object]"
4445
>
4546
<div
4647
data-testid="Tooltip-mock-content-container"
@@ -50,23 +51,25 @@ exports[`renders default truncation 1`] = `
5051
<p>
5152
position: top
5253
</p>
54+
</div>
55+
<span
56+
class="pf-v6-c-truncate"
57+
tabindex="0"
58+
>
5359
<span
54-
class="pf-v6-c-truncate"
60+
class="pf-v6-c-truncate__start"
5561
>
56-
<span
57-
class="pf-v6-c-truncate__start"
58-
>
59-
Vestibulum interdum risus et enim faucibus, sit amet molestie est accumsan.
60-
</span>
62+
Vestibulum interdum risus et enim faucibus, sit amet molestie est accumsan.
6163
</span>
62-
</div>
64+
</span>
6365
</DocumentFragment>
6466
`;
6567

6668
exports[`renders start truncation with &lrm; at end 1`] = `
6769
<DocumentFragment>
6870
<div
6971
data-testid="Tooltip-mock"
72+
triggerref="[object Object]"
7073
>
7174
<div
7275
data-testid="Tooltip-mock-content-container"
@@ -76,15 +79,16 @@ exports[`renders start truncation with &lrm; at end 1`] = `
7679
<p>
7780
position: top
7881
</p>
82+
</div>
83+
<span
84+
class="pf-v6-c-truncate"
85+
tabindex="0"
86+
>
7987
<span
80-
class="pf-v6-c-truncate"
88+
class="pf-v6-c-truncate__end"
8189
>
82-
<span
83-
class="pf-v6-c-truncate__end"
84-
>
85-
Vestibulum interdum risus et enim faucibus, sit amet molestie est accumsan.‎
86-
</span>
90+
Vestibulum interdum risus et enim faucibus, sit amet molestie est accumsan.‎
8791
</span>
88-
</div>
92+
</span>
8993
</DocumentFragment>
9094
`;

0 commit comments

Comments
 (0)