1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-14 02:06:29 +00:00
This commit is contained in:
Rokt33r
2015-12-28 21:01:43 +09:00
parent d1cfd627bc
commit dd2a8202ef
4 changed files with 18 additions and 15 deletions

View File

@@ -93,7 +93,9 @@ export function init () {
content: defaultContent, content: defaultContent,
mode: 'markdown', mode: 'markdown',
key: keygen(), key: keygen(),
FolderKey: defaultFolder.key FolderKey: defaultFolder.key,
createdAt: new Date(),
updatedAt: new Date()
} }
data = { data = {

View File

@@ -20,6 +20,7 @@ import DeleteArticleModal from '../../modal/DeleteArticleModal'
const electron = require('electron') const electron = require('electron')
const clipboard = electron.clipboard const clipboard = electron.clipboard
const OSX = process.platform === 'darwin'
const BRAND_COLOR = '#18AF90' const BRAND_COLOR = '#18AF90'
const editDeleteTutorialElement = ( const editDeleteTutorialElement = (
@@ -83,16 +84,12 @@ function notify (...args) {
return new window.Notification(...args) return new window.Notification(...args)
} }
function makeInstantArticle (article) {
return Object.assign({}, article)
}
export default class ArticleDetail extends React.Component { export default class ArticleDetail extends React.Component {
constructor (props) { constructor (props) {
super(props) super(props)
this.state = { this.state = {
article: makeInstantArticle(props.activeArticle), article: Object.assign({content: ''}, props.activeArticle),
previewMode: false, previewMode: false,
isArticleEdited: false, isArticleEdited: false,
isTagChanged: false, isTagChanged: false,
@@ -121,7 +118,7 @@ export default class ArticleDetail extends React.Component {
let nextArticle = nextProps.activeArticle let nextArticle = nextProps.activeArticle
let nextModified = nextArticle != null ? _.findWhere(nextProps.modified, {key: nextArticle.key}) : null let nextModified = nextArticle != null ? _.findWhere(nextProps.modified, {key: nextArticle.key}) : null
let article = Object.assign({}, nextProps.activeArticle, nextModified) let article = Object.assign({content: ''}, nextProps.activeArticle, nextModified)
let nextState = { let nextState = {
article, article,
previewMode: false previewMode: false
@@ -304,7 +301,7 @@ export default class ArticleDetail extends React.Component {
{ {
this.state.article.mode === 'markdown' this.state.article.mode === 'markdown'
? <button onClick={e => this.handleTogglePreviewButtonClick(e)}> ? <button onClick={e => this.handleTogglePreviewButtonClick(e)}>
{this.state.previewMode ? <i className='fa fa-fw fa-code'/> : <i className='fa fa-fw fa-image'/>}<span className='tooltip'>Toggle preview ( + p)</span> {this.state.previewMode ? <i className='fa fa-fw fa-code'/> : <i className='fa fa-fw fa-image'/>}<span className='tooltip'>Toggle preview ({OSX ? '⌘ + p' : '^ + p'})</span>
</button> </button>
: null : null
} }
@@ -319,10 +316,10 @@ export default class ArticleDetail extends React.Component {
</button> </button>
<button onClick={e => this.handleSaveButtonClick(e)}> <button onClick={e => this.handleSaveButtonClick(e)}>
<i className='fa fa-fw fa-save'/><span className='tooltip'>Save ( + s)</span> <i className='fa fa-fw fa-save'/><span className='tooltip'>Save ({OSX ? '⌘ + s' : '^ + s'})</span>
</button> </button>
<button onClick={e => this.handleDeleteButtonClick(e)}> <button onClick={e => this.handleDeleteButtonClick(e)}>
<i className='fa fa-fw fa-trash'/><span className='tooltip'>Delete</span> <i className='fa fa-fw fa-trash'/><span className='tooltip'>Delete (^ + Del)</span>
</button> </button>
</div> </div>
</div> </div>

View File

@@ -66,7 +66,8 @@ export default class ArticleNavigator extends React.Component {
let { dispatch, folders, status } = this.props let { dispatch, folders, status } = this.props
let { targetFolders } = status let { targetFolders } = status
let FolderKey = targetFolders.length > 0 let isFolderFilterApplied = targetFolders.length > 0
let FolderKey = isFolderFilterApplied
? targetFolders[0].key ? targetFolders[0].key
: folders[0].key : folders[0].key
@@ -82,11 +83,12 @@ export default class ArticleNavigator extends React.Component {
} }
dispatch(saveArticle(newArticle.key, newArticle, true)) dispatch(saveArticle(newArticle.key, newArticle, true))
if (isFolderFilterApplied) dispatch(switchFolder(targetFolders[0].name))
} }
handleNewFolderButton (e) { handleNewFolderButton (e) {
let { activeUser } = this.props let { user } = this.props
openModal(CreateNewFolder, {user: activeUser}) openModal(CreateNewFolder, {user: user})
} }
handleFolderButtonClick (name) { handleFolderButtonClick (name) {
@@ -163,7 +165,7 @@ export default class ArticleNavigator extends React.Component {
} }
ArticleNavigator.propTypes = { ArticleNavigator.propTypes = {
activeUser: PropTypes.object, user: PropTypes.object,
folders: PropTypes.array, folders: PropTypes.array,
allArticles: PropTypes.array, allArticles: PropTypes.array,
status: PropTypes.shape({ status: PropTypes.shape({

View File

@@ -9,6 +9,8 @@ const remote = electron.remote
const Menu = remote.Menu const Menu = remote.Menu
const MenuItem = remote.MenuItem const MenuItem = remote.MenuItem
const OSX = process.platform === 'darwin'
var menu = new Menu() var menu = new Menu()
var lastIndex = -1 var lastIndex = -1
menu.append(new MenuItem({ menu.append(new MenuItem({
@@ -191,7 +193,7 @@ export default class ArticleTopBar extends React.Component {
<button onClick={e => this.handleSaveAllButtonClick(e)} className='ArticleTopBar-left-unsaved-save-button' disabled={modified.length === 0}> <button onClick={e => this.handleSaveAllButtonClick(e)} className='ArticleTopBar-left-unsaved-save-button' disabled={modified.length === 0}>
<i className='fa fa-save'/> <i className='fa fa-save'/>
<span className={'ArticleTopBar-left-unsaved-save-button-count' + (modified.length === 0 ? ' hide' : '')} children={modified.length}/> <span className={'ArticleTopBar-left-unsaved-save-button-count' + (modified.length === 0 ? ' hide' : '')} children={modified.length}/>
<span className='ArticleTopBar-left-unsaved-save-button-tooltip' children={`Save all ${modified.length} articles (⌘ + Shift + s)`}></span> <span className='ArticleTopBar-left-unsaved-save-button-tooltip' children={`Save all ${modified.length} articles (${OSX ? '⌘ + Shift + s' : '^ + Shift + s'})`}></span>
</button> </button>
<button onClick={e => this.handleSaveMenuButtonClick(e)} className='ArticleTopBar-left-unsaved-menu-button'><i className='fa fa-angle-down'/></button> <button onClick={e => this.handleSaveMenuButtonClick(e)} className='ArticleTopBar-left-unsaved-menu-button'><i className='fa fa-angle-down'/></button>
</div> </div>