fix: close peek view when clicking on reference link (#7137)

This commit is contained in:
pengx17
2024-06-06 15:40:22 +00:00
parent 51429c957b
commit 79e1e8dd2f
3 changed files with 23 additions and 11 deletions
@@ -2,13 +2,18 @@ import { useAppSettingHelper } from '@affine/core/hooks/affine/use-app-setting-h
import { popupWindow } from '@affine/core/utils';
import { useLiveData, useService } from '@toeverything/infra';
import type { To } from 'history';
import { forwardRef, useCallback } from 'react';
import { forwardRef, type MouseEvent, useCallback } from 'react';
import { WorkbenchService } from '../services/workbench';
export const WorkbenchLink = forwardRef<
HTMLAnchorElement,
React.PropsWithChildren<{ to: To } & React.HTMLProps<HTMLAnchorElement>>
React.PropsWithChildren<
{
to: To;
onClick?: (e: MouseEvent) => boolean | void; // return false to stop propagation
} & React.HTMLProps<HTMLAnchorElement>
>
>(function WorkbenchLink({ to, onClick, ...other }, ref) {
const workbench = useService(WorkbenchService).workbench;
const { appSettings } = useAppSettingHelper();
@@ -20,7 +25,7 @@ export const WorkbenchLink = forwardRef<
(event: React.MouseEvent<HTMLAnchorElement>) => {
event.preventDefault();
event.stopPropagation();
if (onClick?.(event)) {
if (onClick?.(event) === false) {
return;
}