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
Philipinho
19b3f26cbb
feat(base): register csv export service in module
2026-04-18 18:14:01 +01:00
Philipinho
56c57afff3
feat(base): add streaming csv export service
2026-04-18 18:13:20 +01:00
Philipinho
d84aadadbb
feat(base): add export base csv dto
2026-04-18 18:11:34 +01:00
Philipinho
da0321b468
feat(base): add csv cell serializer with per-type rules
2026-04-18 18:10:47 +01:00
Philipinho
db6f82ff7a
chore(server): add csv-stringify dependency
2026-04-18 18:08:09 +01:00
Philipinho
207c74427d
style(base): unify hover state across selected row cells
2026-04-18 17:15:57 +01:00
Philipinho
c53d70b64e
style(base): darken select option hover for better visibility
2026-04-18 17:15:23 +01:00
Philipinho
9a1cbc8ea9
style(base): nudge row drag grip past left table border
2026-04-18 17:14:49 +01:00
Philipinho
8b343d25f0
style(base): push row drag grip flush to left table border
2026-04-18 17:13:03 +01:00
Philipinho
2d47ffb25a
style(base): align row drag grip flush with cell left edge
2026-04-18 17:12:42 +01:00
Philipinho
b6882d774b
fix(base): widen row-number column so drag grip sits left of checkbox
2026-04-18 17:09:00 +01:00
Philipinho
4dc6d32e49
fix(base): absolutely position row-number content to eliminate layout shift
2026-04-18 17:03:06 +01:00
Philipinho
8994575437
feat(base): confirm before bulk deleting selected rows
2026-04-18 17:00:43 +01:00
Philipinho
3f52e54207
fix(base): pin selection bar to viewport with Confluence-style dark pill
2026-04-18 16:54:49 +01:00
Philipinho
b6b6e1809a
feat(base): reconcile bulk delete over socket + prune selection
2026-04-18 16:47:05 +01:00
Philipinho
d8adcd44c2
feat(base): clear row selection on view or base change
2026-04-18 16:46:07 +01:00
Philipinho
6a230b14ca
feat(base): keyboard delete and esc to clear selection
2026-04-18 16:45:38 +01:00
Philipinho
05406640f0
feat(base): floating selection action bar with bulk delete
2026-04-18 16:44:07 +01:00
Philipinho
4c4bbe9b15
feat(base): header select-all with tri-state checkbox
2026-04-18 16:42:06 +01:00
Philipinho
3fca962c9f
feat(base): row-number cell renders checkbox + drag handle on hover
2026-04-18 16:40:21 +01:00
Philipinho
fda163311a
feat(base): add use-row-selection hook
2026-04-18 16:37:47 +01:00
Philipinho
0d824dcd24
feat(base): add row selection atoms
2026-04-18 16:35:07 +01:00
Philipinho
8d793ec26b
feat(base): add useDeleteRowsMutation with optimistic update
2026-04-18 16:35:00 +01:00
Philipinho
0bbcc7ee30
feat(base): add deleteRows client service + type
2026-04-18 16:34:19 +01:00
Philipinho
e017209d76
feat(base): emit base:rows:deleted websocket event
2026-04-18 16:32:27 +01:00
Philipinho
fc734475df
feat(base): add POST /bases/rows/delete-many endpoint
2026-04-18 16:31:44 +01:00
Philipinho
a7f9d66778
feat(base): add deleteMany service method for batch row delete
2026-04-18 16:31:11 +01:00
Philipinho
4a9e891582
feat(base): add BASE_ROWS_DELETED event type
2026-04-18 16:29:26 +01:00
Philipinho
65c5bb11b8
feat(base): add DeleteRowsDto for batch row delete
2026-04-18 16:29:02 +01:00
Philipinho
1466d95078
feat(base): add findByIds and softDeleteMany to base-row repo
2026-04-18 16:28:39 +01:00
Philipinho
901445305d
docs: drop unused selectionCount in row-number-header-cell sample
2026-04-18 16:20:40 +01:00
Philipinho
5985238b4b
docs: tighten row selection plan per review (consolidate tasks 13-14, fix deps)
2026-04-18 16:20:02 +01:00
Philipinho
10ee8d0c85
docs: add base row selection and bulk delete implementation plan
2026-04-18 16:16:58 +01:00
Philipinho
d2f19b2aa0
docs: clarify base row selection spec edge cases per review
2026-04-18 16:09:02 +01:00
Philipinho
493915a0c3
docs: add base row selection and bulk delete design spec
2026-04-18 16:07:58 +01:00
Philipinho
da49ffc332
fix orderBy
2026-04-18 15:17:20 +01:00
Philipinho
b95f3033d1
style(base): add focus-preservation comment to status cell mousedown
2026-04-18 15:07:05 +01:00
Philipinho
88c906cdcd
feat(base): keyboard navigation for status cell dropdown
2026-04-18 15:05:30 +01:00
Philipinho
836a25cdbf
feat(base): keyboard navigation for multi-select cell dropdown
2026-04-18 15:03:04 +01:00
Philipinho
b02b2cd5d8
refactor(base): hoist NavItem type and drop IIFE in select cell
2026-04-18 15:01:12 +01:00
Philipinho
bb398bb7d6
feat(base): keyboard navigation for single-select cell dropdown
2026-04-18 14:58:19 +01:00
Philipinho
4cefa40f5b
refactor(base): destructure useListKeyboardNav and use clsx in person cell
2026-04-18 14:55:59 +01:00
Philipinho
2ca27f16a1
feat(base): keyboard navigation for person cell dropdown
2026-04-18 14:52:09 +01:00
Philipinho
f8edb587e4
feat(base): add useListKeyboardNav hook for dropdown keyboard nav
2026-04-18 14:48:30 +01:00
Philipinho
0f4a819ec5
style(base): add keyboard-active option style for cell dropdowns
2026-04-18 14:47:59 +01:00
Philipinho
ede1a799f2
feat(base): disable type-conversion API for v1, preserve engine for v2
2026-04-18 14:13:08 +01:00
Philipinho
845b49968e
feat(base): replace property type picker with read-only display
2026-04-18 13:34:33 +01:00
Philipinho
b244f831da
refactor(base): drop type-change invalidation branch from update-property mutation
2026-04-18 13:29:32 +01:00
Philipinho
2ececc8203
fix(base): remove maxPages cap that caused infinite scroll loop past row 500
2026-04-18 13:26:25 +01:00
Philipinho
6d9107b727
refactor(base): drop unused schema:bumped socket handler
2026-04-18 13:23:36 +01:00
Philipinho
5ae49cab49
refactor(base): prune deleted property cells locally instead of invalidating rows
2026-04-18 13:18:51 +01:00
Philipinho
89638fb11d
refactor(base): append remote row creates to cache instead of invalidating
2026-04-18 13:15:49 +01:00
Philipinho
f5b19316af
Base WIP
2026-04-18 13:13:53 +01:00
Philipinho
081bb67239
Merge branch 'main' into base
2026-04-17 13:48:49 +01:00
Philipinho
eb0538b856
fix
2026-04-17 13:41:24 +01:00
Philipinho
dba8e315ab
override
2026-04-14 17:59:59 +01:00