Repository navigation
Explore: checkbox lists with an apply button, virtualized rows, portal-style gene tables - #77
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
alisman
force-pushed
the
session/explore
branch
from
October 26, 2026 23:53
18d7509 to
b2fca66
Compare
…le gene tables
Every list on Explore (clinical value lists, generic-assay values, a gene's
states, timeline events, case lists, data types, the study breakdown and the
three gene tables) now works the portal study view's way: rows carry
checkboxes, and the checked rows of one list are applied together as one
filter (an OR) from a bar under the list. Rows never wrap, and only the rows
in view are mounted (@tanstack/react-virtual), so a 500-gene table or a
thousands-value facet scrolls cheaply.
A list's chart menu splits only by its checked rows ("Split by checked (n)",
disabled until something is checked); arms keep the order rows were checked
in. lib/partition-arms.ts gains armsFromItems (parent drops the chart's own
filter; an assay chart drops only its own entity; more than 8 arms refused).
Gene tables show the portal's columns only (Gene, # Mut / # SV, #, Freq;
CNA: Gene, Cytoband, CNA, #, Freq) under a sticky header, one tile wide; "#"
counts every altered sample and its tooltip names off-panel calls, Freq's
tooltip gives altered / profiled. A tile whose body is a list fills the
height its grid row gives it. Form controls (checkbox, radio, input, select,
textarea) get a darker border token, --control-line, so an unchecked box no
longer reads as disabled.
Verified in the browser on msk_chord_2024 and genie_public: TP53 + KRAS
applies "TP53: MUT; KRAS: MUT"; two cancer types give one CANCER_TYPE in {...}
filter; split-by-checked builds arms in checked order; every row of each gene
table shares one column layout and fits a single tile.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015r2Q6P7ZAZY2nYM5sZmwUP
alisman
force-pushed
the
session/explore
branch
from
October 27, 2026 00:18
b2fca66 to
2717cd2
Compare
This branch was successfully deployed
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.
What
Explore's lists now work the way the cBioPortal study view's do.
Checkboxes and an apply button on every list: clinical value lists, generic-assay values, a gene's states, timeline events, case lists, data types, the study breakdown and the three gene tables. The checked rows of one list become one filter (an OR) when you press the button in the bar under the list.
No wrapping: row text is cut off with "…" instead.
Virtualized: only the rows in view are mounted (
@tanstack/react-virtual), so long lists scroll cheaply.Split only by checked rows: a list's chart menu offers "Split by checked (n)", greyed out until something is checked. Arms follow the order the rows were checked in. Pies and histograms keep "Split by this".
Gene tables: the bars are gone and only the portal's columns are shown, under a header that stays put while the list scrolls. Each table is one tile wide.
"#" counts every altered sample, as on the portal; its tooltip says how many come from off-panel calls. Freq's tooltip gives altered ÷ profiled for that gene.
List tiles fill the height their grid row gives them.
Form controls (checkbox, radio, input, select, textarea) have a darker border colour,
--control-line, so an unchecked box no longer looks disabled.lib/partition-arms.tsgainsarmsFromItems. The split's starting cohort drops only the chart's own filter, and for an assay chart only that one entity's. More than 8 arms is refused. There are unit tests for all three intest/cohort-partitions.test.ts.Verification
msk_chord_2024andgenie_public:TP53: MUT; KRAS: MUT.CANCER_TYPE ∈ {…}filter.scripts/gate.sh). I stopped it partway and am relying on CI for it.Preview
🤖 Generated with Claude Code
https://claude.ai/code/session_015r2Q6P7ZAZY2nYM5sZmwUP