Tabellen A — Slide-tabel en Gantt: het document-rekenblad in de tabeleditor #2052
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck#2052
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Onderdeel van #2051.
Wat je wilt bereiken
Bij het bouwen van een tabel (presentatiedia én Gantt) werkt het raster hetzelfde als in de visuele documentmodus: je typt in de gerenderde tabel, zoals in een spreadsheet. Geen rij losse
TextFields van gelijke breedte meer.Dit is A in de serie (#2051). Volgende: B #2053 en C #2054 (dialogen); D #2055 en E #2056 zijn onafhankelijk. Presenteren blijft ongemoeid (
presenter_table.dart,_TableEditHostinslide_preview.dart).Wat er nu is
Twee werelden:
TableEditController+TableEditScaffold+TableEditableCellinDocumentMarkdownViewTableEditor(lib/widgets/editors/table_editor.dart)Expanded-breedte, koprijslate100, ⋮-menu per rij/kolomShift+Enter= regeleinde in de celmaxLines: null)table_cell_navigation.dart)Cmd/Ctrl+Vvult/groeit het rasterShift+InsertTableEditorwordt ook gebruikt voor Gantt (slide_editor_registry.dart) en voor document-invoeg/dubbelklik-dialogen (document_editor_inserts.dart). Die dialogen worden in #2053 en #2054 aangepakt; ná deze issue zien ze er in ieder geval al uit als het rekenblad.De toetsenlogica in
TableEditor._onCellKeyis een tweede kopie vanTableEditController.handleCellKey, minus Enter-als-rij en minusShift+Insertin de controller.Wat je bouwt
TableEditordoor dezelfde opbouw als het document:TableEditController+TableEditScaffold+ dezelfde tabeltekening alsDocumentMarkdownView(GFM viaencodeMarkdownTable/decodeMarkdownTableWithAlignment, één tekenpad — geen derde tabelrenderer).documentContext: true), collaboratiebanner, getalnotatie als extra op de scaffold-werkbalk of als slide-optie (blijftSlide.tableNumberColumns, geen nieuw formaattoken).Shift+Insert(plakken als tabel) inTableEditController.handleCellKey, naastCmd/Ctrl+V. Dan heeft elk oppervlak dat de controller gebruikt dezelfde plaktoets.Shift+Enterblijft regeleinde (<br>in GFM). Dit wijzigt het gedrag datUSER_GUIDEnu voor slides beschrijft ("Enter = nieuwe regel in de cel") — die zin moet mee.Wat je niet doet
lib/widgets/presentation/parts/presenter_table.darten_TableEditHost/_TableEditCellintable_preview.dart(alleen presenteren).tableNumberColumnsblijven.Klaar als
tableArrowTarget).test/table_editor_test.dartplus Enter/Shift+Enter/Shift+Insert op de gedeelde controller (test/document_visual_table_navigation_test.dartoftest/table_cell_navigation_test.dart).TableEditController.removeRowAt—TableEditormag nu tot één rij krimpen; dat is geen geldige GFM-tabel.docs/USER_GUIDE.md+.nl.md(§ Tabellen): Enter/Shift+Enter gelijkgetrokken met het document. De voorzet-knop (Actie / Eigenaar / Deadline / Status) staat nog in de handleiding maar is uit de code gehaald — die alinea schrappen, niet terugbouwen.docs/SHORTCUTS.md+.nl.md: Tab-groeit-rij, Enter-rij-lager, Cmd+C-zonder-selectie, en (document) Alt+Shift+↑/↓ / Alt+Shift+S.docs/SOURCE_MAP.md:table_editor.dartbeschrijft de hergebruikte controller, geen eigen raster meer.docs/design/DOCUMENT_MODE.md§4: dagelijks bewerken isTableEditControllerin Visueel;TableEditoris niet meer het document-mechanisme (invoegpad: #2053).Kosten
Geen nieuwe l10n als je de bestaande scaffold-labels hergebruikt (
Rij eronder,Kolom rechts, …).Rij toevoegen/Kolom toevoegenonderaan mogen weg. Geen nieuwe dependency. Geen slidetype-keten.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.
Op main:
773532d20(TableEditor op TableEditController/DocumentMarkdownView) +c25c8d046(lockHeader/lockColumns, Shift+Insert in de controller). Voorzet-alinea uit USER_GUIDE geschrapt. Niet in: presenteren (presenter_table / _TableEditHost), formulier-slides, nieuw formaattoken.