mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-19 10:58:10 +08:00
* initial dataframe commit * initial dataframe port of core app * rename variables for clarity * remove unused import * comment out unused code * fix array handling bug in crossfilter dimension creation * allow creation of empty dataframes * handle non-existent columns * handle non-existent columns * revise tests for new dataframe * comments for clarity * comments for clarity * generate bulk add placeholder with real gene names * fix bug in gene name adding * more dataframe unit tests * fix bug - subset from current world, not universe * put cut and pasted code into a single function * improve caching of crossfilter * remove cascading update bug from graph * more performance work * improve state handling for scatterplot * performance optimization of critical path * add column summarization * dataframe utils * add callOnceLazy * fix tests * minor updates found during review * fix misspelling * remove RESTv02 from function names * comment cleanup * cut/icut col parameter defaults to null * break up large test * improve tests and comments on dataframe at/has functions
54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
// jshint esversion: 6
|
|
import React from "react";
|
|
import { AnchorButton, Tooltip } from "@blueprintjs/core";
|
|
import { connect } from "react-redux";
|
|
import { World } from "../../util/stateManager";
|
|
|
|
@connect()
|
|
class CellSetButton extends React.Component {
|
|
set() {
|
|
const {
|
|
differential,
|
|
crossfilter,
|
|
dispatch,
|
|
eitherCellSetOneOrTwo
|
|
} = this.props;
|
|
|
|
const set = World.getSelectedByIndex(crossfilter);
|
|
|
|
if (!differential.diffExp) {
|
|
/* diffexp needs to be cleared before we store a new set */
|
|
dispatch({
|
|
type: `store current cell selection as differential set ${eitherCellSetOneOrTwo}`,
|
|
data: set
|
|
});
|
|
}
|
|
}
|
|
|
|
render() {
|
|
const { differential, eitherCellSetOneOrTwo } = this.props;
|
|
const cellListName = `celllist${eitherCellSetOneOrTwo}`;
|
|
return (
|
|
<Tooltip
|
|
content="Save current selection for differential expression computation"
|
|
position="top"
|
|
>
|
|
<AnchorButton
|
|
style={{ marginRight: 10 }}
|
|
type="button"
|
|
disabled={differential.diffExp}
|
|
onClick={this.set.bind(this)}
|
|
>
|
|
{eitherCellSetOneOrTwo}
|
|
{": "}
|
|
{differential[cellListName]
|
|
? `${differential[cellListName].length} cells`
|
|
: "0 cells"}
|
|
</AnchorButton>
|
|
</Tooltip>
|
|
);
|
|
}
|
|
}
|
|
|
|
export default CellSetButton;
|