diff --git a/browser/components/TagSelect.js b/browser/components/TagSelect.js
index dbbc456f..2e631bef 100644
--- a/browser/components/TagSelect.js
+++ b/browser/components/TagSelect.js
@@ -1,7 +1,6 @@
import React, { PropTypes } from 'react'
import ReactDOM from 'react-dom'
import _ from 'lodash'
-import linkState from '../lib/linkState'
function isNotEmptyString (str) {
return _.isString(str) && str.length > 0
@@ -164,5 +163,3 @@ TagSelect.propTypes = {
onChange: PropTypes.func,
suggestTags: PropTypes.array
}
-
-TagSelect.prototype.linkState = linkState
diff --git a/browser/lib/linkState.js b/browser/lib/linkState.js
deleted file mode 100644
index 2b874615..00000000
--- a/browser/lib/linkState.js
+++ /dev/null
@@ -1,36 +0,0 @@
-function getIn (object, path) {
- let stack = path.split('.')
- while (stack.length > 1) {
- object = object[stack.shift()]
- }
- return object[stack.shift()]
-}
-
-function updateIn (object, path, value) {
- let current = object
- let stack = path.split('.')
- while (stack.length > 1) {
- current = current[stack.shift()]
- }
- current[stack.shift()] = value
- return object
-}
-
-function setPartialState (component, path, value) {
- component.setState(
- updateIn(component.state, path, value))
-}
-
-export default function linkState (path) {
- return {
- value: getIn(this.state, path),
- requestChange: setPartialState.bind(null, this, path)
- }
-}
-
-export function linkState2 (el, path) {
- return {
- value: getIn(el.state, path),
- requestChange: setPartialState.bind(null, el, path)
- }
-}
diff --git a/browser/main/ArticleDetail/index.js b/browser/main/ArticleDetail/index.js
index cafc2875..1db13315 100644
--- a/browser/main/ArticleDetail/index.js
+++ b/browser/main/ArticleDetail/index.js
@@ -2,11 +2,10 @@ import React, { PropTypes } from 'react'
import ReactDOM from 'react-dom'
import moment from 'moment'
import _ from 'lodash'
-import linkState from 'browser/lib/linkState'
import TagSelect from 'browser/components/TagSelect'
import ModeSelect from 'browser/components/ModeSelect'
import ShareButton from './ShareButton'
-import { openModal, isModalOpen } from 'browser/lib/modal'
+import { openModal, isModalOpen } from 'browser/main/lib/modal'
import DeleteArticleModal from '../modals/DeleteArticleModal'
import ArticleEditor from './ArticleEditor'
const electron = require('electron')
@@ -338,4 +337,3 @@ ArticleDetail.propTypes = {
dispatch: PropTypes.func,
repositories: PropTypes.array
}
-ArticleDetail.prototype.linkState = linkState
diff --git a/browser/main/ArticleTopBar.js b/browser/main/ArticleTopBar.js
index 9e7c4cc2..bb33becb 100644
--- a/browser/main/ArticleTopBar.js
+++ b/browser/main/ArticleTopBar.js
@@ -1,107 +1,20 @@
import React, { PropTypes } from 'react'
import ReactDOM from 'react-dom'
import ExternalLink from 'browser/components/ExternalLink'
-import { isModalOpen } from 'browser/lib/modal'
import activityRecord from 'browser/lib/activityRecord'
-const electron = require('electron')
-const ipc = electron.ipcRenderer
-
-const OSX = global.process.platform === 'darwin'
-
-const BRAND_COLOR = '#18AF90'
-
-const searchTutorialElement = (
-
- Search some posts!!
- {'- Search by tag : #{string}'}
-
- {'- Search by folder : /{folder_name}\n'}
-
- {'exact match : //{folder_name}'}
-
-
-
-
-
-
-)
-
-const newPostTutorialElement = (
-
- Create a new post!!
-
-
-
-
-
-
-
-)
+const OSX = process.platform === 'darwin'
export default class ArticleTopBar extends React.Component {
constructor (props) {
super(props)
- this.saveAllHandler = e => {
- if (isModalOpen()) return true
- this.handleSaveAllButtonClick(e)
- }
- this.focusSearchHandler = e => {
- if (isModalOpen()) return true
- this.focusInput(e)
- }
- this.newPostHandler = e => {
- if (isModalOpen()) return true
- this.handleNewPostButtonClick(e)
- }
-
this.state = {
isTooltipHidden: true,
isLinksDropdownOpen: false
}
}
- componentDidMount () {
- this.searchInput = ReactDOM.findDOMNode(this.refs.searchInput)
- this.linksButton = ReactDOM.findDOMNode(this.refs.links)
- this.showLinksDropdown = e => {
- e.preventDefault()
- e.stopPropagation()
- if (!this.state.isLinksDropdownOpen) {
- this.setState({isLinksDropdownOpen: true})
- }
- }
- // this.linksButton.addEventListener('click', this.showLinksDropdown)
- this.hideLinksDropdown = e => {
- if (this.state.isLinksDropdownOpen) {
- this.setState({isLinksDropdownOpen: false})
- }
- }
- document.addEventListener('click', this.hideLinksDropdown)
-
- // ipc.on('top-save-all', this.saveAllHandler)
- ipc.on('top-focus-search', this.focusSearchHandler)
- ipc.on('top-new-post', this.newPostHandler)
- }
-
- componentWillUnmount () {
- document.removeEventListener('click', this.hideLinksDropdown)
- this.linksButton.removeEventListener('click', this.showLinksDropdown())
-
- // ipc.removeListener('top-save-all', this.saveAllHandler)
- ipc.removeListener('top-focus-search', this.focusSearchHandler)
- ipc.removeListener('top-new-post', this.newPostHandler)
- }
-
handleTooltipRequest (e) {
if (this.searchInput.value.length === 0 && (document.activeElement === this.searchInput)) {
this.setState({isTooltipHidden: false})
@@ -126,10 +39,6 @@ export default class ArticleTopBar extends React.Component {
}
handleSearchChange (e) {
- let { dispatch } = this.props
-
- // dispatch(setSearchFilter(e.target.value))
- this.handleTooltipRequest()
}
handleSearchClearButton (e) {
@@ -206,22 +115,6 @@ export default class ArticleTopBar extends React.Component {
: null
}
-
- {false ? (
-
-
this.handleTutorialButtonClick(e)} className='clickJammer'/>
-
- Also, you can open Finder!!
-
-
-
- Hope you to enjoy our app :D
- Press any key or click to escape tutorial mode
-
-
-
- ) : null}
-
)
}
diff --git a/browser/main/SideNav/RepositorySection.js b/browser/main/SideNav/RepositorySection.js
index e3ba2600..617ce8a5 100644
--- a/browser/main/SideNav/RepositorySection.js
+++ b/browser/main/SideNav/RepositorySection.js
@@ -57,7 +57,7 @@ class RepositorySection extends React.Component {
handleContextButtonClick (e) {
e.stopPropagation()
- var menu = new Menu()
+ let menu = new Menu()
menu.append(new MenuItem({
label: 'New Folder',
click: () => this.handleNewFolderButtonClick()
diff --git a/browser/main/SideNav/index.js b/browser/main/SideNav/index.js
index 6cd56c8a..4c062e05 100644
--- a/browser/main/SideNav/index.js
+++ b/browser/main/SideNav/index.js
@@ -1,7 +1,7 @@
import React, { PropTypes } from 'react'
import CSSModules from 'browser/lib/CSSModules'
import styles from './SideNav.styl'
-import { openModal } from 'browser/lib/modal'
+import { openModal } from 'browser/main/lib/modal'
import Preferences from '../modals/Preferences'
import RepositorySection from './RepositorySection'
import NewRepositoryModal from '../modals/NewRepositoryModal'
diff --git a/browser/lib/modal.js b/browser/main/lib/modal.js
similarity index 84%
rename from browser/lib/modal.js
rename to browser/main/lib/modal.js
index 15273f69..e1026fe5 100644
--- a/browser/lib/modal.js
+++ b/browser/main/lib/modal.js
@@ -1,7 +1,7 @@
import React from 'react'
+import { Provider } from 'react-redux'
import ReactDOM from 'react-dom'
-
-const remote = require('electron').remote
+import store from '../store'
class ModalBase extends React.Component {
constructor (props) {
@@ -15,8 +15,6 @@ class ModalBase extends React.Component {
close () {
if (modalBase != null) modalBase.setState({component: null, componentProps: null, isHidden: true})
-
- remote.getCurrentWebContents().send('list-focus')
}
render () {
@@ -24,7 +22,9 @@ class ModalBase extends React.Component {
this.close(e)} className='modalBack'/>
{this.state.component == null ? null : (
-
+
+
+
)}
)
diff --git a/browser/main/modals/Preferences/AppSettingTab.js b/browser/main/modals/Preferences/AppSettingTab.js
index d1656fb0..51ddef2e 100644
--- a/browser/main/modals/Preferences/AppSettingTab.js
+++ b/browser/main/modals/Preferences/AppSettingTab.js
@@ -1,5 +1,4 @@
import React, { PropTypes } from 'react'
-import linkState from 'browser/lib/linkState'
import fetchConfig from 'browser/lib/fetchConfig'
import hljsTheme from 'browser/lib/hljsThemes'
@@ -235,7 +234,6 @@ export default class AppSettingTab extends React.Component {
}
}
-AppSettingTab.prototype.linkState = linkState
AppSettingTab.propTypes = {
user: PropTypes.shape({
name: PropTypes.string
diff --git a/browser/main/modals/Preferences/ContactTab.js b/browser/main/modals/Preferences/ContactTab.js
index aad8c331..47e6bf31 100644
--- a/browser/main/modals/Preferences/ContactTab.js
+++ b/browser/main/modals/Preferences/ContactTab.js
@@ -1,6 +1,5 @@
import React from 'react'
import ReactDOM from 'react-dom'
-import linkState from 'browser/lib/linkState'
import ExternalLink from 'browser/components/ExternalLink'
export default class ContactTab extends React.Component {
@@ -20,5 +19,3 @@ export default class ContactTab extends React.Component {
)
}
}
-
-ContactTab.prototype.linkState = linkState
diff --git a/browser/main/modals/Preferences/index.js b/browser/main/modals/Preferences/index.js
index a399afd2..77222077 100644
--- a/browser/main/modals/Preferences/index.js
+++ b/browser/main/modals/Preferences/index.js
@@ -1,10 +1,8 @@
import React, { PropTypes } from 'react'
-import { connect, Provider } from 'react-redux'
-import linkState from 'browser/lib/linkState'
-import store from 'browser/main/store'
+import { connect } from 'react-redux'
import AppSettingTab from './AppSettingTab'
import ContactTab from './ContactTab'
-import { closeModal } from 'browser/lib/modal'
+import { closeModal } from 'browser/main/lib/modal'
const APP = 'APP'
const CONTACT = 'CONTACT'
@@ -83,15 +81,4 @@ Preferences.propTypes = {
dispatch: PropTypes.func
}
-Preferences.prototype.linkState = linkState
-
-let RootComponent = connect((x) => x)(Preferences)
-export default class PreferencesModal extends React.Component {
- render () {
- return (
-
-
-
- )
- }
-}
+export default connect((x) => x)(Preferences)