From 1e431c6a0afae8ff4453808e0f58c279b634340b Mon Sep 17 00:00:00 2001 From: Colin Megill Date: Sun, 26 Nov 2017 23:19:49 -0800 Subject: [PATCH] expression reducer and stubbed out component --- src/components/expression/expression.css | 0 src/components/expression/expression.js | 46 ++++++++++++++++++++++++ src/reducers/expression.js | 29 +++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 src/components/expression/expression.css create mode 100644 src/components/expression/expression.js create mode 100644 src/reducers/expression.js diff --git a/src/components/expression/expression.css b/src/components/expression/expression.css new file mode 100644 index 00000000..e69de29b diff --git a/src/components/expression/expression.js b/src/components/expression/expression.js new file mode 100644 index 00000000..e117d334 --- /dev/null +++ b/src/components/expression/expression.js @@ -0,0 +1,46 @@ +import React from "react"; +import _ from "lodash"; +import { connect } from "react-redux"; +import * as globals from "../../globals"; +import styles from "./expression.css"; +import SectionHeader from "../framework/sectionHeader" + +@connect((state) => { + + return { + expression: state.expression.data + } +}) +class Expression extends React.Component { + constructor(props) { + super(props); + this.state = { + + }; + } + handleClick() { + + } + render () { + if (!this.props.expression) return null + return ( +
+ + { + _.map(this.props.expression.genes, (gene) => { + return ( + + ) + }) + } +
+ ) + } +}; + +export default Expression; diff --git a/src/reducers/expression.js b/src/reducers/expression.js new file mode 100644 index 00000000..bd3a3c0b --- /dev/null +++ b/src/reducers/expression.js @@ -0,0 +1,29 @@ +const Expression = (state = { + data: null, + loading: null, + error: null, +}, action) => { + switch (action.type) { + case "get expression started": + return Object.assign({}, state, { + loading: true, + error: null + }); + case "get expression success": + return Object.assign({}, state, { + error: null, + loading: false, + data: action.data.data, + }); + case "get expression error": + return Object.assign({}, state, { + data: null, + loading: false, + error: action.data + }); + default: + return state; + } +}; + +export default Expression;