Tabellen C — Document Bron: tabel ter plekke bewerken, geen potlood-dialoog #2054

Closed
opened 2026-09-11 06:13:36 +00:00 by brenno · 2 comments
Owner

Onderdeel van #2051.

Wat je wilt bereiken

In de documentstand Bron bewerk je een tabel in de live preview hetzelfde als in Visueel: klik in een cel en typ. Geen potlood, geen dubbelklik, geen TableEditor-dialoog.

Dit is C in de serie (#2051). Mag na of parallel aan #2053. #2052 maakt de dialoog al spreadsheet-achtig; deze issue verwijdert de dialoog voor bestaande tabellen in Bron.

Wat er nu is

Drie documentweergaven (_DocViewMode):

  • VisueelTableEmbedBuilder vult de tabel ter plekke. Dit is de maatstaf.
  • Bron — ruwe Markdown links, DocumentMarkdownView rechts. Een tabel daar is alleen-lezen plus _EditableEmbed (potlood / dubbelklik) → _editDocumentTableTableEditor in een dialoog (document_editor_inserts.dart).
  • Pagina’s — alleen-lezen nakijken. Blijft alleen-lezen.

DocumentMarkdownView kan al ter plekke invullen (tableEditController + tableEditOrdinal). Bron zet die controller niet.

Wat je bouwt

  1. In de Bron-preview: elke GFM-tabel (en de gemarkeerde tijdlijntabel) krijgt een TableEditController, schrijft bij elke inhoudelijke wijziging het blok byte-getrouw terug in de bron (rowsToGfmTable / replaceNthTableBlock / de tijdlijn-variant die al in de visuele embed zit).
  2. Zelfde toetsen als visueel: Tab/Enter groeien, pijlen via tableArrowTarget, plakken via table_clipboard.dart, werkbalk bij focus.
  3. Potlood en dubbelklik op een tabel in Bron verdwijnen. (onEditTable niet meer zetten voor dit oppervlak.)
  4. Ordinalen blijven synchroon met _parse / nthTableBlockRange — regressie van #1662 (tabel ernaast raken) mag niet terugkomen.
  5. Pagina’s blijft zonder editor.

Wat je niet doet

  • Visueel herschrijven.
  • Pagina’s invulbaar maken.
  • Presenteren.
  • Bestandsformaat.

Klaar als

  • Bron: klik in een preview-cel, typ, de pijplijn links toont de nieuwe GFM zonder dialoog.
  • Twee tabellen in één document: bewerken van de tweede laat de eerste ongemoeid (test naar het model van #1662).
  • Tijdlijntabel in Bron: zelfde ter-plekke-pad, marker blijft staan.
  • Undo vanuit de bron-edit is één stap (niet per toetsaanslag een losse undo als de visuele embed dat al coalescet — volg dat patroon).
  • Tests: widgettest op Bron-layout (nu vooral document_table_edit_test.dart die TableEditor verwacht — die verwachting keert om).
  • USER_GUIDE document-sectie: “dubbelklik in de weergave” voor tabellen schrappen of beperken tot grafieken.

Kosten

Geen nieuwe l10n (Bewerken-tooltip op het potlood valt weg voor tabellen). Let op class-size van document_editor_screen.dart / document_editor_layouts.dart: logica in een bestaande part, geen derde schrijfpad.

Onderdeel van #2051. ## Wat je wilt bereiken In de documentstand **Bron** bewerk je een tabel in de live preview hetzelfde als in **Visueel**: klik in een cel en typ. Geen potlood, geen dubbelklik, geen `TableEditor`-dialoog. Dit is **C** in de serie (#2051). Mag na of parallel aan #2053. #2052 maakt de dialoog al spreadsheet-achtig; deze issue **verwijdert** de dialoog voor bestaande tabellen in Bron. ## Wat er nu is Drie documentweergaven (`_DocViewMode`): - **Visueel** — `TableEmbedBuilder` vult de tabel ter plekke. Dit is de maatstaf. - **Bron** — ruwe Markdown links, `DocumentMarkdownView` rechts. Een tabel daar is alleen-lezen plus `_EditableEmbed` (potlood / dubbelklik) → `_editDocumentTable` → `TableEditor` in een dialoog (`document_editor_inserts.dart`). - **Pagina’s** — alleen-lezen nakijken. Blijft alleen-lezen. `DocumentMarkdownView` kan al ter plekke invullen (`tableEditController` + `tableEditOrdinal`). Bron zet die controller niet. ## Wat je bouwt 1. In de Bron-preview: elke GFM-tabel (en de gemarkeerde tijdlijntabel) krijgt een `TableEditController`, schrijft bij elke inhoudelijke wijziging het blok byte-getrouw terug in de bron (`rowsToGfmTable` / `replaceNthTableBlock` / de tijdlijn-variant die al in de visuele embed zit). 2. Zelfde toetsen als visueel: Tab/Enter groeien, pijlen via `tableArrowTarget`, plakken via `table_clipboard.dart`, werkbalk bij focus. 3. Potlood en dubbelklik op een tabel in Bron verdwijnen. (`onEditTable` niet meer zetten voor dit oppervlak.) 4. Ordinalen blijven synchroon met `_parse` / `nthTableBlockRange` — regressie van #1662 (tabel ernaast raken) mag niet terugkomen. 5. **Pagina’s** blijft zonder editor. ## Wat je niet doet - Visueel herschrijven. - Pagina’s invulbaar maken. - Presenteren. - Bestandsformaat. ## Klaar als - [ ] Bron: klik in een preview-cel, typ, de pijplijn links toont de nieuwe GFM zonder dialoog. - [ ] Twee tabellen in één document: bewerken van de tweede laat de eerste ongemoeid (test naar het model van #1662). - [ ] Tijdlijntabel in Bron: zelfde ter-plekke-pad, marker blijft staan. - [ ] Undo vanuit de bron-edit is één stap (niet per toetsaanslag een losse undo als de visuele embed dat al coalescet — volg dat patroon). - [ ] Tests: widgettest op Bron-layout (nu vooral `document_table_edit_test.dart` die `TableEditor` verwacht — die verwachting keert om). - [ ] USER_GUIDE document-sectie: “dubbelklik in de weergave” voor tabellen schrappen of beperken tot grafieken. ## Kosten Geen nieuwe l10n (Bewerken-tooltip op het potlood valt weg voor tabellen). Let op class-size van `document_editor_screen.dart` / `document_editor_layouts.dart`: logica in een bestaande part, geen derde schrijfpad.
Author
Owner

Opgepakt. Tak: feature/table-spreadsheet-ux. Hele serie A–E op één tak. Reikwijdte: table_editor, table_edit_controller, document_editor_inserts, document_editor_layouts, chart_editor_grid, matrix_editor, USER_GUIDE, SHORTCUTS.

Opgepakt. Tak: feature/table-spreadsheet-ux. Hele serie A–E op één tak. Reikwijdte: table_editor, table_edit_controller, document_editor_inserts, document_editor_layouts, chart_editor_grid, matrix_editor, USER_GUIDE, SHORTCUTS.
Author
Owner

Op main: 62eb5a237. Bron-preview: GFM-tabel ter plekke (zelfde scaffold als Visueel), ordinalen geïsoleerd, geen potlooddialoog. Pagina’s blijven alleen-lezen. Niet in: een gemarkeerde tijdlijn in Bron blijft de kaartweergave (_Kind.timeline), geen GFM-raster — dat is hoe de lezer die al toont.

Op main: 62eb5a237. Bron-preview: GFM-tabel ter plekke (zelfde scaffold als Visueel), ordinalen geïsoleerd, geen potlooddialoog. Pagina’s blijven alleen-lezen. Niet in: een gemarkeerde tijdlijn in Bron blijft de kaartweergave (_Kind.timeline), geen GFM-raster — dat is hoe de lezer die al toont.
brenno 2026-09-11 07:40:49 +00:00
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#2054
No description provided.