aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/components/menu
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-09-14 23:47:16 +0800
committercrupest <crupest@outlook.com>2023-09-16 23:06:31 +0800
commitaef14be13c3bd9e93eeea598dbfbf707ba98d448 (patch)
treebb0a4199849dec57c5f0c190cb213fc22296622c /FrontEnd/src/components/menu
parent754597d49cd2d3f6295e5fe3ed68c6210bf4e8a5 (diff)
downloadtimeline-aef14be13c3bd9e93eeea598dbfbf707ba98d448.tar.gz
timeline-aef14be13c3bd9e93eeea598dbfbf707ba98d448.tar.bz2
timeline-aef14be13c3bd9e93eeea598dbfbf707ba98d448.zip
...
Diffstat (limited to 'FrontEnd/src/components/menu')
-rw-r--r--FrontEnd/src/components/menu/Menu.tsx14
-rw-r--r--FrontEnd/src/components/menu/PopupMenu.tsx3
2 files changed, 9 insertions, 8 deletions
diff --git a/FrontEnd/src/components/menu/Menu.tsx b/FrontEnd/src/components/menu/Menu.tsx
index c01c6cfb..1a196a69 100644
--- a/FrontEnd/src/components/menu/Menu.tsx
+++ b/FrontEnd/src/components/menu/Menu.tsx
@@ -1,4 +1,4 @@
-import { CSSProperties } from "react";
+import { MouseEvent, CSSProperties } from "react";
import classNames from "classnames";
import { useC, Text, ThemeColor } from "../common";
@@ -15,21 +15,21 @@ export type MenuItem =
text: Text;
icon?: string;
color?: ThemeColor;
- onClick: () => void;
+ onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
};
export type MenuItems = MenuItem[];
export type MenuProps = {
items: MenuItems;
- onItemClicked?: () => void;
+ onItemClick?: (e: MouseEvent<HTMLButtonElement>) => void;
className?: string;
style?: CSSProperties;
};
export default function Menu({
items,
- onItemClicked,
+ onItemClick,
className,
style,
}: MenuProps) {
@@ -46,9 +46,9 @@ export default function Menu({
<button
key={index}
className={`cru-menu-item cru-clickable-${color ?? "primary"}`}
- onClick={() => {
- onClick();
- onItemClicked?.();
+ onClick={(e) => {
+ onClick?.(e);
+ onItemClick?.(e);
}}
>
{icon != null && <Icon color={color} icon={icon} />}
diff --git a/FrontEnd/src/components/menu/PopupMenu.tsx b/FrontEnd/src/components/menu/PopupMenu.tsx
index 9d90799d..7ac2abfe 100644
--- a/FrontEnd/src/components/menu/PopupMenu.tsx
+++ b/FrontEnd/src/components/menu/PopupMenu.tsx
@@ -58,8 +58,9 @@ export default function PopupMenu({
>
<Menu
items={items}
- onItemClicked={() => {
+ onItemClick={(e) => {
setShow(false);
+ e.stopPropagation();
}}
/>
</div>,