import React, {Component, PropTypes} from "react"; import Electrify from "./electrify"; import ModulesByPkg from "./modules-by-pkg"; import IconButton from "material-ui/IconButton"; import IconMenu from "material-ui/IconMenu"; import MenuItem from "material-ui/MenuItem"; import ContentFilter from "material-ui/svg-icons/content/filter-list"; import styles from "../../../src/styles/base.css"; import classNames from "classnames/bind"; // import {bundle} from "../../helpers/modules-helpers/parsing-utils"; // import createD3Visualization from "../../helpers/modules-helpers/d3visualization"; const cx = classNames.bind(styles); class Modules extends Component { constructor(props) { super(props); this.state = { moduleMode: "electrify"}; } //TODO: Link MUI MenuItem buttons to D3 /* componentDidMount(){ const root = this.parseModules(); const domElements = { svg: this.refs.svg, modeSelectors: this.refs.iconMenu } createD3Visualization(root, this.refs.svg, "size", true); } parseModules() { return bundle(this.props.modules, (data) => { return JSON.parse(data.data); }); } createElectrifyContainer() { return (
) } */ createModuleTitle() { return (
group_work

Modules

); } createModuleNavBar() { return (
this.setState({moduleMode: "electrify"})} className={this.state.moduleMode === "electrify" ? styles.modulesTab : styles.modulesTabSelected } >

Electrify

this.setState({moduleMode: "byPkg"})} className={this.state.moduleMode === "byPkg" ? styles.modulesTab : styles.modulesTabSelected} >

Modules by Package

{/* TODO: duplicate modules tab
this.setState({moduleMode: "duplicates"})} className={this.state.moduleMode === "duplicates" ? styles.modulesTab : styles.modulesTabSelected } >

Duplicate Modules

*/}
{/* TODO: Add search bar and electrify mode selectors
} iconStyle ={{backgroundColor: "transparent", color: "white"}} anchorOrigin={{horizontal: "right", vertical: "top"}} targetOrigin={{horizontal: "right", vertical: "top"}} > { //createD3Visualization(this.parseModules(), this.refs.svg) //}} style={{backgroundColor: "white", color: "#df2375"}} primaryText="File Size" />
*/}
); } createModules() { switch (this.state.moduleMode) { case "electrify": //note: if Electrify is not a separate component //switching between module tabs will not trigger D3 to re-render return ; // return this.createElectrifyContainer() case "byPkg": return ( ); // case "duplicates": // return; default: return ; // return this.createElectrifyContainer() } } render() { return (
{this.createModuleTitle()} {this.createModuleNavBar()}
{this.createModules()}
); } } Modules.propTypes = { modules: PropTypes.array, modulesByPkg: PropTypes.object, totalSize: PropTypes.number }; export default Modules;