Commit Graph

1075 Commits

Author SHA1 Message Date
Philipinho 184fa25d3e feat(base): route toolbar sort/filter changes through local draft 2026-04-20 22:54:25 +01:00
Philipinho 6740912adf feat(base): render table from effective (draft-or-baseline) view config 2026-04-20 22:50:28 +01:00
Philipinho f524243da1 refactor(base): accept baselineConfig option in useBaseTable 2026-04-20 22:47:00 +01:00
Philipinho d5093da863 feat(base): add useViewDraft hook for local filter/sort drafts 2026-04-20 22:44:05 +01:00
Philipinho 196afc21d4 feat(base): add BaseViewDraft type and view-draft atom family 2026-04-20 22:40:37 +01:00
Philipinho 9b5e3783dd feat(base): add Base subject to client-side space CASL enum 2026-04-20 22:38:15 +01:00
Philipinho 4ae941c5c4 docs(base): implementation plan for local-first view filter/sort 2026-04-20 22:31:19 +01:00
Philipinho 8bfa0aaf7e docs(base): refactor view-draft spec to atomFamily + atomWithStorage 2026-04-20 22:16:35 +01:00
Philipinho 58a47893a6 docs(base): address spec review notes for view-draft feature 2026-04-20 22:10:50 +01:00
Philipinho 2d91817602 docs(base): draft spec for local-first view filter/sort 2026-04-20 22:00:16 +01:00
Philipinho 9ecf88511b page property 2026-04-20 21:27:29 +01:00
Philipinho 30988c1959 docs(base): draft spec for page property type 2026-04-20 20:01:44 +01:00
Philipinho eb0f37bfe5 update packages 2026-04-19 02:05:48 +01:00
Philipinho 4c0348e46a docs(base): add working plans for recent base feature work 2026-04-19 02:05:34 +01:00
Philipinho cac4774641 fix(base): stop runaway pagination loop caused by browser scroll anchoring
Browser overflow-anchor silently bumped scrollTop by one page's worth
of pixels every time a new page of rows committed — anchoring on the
AddRowButton that sits below paddingBottom. This kept the near-bottom
threshold satisfied and re-fired onFetchNextPage indefinitely, even
after the user released the scrollbar. Disabling scroll anchoring on
the grid scroll container stops the browser from adjusting scrollTop
in response to content growth.
2026-04-19 02:05:30 +01:00
Philipinho c4d8b6c300 fix(base): stop infinite fetch loop when sorted list scrolled to bottom 2026-04-19 00:27:52 +01:00
Philipinho 95d0457a7e refactor(base): drop /list suffix from base endpoints to match codebase convention 2026-04-18 23:36:52 +01:00
Philipinho 83d28a8505 perf(base): defer rows query until base info loads to avoid bland first request 2026-04-18 23:34:02 +01:00
Philipinho f9bbbc7ebf fix(base): ignore nested listbox and portal clicks so select doesnt close toolbar popover 2026-04-18 23:31:53 +01:00
Philipinho d9e2d7ba3d chore(server): one-shot script to clean poisoned base view configs 2026-04-18 23:27:03 +01:00
Philipinho 44ec2dbe88 fix(base): stop jsonb char-key corruption in seed and guard view config spread 2026-04-18 23:26:03 +01:00
Philipinho a6e9e66bbd fix(base): don't override server sort with client-side position sort 2026-04-18 22:55:15 +01:00
Philipinho a9ea2a99b4 chore(server): let seed-base-rows script take row count via env var 2026-04-18 22:44:52 +01:00
Philipinho 2f6bad141c feat(base): draft flow with save and cancel for new view filters 2026-04-18 22:39:30 +01:00
Philipinho fd1257f61c feat(base): draft flow with save and cancel for new view sorts 2026-04-18 22:38:28 +01:00
Philipinho 321184394d feat(base): show table skeleton instead of centered loader on load 2026-04-18 22:22:49 +01:00
Philipinho b01f6e9af9 feat(base): add layout-matching skeleton loading component 2026-04-18 22:22:11 +01:00
Philipinho 93b1fc534b fix(base): adopt server view state when no local edit is pending 2026-04-18 22:03:25 +01:00
Philipinho 1aa92b1bb5 fix(base): stop synthesized switch input click from re-firing hide toggle 2026-04-18 21:57:28 +01:00
Philipinho d385099eb1 fix(base): fire hide toggle once per click instead of twice 2026-04-18 21:51:43 +01:00
Philipinho d4fe0e0a69 fix(base): re-render grid header and rows when column visibility changes 2026-04-18 21:41:32 +01:00
Philipinho ab9b00f91c fix(base): include new properties in local column state so the grid can scroll to them 2026-04-18 21:11:09 +01:00
Philipinho 64dafe5ac0 fix(base): prompt unsaved changes when discarding dirty rename 2026-04-18 20:58:59 +01:00
Philipinho 097b1c76d4 feat(base): add save and cancel buttons to property rename panel 2026-04-18 20:52:26 +01:00
Philipinho 2c1f66b603 fix(base): refresh hide-fields popover when a property is renamed 2026-04-18 20:52:24 +01:00
Philipinho f812162a26 fix(base): refresh grid headers when a property is renamed 2026-04-18 20:51:14 +01:00
Philipinho b88c060df8 fix(base): escape on dirty property options triggers discard prompt 2026-04-18 20:39:02 +01:00
Philipinho 97cd88405d fix(base): close property menu on escape from main and options panels 2026-04-18 20:35:30 +01:00
Philipinho 5de9a69130 fix(base): close toolbar popovers on escape via document keydown 2026-04-18 20:31:54 +01:00
Philipinho 83d55d9bd3 fix(base): close toolbar popovers on outside click via custom listener 2026-04-18 20:26:57 +01:00
Philipinho 9c71a90637 fix(base): dismiss hide-fields popover on escape and outside click 2026-04-18 19:49:13 +01:00
Philipinho c6f993b610 fix(base): only re-seed column state when view identity changes 2026-04-18 19:23:56 +01:00
Philipinho c331e0ffd3 fix(base): merge live table state into sort and filter mutations 2026-04-18 19:22:41 +01:00
Philipinho 53ee685874 refactor(base): extract buildViewConfigFromTable helper 2026-04-18 19:21:17 +01:00
Philipinho 082a32faa0 fix(client): exempt base csv export from response interceptor unwrap 2026-04-18 18:51:49 +01:00
Philipinho 5c11e59128 fix(base): stabilize properties identity to break render loop 2026-04-18 18:48:41 +01:00
Philipinho 5a4d10081d feat(base): add csv export button to base toolbar 2026-04-18 18:24:24 +01:00
Philipinho 18668c7bcf feat(base): add client csv export service call 2026-04-18 18:23:43 +01:00
Philipinho f119d728a8 fix(base): handle csv export client abort and mid-stream errors 2026-04-18 18:18:34 +01:00
Philipinho 66f9194e96 feat(base): add csv export http endpoint 2026-04-18 18:14:41 +01:00