Comments (5)
Does patch codemirror/view@1ecb5f1 look like it would work for you?
from dev.
I am checking if the new docViewUpdate
could help here...
from dev.
No, docViewUpdate
does not get called on cursor movement.
I can still use update()
but this involves a lot of filtering down of undesirable updates. The problem when used from TypeScript is that view.viewState.scrollTarget
is not exposed because viewState
is marked as internal. If we could probe whether scrollTarget
is defined I can handle this in update
listener:
My current solution comes down to:
ViewPlugin.define((view) => {
return {
update: () => {
// @ts-ignore
const scrollTarget = view.viewState.scrollTarget;
if (scrollTarget) {
scrollVirtualizedListToEditor(scrollTarget);
}
}
};
})
or equivalently:
EditorView.updateListener.of((viewUpdate) => {
// @ts-ignore
const scrollTarget = viewUpdate.view.viewState.scrollTarget;
if (scrollTarget) {
scrollVirtualizedListToEditor(scrollTarget);
}
})
Would you consider exposing scrollTarget
via getter on EditorView
? If not, what about having a new scroll
entry point like below?
ViewPlugin.define((view) => {
return {
scroll: (scrollTarget: ScrollTarget) => {
scrollVirtualizedListToEditor(scrollTarget);
}
};
})
from dev.
Yes, this looks like it should do it, thank you!
from dev.
Released as part of @codemirror/view 6.26.0
from dev.
Related Issues (20)
- Selecting backwards throws errors with EditContext (6.28.0). HOT 4
- Setting `EditorView.editable.of(false)` does not work with EditContext API HOT 2
- After setting the error diagnostics by using setDiagnostics, when copying & pasting the complete text, the entire document prompts error. HOT 2
- placeholder with HTMLElement, when shared between multiple views, is only visible on one view
- codemirror/view 6.28.2 version will cause abnormal input of Chinese input method HOT 22
- python highlighting fails with initial blank line or comment HOT 4
- Programmatically fetch CodeMirror version HOT 1
- event `compositionstart ` was not triggered correctly HOT 3
- Getting "document is not defined" error on while our app loads CodeMirrorEditor HOT 5
- setDiagnostics doesn't working. HOT 2
- A blank url() in CSS causes highlighting errors. HOT 1
- pressing Enter after typing Korean text inserts duplicate line break [ safari ] HOT 6
- Icons broken on css lang HOT 2
- Unable to style the complete merge view line HOT 6
- Conditionally-rendered block replace decoration breaks selection rendering and gutter HOT 9
- Selection doesn't drag vertically when text is too long horizontally HOT 2
- Incorrect view height in merge view with two same ~100k line documents HOT 5
- Mac OS native chinese IME, prompt pos not right. HOT 4
- UnifiedMergeView sometimes renders only the last character of a deleted line HOT 4
- Setting `EditorState.readOnly.of(true)` does not work anymore in Chrome since `v6.28.0` (EditContext API issue?) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dev.