Documentmodus: in een tabel omlaag gaan gooit de editor stil terug naar platte Markdown #1565

Closed
opened 2026-08-19 08:02:36 +00:00 by brenno · 2 comments
Owner

Wat er gebeurt

In de visuele modus van de documenteditor: klik in een cel van een tabel en ga met de pijltjestoets omlaag naar de volgende rij. De editor toont vanaf dat moment de platte Markdown-bron in plaats van de opgemaakte tekst.

Waarom dat erg is

Er is niets aan te zien. De modusknop staat nog steeds op visueel, er is geen melding, geen omschakeling die je zelf hebt gedaan. Voor de gebruiker lijkt het alsof het document plotseling in tekens uiteenvalt — hij weet niet dat hij naar de bron (<>) is gesprongen en dus ook niet hoe hij terugkomt.

Stappen om het te zien

  1. Open een document in de documentmodus, sta in de visuele stand.
  2. Voeg een tabel in (of open een document met een GFM-tabel).
  3. Klik in een cel en druk op de pijl omlaag.
  4. De opgemaakte weergave verdwijnt; er staat platte Markdown.

Verwacht

  • De visuele stand blijft staan zolang de gebruiker hem niet zelf verlaat.
  • Kan de inhoud écht niet visueel getoond worden, dan is dat zichtbaar: de modusknop wijst de werkelijke stand aan en er staat bij waarom er op de bron is teruggevallen.

Raakvlak

lib/widgets/markdown_editor/markdown_editor.dart (_effectiveMode, de stille terugval op markdownVisualLimitations), lib/widgets/reader/table_edit_controller.dart, lib/widgets/markdown_editor/table_embed_builder.dart.

## Wat er gebeurt In de **visuele modus** van de documenteditor: klik in een cel van een tabel en ga met de pijltjestoets omlaag naar de volgende rij. De editor toont vanaf dat moment de platte Markdown-bron in plaats van de opgemaakte tekst. ## Waarom dat erg is Er is niets aan te zien. De modusknop staat nog steeds op *visueel*, er is geen melding, geen omschakeling die je zelf hebt gedaan. Voor de gebruiker lijkt het alsof het document plotseling in tekens uiteenvalt — hij weet niet dat hij naar de bron (`<>`) is gesprongen en dus ook niet hoe hij terugkomt. ## Stappen om het te zien 1. Open een document in de documentmodus, sta in de visuele stand. 2. Voeg een tabel in (of open een document met een GFM-tabel). 3. Klik in een cel en druk op de pijl omlaag. 4. De opgemaakte weergave verdwijnt; er staat platte Markdown. ## Verwacht - De visuele stand blijft staan zolang de gebruiker hem niet zelf verlaat. - Kan de inhoud écht niet visueel getoond worden, dan is dat **zichtbaar**: de modusknop wijst de werkelijke stand aan en er staat bij waarom er op de bron is teruggevallen. ## Raakvlak `lib/widgets/markdown_editor/markdown_editor.dart` (`_effectiveMode`, de stille terugval op `markdownVisualLimitations`), `lib/widgets/reader/table_edit_controller.dart`, `lib/widgets/markdown_editor/table_embed_builder.dart`.
Author
Owner

Opgepakt in tak fix/visuele-modus-bron (worktree). Verwachte raakvlakken: lib/widgets/markdown_editor/markdown_editor.dart, lib/widgets/reader/table_edit_controller.dart, lib/widgets/markdown_editor/table_embed_builder.dart.

Opgepakt in tak `fix/visuele-modus-bron` (worktree). Verwachte raakvlakken: `lib/widgets/markdown_editor/markdown_editor.dart`, `lib/widgets/reader/table_edit_controller.dart`, `lib/widgets/markdown_editor/table_embed_builder.dart`.
Author
Owner

Opgelost op main in PR #1574 (merge f3389a49).

Wat het was: een invulbare tabelcel is een tekstveld binnen een Quill-embed, en een EditableText laat zijn tekstbewerkingsacties bewust overschrijven door een Actions hoger in de boom — precies waar Quill die van hem zet. Elke pijltjestoets in een cel liet Quill dus de cursor van het document verzetten en dat resultaat ín de cel schrijven: de hele documenttekst belandde met <br>-tekens in één cel, en omdat rauwe HTML de visuele stand op brontekst terugwerpt, viel de editor om.

Wat er is gedaan: EmbeddedFieldActions zet die acties dichter bij het veld en laat ze de eigen standaardactie van het veld aanroepen (ook om de notenregel heen); aan de rand van de tabel wordt de toets opgegeten in plaats van doorgelaten; de visuele editor schrijft het document niet meer opnieuw weg wanneer alleen de cursor verschoof; en de melding je bewerkt nu de bron is een zichtbare balk in plaats van een grijze regel van 10,5 punt.

Getoetst met document_visual_table_navigation_test.dart (eerst rood gemaakt tegen de onherstelde code) en met eigen ogen in de draaiende app.

Opgelost op main in PR #1574 (merge `f3389a49`). **Wat het was:** een invulbare tabelcel is een tekstveld binnen een Quill-embed, en een `EditableText` laat zijn tekstbewerkingsacties bewust overschrijven door een `Actions` hoger in de boom — precies waar Quill die van hem zet. Elke pijltjestoets in een cel liet Quill dus de cursor van het *document* verzetten en dat resultaat ín de cel schrijven: de hele documenttekst belandde met `<br>`-tekens in één cel, en omdat rauwe HTML de visuele stand op brontekst terugwerpt, viel de editor om. **Wat er is gedaan:** `EmbeddedFieldActions` zet die acties dichter bij het veld en laat ze de eigen standaardactie van het veld aanroepen (ook om de notenregel heen); aan de rand van de tabel wordt de toets opgegeten in plaats van doorgelaten; de visuele editor schrijft het document niet meer opnieuw weg wanneer alleen de cursor verschoof; en de melding *je bewerkt nu de bron* is een zichtbare balk in plaats van een grijze regel van 10,5 punt. Getoetst met `document_visual_table_navigation_test.dart` (eerst rood gemaakt tegen de onherstelde code) en met eigen ogen in de draaiende app.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1565
No description provided.