[UI Framework] Allow custom placeholder for Tool Bar Search Box (#12959)

This commit is contained in:
Tim Sullivan 2017-07-20 09:45:12 -07:00 committed by GitHub
parent 7c7f5716c8
commit cc951549d4
3 changed files with 33 additions and 2 deletions

View file

@ -21,6 +21,26 @@ exports[`filter initializes search box value 1`] = `
</div>
`;
exports[`placeholder initializes search box placeholder 1`] = `
<div
class="kuiToolBarSearch"
>
<div
class="kuiToolBarSearchBox"
>
<div
class="kuiToolBarSearchBox__icon kuiIcon fa-search"
/>
<input
aria-label="Filter"
class="kuiToolBarSearchBox__input"
placeholder="Filter items..."
type="text"
/>
</div>
</div>
`;
exports[`renders KuiToolBarSearchBox 1`] = `
<div
aria-label="aria-label"

View file

@ -1,7 +1,7 @@
import React from 'react';
import classNames from 'classnames';
export function KuiToolBarSearchBox({ filter, onFilter, className, ...rest }) {
export function KuiToolBarSearchBox({ filter, onFilter, placeholder, className, ...rest }) {
function onChange(event) {
onFilter(event.target.value);
}
@ -12,7 +12,7 @@ export function KuiToolBarSearchBox({ filter, onFilter, className, ...rest }) {
<input
className="kuiToolBarSearchBox__input"
type="text"
placeholder="Search..."
placeholder={ placeholder }
aria-label="Filter"
defaultValue={ filter }
onChange={ onChange }
@ -25,3 +25,7 @@ KuiToolBarSearchBox.propTypes = {
filter: React.PropTypes.string,
onFilter: React.PropTypes.func.isRequired
};
KuiToolBarSearchBox.defaultProps = {
placeholder: 'Search...'
};

View file

@ -31,3 +31,10 @@ describe('filter', () => {
});
});
describe('placeholder', () => {
test('initializes search box placeholder', () => {
const component = <KuiToolBarSearchBox onFilter={onFilter} placeholder="Filter items..." />;
expect(render(component)).toMatchSnapshot();
});
});