mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-01 21:38:13 +08:00
menus and buttons
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
import React from "react";
|
||||
import { connect } from "react-redux";
|
||||
import AnnoDialog from "../../categorical/annoDialog";
|
||||
// import LabelInput from "../labelInput";
|
||||
// import { genesetPrompt, isGenesetErroneous } from "../genesetUtil";
|
||||
|
||||
@connect((state) => ({
|
||||
annotations: state.annotations,
|
||||
schema: state.annoMatrix?.schema,
|
||||
ontology: state.ontology,
|
||||
obsCrossfilter: state.obsCrossfilter,
|
||||
genesets: state.genesets,
|
||||
}))
|
||||
class CreateGenesetDialogue extends React.PureComponent {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
genesetName: "",
|
||||
};
|
||||
}
|
||||
|
||||
disableCreateGenesetMode = (e) => {
|
||||
const { dispatch } = this.props;
|
||||
this.setState({
|
||||
genesetName: "",
|
||||
});
|
||||
dispatch({
|
||||
type: "geneset: disable create geneset mode",
|
||||
});
|
||||
if (e) e.preventDefault();
|
||||
};
|
||||
|
||||
createGeneset = (e) => {
|
||||
const { dispatch } = this.props;
|
||||
const { genesetName } = this.state;
|
||||
|
||||
dispatch({ type: "geneset: create", genesetName });
|
||||
e.preventDefault();
|
||||
};
|
||||
|
||||
genesetNameError = () => {
|
||||
/* todo genesets validation */
|
||||
return false;
|
||||
};
|
||||
|
||||
instruction = () => {
|
||||
return "New, unique geneset";
|
||||
/* todo genesets */
|
||||
// return genesetPrompt(this.genesetNameError(geneset), "New, unique geneset", ":");
|
||||
};
|
||||
|
||||
render() {
|
||||
const { genesetName } = this.state;
|
||||
const { metadataField, genesets } = this.props;
|
||||
|
||||
return (
|
||||
<>
|
||||
<AnnoDialog
|
||||
isActive={genesets.createGenesetModeActive}
|
||||
inputProps={{ "data-testid": `${metadataField}:create-label-dialog` }}
|
||||
primaryButtonProps={{
|
||||
"data-testid": `${metadataField}:submit-label`,
|
||||
}}
|
||||
title="Create new gene set"
|
||||
instruction="Give your geneset a name" /* todo genesets this.instruction(genesetName) */
|
||||
cancelTooltipContent="Close this dialog without creating a gene set."
|
||||
primaryButtonText="Create geneset"
|
||||
handleSecondaryButtonSubmit={this.addLabelAndAssignCells}
|
||||
text={genesetName}
|
||||
validationError={() => {
|
||||
/* todo genesets this.labelNameError(genesetName) */
|
||||
return false;
|
||||
}}
|
||||
handleSubmit={this.handleAddNewLabelToCategory}
|
||||
handleCancel={this.disableCreateGenesetMode}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default CreateGenesetDialogue;
|
||||
Reference in New Issue
Block a user