mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-10-07 04:28:11 +08:00
gene set reducer
This commit is contained in:
@@ -1,31 +1,26 @@
|
|||||||
/* rc slider https://www.npmjs.com/package/rc-slider */
|
/* rc slider https://www.npmjs.com/package/rc-slider */
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import _ from "lodash";
|
|
||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { Button } from "@blueprintjs/core";
|
import { Button } from "@blueprintjs/core";
|
||||||
import GeneSet from "./geneSet";
|
import GeneSet from "./geneSet";
|
||||||
|
|
||||||
import testGeneSets from "./test_data";
|
|
||||||
import CreateGenesetDialogue from "./menus/createGenesetDialogue";
|
import CreateGenesetDialogue from "./menus/createGenesetDialogue";
|
||||||
|
|
||||||
@connect((state) => {
|
@connect((state) => {
|
||||||
return {
|
return {
|
||||||
userDefinedGenes: state.controls.userDefinedGenes,
|
|
||||||
differential: state.differential,
|
differential: state.differential,
|
||||||
genesets: state.genesets,
|
genesets: state.genesets.genesets,
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
class GeneExpression extends React.Component {
|
class GeneExpression extends React.Component {
|
||||||
renderTestGeneSets = () => {
|
renderGeneSets = () => {
|
||||||
const sets = [];
|
const sets = [];
|
||||||
|
const { genesets } = this.props;
|
||||||
|
|
||||||
_.forEach(testGeneSets, (setGenes, setName) => {
|
for (const [name, genes] of genesets) {
|
||||||
sets.push(
|
sets.push(<GeneSet key={name} setGenes={[...genes]} setName={name} />);
|
||||||
<GeneSet key={setName} setGenes={setGenes} setName={setName} />
|
}
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
return sets;
|
return sets;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -75,7 +70,7 @@ class GeneExpression extends React.Component {
|
|||||||
<CreateGenesetDialogue />
|
<CreateGenesetDialogue />
|
||||||
</div>
|
</div>
|
||||||
<div>{this.renderDiffexpGeneSets()}</div>
|
<div>{this.renderDiffexpGeneSets()}</div>
|
||||||
<div>{this.renderTestGeneSets()}</div>
|
<div>{this.renderGeneSets()}</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import LabelInput from "../../categorical/labelInput";
|
|||||||
schema: state.annoMatrix?.schema,
|
schema: state.annoMatrix?.schema,
|
||||||
ontology: state.ontology,
|
ontology: state.ontology,
|
||||||
obsCrossfilter: state.obsCrossfilter,
|
obsCrossfilter: state.obsCrossfilter,
|
||||||
genesets: state.genesets,
|
genesetsUI: state.genesetsUI,
|
||||||
}))
|
}))
|
||||||
class CreateGenesetDialogue extends React.PureComponent {
|
class CreateGenesetDialogue extends React.PureComponent {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
@@ -60,12 +60,12 @@ class CreateGenesetDialogue extends React.PureComponent {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { genesetName } = this.state;
|
const { genesetName } = this.state;
|
||||||
const { metadataField, genesets } = this.props;
|
const { metadataField, genesetsUI } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<AnnoDialog
|
<AnnoDialog
|
||||||
isActive={genesets.createGenesetModeActive}
|
isActive={genesetsUI.createGenesetModeActive}
|
||||||
inputProps={{ "data-testid": `${metadataField}:create-label-dialog` }}
|
inputProps={{ "data-testid": `${metadataField}:create-label-dialog` }}
|
||||||
primaryButtonProps={{
|
primaryButtonProps={{
|
||||||
"data-testid": `${metadataField}:submit-label`,
|
"data-testid": `${metadataField}:submit-label`,
|
||||||
|
|||||||
+3311
-23
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@ import thunk from "redux-thunk";
|
|||||||
import cascadeReducers from "./cascade";
|
import cascadeReducers from "./cascade";
|
||||||
import undoable from "./undoable";
|
import undoable from "./undoable";
|
||||||
import config from "./config";
|
import config from "./config";
|
||||||
import userInfo from "./userinfo";
|
import userInfo from "./userInfo";
|
||||||
import annoMatrix from "./annoMatrix";
|
import annoMatrix from "./annoMatrix";
|
||||||
import obsCrossfilter from "./obsCrossfilter";
|
import obsCrossfilter from "./obsCrossfilter";
|
||||||
import categoricalSelection from "./categoricalSelection";
|
import categoricalSelection from "./categoricalSelection";
|
||||||
@@ -16,6 +16,7 @@ import layoutChoice from "./layoutChoice";
|
|||||||
import controls from "./controls";
|
import controls from "./controls";
|
||||||
import annotations from "./annotations";
|
import annotations from "./annotations";
|
||||||
import genesets from "./genesets";
|
import genesets from "./genesets";
|
||||||
|
import genesetsUI from "./genesetsUI";
|
||||||
import autosave from "./autosave";
|
import autosave from "./autosave";
|
||||||
import ontology from "./ontology";
|
import ontology from "./ontology";
|
||||||
import centroidLabels from "./centroidLabels";
|
import centroidLabels from "./centroidLabels";
|
||||||
@@ -33,6 +34,7 @@ const Reducer = undoable(
|
|||||||
["ontology", ontology],
|
["ontology", ontology],
|
||||||
["annotations", annotations],
|
["annotations", annotations],
|
||||||
["genesets", genesets],
|
["genesets", genesets],
|
||||||
|
["genesetsUI", genesetsUI],
|
||||||
["layoutChoice", layoutChoice],
|
["layoutChoice", layoutChoice],
|
||||||
["categoricalSelection", categoricalSelection],
|
["categoricalSelection", categoricalSelection],
|
||||||
["continuousSelection", continuousSelection],
|
["continuousSelection", continuousSelection],
|
||||||
|
|||||||
Reference in New Issue
Block a user