271 Commits

Author SHA1 Message Date
5cbac62de3 Fix BesQuillService when pasting a simple block of text 2025-04-16 09:27:20 +02:00
c27f9628f4 Fine-tune markup drawing
This adjusts markup color slightly for the dark display, makes it fully
opaque, alternates the squiggly line between grammar and spelling
mistakes to visualize one-word-two-mistake-types, paints most important
mistakes last/on top etc.

All to make the markup as visible as possible.
2025-03-04 11:09:57 +01:00
ef0d35ccee Cleanup 2025-03-04 10:49:12 +01:00
2b54735175 Reformat code 2025-03-04 09:21:51 +01:00
9c2151f182 Add clickable tolerance around grammar mistakes
Users are complaining it is hard to make a click on a mistake when
mistake is covering relative small portion of the text.
2025-03-04 09:21:35 +01:00
a507f24326 Relax line height in the samples 2025-03-03 14:28:39 +01:00
20713b8b5d Add dark color-scheme for samples 2025-03-03 14:28:39 +01:00
72b6fb2d91 Enlarge markup font
Due to popular demand. 😉
2025-03-03 14:21:56 +01:00
9815ddfed0 Get markup text from <canvas> element
This allows setting markup text font separately from the host element.
E.g.: A different font is desired for the markup other than font used in
the edit box.
2025-03-03 14:21:16 +01:00
24216a4dff Merge remote-tracking branch 'remotes/origin/revise-canvas' 2025-03-03 13:10:51 +01:00
61401cb3c0 Fix <textarea> overlay 2025-03-03 13:06:02 +01:00
2dd06fcef4 Fix redraw after zoom change
Resize first, then repaint. The Range.getClientRects() is returning
funny coordinates before resize.
2025-02-28 15:05:09 +01:00
32690de8a7 samples: Fix CKEditor markup style switching 2025-02-28 14:56:12 +01:00
0ff4e96c0a Fix offset compensation
See-also: 51099347f2f51d3bb5c0d30febc5dcaa2ad62f45
2025-02-28 14:52:41 +01:00
b6c825cc83 Add special markup for missing period
Period is too small to use standard missing text approach. Besides,
period was offended, since comma had its own markup sign and period
didn't. It demanded own markup sign and period.
2025-02-28 14:27:06 +01:00
bf7b844e1c Same grammar mistake shouldn't be highlighted twice 2025-02-28 12:45:33 +01:00
d990cd061a Update function documentation 2025-02-28 12:42:16 +01:00
51099347f2 Revise scrolling 2025-02-28 12:25:58 +01:00
d246d07d7f <textarea>: Populate text panel content sooner
This makes the text panel contain true content and size earlier at the
registration time.
2025-02-28 11:35:11 +01:00
6b1b46de55 Rename markup drawing methods
This matches what they are doing better.
2025-02-28 11:33:24 +01:00
9c7c967039 Rotate panel names
The new name reflects the purpose of the panel better:

- panelParent → correctionPanel: This is our (0, 0) positioned <div>
  inside which most of the magic happens. We do need it to be able to
  position it's child properly.

- correctionPanel → scrollPanel: This is a <div> which size and
  placement should exactly match the hostElement. We need it to provide
  a scrollable (hence the name) viewport for our canvas.
2025-02-28 11:02:04 +01:00
acd7ac1a2b Cleanup CSS 2025-02-28 10:28:39 +01:00
0ed93fb9b2 Fix ToCToU issue with canvas resizing
This could end up in endless resizing&repainting of the markup canvas.
2025-02-28 09:44:51 +01:00
16e85f5498 Fix unregister cleanup 2025-02-27 16:03:45 +01:00
cf70e4128e Simplify
setCorrectionPanelSize() includes repositionAllMarkup() when needed
2025-02-27 15:57:18 +01:00
29dcd4c40d Merge canvas and scroll panels 2025-02-27 15:32:35 +01:00
f88b2fd1a0 Add note about compatibility issue 2025-02-27 15:22:01 +01:00
b41068196e Set overflow style in CSS
It is static and should never change.
2025-02-27 15:01:37 +01:00
156e6302e6 Fix status icon positioning 2025-02-27 14:49:19 +01:00
20e24b4e3a Replace sample picture
The previous one had visible scroll bar.
2025-02-27 14:19:22 +01:00
17a80ab0a9 Add early return for empty highlights 2025-02-27 14:15:50 +01:00
bb822f0bbc Extend grammar markup style continued 2025-02-27 14:01:37 +01:00
53fc05a2f8 Rename popupCorrectionPanel to preparePopup and update parameter names for clarity 2025-02-27 09:28:40 +01:00
54c0307d9b Adjust correctionPanel positioning 2025-02-27 09:23:53 +01:00
5d8b620abc Fix highlight positioning when scrolling 2025-02-27 08:43:12 +01:00
ad13e9849f Extend grammar markup style 2025-02-26 15:51:15 +01:00
ad256cabef Enhance popup styles 2025-02-26 10:53:16 +01:00
29e83ccc0a Prevent endless loop when zooming in/out and dismiss popup on scroll event 2025-02-26 09:28:33 +01:00
3d6c7fcd60 Refactor popupCorrectionPanel to handle multiple grammar matches 2025-02-25 15:05:47 +01:00
0855c13384 Fix <textarea>, cleanup... 2025-02-25 12:56:09 +01:00
00cb5aecd4 Hide popup and remove highlighted rects after input 2025-02-25 09:35:34 +01:00
cc88584802 Add highlight rendering for "selected" grammar mistakes 2025-02-25 09:33:33 +01:00
f695f4b150 Add text font retrieval and mockup text drawing in BesService 2025-02-24 15:04:16 +01:00
a5db3099c6 Revise canvas management 2025-02-24 14:25:19 +01:00
5e52b71242 Fix <br> and false missing space grammar mistake report
Fixes: #1
2025-02-24 10:39:32 +01:00
661449c2b7 Update onClick logic 2025-02-24 09:00:32 +01:00
0eb3e81974 Refactor canvas context usage 2025-02-17 08:08:34 +01:00
6fb6503e73 Optimize canvas highlight rendering 2025-02-14 09:36:26 +01:00
d773682eeb Implement canvas-based mistake highlighting in BesService
- There's still a work to be done, but IMO it is a step inthe right direction
2025-02-12 18:17:12 +01:00
c68e512496 fix: Refactor block element check in BesQuillService to use isBlockElement method #5 2025-01-31 12:49:37 +01:00