import { CSSProperties, useEffect, useMemo, useRef } from 'react';
import { Dropdown, Menu } from 'antd';
import React from 'react';
function usePrevious(value) {
const ref = useRef();
useEffect(() => {
ref.current = value;
});
return ref.current;
}
export default function ContextMenuVisible(options) {
const {
items,
data,
visible,
onVisibleChange = () => undefined,
pageX,
pageY,
} = options;
const prevPageX = usePrevious(pageX);
const prevPageY = usePrevious(pageY);
const left = (pageX || prevPageX || 0);
const top = (pageY || prevPageY || 0);
const menu = useMemo(() => {
return getOverlayMenu({
items,
data,
onVisibleChange,
});
}, [ data, items, onVisibleChange ]);
const style: CSSProperties = {
position: 'fixed',
zIndex: 999,
width: 2,
height: 2,
transform: 'translate(-50%, -50%)',
top,
left,
display: visible ? 'block' : 'none',
};
return (