Home Reference Source Repository

component/Profile/SideMenuProfile.js

import React, { Component } from 'react'
import {Drawer,Navigation,List,ListItem,ListItemContent,Button} from 'react-mdl';
import { connect } from "react-redux"
import { getCurrentUser } from "../Actions/userActions"
import { changeMenu } from "../Actions/profileActions"
import {resetTags} from "../Actions/tagActions"



var sidemenuItemStyle = {
    width:"100%",
    color:"white"
}

var sidemenuStyle={
    width: "240px",
    height: "100%",
    maxHeight: "100%",
    position: "absolute",
    top: "0",
    left: "0",
    marginTop: "64px",
    zIndex:"99",
    background:"#37474F",
}

var listStyle={

}
@connect((store) => {
  return {
    user: store.user,
    profile: store.profile
  };
})/*dont add semicolon here!*/


class SideMenuProfile extends Component {
    /**
    * Changes state of sidebar menu
    */
    changeMenuNumberZero(){
        this.props.dispatch(changeMenu(0))
    }
    /**
    * Changes state of sidebar menu
    */
    changeMenuNumberOne(){
        this.props.dispatch(changeMenu(1))
    }
    /**
    * Changes state of sidebar menu
    */
    changeMenuNumberTwo(){
        this.props.dispatch(changeMenu(2))
        this.props.dispatch(resetTags())
    }

    /**
    * Changes state of sidebar menu
    */
    changeMenuNumberThree() {
        this.props.dispatch(changeMenu(3))
    }

    /**
    * Loads the user profile sidebar
    * @return {html} - returns Bookmarks, profile, sidebar, RFPs
    */
    render(){
        const {user,profile} = this.props
        if (user.role == 0){
            return(
                    <aside style={sidemenuStyle} className="mdl-typography--headline">
                        <List style={listStyle}>
                          <ListItem>
                            <Button onClick={this.changeMenuNumberZero.bind(this)} style={sidemenuItemStyle} >Profile</Button>
                          </ListItem>
                          <ListItem>
                            <Button onClick={this.changeMenuNumberThree.bind(this)} style={sidemenuItemStyle}>Bookmarks</Button>
                          </ListItem>
                        </List>
                    </aside>

            );
        }else if (user.role==1){
            return(
                    <aside style={sidemenuStyle} className="mdl-typography--headline">
                        <List style={listStyle}>
                          <ListItem>
                            <Button onClick={this.changeMenuNumberZero.bind(this)} style={sidemenuItemStyle} >Profile</Button>
                          </ListItem>
                          <ListItem>
                            <Button onClick={this.changeMenuNumberOne.bind(this)} style={sidemenuItemStyle}>My Courses</Button>
                          </ListItem>
                          <ListItem>
                            <Button onClick={this.changeMenuNumberTwo.bind(this)} style={sidemenuItemStyle}>Add Course</Button>
                          </ListItem>
                        </List>
                    </aside>

            );
        }else{
            return(
                <div>Loading</div>
            )
        }
    }
};



export default SideMenuProfile