207 Commits

Author SHA1 Message Date
159cd51684 Improve the logic for repositioning grammar mistake highlights in response to DOM changes
Refactor the click detection logic to check if the click was inside the rectangle of the highlight element, rather than relying on stored rectangle coordinates.
Additionally, this update eliminates the need to attach event listeners to the entire window or the parent elements of the host element, simplifying the event handling and potentially improving performance.
2024-05-24 16:48:02 +02:00
94847d44f2 Update TODO comment 2024-05-24 11:11:57 +02:00
31934aa2c5 Optimize scroll event handling by limiting updates to rect positions only 2024-05-24 11:07:55 +02:00
76ba7788c0 Resolve overflow on X-axis issue and reimplement onScroll event listener 2024-05-24 10:13:12 +02:00
033b56329f Disable grammarly extension on host element 2024-05-24 08:50:24 +02:00
5871f38f26 Find a way to correctly position statusDiv element inside CKEditor. 2024-05-23 14:20:59 +02:00
94f55e0d7f service2.js: Revise 2024-05-23 12:35:12 +02:00
947d5048e6 service2.js: Remove resolved TODO 2024-05-23 12:17:34 +02:00
9258cecc73 service2.js: Reintroduce window resize event listening
This is an emergency solution to track host element position changing.
2024-05-23 12:16:54 +02:00
cb0f55a976 service2.js: Remove excessive markup repositioning
When window scrolls, our host element, correction panel and status icon
don't change their (left, top, right, bottom) document coordinates.
2024-05-23 12:08:17 +02:00
85d8f42dba service2.js: Simplify 2024-05-23 12:05:37 +02:00
273c96b78c service2.js: Mind horizontal scrolling, padding and margins too 2024-05-23 11:12:46 +02:00
06513cab05 Reinstate setTimeout function in CKEditor to ensure proper handling of instances where a specific height value is assigned to the editable element 2024-05-22 14:22:16 +02:00
afd9709ef5 Fix statusDiv position
This position needs to be tested on high resolution displays (4K, etc.)
2024-05-22 14:15:06 +02:00
f3ee5d1d37 Add an option to detach event listener and retrieve original spellcheck attribute 2024-05-22 14:08:37 +02:00
6784df431c Eliminate unnecessary setTimeout function from CKEditor's class, since it is no longer needed 2024-05-22 13:36:08 +02:00
21eaa95130 Implement ResizeObserver to observe resizing in host elements 2024-05-22 13:31:54 +02:00
89201ceaff service2.js: Port CKEditor service 2024-05-22 12:52:23 +02:00
e0e9f1a651 service2.js: Fix empty paragraph handling 2024-05-22 11:03:54 +02:00
6eac44165f service2.js: Move reusable correction panel handling upstream 2024-05-22 11:03:19 +02:00
0e7e324694 service2.js: Unify equal/same comparisons 2024-05-22 09:47:24 +02:00
5f83dfa4ba service2.js: Add contenteditable=plaintext-only support 2024-05-21 18:32:30 +02:00
478f6269ee service2.js: Remove excessive clearProofing() call
The markProofed() is called for block elements not proofed == not
present in this.results. Hence, clearProofing() has no effect in
markProofed().
2024-05-21 18:31:54 +02:00
49dc3385ea service2.js: Fix onFailedProofingResult not called on abort 2024-05-21 18:30:04 +02:00
67eee1015e service2.js: Fix corner cases and prepare for plain-text services 2024-05-21 11:43:52 +02:00
e05abce7d9 service2.js: Fix status icon and port status popup
However, status popup was disabled as deemed excessive for our use case.
2024-05-15 12:28:15 +02:00
5e339566f3 service2.js: Move abortController management upstream
Generally, any gramar checking will be cancellable and will need this.
2024-05-15 12:28:15 +02:00
ff54607e7e service2.js: Port popup from service.js 2024-05-15 12:28:15 +02:00
c54366e95f Refactor CKEditor event handling 2024-05-14 13:33:01 +02:00
970b43b8d6 Improve handling CKEditor events from plugins 2024-05-13 09:55:27 +02:00
133a278c9c service2: Rework proofing notifications and aborting
Notifications were inconsistent in case of errors while checking
grammar.
2024-05-10 15:38:53 +02:00
e499ad22f8 Fork service2.js
Due to intensive development, service.js grew complex and convoluted.
With lessons learned we shall prepare a cleaner and leaner version of
the code.
2024-05-10 14:23:58 +02:00
d15348ed50 Extend updateStatusIcon() to set title too
All calls to updateStatusIcon() were followed by setting the title.
2024-05-08 13:15:10 +02:00
d6e823ed7a Refactor proof() to remove isInitialCall requirement
Let's keep now recursiveProof() as clean as possible.
2024-05-08 13:09:12 +02:00
6392328e98 Add missing parameter documentation 2024-05-08 12:50:10 +02:00
71d17273d0 Cleanup excessive documentation 2024-05-08 12:29:43 +02:00
7b2ae27649 Refine positioning of status icon within CKEditor 2024-05-08 11:25:06 +02:00
d867346bbe Optimize performance for handling long texts with numerous grammar errors 2024-05-07 10:38:02 +02:00
e7a948edbd Register a resize observer for the textarea element 2024-04-29 10:46:52 +02:00
f6ee559065 Fix rendering mistakes in textarea instances following corrections 2024-04-29 08:57:20 +02:00
2192845cae Resolve issue with resizing in textarea instances 2024-04-25 09:17:42 +02:00
5ed444f577 Improve CKEditor plugin listeners logic 2024-04-22 07:57:30 +02:00
b8dba4bba9 Cleanup 2024-04-18 13:30:06 +02:00
05b1b04012 Improve event handling and refactor clear children in CKEditor 2024-04-18 11:18:50 +02:00
1e46ef97ea Improve event handling for CKEditor plugins 2024-04-18 09:46:55 +02:00
7609bb8191 Resolve bugs on changing the style of paragraphs in CKEditor 2024-04-17 14:47:35 +02:00
64b53fbf51 Implement event handling for CKEditor plugins to improve responsiveness 2024-04-16 15:56:19 +02:00
38b0b87644 Refactor service.js to enhance the logic for repositioning grammar mistakes 2024-04-15 10:17:55 +02:00
37855374bb Fix popup visibility issue in CKEditor 2024-04-11 11:49:04 +02:00
6aaa8c4472 Add a comment about possible performance issues 2024-04-10 09:50:41 +02:00