import React, { PropTypes } from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './TopBar.styl' import activityRecord from 'browser/lib/activityRecord' import Repository from 'browser/lib/Repository' import _ from 'lodash' const OSX = window.process.platform === 'darwin' class TopBar extends React.Component { constructor (props) { super(props) this.state = { search: '' } } isInputFocused () { return document.activeElement === this.refs.searchInput } escape () { } focusInput () { this.searchInput.focus() } blurInput () { this.searchInput.blur() } handleNewPostButtonClick (e) { activityRecord.emit('ARTICLE_CREATE') let { params, repositories } = this.props let folderKey = params.folderKey let repositoryKey = params.repositoryKey if (folderKey == null) { let repository = _.find(repositories, {key: repositoryKey}) if (repository == null) { repository = repositories[0] } if (repository != null) { repositoryKey = repository.key folderKey = repository.folders[0] != null && repository.folders[0].key } if (folderKey == null) throw new Error('no folder exists') } let newNote = { title: 'New Note', content: '', folder: folderKey, tags: [], mode: 'markdown' } Repository .find(repositoryKey) .then((repo) => { console.log(repo) return repo.addNote(newNote) }) .then((note) => { let { dispatch } = this.props dispatch({ type: 'ADD_NOTE', repository: repositoryKey, note: note }) }) .catch((err) => { console.error(err) }) } handleTutorialButtonClick (e) { } handleLinksButton (e) { } render () { let { config } = this.props return (
this.handleSearchChange(e)} onBlur={(e) => this.handleSearchChange(e)} value={this.state.search} onChange={(e) => this.handleSearchChange(e)} placeholder='Search' type='text' /> {this.state.search > 0 && }
) } } TopBar.propTypes = { dispatch: PropTypes.func, config: PropTypes.shape({ isSideNavFolded: PropTypes.bool }) } export default CSSModules(TopBar, styles)