import React from "react"; import { connect } from "react-redux"; import { Button, H4, Icon } from "@blueprintjs/core"; import { IconNames } from "@blueprintjs/icons"; import GeneSet from "./geneSet"; import QuickGene from "./quickGene"; import CreateGenesetDialogue from "./menus/createGenesetDialogue"; @connect((state) => ({ genesets: state.genesets.genesets, })) class GeneExpression extends React.Component { constructor(props) { super(props); this.state = { geneSetsExpanded: true }; } renderGeneSets = () => { const sets = []; const { genesets } = this.props; for (const [name, geneset] of genesets) { sets.push( ); } return sets; }; handleActivateCreateGenesetMode = () => { const { dispatch } = this.props; const { geneSetsExpanded } = this.state; dispatch({ type: "geneset: activate add new geneset mode" }); if (!geneSetsExpanded) { this.setState((state) => ({ ...state, geneSetsExpanded: true })); } }; handleExpandGeneSets = () => { this.setState((state) => ({ ...state, geneSetsExpanded: !state.geneSetsExpanded })); }; render() { const { geneSetsExpanded } = this.state; return (

Gene Sets{" "} {geneSetsExpanded ? ( ) : ( )}

{geneSetsExpanded &&
{this.renderGeneSets()}
}
); } } export default GeneExpression;