import React from "react"; import { connect } from "react-redux"; import AnnoDialog from "../../annoDialog"; import LabelInput from "../../labelInput"; import parseBulkGeneString from "../../../util/parseBulkGeneString"; import actions from "../../../actions"; @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", }); }; handleAddGeneToGeneSet = (e) => { const { geneset, dispatch } = this.props; const { genesToAdd } = this.state; const genesTmpHardcodedFormat = []; const genesArrayFromString = parseBulkGeneString(genesToAdd); genesArrayFromString.forEach((_gene) => { genesTmpHardcodedFormat.push({ geneSymbol: _gene, }); }); dispatch(actions.genesetAddGenes(geneset, genesTmpHardcodedFormat)); dispatch({ type: "geneset: disable add new genes mode", }); if (e) e.preventDefault(); }; handleChange = (e) => { this.setState({ genesToAdd: e }); }; render() { const { geneset, genesetsUI } = this.props; const { genesToAdd } = this.state; return ( <> } handleSubmit={this.handleAddGeneToGeneSet} handleCancel={this.disableAddGeneMode} /> ); } } export default AddGeneToGenesetDialogue;