You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-11-29 22:48:10 +02:00
Features: - Scroll position is preserved when the editor layout changes. - Scroll position is remembered when a note selection changes. Modifications: - The current Sync Scroll feature (in v2.6.2) is modified to use line-percent-based scroll positions. - Scroll position translation functions, Viewer-to-Editor and Editor-to-Viewer, are separated into V2L / L2E and E2L / L2V respectively. - The scrollmap is moved from gui/utils/SyncScrollMap.ts to note-viewer/scrollmap.js. - IPC Protocol about the scrollmap becomes not necessary and is removed. - Ignores non-user scroll events to avoid sync with incorrect scroll positions. - When CodeMirror is not ready, setEditorPercentScroll() is waited. - Fixes the bug: An incorrect scroll position is sometimes recorded. - Since scroll positions become line-percent-based, the following incompatibilities of scroll positions are fixed: - Between Editor and Viewer. - Between Viewer Layout and Split Layout of Viewer - Between Editor Layout and Split Layout of Editor
This commit is contained in:
committed by
GitHub
parent
a4aa40dde8
commit
5c82e439a7
@@ -344,7 +344,10 @@ function NoteEditor(props: NoteEditorProps) {
|
||||
const onScroll = useCallback((event: any) => {
|
||||
props.dispatch({
|
||||
type: 'EDITOR_SCROLL_PERCENT_SET',
|
||||
noteId: formNote.id,
|
||||
// In callbacks of setTimeout()/setInterval(), props/state cannot be used
|
||||
// to refer the current value, since they would be one or more generations old.
|
||||
// For the purpose, useRef value should be used.
|
||||
noteId: formNoteRef.current.id,
|
||||
percent: event.percent,
|
||||
});
|
||||
}, [props.dispatch, formNote]);
|
||||
|
||||
Reference in New Issue
Block a user