import React, { PropTypes } from 'react' import ProfileImage from 'boost/components/ProfileImage' import { findWhere } from 'lodash' import { setSearchFilter, switchFolder, switchMode, CREATE_MODE } from 'boost/actions' import { openModal } from 'boost/modal' import FolderMark from 'boost/components/FolderMark' import Preferences from 'boost/components/modal/Preferences' import CreateNewFolder from 'boost/components/modal/CreateNewFolder' export default class ArticleNavigator extends React.Component { componentDidMount () { this.handlePreferencesButtonClick() } handlePreferencesButtonClick (e) { openModal(Preferences) } handleNewPostButtonClick (e) { let { dispatch } = this.props dispatch(switchMode(CREATE_MODE)) } handleNewFolderButton (e) { let { activeUser } = this.props openModal(CreateNewFolder, {user: activeUser}) } handleFolderButtonClick (name) { return e => { let { dispatch } = this.props dispatch(switchFolder(name)) } } handleAllFoldersButtonClick (e) { let { dispatch } = this.props dispatch(setSearchFilter('')) } render () { let { activeUser, status } = this.props if (activeUser == null) return (
) let { targetFolders } = status if (targetFolders == null) targetFolders = [] let folders = activeUser.Folders != null ? activeUser.Folders.map((folder, index) => { let isActive = findWhere(targetFolders, {id: folder.id}) return ( ) }) : [] let members = Array.isArray(activeUser.Members) ? activeUser.Members.sort((a, b) => { return new Date(a._pivot_createdAt) - new Date(b._pivot_createdAt) }).map(member => { return (
{member.profileName}
) }) : null return (
{activeUser.profileName}
{activeUser.name}
Folders
{folders}
{activeUser.userType === 'team' ? (
Members
{members}
) : null}
) } } ArticleNavigator.propTypes = { activeUser: PropTypes.object, status: PropTypes.shape({ folderId: PropTypes.number }), dispatch: PropTypes.func }