mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-07 10:08:12 +08:00
* __test: create geneset
* example dataset test geneset
* delete geneset test
* edit __test
* gene crud
* Update client/Makefile
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
* copy gene sets separately
* make fix
* ignore test files locally
* csv update
* updated csvs
* fix unit tests for gene set load routes
* add missing fix to czi_hosted unit test
* pin tiledb version, for czi_hosted backend, to <0.9
* Revert tiledb pin to be less than 0.9. Broken tests have been updated in main branch.
* newline, gitignore
* color by and subset
* diffexp sets equal
* add diff exp test class
* fix data class
* diffexp snapshot
* snapshot
* snap3
* snapshot parentInnerhtml
* remove snap
* updated anno snaps
* add test class to gene list div
* new snapshots
* kick off
* Revert "kick off"
This reverts commit 743f551d55.
* remove import
* eol
* revert changes to csv re: gene tests
* global name
Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
Co-authored-by: bkmartinjr <bruce@chanzuckerberg.com>
Co-authored-by: Arathi Mani <arathi.mani@chanzuckerberg.com>
Co-authored-by: maniarathi <mani.arathi@gmail.com>
90 lines
2.4 KiB
JavaScript
90 lines
2.4 KiB
JavaScript
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 (
|
|
<>
|
|
<AnnoDialog
|
|
isActive={genesetsUI.isAddingGenesToGeneset === geneset}
|
|
inputProps={{ "data-testid": `${geneset}:create-label-dialog` }}
|
|
primaryButtonProps={{
|
|
"data-testid": `${geneset}:submit-gene`,
|
|
}}
|
|
title="Add genes to gene set"
|
|
instruction={`Add genes to ${geneset}`}
|
|
cancelTooltipContent="Close this dialog without adding genes to gene set."
|
|
primaryButtonText="Add genes"
|
|
text={genesToAdd}
|
|
validationError={false}
|
|
annoInput={
|
|
<LabelInput
|
|
onChange={this.handleChange}
|
|
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;
|