diff --git a/browser/lib/newNote.js b/browser/lib/newNote.js index 5b5699f5..4eec24f1 100644 --- a/browser/lib/newNote.js +++ b/browser/lib/newNote.js @@ -1,8 +1,8 @@ -import { history } from 'browser/main/store' import dataApi from 'browser/main/lib/dataApi' import ee from 'browser/main/lib/eventEmitter' import AwsMobileAnalyticsConfig from 'browser/main/lib/AwsMobileAnalyticsConfig' import queryString from 'query-string' +import { push } from 'connected-react-router' export function createMarkdownNote (storage, folder, dispatch, location, params, config) { AwsMobileAnalyticsConfig.recordDynamicCustomEvent('ADD_MARKDOWN') @@ -29,10 +29,10 @@ export function createMarkdownNote (storage, folder, dispatch, location, params, note: note }) - history.push({ + dispatch(push({ pathname: location.pathname, search: queryString.stringify({ key: noteHash }) - }) + })) ee.emit('list:jump', noteHash) ee.emit('detail:focus') }) @@ -71,10 +71,10 @@ export function createSnippetNote (storage, folder, dispatch, location, params, type: 'UPDATE_NOTE', note: note }) - history.push({ + dispatch(push({ pathname: location.pathname, search: queryString.stringify({ key: noteHash }) - }) + })) ee.emit('list:jump', noteHash) ee.emit('detail:focus') }) diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index dbf51f97..06fb91a5 100755 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -9,7 +9,6 @@ import StarButton from './StarButton' import TagSelect from './TagSelect' import FolderSelect from './FolderSelect' import dataApi from 'browser/main/lib/dataApi' -import { history } from 'browser/main/store' import ee from 'browser/main/lib/eventEmitter' import markdown from 'browser/lib/markdownTextHelper' import StatusBar from '../StatusBar' @@ -31,6 +30,7 @@ import striptags from 'striptags' import { confirmDeleteNote } from 'browser/lib/confirmDeleteNote' import markdownToc from 'browser/lib/markdown-toc-generator' import queryString from 'query-string' +import { replace } from 'connected-react-router' class MarkdownNoteDetail extends React.Component { constructor (props) { @@ -141,6 +141,7 @@ class MarkdownNoteDetail extends React.Component { } handleFolderChange (e) { + const { dispatch } = this.props const { note } = this.state const value = this.refs.folder.value const splitted = value.split('-') @@ -160,12 +161,12 @@ class MarkdownNoteDetail extends React.Component { originNote: note, note: newNote }) - history.replace({ + dispatch(replace({ pathname: location.pathname, search: queryString.stringify({ key: newNote.key }) - }) + })) this.setState({ isMovingNote: false }) diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 31c6e174..7503addb 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -8,7 +8,6 @@ import StarButton from './StarButton' import TagSelect from './TagSelect' import FolderSelect from './FolderSelect' import dataApi from 'browser/main/lib/dataApi' -import { history } from 'browser/main/store' import ee from 'browser/main/lib/eventEmitter' import CodeMirror from 'codemirror' import 'codemirror-mode-elixir' @@ -31,6 +30,7 @@ import i18n from 'browser/lib/i18n' import { confirmDeleteNote } from 'browser/lib/confirmDeleteNote' import markdownToc from 'browser/lib/markdown-toc-generator' import queryString from 'query-string' +import { replace } from 'connected-react-router' const electron = require('electron') const { remote } = electron @@ -166,12 +166,12 @@ class SnippetNoteDetail extends React.Component { originNote: note, note: newNote }) - history.replace({ + dispatch(replace({ pathname: location.pathname, search: queryString.stringify({ key: newNote.key }) - }) + })) this.setState({ isMovingNote: false }) diff --git a/browser/main/Main.js b/browser/main/Main.js index 45e9b795..30bf8e8a 100644 --- a/browser/main/Main.js +++ b/browser/main/Main.js @@ -12,10 +12,11 @@ import _ from 'lodash' import ConfigManager from 'browser/main/lib/ConfigManager' import mobileAnalytics from 'browser/main/lib/AwsMobileAnalyticsConfig' import eventEmitter from 'browser/main/lib/eventEmitter' -import { store, history } from 'browser/main/store' +import { store } from 'browser/main/store' import i18n from 'browser/lib/i18n' import { getLocales } from 'browser/lib/Languages' import applyShortcuts from 'browser/main/lib/shortcutManager' +import { push } from 'connected-react-router' const path = require('path') const electron = require('electron') const { remote } = electron @@ -131,7 +132,7 @@ class Main extends React.Component { .then(() => data.storage) }) .then(storage => { - history.push('/storages/' + storage.key) + store.dispatch(push('/storages/' + storage.key)) }) .catch(err => { throw err diff --git a/browser/main/NoteList/index.js b/browser/main/NoteList/index.js index 16b4ea88..a146cb6c 100644 --- a/browser/main/NoteList/index.js +++ b/browser/main/NoteList/index.js @@ -14,7 +14,6 @@ import NoteItemSimple from 'browser/components/NoteItemSimple' import searchFromNotes from 'browser/lib/search' import fs from 'fs' import path from 'path' -import { history } from 'browser/main/store' import { push, replace } from 'connected-react-router' import copy from 'copy-to-clipboard' import AwsMobileAnalyticsConfig from 'browser/main/lib/AwsMobileAnalyticsConfig' @@ -764,10 +763,10 @@ class NoteList extends React.Component { selectedNoteKeys: [note.key] }) - history.push({ + dispatch(push({ pathname: location.pathname, search: queryString.stringify({key: note.key}) - }) + })) }) } @@ -776,9 +775,7 @@ class NoteList extends React.Component { return copy(noteLink) } - // Navigate seems unused navigate (sender, pathname) { - // const { router } = this.context const { dispatch } = this.props dispatch(push({ pathname, @@ -949,10 +946,10 @@ class NoteList extends React.Component { type: 'UPDATE_NOTE', note: note }) - history.push({ + dispatch(push({ pathname: location.pathname, search: queryString.stringify({key: getNoteKey(note)}) - }) + })) }) }) }) diff --git a/browser/main/SideNav/StorageItem.js b/browser/main/SideNav/StorageItem.js index 8d148cfa..74881b9e 100644 --- a/browser/main/SideNav/StorageItem.js +++ b/browser/main/SideNav/StorageItem.js @@ -2,7 +2,6 @@ import PropTypes from 'prop-types' import React from 'react' import CSSModules from 'browser/lib/CSSModules' import styles from './StorageItem.styl' -import { history } from 'browser/main/store' import modal from 'browser/main/lib/modal' import CreateFolderModal from 'browser/main/modals/CreateFolderModal' import RenameFolderModal from 'browser/main/modals/RenameFolderModal' @@ -12,6 +11,7 @@ import _ from 'lodash' import { SortableElement } from 'react-sortable-hoc' import i18n from 'browser/lib/i18n' import context from 'browser/lib/context' +import { push } from 'connected-react-router' const { remote } = require('electron') const { dialog } = remote @@ -134,14 +134,14 @@ class StorageItem extends React.Component { } handleHeaderInfoClick (e) { - const { storage } = this.props - history.push('/storages/' + storage.key) + const { storage, dispatch } = this.props + dispatch(push('/storages/' + storage.key)) } handleFolderButtonClick (folderKey) { return (e) => { - const { storage } = this.props - history.push('/storages/' + storage.key + '/folders/' + folderKey) + const { storage, dispatch } = this.props + dispatch(push('/storages/' + storage.key + '/folders/' + folderKey)) } }