Comments (5)
Articulating some points better:
Doing one bookmark per batch is nice. However, restoring bookmarks is expensive regardless of whether it actually does something visible to the user (because span removal is required, or checks are required.)
Also, by creating the bookmark only once per batch, we create problems when you have multiple excessively large blocks. Because things are now more responsive, it's possible to do more things and get the selection restored to the wrong place.
from ckeditor-spell-check-plugin-js-dev-edge.
We need to:
- not create bookmarks unless needed
- also shorten the lifetime of any other bookmark, as much as possible. Ideally it only gets created when we actually are working on a range that crosses it.
from ckeditor-spell-check-plugin-js-dev-edge.
I might be going insane but it's possible that with all the various changes we made along the way, that bookmarking is no longer needed (except for span removal)
from ckeditor-spell-check-plugin-js-dev-edge.
One ugly case we don't handle properly (which makes figuring out bookmarks difficult) - if a word is actually multiple text nodes and you type into the middle of it
from ckeditor-spell-check-plugin-js-dev-edge.
The render event already takes a rootElement. Is it sufficient to determine if the selection falls inside?
from ckeditor-spell-check-plugin-js-dev-edge.
Related Issues (20)
- Words get mashed together when being walked, if the words are around a nested list HOT 4
- Batch spellcheck XHR requests, at least for the initial load HOT 2
- Break elements in list items don't count as word boundaries HOT 3
- Handle LocalStorage unavailability properly HOT 10
- Short circuit the many empty nodes case
- Span reuse issues - nbsps being marked and occasional nested spans HOT 1
- Spellcheck spans are modifying document HTML HOT 5
- Pasting does not trigger spellcheck consistently on pasted blocks
- Partial words being marked as typos HOT 27
- Contractions being marked as typos HOT 7
- Selection is not stable in IE11 (probably due to bookmarks) HOT 8
- Reuse the selection bookmark when doing batched scan/render HOT 5
- Degenerate cases with initial spellcheck HOT 2
- Quick fix: can't actually use bookmarks2 for marking words
- make editor more responsive when marking typos HOT 3
- Reuse range iterator across renders (or more efficiently batch renders together) HOT 2
- Fix the backwards events tests HOT 1
- Change some of the event handlers into commands HOT 1
- have a way of resetting the plugin for testing
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 ckeditor-spell-check-plugin-js-dev-edge.