Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Fixes #5870
Fixed an issue in the Table of Contents editor where the cursor would jump to the end of the input field on every keystroke. I modified the following file:
Changes
Introduced a local state (currentTitleInput) and editingId to decouple text input from the tree re-renders;
Implemented a getLatestTree method to synchronize the current title input with the tree state before any changes on the tree (adding/removing/expanding/collapsing nodes or changing target page number);
Changed onClick button events to onMouseDown events with preventDefault() to ensure that tree updates trigger before the input focus is lost.
The change (1) was already enough to fix the main bug, but I realized it introduced another bug while I was testing: if the user typed the title input (without clicking outside the text input box) and immediately after clicked on the up and down arrows to change the target page number or clicked on a button (add child/sibling, delete, expand/collapse), then the title input would be restored to its previous state. Hence why I did changes (2) and (3) aswell.
Checklist
General
Documentation
Translations (if applicable)
scripts/counter_translation.pyUI Changes (if applicable)
Testing (if applicable)