mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-27 21:48:12 +08:00
propagate diffexp state through component tree (#2135)
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import React from "react";
|
||||
import _ from "lodash";
|
||||
import { connect } from "react-redux";
|
||||
import { Tooltip, Position, Switch } from "@blueprintjs/core";
|
||||
import { FaChevronRight, FaChevronDown } from "react-icons/fa";
|
||||
@@ -85,8 +84,35 @@ class GeneSet extends React.Component {
|
||||
this.setState({ toggleSummaryHisto: !toggleSummaryHisto });
|
||||
};
|
||||
|
||||
renderGenes() {
|
||||
const { setName, setGenes, isDiffExp, diffExp } = this.props;
|
||||
|
||||
if (isDiffExp) {
|
||||
// [ [gene, logfoldchange, pval, pval_adj], ...]
|
||||
return setGenes.map((gene, idx) => {
|
||||
const logFoldChange = diffExp[idx][1];
|
||||
const pvalAdj = diffExp[idx][3];
|
||||
return (
|
||||
<Gene
|
||||
key={gene}
|
||||
gene={gene}
|
||||
geneset={setName}
|
||||
isDiffExp
|
||||
logFoldChange={logFoldChange}
|
||||
pvalAdj={pvalAdj}
|
||||
/>
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// otherwise...
|
||||
return setGenes.map((gene) => {
|
||||
return <Gene key={gene} gene={gene} geneset={setName} />;
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
const { setName, setGenes, isDiffexp } = this.props;
|
||||
const { setName, setGenes } = this.props;
|
||||
const { isOpen, toggleSummaryHisto } = this.state;
|
||||
const genesetNameLengthVisible = 120; /* this magic number determines how much of a long geneset name we see */
|
||||
return (
|
||||
@@ -166,16 +192,7 @@ class GeneSet extends React.Component {
|
||||
|
||||
{isOpen &&
|
||||
(!toggleSummaryHisto
|
||||
? _.map(setGenes, (gene) => {
|
||||
return (
|
||||
<Gene
|
||||
key={gene}
|
||||
gene={gene}
|
||||
geneset={setName}
|
||||
isDiffexp={isDiffexp}
|
||||
/>
|
||||
);
|
||||
})
|
||||
? this.renderGenes()
|
||||
: setGenes.length > 0 && (
|
||||
<HistogramBrush
|
||||
isGeneSetSummary
|
||||
|
||||
Reference in New Issue
Block a user