1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 01:36:22 +00:00

refactor some dirty code

This commit is contained in:
Sosuke Suzuki
2017-04-25 01:40:49 +09:00
parent 25685dc8b0
commit b73f0a8012

View File

@@ -7,7 +7,7 @@ import CreateFolderModal from 'browser/main/modals/CreateFolderModal'
import RenameFolderModal from 'browser/main/modals/RenameFolderModal' import RenameFolderModal from 'browser/main/modals/RenameFolderModal'
import dataApi from 'browser/main/lib/dataApi' import dataApi from 'browser/main/lib/dataApi'
import StorageItemChild from 'browser/components/StorageItem' import StorageItemChild from 'browser/components/StorageItem'
import ee from 'browser/main/lib/eventEmitter' import eventEmitter from 'browser/main/lib/eventEmitter'
const { remote } = require('electron') const { remote } = require('electron')
const { Menu, MenuItem, dialog } = remote const { Menu, MenuItem, dialog } = remote
@@ -146,63 +146,53 @@ class StorageItem extends React.Component {
e.target.style.opacity = '1' e.target.style.opacity = '1'
e.target.style.backgroundColor = e.dataTransfer.getData('defaultColor') e.target.style.backgroundColor = e.dataTransfer.getData('defaultColor')
const noteData = JSON.parse(e.dataTransfer.getData('note')) const noteData = JSON.parse(e.dataTransfer.getData('note'))
if (folder.key !== noteData.folder) { const newNoteData = Object.assign({}, noteData, {storage: storage, folder: folder.key})
dataApi if(folder.key === noteData.folder) return
.createNote(storage.key, { console.log(location)
content: noteData.content, dataApi
createdAt: noteData.createdAt, .createNote(storage.key, newNoteData)
folder: folder.key, .then((note) => {
isStarred: noteData.isStarred, dispatch({
storage: storage, type: 'UPDATE_NOTE',
title: noteData.title, note: note
tags: noteData.tags, })
type: noteData.type, hashHistory.push({
updatedAt: noteData.updatedAt, pathname: location.pathname,
description: noteData.description, query: {key: note.storage + '-' + note.key}
snippets: noteData.snippets })
})
.then((note) => {
dispatch({
type: 'UPDATE_NOTE',
note: note
})
hashHistory.push({
pathname: location.pathname,
query: {key: note.storage + '-' + note.key}
})
})
dataApi
.deleteNote(noteData.storage, noteData.key)
.then((data) => {
let dispatchHandler = () => {
dispatch({
type: 'DELETE_NOTE',
storageKey: data.storageKey,
noteKey: data.noteKey
})
}
ee.once('list:moved', dispatchHandler)
ee.emit('list:next')
}) })
}
dataApi
.deleteNote(noteData.storage, noteData.key)
.then((data) => {
let dispatchHandler = () => {
dispatch({
type: 'DELETE_NOTE',
storageKey: data.storageKey,
noteKey: data.noteKey
})
}
eventEmitter.once('list:moved', dispatchHandler)
eventEmitter.emit('list:next')
})
} }
render () { render () {
let { storage, location, isFolded, data, dispatch } = this.props let { storage, location, isFolded, data, dispatch } = this.props
let { folderNoteMap } = data let { folderNoteMap } = data
let folderList = storage.folders.map((folder) => { let folderList = storage.folders.map((folder) => {
let isActive = !!(location.pathname.match(new RegExp('\/storages\/' + storage.key + '\/folders\/' + folder.key))) let isActive = !!(location.pathname.match(new RegExp('\/storages\/' + storage.key + '\/folders\/' + folder.key)))
let noteSet = folderNoteMap.get(storage.key + '-' + folder.key) let noteSet = folderNoteMap.get(storage.key + '-' + folder.key)
let noteCount = noteSet != null let noteCount = noteSet != null
? noteSet.size ? noteSet.size
: 0 : 0
return ( return (
<StorageItemChild <StorageItemChild
key={folder.key} key={folder.key}
isActive={isActive} isActive={isActive}
handleButtonClick={(e) => this.handleFolderButtonClick(folder.key)(e)} handleButtonClick={(e) => this.handleFolderButtonClick(folder.key)(e)}
handleContextMenu={(e) => this.handleFolderButtonContextMenu(e, folder)} handleContextMenu={(e) => this.handleFolderButtonContextMenu(e, folder)}
folderName={folder.name} folderName={folder.name}
folderColor={folder.color} folderColor={folder.color}