mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-12 06:06:10 +00:00
feat(labs): suggest panels in the marker form and let an edit clear fields
The panel field offers the catalog panels in the page language and the person's own panels, which GET /api/biomarkers now lists as customPanels (one spelling per folded form). The field stays free text; a catalog panel typed in any language lands in the same category. An edit used to omit an emptied panel, context or bound, so the stored value survived the save. The form now sends null for a field that held a value and was emptied. A new marker still omits empty fields, and a field that was empty when the edit began stays out of the body, so a context the list could not decrypt is never wiped by an unrelated save. Refs #1349
This commit is contained in:
1 parent
92638ec089
commit
910f28dcfe
22 files changed
+279
-29
No files matched your search
@@ -15,6 +15,7 @@ import { aliasNamesByMarker } from "@/lib/labs/biomarker-aliases";
|
||||
import { serialiseBiomarker } from "@/lib/labs/biomarker-dto";
|
||||
import { encryptContextToBytes } from "@/lib/labs/biomarker-store";
|
||||
import { matchAnalyteKey } from "@/lib/labs/analyte-match";
|
||||
import { customPanelSuggestions } from "@/lib/labs/marker-category";
|
||||
import { annotate } from "@/lib/logging/context";
|
||||
import { createBiomarkerSchema } from "@/lib/validations/biomarkers";
|
||||
|
||||
@@ -64,6 +65,9 @@ export const GET = apiHandler(async () => {
|
||||
biomarkers: rows.map((row) =>
|
||||
serialiseBiomarker(row, aliases.get(row.id) ?? [], { soft: true }),
|
||||
),
|
||||
// The person's own panel spellings, for the panel suggestions in the
|
||||
// marker form; catalog panels are offered there from the bundle.
|
||||
customPanels: customPanelSuggestions(rows.map((row) => row.panel)),
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in new issue
Block a user