From 7d0404657e82b63066107a11c2e617eb29dfba00 Mon Sep 17 00:00:00 2001 From: AWolf81 Date: Thu, 1 Aug 2019 00:16:49 +0200 Subject: [PATCH] Fix routing for tag filtering --- browser/main/Detail/MarkdownNoteDetail.js | 3 ++- browser/main/Detail/SnippetNoteDetail.js | 3 ++- browser/main/Detail/TagSelect.js | 13 +++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/browser/main/Detail/MarkdownNoteDetail.js b/browser/main/Detail/MarkdownNoteDetail.js index a3b69469..5ed45916 100755 --- a/browser/main/Detail/MarkdownNoteDetail.js +++ b/browser/main/Detail/MarkdownNoteDetail.js @@ -409,7 +409,7 @@ class MarkdownNoteDetail extends React.Component { } render () { - const { data, location, config } = this.props + const { data, dispatch, location, config } = this.props const { note, editorType } = this.state const storageKey = note.storage const folderKey = note.folder @@ -464,6 +464,7 @@ class MarkdownNoteDetail extends React.Component { saveTagsAlphabetically={config.ui.saveTagsAlphabetically} showTagsAlphabetically={config.ui.showTagsAlphabetically} data={data} + dispatch={dispatch} onChange={this.handleUpdateTag.bind(this)} coloredTags={config.coloredTags} /> diff --git a/browser/main/Detail/SnippetNoteDetail.js b/browser/main/Detail/SnippetNoteDetail.js index 2ae01082..ec9a1d0b 100644 --- a/browser/main/Detail/SnippetNoteDetail.js +++ b/browser/main/Detail/SnippetNoteDetail.js @@ -699,7 +699,7 @@ class SnippetNoteDetail extends React.Component { } render () { - const { data, config, location } = this.props + const { data, dispatch, config, location } = this.props const { note } = this.state const storageKey = note.storage @@ -823,6 +823,7 @@ class SnippetNoteDetail extends React.Component { saveTagsAlphabetically={config.ui.saveTagsAlphabetically} showTagsAlphabetically={config.ui.showTagsAlphabetically} data={data} + dispatch={dispatch} onChange={(e) => this.handleChange(e)} coloredTags={config.coloredTags} /> diff --git a/browser/main/Detail/TagSelect.js b/browser/main/Detail/TagSelect.js index e3d9a567..615cb5d2 100644 --- a/browser/main/Detail/TagSelect.js +++ b/browser/main/Detail/TagSelect.js @@ -8,6 +8,7 @@ import AwsMobileAnalyticsConfig from 'browser/main/lib/AwsMobileAnalyticsConfig' import i18n from 'browser/lib/i18n' import ee from 'browser/main/lib/eventEmitter' import Autosuggest from 'react-autosuggest' +import { push } from 'connected-react-router' class TagSelect extends React.Component { constructor (props) { @@ -96,8 +97,11 @@ class TagSelect extends React.Component { } handleTagLabelClick (tag) { - const { router } = this.context - router.push(`/tags/${tag}`) + const { dispatch } = this.props + + // Note: `tag` requires encoding later. + // E.g. % in tag is a problem (see issue #3170) - encodeURIComponent(tag) is not working. + dispatch(push(`/tags/${tag}`)) } handleTagRemoveButtonClick (tag) { @@ -255,11 +259,8 @@ class TagSelect extends React.Component { } } -TagSelect.contextTypes = { - router: PropTypes.shape({}) -} - TagSelect.propTypes = { + dispatch: PropTypes.func, className: PropTypes.string, value: PropTypes.arrayOf(PropTypes.string), onChange: PropTypes.func,