import React, { PropTypes } from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './TopBar.styl' import activityRecord from 'browser/lib/activityRecord' import _ from 'lodash' import Commander from 'browser/main/lib/Commander' import dataApi from 'browser/main/lib/dataApi' import modal from 'browser/main/lib/modal' import NewNoteModal from 'browser/main/modals/NewNoteModal' 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) { let { storages, params, dispatch, location } = this.props let storage = _.find(storages, {key: params.storageKey}) if (storage == null) storage = storages[0] if (storage == null) throw new Error('No storage to create a note') let folder = _.find(storage.folders, {key: params.folderKey}) if (folder == null) folder = storage.folders[0] if (folder == null) throw new Error('No folder to craete a note') modal.open(NewNoteModal, { storage: storage.key, folder: folder.key, dispatch, location }) } handleTutorialButtonClick (e) { } render () { let { config, style } = 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.contextTypes = { router: PropTypes.shape({ push: PropTypes.func }) } TopBar.propTypes = { dispatch: PropTypes.func, config: PropTypes.shape({ isSideNavFolded: PropTypes.bool }) } export default CSSModules(TopBar, styles)