Bring Explorer and CodeMirror in sync again #20
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: Explorer tree and CodeMirror editor are currently out of sync.
I created this bug (mea culpa), when I moved the
querySource
state down in #15, because rerendering the whole thing on every keystroke resulted in the cursor jumping to the beginning of the text if you pressed backspace/delete fast multiple times.We were already listening for
queryEditor
's"change"
events in SavedQueriesToolbar, so I just gave the same treatment to the Explorer plugin.(SavedQueriesToolbar is the top bar we use in Subgraph Studio and Graph Explorer so people can see example queries premade by Subgraph authors.)
The bug is solved, but we end up with a little bit more code, because I inlined
@graphiql/plugin-explorer
to do this.@B2o5T Could you tell me if I'm being silly here? Is reading
queryEditor
from context and listening to query source sth worthwhile contributing upstream to@graphiql/plugin-explorer
?