chore: fix menu closing

This commit is contained in:
Aman Harwara
2023-04-27 18:19:25 +05:30
parent 91b3978e14
commit 13d56082d8
2 changed files with 18 additions and 15 deletions

View File

@@ -37,10 +37,6 @@ const ChangeEditorButton: FunctionComponent<Props> = ({ viewControllerManager, o
setIsOpen(willMenuOpen) setIsOpen(willMenuOpen)
}, [onClickPreprocessing, isOpen]) }, [onClickPreprocessing, isOpen])
const disableClickOutside = useCallback(() => {
setIsClickOutsideDisabled(true)
}, [])
useEffect(() => { useEffect(() => {
return application.keyboardService.addCommandHandler({ return application.keyboardService.addCommandHandler({
command: CHANGE_EDITOR_COMMAND, command: CHANGE_EDITOR_COMMAND,
@@ -76,7 +72,7 @@ const ChangeEditorButton: FunctionComponent<Props> = ({ viewControllerManager, o
application={application} application={application}
isVisible={isOpen} isVisible={isOpen}
note={note} note={note}
handleDisableClickoutsideRequest={disableClickOutside} setDisableClickOutside={setIsClickOutsideDisabled}
closeMenu={() => { closeMenu={() => {
setIsOpen(false) setIsOpen(false)
}} }}

View File

@@ -22,7 +22,7 @@ type ChangeEditorMenuProps = {
isVisible: boolean isVisible: boolean
note: SNNote | undefined note: SNNote | undefined
onSelect?: (component: SNComponent | undefined) => void onSelect?: (component: SNComponent | undefined) => void
handleDisableClickoutsideRequest?: () => void setDisableClickOutside?: (value: boolean) => void
} }
const getGroupId = (group: EditorMenuGroup) => group.title.toLowerCase().replace(/\s/, '-') const getGroupId = (group: EditorMenuGroup) => group.title.toLowerCase().replace(/\s/, '-')
@@ -33,7 +33,7 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
isVisible, isVisible,
note, note,
onSelect, onSelect,
handleDisableClickoutsideRequest, setDisableClickOutside,
}) => { }) => {
const editors = useMemo( const editors = useMemo(
() => () =>
@@ -134,13 +134,13 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
} }
setPendingConversionItem(itemToBeSelected) setPendingConversionItem(itemToBeSelected)
handleDisableClickoutsideRequest?.() setDisableClickOutside?.(true)
return return
} }
if (note.noteType === NoteType.Super && note.text.length > 0) { if (note.noteType === NoteType.Super && note.text.length > 0) {
setPendingConversionItem(itemToBeSelected) setPendingConversionItem(itemToBeSelected)
handleDisableClickoutsideRequest?.() setDisableClickOutside?.(true)
return return
} }
@@ -172,15 +172,16 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
} }
}, },
[ [
application,
closeMenu,
currentComponent,
note, note,
closeMenu,
onSelect, onSelect,
premiumModal, premiumModal,
application.alertService,
application.componentManager,
setDisableClickOutside,
currentComponent,
selectComponent, selectComponent,
selectNonComponent, selectNonComponent,
handleDisableClickoutsideRequest,
], ],
) )
@@ -199,8 +200,14 @@ const ChangeEditorMenu: FunctionComponent<ChangeEditorMenuProps> = ({
closeMenu() closeMenu()
}, [pendingConversionItem, note, selectNonComponent, closeMenu, selectComponent]) }, [pendingConversionItem, note, selectNonComponent, closeMenu, selectComponent])
const closeSuperNoteImporter = () => setPendingConversionItem(null) const closeSuperNoteImporter = () => {
const closeSuperNoteConverter = () => setPendingConversionItem(null) setPendingConversionItem(null)
setDisableClickOutside?.(false)
}
const closeSuperNoteConverter = () => {
setPendingConversionItem(null)
setDisableClickOutside?.(false)
}
return ( return (
<> <>