add gene modals

This commit is contained in:
Colin Megill
2021-01-22 12:09:22 -08:00
parent 818bd9d80f
commit c6ad970c41
5 changed files with 102 additions and 7 deletions
@@ -35,8 +35,6 @@ class GeneExpression extends React.Component {
});
}
console.log(differential.diffExp);
return differential.diffExp ? (
<GeneSet
key="Temp DiffExp Set"
@@ -0,0 +1,65 @@
import React from "react";
import { connect } from "react-redux";
import AnnoDialog from "../../categorical/annoDialog";
import LabelInput from "../../categorical/labelInput";
@connect((state) => ({
genesetsUI: state.genesetsUI,
}))
class AddGeneToGenesetDialogue extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
// genesToAdd: [],
};
}
disableAddGeneMode = () => {
const { dispatch } = this.props;
dispatch({
type: "geneset: disable add new genes mode",
});
};
render() {
const { geneset, genesetsUI } = this.props;
return (
<>
<AnnoDialog
isActive={genesetsUI.isAddingGenesToGeneset === geneset}
inputProps={{ "data-testid": `${geneset}:create-label-dialog` }}
primaryButtonProps={{
"data-testid": `${geneset}:submit-label`,
}}
title="Add gene to geneset"
instruction={`Add gene to ${geneset}`}
cancelTooltipContent="Close this dialog without adding genes to geneset."
primaryButtonText="Add Gene(s)"
text="todo"
validationError={() => {
/* todo genesets this.labelNameError(genesetName) */
return false;
}}
annoInput={
<LabelInput
onChange={this.handleChange}
onSelect={this.handleSelect}
inputProps={{
"data-testid": "add-genes",
leftIcon: "manually-entered-data",
intent: "none",
autoFocus: true,
}}
newLabelMessage="New category"
/>
}
handleSubmit={this.handleAddGeneToGeneSet}
handleCancel={this.disableAddGeneMode}
/>
</>
);
}
}
export default AddGeneToGenesetDialogue;
@@ -13,19 +13,24 @@ import {
import * as globals from "../../../globals";
import actions from "../../../actions";
import AddGeneToGenesetDialogue from "./addGeneToGenesetDialogue";
@connect(() => ({}))
@connect((state) => {
return {
genesetsUI: state.genesetsUI,
};
})
class GenesetMenus extends React.PureComponent {
constructor(props) {
super(props);
this.state = {};
}
activateAddNewLabelMode = () => {
activateAddGeneToGenesetMode = () => {
const { dispatch, geneset } = this.props;
dispatch({
type: "geneset: activate add new genes mode",
data: geneset,
geneset,
});
};
@@ -60,11 +65,12 @@ class GenesetMenus extends React.PureComponent {
data-testclass="handleAddNewLabelToCategory"
data-testid={`${geneset}:add-new-label-to-category`}
icon={<Icon icon="plus" iconSize={10} />}
onClick={this.activateAddNewLabelMode}
onClick={this.activateAddGeneToGenesetMode}
small
minimal
/>
</Tooltip>
<AddGeneToGenesetDialogue geneset={geneset} />
<Popover
interactionKind={PopoverInteractionKind.HOVER}
boundary="window"
@@ -24,6 +24,20 @@ class RightSidebar extends React.Component {
padding: globals.leftSidebarSectionPadding,
}}
>
<div
style={{
border: "1px dotted #738694",
background: "#F5F8FA",
width: "100%",
textAlign: "center",
marginBottom: 5,
position: "relative",
top: -2,
padding: 5,
}}
>
upload geneset csv
</div>
<GeneExpression />
</div>
);
+13 -1
View File
@@ -5,7 +5,7 @@ const GeneSetsUI = (
state = {
createGenesetModeActive: false,
isEditingGenesetName: false,
genesetAddingNewGenes: null,
isAddingGenesToGeneset: null,
},
action
) => {
@@ -22,6 +22,18 @@ const GeneSetsUI = (
createGenesetModeActive: false,
};
}
case "geneset: activate add new genes mode": {
return {
...state,
isAddingGenesToGeneset: action.geneset,
};
}
case "geneset: disable add new genes mode": {
return {
...state,
isAddingGenesToGeneset: null,
};
}
default:
return state;
}