mirror of
https://github.com/BoostIo/Boostnote
synced 2026-05-26 17:32:08 +00:00
using Repository class
This commit is contained in:
@@ -1,16 +1,21 @@
|
||||
import React, { PropTypes } from 'react'
|
||||
import CSSModules from 'browser/lib/CSSModules'
|
||||
import styles from './Repository.styl'
|
||||
import actions from 'browser/main/actions'
|
||||
import RepositoryManager from 'browser/lib/RepositoryManager'
|
||||
import styles from './RepositorySection.styl'
|
||||
import Repository from 'browser/lib/Repository'
|
||||
|
||||
class Repository extends React.Component {
|
||||
class RepositorySection extends React.Component {
|
||||
handleUnlinkButtonClick (e) {
|
||||
let { dispatch, repository } = this.props
|
||||
|
||||
RepositoryManager.removeRepo(repository)
|
||||
Repository.find(repository.key)
|
||||
.then((repositoryInstance) => {
|
||||
return repositoryInstance.unmount()
|
||||
})
|
||||
.then(() => {
|
||||
dispatch(actions.removeRepo(repository))
|
||||
dispatch({
|
||||
type: 'REMOVE_REPOSITORY',
|
||||
key: repository.key
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -40,7 +45,7 @@ class Repository extends React.Component {
|
||||
|
||||
return (
|
||||
<div
|
||||
className='Repository'
|
||||
className='RepositorySection'
|
||||
styleName='root'
|
||||
>
|
||||
<div styleName='header'>
|
||||
@@ -76,7 +81,7 @@ class Repository extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
Repository.propTypes = {
|
||||
RepositorySection.propTypes = {
|
||||
repository: PropTypes.shape({
|
||||
name: PropTypes.string,
|
||||
folders: PropTypes.arrayOf(PropTypes.shape({
|
||||
@@ -86,4 +91,4 @@ Repository.propTypes = {
|
||||
dispatch: PropTypes.func
|
||||
}
|
||||
|
||||
export default CSSModules(Repository, styles)
|
||||
export default CSSModules(RepositorySection, styles)
|
||||
@@ -1,11 +1,10 @@
|
||||
import React, { PropTypes } from 'react'
|
||||
import CSSModules from 'browser/lib/CSSModules'
|
||||
import styles from './SideNav.styl'
|
||||
import actions from 'browser/main/actions'
|
||||
import { openModal, isModalOpen } from 'browser/lib/modal'
|
||||
import Preferences from '../../modal/Preferences'
|
||||
import CreateNewFolder from '../../modal/CreateNewFolder'
|
||||
import Repository from './Repository'
|
||||
import RepositorySection from './RepositorySection'
|
||||
import NewRepositoryModal from '../../modal/NewRepositoryModal'
|
||||
|
||||
const ipc = require('electron').ipcRenderer
|
||||
@@ -39,13 +38,11 @@ class SideNav extends React.Component {
|
||||
handleFolderButtonClick (name) {
|
||||
return (e) => {
|
||||
let { dispatch } = this.props
|
||||
dispatch(actions.switchFolder(name))
|
||||
}
|
||||
}
|
||||
|
||||
handleAllFoldersButtonClick (e) {
|
||||
let { dispatch } = this.props
|
||||
dispatch(actions.setSearchFilter(''))
|
||||
}
|
||||
|
||||
handleNewRepositoryButtonClick (e) {
|
||||
@@ -55,8 +52,8 @@ class SideNav extends React.Component {
|
||||
render () {
|
||||
let { repositories, dispatch } = this.props
|
||||
let repositorieElements = repositories.map((repo) => {
|
||||
return <Repository
|
||||
key={repo.name}
|
||||
return <RepositorySection
|
||||
key={repo.key}
|
||||
repository={repo}
|
||||
dispatch={dispatch}
|
||||
/>
|
||||
@@ -108,17 +105,6 @@ class SideNav extends React.Component {
|
||||
|
||||
SideNav.propTypes = {
|
||||
dispatch: PropTypes.func,
|
||||
status: PropTypes.shape({
|
||||
folderId: PropTypes.number
|
||||
}),
|
||||
user: PropTypes.object,
|
||||
folders: PropTypes.array,
|
||||
allArticles: PropTypes.array,
|
||||
articles: PropTypes.array,
|
||||
modified: PropTypes.array,
|
||||
activeArticle: PropTypes.shape({
|
||||
key: PropTypes.string
|
||||
}),
|
||||
repositories: PropTypes.array
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user