-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow LexicalTypeaheadMenuPlugin to work when inside an iframe #5044
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unrelated to this PR, but maybe we should add editor.getWindow() / editor.getDocument() with fallback to globals. It might simplify swapping globals with jsdom (e.g., for server rendering)
I think, this is a great idea. |
@@ -236,7 +236,8 @@ export function LexicalTypeaheadMenuPlugin<TOption extends MenuOption>({ | |||
useEffect(() => { | |||
const updateListener = () => { | |||
editor.getEditorState().read(() => { | |||
const range = document.createRange(); | |||
const _window = editor._window ?? window; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lestertay @fantactuka - I wonder if editor._window
should always be set to avoid the fallback to the ?? window
in getDefaultView that powers this setter https://github.com/facebookexternal/Outline//blob/02f01f160e8894f133e076ab5e38e7a3fd6a5f7a/packages/lexical/src/LexicalEditor.ts#L961-L967
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fantactuka i think that'll be useful and a sensible fallback. I'll be happy to make another PR to enable this since i've seen quite a few places within Lexical using editor._window
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, that was an idea for a follow up 👍
Co-authored-by: Maksim Horbachevsky <fantactuka@gmail.com>
Hi Lexical team, I'm making some changes to the
LexicalTypeaheadMenuPlugin
such that when we're using the ContentEditable in an iframe but rendering the dropdown menu of the typeahead outside (iframe's parent), we'll still calculate the position of the dropdown menu correctly.