diff --git a/app/scenes/Document/Document.js b/app/scenes/Document/Document.js index d383070e..816ba88a 100644 --- a/app/scenes/Document/Document.js +++ b/app/scenes/Document/Document.js @@ -5,7 +5,7 @@ import styled from 'styled-components'; import breakpoint from 'styled-components-breakpoint'; import { observable } from 'mobx'; import { observer, inject } from 'mobx-react'; -import { Prompt, Route } from 'react-router-dom'; +import { Prompt, Route, withRouter } from 'react-router-dom'; import type { Location } from 'react-router-dom'; import keydown from 'react-keydown'; import Flex from 'shared/components/Flex'; @@ -125,7 +125,7 @@ class DocumentScene extends React.Component { title: '', text: '', }, - this.props.documents + props.documents ); } else { const { shareId, revisionId } = props.match.params; @@ -404,4 +404,6 @@ const LoadingState = styled(LoadingPlaceholder)` margin: 40px 0; `; -export default inject('ui', 'auth', 'documents', 'revisions')(DocumentScene); +export default withRouter( + inject('ui', 'auth', 'documents', 'revisions')(DocumentScene) +); diff --git a/app/scenes/Document/components/Editor.js b/app/scenes/Document/components/Editor.js index bc4a1cbd..980c1e7a 100644 --- a/app/scenes/Document/components/Editor.js +++ b/app/scenes/Document/components/Editor.js @@ -16,7 +16,7 @@ class DocumentEditor extends React.Component { componentDidMount() { if (!this.props.defaultValue) { - this.focusAtStart(); + setImmediate(this.focusAtStart); } } diff --git a/app/scenes/Search/Search.js b/app/scenes/Search/Search.js index 668bce3c..05be17a7 100644 --- a/app/scenes/Search/Search.js +++ b/app/scenes/Search/Search.js @@ -3,6 +3,7 @@ import * as React from 'react'; import ReactDOM from 'react-dom'; import keydown from 'react-keydown'; import Waypoint from 'react-waypoint'; +import { withRouter } from 'react-router-dom'; import { observable, action } from 'mobx'; import { observer, inject } from 'mobx-react'; import { debounce } from 'lodash'; @@ -216,4 +217,4 @@ class Search extends React.Component { } } -export default inject('documents')(Search); +export default withRouter(inject('documents')(Search)); diff --git a/app/stores/DocumentsStore.js b/app/stores/DocumentsStore.js index dd74d4ff..e9ac9513 100644 --- a/app/stores/DocumentsStore.js +++ b/app/stores/DocumentsStore.js @@ -358,7 +358,7 @@ export default class DocumentsStore extends BaseStore { return client.post('/documents.unstar', { id: document.id }); }; - getByUrl = (url: string): ?Document => { + getByUrl = (url: string = ''): ?Document => { return find(Array.from(this.data.values()), doc => url.endsWith(doc.urlId)); };