Shared table-dnd UI and align GFM markdown table reorder with CSV #263

Closed
opened 2026-06-04 15:41:28 +00:00 by steve · 0 comments
Owner

Extract CSV-proven table reorder DnD into @lapis-notes/ui/table-dnd and refactor GFM live-preview markdown tables to use the same pattern.

Acceptance Criteria

  • tableReorderSensors, dropIndicatorClasses, TableDragGrip, and parsers live in @lapis-notes/ui/table-dnd
  • CSV table preview behavior unchanged; imports shared module
  • GFM markdown table uses attachHandle, onDragOver, cell/head droppables (no overlay drop targets)
  • Row reorder e2e and CSV grip e2e pass
  • Grid-table migration tracked as follow-up issue

Validation

  • pnpm --filter @lapis-notes/ui test
  • pnpm --filter @lapis-notes/plugin-csv test
  • pnpm --filter @lapis-notes/markdown check:svelte
  • Workspace e2e csv-editor + markdown-rich-content table tests
  • make spec-lint

Implementation Summary

Added @lapis-notes/ui/table-dnd (sensors, utils, TableDragGrip, vitest). CSV and GFM markdown live-preview tables share the CSV dnd-kit pattern (attachHandle grips, tableReorderSensors, cell/head droppables, onDragOver). Removed markdown overlay drag components. Validated: ui test, csv test, markdown check:svelte, csv grip e2e, markdown table row reorder e2e, spec-lint. Grid-table migration remains #264.

Extract CSV-proven table reorder DnD into `@lapis-notes/ui/table-dnd` and refactor GFM live-preview markdown tables to use the same pattern. ## Acceptance Criteria - `tableReorderSensors`, `dropIndicatorClasses`, `TableDragGrip`, and parsers live in `@lapis-notes/ui/table-dnd` - CSV table preview behavior unchanged; imports shared module - GFM markdown table uses attachHandle, onDragOver, cell/head droppables (no overlay drop targets) - Row reorder e2e and CSV grip e2e pass - Grid-table migration tracked as follow-up issue ## Validation - `pnpm --filter @lapis-notes/ui test` - `pnpm --filter @lapis-notes/plugin-csv test` - `pnpm --filter @lapis-notes/markdown check:svelte` - Workspace e2e csv-editor + markdown-rich-content table tests - `make spec-lint` <!-- backlog:task_id=TASK-UI-TABLE-DND-SHARED source_spec=packages/ui/src/lib/components/ui/table-dnd/ --> ## Implementation Summary Added @lapis-notes/ui/table-dnd (sensors, utils, TableDragGrip, vitest). CSV and GFM markdown live-preview tables share the CSV dnd-kit pattern (attachHandle grips, tableReorderSensors, cell/head droppables, onDragOver). Removed markdown overlay drag components. Validated: ui test, csv test, markdown check:svelte, csv grip e2e, markdown table row reorder e2e, spec-lint. Grid-table migration remains #264.
steve 2026-06-04 15:54:56 +00:00
  • closed this issue
  • added
    done
    and removed
    open
    labels
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
lapis-notes/lapis#263
No description provided.