fix(378/327/377/353): DICOM tag browser, worklist (including Modalities in Study when QIDO omits it), overlay colormaps, header badge behavior, and test/tooling updates#379
Open
igoroctaviano wants to merge 5 commits intomasterfrom
Conversation
|
| Overall Grade | Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| JavaScript | Mar 24, 2026 12:01p.m. | Review ↗ |
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.




Summary
DMV branch: ImagingDataCommons/dicom-microscopy-viewer#236
Bundles DICOM tag browser, worklist (including Modalities in Study when QIDO omits it), overlay colormaps, header badge behavior, and test/tooling updates. Relates to #378, #327, #377, #376, and #353 (header).
Changes
DICOM tag browser — Person Name (PN) display (#376)
Alphabetic/Ideographic/Phonetic) instead of showingJSON.stringifyoutput (e.g.PatientNameshowsC3L-00452, not{"Alphabetic":"C3L-00452"}).|; multi-valued PN in metadata still uses\between items (formatValue/formatTagValue).DICOM tag browser — display sets by series (#378)
bucketContainsSopInstance).@types/d3-dispatch@3.0.6as devDependency plus override (lockfile / TypeScript alignment).DICOM tag browser — metadata rows (#327)
nameMapand full dcmjsdictionarywhen keys are numeric; normalize to(GGGG,EEEE)(punctuateTagId,resolveDictionaryEntry)._vrMapwhen available (vrFromVrMap).formatValuewhere appropriate (VR-aware for PN).Worklist (#378)
selectedKeys[0]as''; coerce to string when present (stable controlled value).searchForSeriesper study (unique Modality per series), sorted.ModalitiesInStudyarrays.Overlays — distinct colormaps (#377)
distinctOverlayColormaps.ts: cycle colormaps for multiple fractional segments without DICOM display color, and for multiple parametric maps.SlideViewer: call afteraddSegments/addParameterMappings; opacity-onlysetSegmentStyleavoids forcing a default palette so distinct LUTs stay intact.ColormapNames,createColormap,limitValueson parameter-mapping style (types/dicom-microscopy-viewer/index.d.ts).Header (#353)
color={… ? 'green' : undefined}).Testing & tooling
bun test:bunfig.tomlpreloadssrc/test/bun-preload.ts(happy-dom) so DOM globals exist;package.jsonscripttest:bun.logger: safe whenwindowis undefined (Bun / Node) so the singleton does not throw at import time.logger.test.ts:configurable: trueonwindow.configmock for cleanup under happy-dom.Worklist.test.tsx: study without00080061, mockedsearchForSeries, casts for partial QIDO payloads vsdicomweb-clienttypes.dicomMicroscopyViewerMock.js: includes (0008,0060) Modality for JestformatMetadataparity on series rows.Files
DicomTagBrowser.tsx,dicomTagUtils.tsWorklist.tsx,src/components/__tests__/Worklist.test.tsxSlideViewer.tsx,src/utils/distinctOverlayColormaps.tstypes/dicom-microscopy-viewer/index.d.tsHeader.tsxsrc/utils/logger.ts,src/utils/logger.test.tsbunfig.toml,src/test/bun-preload.ts,src/__mocks__/dicomMicroscopyViewerMock.jspackage.json,bun.lockTesting
_vrMap— sensible labels and expansion (Some of the DICOM attributes are not recognized in the DICOM tag browser #327).npm test(biome + craco/Jest) andbun test/bun run test:bunfor the unit suite;tsc --noEmit(e.g. husky) passes with mock type assertions on partial QIDO fixtures.