homeflowjs 1.0.51 → 1.0.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,6 +32,11 @@ export const setSearchField = (payload) => ({
|
|
32
32
|
payload,
|
33
33
|
});
|
34
34
|
|
35
|
+
export const setTextSearch = (payload) => ({
|
36
|
+
type: SearchActionTypes.SET_TEXT_SEARCH,
|
37
|
+
payload,
|
38
|
+
});
|
39
|
+
|
35
40
|
export const toggleTag = (payload) => ({
|
36
41
|
type: SearchActionTypes.TOGGLE_TAG,
|
37
42
|
payload,
|
package/actions/search.types.js
CHANGED
package/package.json
CHANGED
@@ -11,6 +11,7 @@ const INITIAL_STATE = {
|
|
11
11
|
tags: [],
|
12
12
|
poly: '',
|
13
13
|
auctionDate: '',
|
14
|
+
text: '',
|
14
15
|
viewport: [],
|
15
16
|
},
|
16
17
|
initialSearch: {}, // original search when the page first loads
|
@@ -42,6 +43,14 @@ const searchReducer = (state = INITIAL_STATE, action) => {
|
|
42
43
|
suggestions: action.payload,
|
43
44
|
},
|
44
45
|
};
|
46
|
+
case SearchActionTypes.SET_TEXT_SEARCH:
|
47
|
+
return {
|
48
|
+
...state,
|
49
|
+
currentSearch: {
|
50
|
+
...state.currentSearch,
|
51
|
+
text: action.payload,
|
52
|
+
},
|
53
|
+
};
|
45
54
|
case SearchActionTypes.SET_CHANNEL:
|
46
55
|
// when channel is changed, reset prices to avoid trying to search using wrong prices
|
47
56
|
return {
|
package/search/index.js
CHANGED
@@ -14,10 +14,12 @@ import RemoveSavedSearchButton from '../properties/remove-saved-property-button/
|
|
14
14
|
import SavedSearch from './saved-search/saved-search.component';
|
15
15
|
import propertySearch from './property-search/property-search';
|
16
16
|
import generateSearchDescription from './saved-search/generate-description';
|
17
|
+
import TextSearchInput from './text-search/text-search.component';
|
17
18
|
|
18
19
|
export {
|
19
20
|
SearchForm,
|
20
21
|
LocationInput,
|
22
|
+
TextSearchInput,
|
21
23
|
AddressLookupInput,
|
22
24
|
BedroomsSelect,
|
23
25
|
ChannelRadioButton,
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { setTextSearch } from '../../actions/search.actions';
|
3
|
+
import { useDispatch, useSelector } from 'react-redux';
|
4
|
+
import PropTypes from 'prop-types';
|
5
|
+
|
6
|
+
const TextSearchInput = ({
|
7
|
+
className, placeholder, htmlFor,
|
8
|
+
}) => {
|
9
|
+
const dispatch = useDispatch();
|
10
|
+
|
11
|
+
const initialTextSearch = useSelector(state => state.search.currentSearch.text) || '';
|
12
|
+
|
13
|
+
const handleChange = (e) => {
|
14
|
+
dispatch(setTextSearch(e.target.value?.replace('%20', ' ')));
|
15
|
+
}
|
16
|
+
|
17
|
+
return (
|
18
|
+
<input
|
19
|
+
type="text"
|
20
|
+
name="text_search"
|
21
|
+
id="text_search"
|
22
|
+
value={initialTextSearch?.replace('%20', ' ')}
|
23
|
+
{...className && {
|
24
|
+
className: className,
|
25
|
+
}}
|
26
|
+
{...placeholder && {
|
27
|
+
placeholder: placeholder,
|
28
|
+
}}
|
29
|
+
{...htmlFor && {
|
30
|
+
htmlFor: htmlFor,
|
31
|
+
}}
|
32
|
+
onChange={e => handleChange(e)}
|
33
|
+
/>
|
34
|
+
);
|
35
|
+
};
|
36
|
+
|
37
|
+
TextSearchInput.propTypes = {
|
38
|
+
className: PropTypes.string,
|
39
|
+
placeholder: PropTypes.string,
|
40
|
+
htmlFor: PropTypes.string,
|
41
|
+
};
|
42
|
+
|
43
|
+
export default TextSearchInput;
|