[WIP] feat: group file with same name and add new popover functionality#770
Open
diegomayorga-dept wants to merge 3 commits into
Open
[WIP] feat: group file with same name and add new popover functionality#770diegomayorga-dept wants to merge 3 commits into
diegomayorga-dept wants to merge 3 commits into
Conversation
Kevin Loftus (kevin-loftus-dept)
requested changes
May 27, 2026
Contributor
Kevin Loftus (kevin-loftus-dept)
left a comment
There was a problem hiding this comment.
Everything looks great except for some odd changes in the laboratory-service.ts log calls.
|
|
||
| public queryByLaboratoryId = async (laboratoryId: string): Promise<Laboratory> => { | ||
| const logRequestMessage = `Query Laboratory by LaboratoryId=${laboratoryId} request`; | ||
| const logRequestMessage = `11234Query Laboratory by LaboratoryId=${laboratoryId} request`; |
Contributor
There was a problem hiding this comment.
I think these 11234 and 123 changes in this file may have been left in by mistake, can you remove them?
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.
Title*
Group paired-read FASTQ files into one sample card/row in Data Collections
Type of Change*
Description
In the Data Collections explorer, every S3 object rendered as its own card / table row. Multi-lane paired-read samples therefore showed up as 2–8 separate "samples" — e.g.
WI-Jan-2024-S005_L001_R1,_L001_R2,_L002_R1,_L002_R2appeared as four cards instead of one. This obscured the sample-level view lab users care about.This PR collapses all files that share a sample base name into one display unit per sample:
getSampleGroupId()(packages/front-end/src/app/utils/data-collections-to-sample-sheet.ts) extracts a sample id from<sample>(_L<digits>)?_R[12](_<set>)?.f(ast)?q[.gz], collapsing all lanes of a sample. It reuses the existinggetFileNameWithoutExtand is case-insensitive. Non-paired files (.txt,.fasta, index reads_I1/_I2, etc.) returnnulland stay as solo cards.packages/front-end/src/app/components/EGDataCollectionsExplorer.vue): introduces an internalDisplayGrouptype andbuildDisplayGroups(); each batch section now carriesgroups. Cards and table rows iterate groups. Grouping is scoped per S3 folder so identically-named samples in different folders don't merge.N filesfor groups (file size unchanged for solos).packages/front-end/src/app/components/EGFileAnalysisHistoryTooltip.vue): additivegroupFilesprop renders a new "Files (N)" section between the header and Analysis History, listing each file's type pill (FASTQ/FASTA/Other) + filename + size. Run usages are deduped byRunIdacross the group. Single-file callers are unchanged.toggleKeyemit and its parent handler inEGDataCollectionsPage.vue, since card/row clicks now toggle whole groups viaupdate:selectedKeys.Testing*
packages/front-end/test/app/utils/data-collections-sample-grouping.test.tswith 9 cases forgetSampleGroupId: multi-lane, single-lane, no trailing set number,.fq/.fq.gzextensions, case-insensitive_r1_, non-paired files (null), index reads_I1/_I2(null), lane-without-direction (null), and lane-in-sample-name preservation. All 4 utils suites pass (35 tests)..ts/.vue) emits no new TypeScript errors. Lint clean on the touched.tsfiles.S005), a 2-file single-lane pair (S006), and a non-paired file (notes.txt); confirm 3 cards ("4 files", "2 files", file size), group select/lasso/drag-tag operate on all keys, popover "Files (N)" section renders, partial-permanent lock + tooltip, and the table view mirrors card behavior.Impact
EGDataCollectionsPage) data shape (visibleFilesand the per-key maps) is unchanged; only the internal rendering and the now-removedtoggleKeyevent differ.Additional Information
N files(no date — "Jan-2024" in the mockup was part of the test filename).Checklist*