Skip to content
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 driver annotation source selector and maintain track visibility in comparison view lollipop #4463

Conversation

gblaih
Copy link
Contributor

@gblaih gblaih commented Dec 23, 2022

Adds features in cBioPortal/cbioportal#9901

  • Add driver annotation source selector between gene selector and tabs
  • Keep annotation tracks visible when enabled and switching between genes

@gblaih gblaih force-pushed the group-comparison-lollipop-plot-annotation-source branch from f7a3f7f to c293c94 Compare December 23, 2022 16:28
</span>
}
/>
{!this.props.comparisonView && (
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally this component shouldn't have view specific props like resultsView, comparisonView, etc. Instead we should have generic props like disableInfoIcon, etc. Also, now we use the component in multiple views, but it is still under src/pages/resultsView. Ideally we should also relocate it to a shared location.

Probably better to address these issues in a separate PR.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Unless someone asked for this specifically, I think this can be handled outside, next to the button/text that opens the menu. In fact, since the button is quite specific to the tab (not in header) it may be implicit that it only applies to this tab.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SettingsMenu will have a prop titleComponent
you just pass this jsx

Comment on lines 141 to 144
<SettingsMenuButton
store={this.props.store}
comparisonView={true}
/>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this the best location for this button? It kind of looks like a button to change the frequency settings.

image

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. I put a suggestion in general comment. Lets discuss with product next week.

@alisman
Copy link
Collaborator

alisman commented Jan 6, 2023

@inodb @tmazor @gblaih i think the annotation button here is too confusing when it's grouped with gene selection.
image.
I would be in favor of something like this:
image

@@ -107,6 +111,11 @@ export default class GroupComparisonMutationsTabPlot extends React.Component<
}
}

@action.bound
protected onClickSettingMenu(visible: boolean) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't understand why the plot needs to know about settings menu? it seems like a concern of the parent tab component and indeed that's where the settings button is.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually we have multiple settings buttons. There is one hidden in the filter panel, and the same button appears in the tooltip as well. So, 3 buttons for the same functionality :)

image

The component name plot is a bit confusing here. This component is not just the lollipop plot, it also contains the filter panel, 3D visualzier, etc. It's basically still a MutationMapper component with the table disabled.

Copy link
Collaborator

@alisman alisman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments

@@ -93,7 +94,7 @@ export default class DriverAnnotationControls extends React.Component<
</label>
</div>
<div style={{ marginLeft: '20px' }}>
{this.props.resultsView && (
{(this.props.resultsView || this.props.comparisonView) && (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change this to showOnckbAnnotationControls instead of resultsView and comparisonView

@gblaih gblaih requested review from alisman and onursumer January 6, 2023 22:15
@alisman alisman merged commit 30601b5 into cBioPortal:master Jan 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants