Branches

BranchesSearchForm

The BranchesSearchForm component should wrap all fields on your search form.

import React from 'react';
import { BranchesSearchForm } from 'homeflowjs/branches';
const BranchesSearchFormExample = () => (
<BranchesSearchForm>
{/* Additional form fields and other JSX will go here */}
</BranchesSearchForm>
);

Props

PropTypeDescription
childrennodeAdditional form fields and other JSX
otherPropsanyAdditional props i.e className

BranchesSearchInput

You will next need to add the BranchesSearchInput component to the BranchesSearchForm and a button with type='submit', to handle the form Submission.

import React from 'react';
import { BranchesSearchForm, BranchesSearchInput } from 'homeflowjs/branches';
const BranchesSearchFormExample = () => (
<BranchesSearchForm>
<BranchesSearchInput
placeholder='Enter your location'
/>
<button type='submit' className='button'>
Search
</button>
</BranchesSearchForm>
);

Props

PropTypeDescription
PlaceholderstringPlaceholder text for the input

Adding a custom button to the BranchesSearchInput

Lets say we wanted to add another button to clear our BranchesSearchInput, for example we want the input to have a close icon for the user to clear the data in the input. First we need to import connect and setBranchesSearch as the BranchesSearchInput is connected to redux. By adding an onClick={handleClear} to our clear button that fires setBranchesSearch with an empty string as it argument, we can clear the BranchesSearchInput.

import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { setBranchesSearch } from 'homeflowjs/actions/branches.actions';
import { BranchesSearchForm, BranchesSearchInput } from 'homeflowjs/branches';
const BranchesSearchFormExample = ({ setBranchesSearch }) => {
const handleClear = () => {
setBranchesSearch('');
};
return (
<BranchesSearchForm>
<div>
<BranchesSearchInput
placeholder='Enter your location'
/>
<button type='button' onClick={handleClear}>
Close icon
</button>
</div>
<button type='submit' className='button'>
Search
</button>
</BranchesSearchForm>
);
};
BranchesSearchExample.propTypes = {
setBranchesSearch: PropTypes.func.isRequired,
};
const mapDispatchToProps = {
setBranchesSearch,
};
export default connect(null, mapDispatchToProps)(BranchesSearchExample);