feat(tables): preview referenced rows and warn on referenced deletes

J1
2mo ago
+2945-144

Summary

  • Reference cells show the target table's name as a chip and open the referenced row inline
  • One batched name request covers every Reference column on a table; the preview loads the referenced schema and row together, so no placeholder content flashes
  • Deleting a table that other tables reference is allowed. The table, bulk, and folder delete dialogs warn "Reference columns in … will point to a missing table" so users know which tables are affected
  • References to a deleted table resolve as not found: the chip falls back to "Referenced table" and the preview shows "Table not found". Restoring the table brings them back
  • Earlier revisions blocked deleting referenced tables (reference-graph scans, cohort archive/restore, folder retry waves). That is removed in favor of the warning
  • Workspace fork copies referenced tables and rewrites references to the copies; a reference to a deleted table is kept as-is instead of failing the fork
  • One registry accessor answers which tables a column references — the grid, preview, delete warning, fork remapping, and schema validation all read it, so a second referencing column type is one registry entry
  • Chips, name lookups, previews, and the warning all sit behind the Reference columns flag from #7105
  • Builds on #7105

Type of Change

  • New feature

Testing

  • Tested manually in the browser: table-page, list, bulk, and folder delete dialogs; the live preview; and the preview after deleting the referenced table
  • Table, folder, fork, preview, and query-hook suites: 33 files, 577 tests
  • bun run type-check, bun run lint, bun run check:audits (45 audits), bun run check:react-query, bun run check:client-boundary

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Screenshots/Videos

Not attached — the delete dialogs and both preview states were exercised locally against a dev workspace.