From 02856d89df5f9a8c00f3fc21de89f94fc53c31fa Mon Sep 17 00:00:00 2001 From: SachaG Date: Fri, 19 May 2017 22:03:03 +0900 Subject: [PATCH] fix search form clearing --- .../lib/common/SearchForm.jsx | 15 ++++++++++++--- .../lib/stylesheets/_forms.scss | 10 ++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/vulcan-base-components/lib/common/SearchForm.jsx b/packages/vulcan-base-components/lib/common/SearchForm.jsx index f5a617bf9..9073b8522 100644 --- a/packages/vulcan-base-components/lib/common/SearchForm.jsx +++ b/packages/vulcan-base-components/lib/common/SearchForm.jsx @@ -1,9 +1,9 @@ -import { registerComponent } from 'meteor/vulcan:core'; +import { registerComponent, Components } from 'meteor/vulcan:core'; import React, { PropTypes, Component } from 'react'; import { intlShape } from 'react-intl'; import Formsy from 'formsy-react'; import FRC from 'formsy-react-components'; -import { withRouter } from 'react-router' +import { withRouter, Link } from 'react-router' const Input = FRC.Input; @@ -26,6 +26,7 @@ class SearchForm extends Component{ } } + // note: why do we need this? componentWillReceiveProps(nextProps) { this.setState({ search: this.props.router.location.query.query || '' @@ -35,7 +36,10 @@ class SearchForm extends Component{ search(data) { const router = this.props.router; - const query = data.searchQuery === '' ? router.location.query : {...router.location.query, query: data.searchQuery}; + const routerQuery = _.clone(router.location.query); + delete routerQuery.query; + + const query = data.searchQuery === '' ? routerQuery : {...routerQuery, query: data.searchQuery}; delay(() => { router.push({pathname: "/", query: query}); @@ -44,6 +48,10 @@ class SearchForm extends Component{ } render() { + + const resetQuery = _.clone(this.props.location.query); + delete resetQuery.query; + return (
@@ -54,6 +62,7 @@ class SearchForm extends Component{ type="text" layout="elementOnly" /> + {this.state.search !== '' ? : null}
) diff --git a/packages/vulcan-base-styles/lib/stylesheets/_forms.scss b/packages/vulcan-base-styles/lib/stylesheets/_forms.scss index 5051472ae..b0c919e33 100644 --- a/packages/vulcan-base-styles/lib/stylesheets/_forms.scss +++ b/packages/vulcan-base-styles/lib/stylesheets/_forms.scss @@ -101,4 +101,14 @@ div.ReactTags__suggestions mark{ strong{ font-weight: normal; } +} + +.search-form{ + position: relative; + .search-form-reset{ + position: absolute; + top: 6px; + right: 5px; + color: $light-grey; + } } \ No newline at end of file