Skip to content

Commit 7d4f804

Browse files
committed
clickhandler change
1 parent ccb7d18 commit 7d4f804

1 file changed

Lines changed: 6 additions & 62 deletions

File tree

packages/react/src/ActionList/Item.tsx

Lines changed: 6 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -58,74 +58,17 @@ type LinkItemContainerProps = React.HTMLAttributes<HTMLAnchorElement> &
5858
}
5959

6060
const LinkItemContainerNoBox = React.forwardRef<HTMLAnchorElement, LinkItemContainerProps>(
61-
({children, onClick, userOnClick, inactiveText, as: Component = 'a', ...rest}, forwardedRef) => {
62-
const clickHandler = React.useCallback(
63-
(event: React.MouseEvent<HTMLElement>) => {
64-
console.log('[LinkItemContainerNoBox] clickHandler called', {
65-
hasOnClick: !!onClick,
66-
hasUserOnClick: !!userOnClick,
67-
event: event.type,
68-
target: (event.target as HTMLElement)?.tagName,
69-
defaultPrevented: event.defaultPrevented,
70-
timestamp: Date.now(),
71-
})
72-
73-
// Check if click is on a button/svg/path (menu trigger) and prevent navigation immediately
74-
const targetTag = (event.target as HTMLElement)?.tagName?.toLowerCase()
75-
const isMenuTrigger = ['button', 'svg', 'path'].includes(targetTag)
76-
console.log('[LinkItemContainerNoBox] Checking target', {
77-
targetTag,
78-
targetTagRaw: (event.target as HTMLElement)?.tagName,
79-
isButton: targetTag === 'button',
80-
isSvg: targetTag === 'svg',
81-
isPath: targetTag === 'path',
82-
willPreventDefault: isMenuTrigger,
83-
})
84-
if (isMenuTrigger) {
85-
console.log(
86-
'[LinkItemContainerNoBox] Click on button/svg/path detected, preventing default AND stopping propagation',
87-
)
88-
event.preventDefault()
89-
event.stopPropagation()
90-
}
91-
92-
// Call Item's onClick first (handles selection logic)
93-
if (onClick) {
94-
console.log('[LinkItemContainerNoBox] Calling Item onClick')
95-
onClick(event)
96-
console.log('[LinkItemContainerNoBox] After Item onClick', {defaultPrevented: event.defaultPrevented})
97-
}
98-
99-
// Call user's onClick (NavList's onClick) if event not prevented
100-
if (userOnClick) {
101-
console.log('[LinkItemContainerNoBox] Calling userOnClick (NavList handler)')
102-
userOnClick(event as React.MouseEvent<HTMLAnchorElement>)
103-
console.log('[LinkItemContainerNoBox] After userOnClick', {defaultPrevented: event.defaultPrevented})
104-
}
105-
},
106-
[onClick, userOnClick],
107-
)
61+
({children, onClick, inactiveText, as: Component = 'a', ...rest}, forwardedRef) => {
10862
if (inactiveText) {
10963
return (
11064
<span ref={forwardedRef} {...(rest as React.HTMLAttributes<HTMLSpanElement>)}>
11165
{children}
11266
</span>
11367
)
11468
}
115-
console.log('[LinkItemContainerNoBox] Rendering Link', {
116-
Component,
117-
hasOnClick: !!onClick,
118-
hasUserOnClick: !!userOnClick,
119-
restKeys: Object.keys(rest),
120-
hasTo: 'to' in rest,
121-
})
122-
123-
// Remove 'to' prop to prevent React Router from handling navigation
124-
// The onClick handlers will manage navigation and menu opening
125-
const {to: _, ...restWithoutTo} = rest as typeof rest & {to?: unknown}
126-
69+
12770
return (
128-
<Link as={Component} ref={forwardedRef} {...restWithoutTo} onClick={clickHandler}>
71+
<Link as={Component} ref={forwardedRef} {...(rest as LinkItemContainerProps)} onClick={onClick}>
12972
{children}
13073
</Link>
13174
)
@@ -243,6 +186,9 @@ const UnwrappedItem = <As extends React.ElementType = 'li'>(
243186
(event: React.MouseEvent<HTMLElement>) => {
244187
if (disabled || inactive || loading) return
245188
onSelect(event, afterSelect)
189+
if (isLinkItem && props.onClick) {
190+
props.onClick(event as React.MouseEvent<HTMLAnchorElement>)
191+
}
246192
},
247193
[onSelect, disabled, inactive, afterSelect, loading],
248194
)
@@ -329,8 +275,6 @@ const UnwrappedItem = <As extends React.ElementType = 'li'>(
329275
? {
330276
...menuItemProps,
331277
inactiveText,
332-
userOnClick: props.onClick as ((event: React.MouseEvent<HTMLAnchorElement>) => void) | undefined,
333-
ref: forwardedRef,
334278
}
335279
: !listSemantics && {
336280
...menuItemProps,

0 commit comments

Comments
 (0)