1- import { useMemo } from 'react' ;
21import { useClickAway } from 'ahooks' ;
32import { Popover } from 'antd' ;
43import React , {
54 forwardRef ,
65 useCallback ,
76 useContext ,
87 useImperativeHandle ,
8+ useMemo ,
99 useRef ,
1010 useState ,
1111} from 'react' ;
1212import { useStore } from '../../hooks/useStore' ;
1313import { ConfigContext } from '../../models/context' ;
14+ import { getAntdVersion } from '../../utils' ;
1415import NodesMenu from '../NodesMenu' ;
15- import { getAntdVersion } from '../../utils' ;
1616import './index.less' ;
1717
1818export default forwardRef ( ( props : any , popoverRef ) => {
@@ -29,9 +29,7 @@ export default forwardRef((props: any, popoverRef) => {
2929 nodeSelector || { } ;
3030
3131 useImperativeHandle ( popoverRef , ( ) => ( {
32- changeOpen : val => {
33- setOpen ( val ) ;
34- } ,
32+ changeOpen : openChange ,
3533 } ) ) ;
3634
3735 useClickAway ( ( ) => {
@@ -48,36 +46,39 @@ export default forwardRef((props: any, popoverRef) => {
4846 onNodeSelectPopoverChange && onNodeSelectPopoverChange ( false ) ;
4947 } , [ ] ) ;
5048
49+ const openChange = ( ) => {
50+ setTimeout ( ( ) => {
51+ setIsAddingNode ( true ) ;
52+ closeRef . current = true ;
53+ setOpen ( true ) ;
54+ } , 50 ) ;
55+ } ;
56+
5157 const popoverVersionProps = useMemo ( ( ) => {
5258 const version = getAntdVersion ( ) ;
5359 if ( version === 'V5' ) {
5460 return {
5561 open,
62+ onOpenChange : openChange ,
5663 } ;
5764 }
5865 // V4
5966 return {
6067 visible : open ,
68+ onVisibleChange : openChange ,
6169 } ;
6270 } , [ open ] ) ;
6371
6472 return (
6573 < Popover
66- overlayClassName = ' nodes-popover'
74+ overlayClassName = " nodes-popover"
6775 getPopupContainer = { ( ) => document . getElementById ( 'xflow-container' ) }
6876 zIndex = { 2000 }
6977 arrow = { false }
7078 overlayInnerStyle = { { padding : '12px 6px' } }
7179 { ...popoverProps }
72- trigger = ' click'
80+ trigger = " click"
7381 { ...popoverVersionProps }
74- onOpenChange = { ( ) => {
75- setTimeout ( ( ) => {
76- setIsAddingNode ( true ) ;
77- closeRef . current = true ;
78- setOpen ( true ) ;
79- } , 50 ) ;
80- } }
8182 content = {
8283 < NodesMenu
8384 ref = { ref }
0 commit comments