import React, { PropTypes } from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './RepositorySection.styl' import Repository from 'browser/lib/Repository' const electron = require('electron') const { remote } = electron const Menu = remote.Menu const MenuItem = remote.MenuItem class RepositorySection extends React.Component { handleUnlinkButtonClick () { let { dispatch, repository } = this.props Repository.find(repository.key) .then((repositoryInstance) => { return repositoryInstance.unmount() }) .then(() => { dispatch({ type: 'REMOVE_REPOSITORY', key: repository.key }) }) } handleToggleButtonClick (e) { } handleContextButtonClick (e) { var menu = new Menu() menu.append(new MenuItem({ label: 'New Note' })) menu.append(new MenuItem({ label: 'New Folder' })) menu.append(new MenuItem({ type: 'separator' })) menu.append(new MenuItem({ label: 'Unmount', click: () => this.handleUnlinkButtonClick() })) menu.popup(remote.getCurrentWindow()) } render () { let { repository } = this.props let folderElements = repository.folders.map((folder) => { return (
{folder.name}
) }) return (
{repository.name}
{folderElements}
) } } RepositorySection.propTypes = { repository: PropTypes.shape({ name: PropTypes.string, folders: PropTypes.arrayOf(PropTypes.shape({ name: PropTypes.string })) }), dispatch: PropTypes.func } export default CSSModules(RepositorySection, styles)