diff --git a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx index fab80b518..8af41a848 100644 --- a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx +++ b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorButton.tsx @@ -37,10 +37,6 @@ const ChangeEditorButton: FunctionComponent = ({ viewControllerManager, o setIsOpen(willMenuOpen) }, [onClickPreprocessing, isOpen]) - const disableClickOutside = useCallback(() => { - setIsClickOutsideDisabled(true) - }, []) - useEffect(() => { return application.keyboardService.addCommandHandler({ command: CHANGE_EDITOR_COMMAND, @@ -76,7 +72,7 @@ const ChangeEditorButton: FunctionComponent = ({ viewControllerManager, o application={application} isVisible={isOpen} note={note} - handleDisableClickoutsideRequest={disableClickOutside} + setDisableClickOutside={setIsClickOutsideDisabled} closeMenu={() => { setIsOpen(false) }} diff --git a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMenu.tsx b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMenu.tsx index 93bd06fc1..bf5db7a11 100644 --- a/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMenu.tsx +++ b/packages/web/src/javascripts/Components/ChangeEditor/ChangeEditorMenu.tsx @@ -22,7 +22,7 @@ type ChangeEditorMenuProps = { isVisible: boolean note: SNNote | undefined onSelect?: (component: SNComponent | undefined) => void - handleDisableClickoutsideRequest?: () => void + setDisableClickOutside?: (value: boolean) => void } const getGroupId = (group: EditorMenuGroup) => group.title.toLowerCase().replace(/\s/, '-') @@ -33,7 +33,7 @@ const ChangeEditorMenu: FunctionComponent = ({ isVisible, note, onSelect, - handleDisableClickoutsideRequest, + setDisableClickOutside, }) => { const editors = useMemo( () => @@ -134,13 +134,13 @@ const ChangeEditorMenu: FunctionComponent = ({ } setPendingConversionItem(itemToBeSelected) - handleDisableClickoutsideRequest?.() + setDisableClickOutside?.(true) return } if (note.noteType === NoteType.Super && note.text.length > 0) { setPendingConversionItem(itemToBeSelected) - handleDisableClickoutsideRequest?.() + setDisableClickOutside?.(true) return } @@ -172,15 +172,16 @@ const ChangeEditorMenu: FunctionComponent = ({ } }, [ - application, - closeMenu, - currentComponent, note, + closeMenu, onSelect, premiumModal, + application.alertService, + application.componentManager, + setDisableClickOutside, + currentComponent, selectComponent, selectNonComponent, - handleDisableClickoutsideRequest, ], ) @@ -199,8 +200,14 @@ const ChangeEditorMenu: FunctionComponent = ({ closeMenu() }, [pendingConversionItem, note, selectNonComponent, closeMenu, selectComponent]) - const closeSuperNoteImporter = () => setPendingConversionItem(null) - const closeSuperNoteConverter = () => setPendingConversionItem(null) + const closeSuperNoteImporter = () => { + setPendingConversionItem(null) + setDisableClickOutside?.(false) + } + const closeSuperNoteConverter = () => { + setPendingConversionItem(null) + setDisableClickOutside?.(false) + } return ( <>