-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add infrastructure for creating linear-genome-view sub-classes #3227
Conversation
I hadn't fully understood the extendedName concept before but I think I do now My summary of it is: we have, thus far, made it so that "display types" have to manually register themselves with a specific view type. But, the MLLV wants to have in it's tracklist anything the LinearGenomeView has, and it doesn't want to manually try to register "display types" to itself, so it uses "extendedName" to get anything that registers itself as a displayType to LinearGenomeView. Another name for "extendedName" could perhaps be "includeDisplayTypesFrom": "LinearGenomeView" or something like that, but it's probably ok to stay as is |
@@ -75,19 +76,8 @@ const LinearGenomeView = observer(({ model }: { model: LGV }) => { | |||
handleClose={() => model.setSearchResults(undefined, undefined)} | |||
/> | |||
) : null} | |||
{!hideHeader ? ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there a reason for the mllv why hideHeader got moved into the minicontrols/header?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, MLLV has its own conditions for rendering the header, and if I recall correctly moving these conditions into their own components fixed an issue where the header was being duplicated or not shown at all.
plugins/linear-genome-view/src/LinearGenomeView/components/SearchBox.tsx
Outdated
Show resolved
Hide resolved
Codecov Report
@@ Coverage Diff @@
## main #3227 +/- ##
==========================================
+ Coverage 59.42% 59.43% +0.01%
==========================================
Files 672 672
Lines 28753 28762 +9
Branches 6986 6989 +3
==========================================
+ Hits 17086 17095 +9
Misses 11386 11386
Partials 281 281
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
a7b1a50
to
3df332f
Compare
* Infrastructure changes necessary for MLLV * styles import theme and export components runtime * export for external plugin runtime import * update snaps * snaps * remove ternary and tsignore snaps * Update extendedName description Co-authored-by: Colin <colin.diesh@gmail.com>
Re-works some components and exposes others such that the linear genome view plugin can be used / manipulated more easily by external plugins (i.e. the multilevel-linear-view.
In this PR:
This is required to extend a view type, even when using .named() to extend a view type. This is because when the PluginManager is looping through displays each display has an associated view type. If that view type has already had tracks loaded through it, it ignores the duplicates. An extended view type appears as a duplicate here and without this optional property on view types, the tracks are empty for an extended view, even though it should be able to display all the tracks of its parent / extendee view.