Skip to content

fix(numbering): per-row save in settings; base row of a partitioned series offers no counter (#6499) - #6500

Merged
delchev merged 1 commit into
masterfrom
fix/numbering-settings-ux
Aug 4, 2026
Merged

fix(numbering): per-row save in settings; base row of a partitioned series offers no counter (#6499)#6500
delchev merged 1 commit into
masterfrom
fix/numbering-settings-ux

Conversation

@delchev

@delchev delchev commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Closes #6499.

What

  • Per-row Save. The numbering settings page saved through one Save/Reload pair below the whole series list - off-screen with a real application's dozens of series. Save now sits on each row (saveNumberingRow), enabled only when the row differs from its loaded baseline; only the changed halves are written (shape via PUT /shape, counter via PUT - the endpoint's writes were already change-tracked so an unchanged Next never rewinds a live counter). Saving one row updates only that row's baseline, so in-progress edits on other rows survive; a transient "Saved" confirmation appears on the row. Reload moved to the top of the list.
  • Base-row trap closed. For a partitioned series the base ("") row is only the shape template new partitions inherit on first allocation - allocation never draws from it - yet the page offered its Next for editing (observed live: base Next edited, the invoice still took the partition counter). DocumentNumberEndpoint.SeriesView gains a partitioned flag (true once any partition row of the series exists); the base row of a partitioned series renders no Next input and no "Next number" preview - its shape stays editable - plus one line of copy: "Counters live on the per-partition rows below; a new partition appears on its first use, inheriting this shape." (en + bg catalog entries added.)

Test

NumberingSdkIT.theSettingsSurfaceSeedsPartitionCountersAndTheBaseRowIsOnlyTheShapeTemplate (green locally): materializes a partition, asserts the partitioned flag on both rows over GET /services/core/numbering, edits the BASE row's Next (must not affect partition allocations), edits the PARTITION row's Next to 42 and asserts the round-trip and that the next allocated document renders exactly T-0042 - the outermost observable layer of the seeding contract.

🤖 Generated with Claude Code

…partitioned series offers no counter (#6499)

Two live-observed defects on the Document Numbering settings page. The
single Save/Reload pair below the whole series list was off-screen with a
real application's dozens of series - users edited Next, saw no way to
save, and left. Save now sits ON each row, enabled only when that row's
edits differ from what was loaded; only what changed is written (the
endpoint's writes are change-tracked, so an unchanged next never rewinds
the live counter), and saving one row refreshes only that row's baseline
so other rows' in-progress edits survive.

And the base ("") row of a PARTITIONED series is only the shape template
new partitions inherit at birth - allocation always draws from a
partition row - yet the page offered its Next for editing, which looked
like seeding the next document number and did nothing. The series view
now carries a `partitioned` flag; the base row of a partitioned series
renders no Next input (shape stays editable) plus one line of copy
explaining where counters live.

NumberingSdkIT gains the settings-surface case: a partition row's Next
edit round-trips and IS what the next issued number renders, while a
base-row Next edit does not affect partition allocations.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@delchev
delchev merged commit ed6d255 into master Aug 4, 2026
10 checks passed
@delchev
delchev deleted the fix/numbering-settings-ux branch August 4, 2026 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document Numbering settings: Save is off-screen and the base row of a partitioned series silently ignores Next edits

1 participant