101e6d55d5
- fix the infinite loop glitch. Tweak of editable-text to only dispatch 'blur' event if the input was actually blured. It prevents the hideEditor from being locked in an infinite loop due to the call stack hideEditor -> modifyCreator -> moveCreator -> blur -> hideEditor - refactor blurOpenField to not be async and to not be used in most places. It is mainly redundant now that editable-text handles blur if clicked anywhere outside of it, so it helps to avoid confusion. - since moveCreator does not await or yield for anything anymore, remove the Zotero.spawn part. The rest of the function is unchanged. - on focusin of the empty unsaved creator row, use its future unsaved id that reflects its positioning instead of its real id (which technically is the very last creator row). That way, a tab from a creator row that was just filled will land to the proper component after render, as opposed to focusing the very last row. - similar approach to removing the unsaved creator row when the focus is in it - focus the row above it, as opposed to the last row. Fixes: #4145 Addresses part of: #4143 |
||
---|---|---|
.. | ||
scaffold | ||
zotero | ||
zotero-platform |