mirror of
https://github.com/kingomarnajjar/flex-template-web.git
synced 2026-07-28 03:43:28 +10:00
Blur clear and reset all buttons after click
This commit is contained in:
parent
085789ac0b
commit
91932ced8a
2 changed files with 26 additions and 14 deletions
|
|
@ -93,12 +93,17 @@ class SearchFiltersMobileComponent extends Component {
|
|||
const customAttribute = 'category';
|
||||
|
||||
// Reset all filter query parameters
|
||||
const resetAll = () => {
|
||||
const resetAll = (e) => {
|
||||
const caParam = `ca_${customAttribute}`;
|
||||
const queryParams = omit(urlQueryParams, caParam);
|
||||
history.push(
|
||||
createResourceLocatorString('SearchPage', routeConfiguration(), {}, queryParams)
|
||||
);
|
||||
|
||||
// blur event target if event is passed
|
||||
if (e && e.currentTarget) {
|
||||
e.currentTarget.blur();
|
||||
}
|
||||
};
|
||||
|
||||
const classes = classNames(rootClassName || css.root, className);
|
||||
|
|
@ -139,7 +144,7 @@ class SearchFiltersMobileComponent extends Component {
|
|||
>
|
||||
<div className={css.modalHeadingWrapper}>
|
||||
<span className={css.modalHeading}>{filtersHeading}</span>
|
||||
<button className={css.resetAllButton} onClick={resetAll}>
|
||||
<button className={css.resetAllButton} onClick={(e) => resetAll(e)}>
|
||||
<FormattedMessage id={'SearchFiltersMobile.resetAll'} />
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -10,26 +10,33 @@ class SelectSingleFilterMobileComponent extends Component {
|
|||
constructor(props) {
|
||||
super(props);
|
||||
this.state = { isOpen: true };
|
||||
this.selectOption = this.selectOption.bind(this);
|
||||
this.toggleIsOpen = this.toggleIsOpen.bind(this);
|
||||
}
|
||||
|
||||
selectOption(option, e) {
|
||||
const { customAttribute, onSelect } = this.props;
|
||||
onSelect(customAttribute, option);
|
||||
|
||||
// blur event target if event is passed
|
||||
if (e && e.currentTarget) {
|
||||
e.currentTarget.blur();
|
||||
}
|
||||
};
|
||||
|
||||
toggleIsOpen() {
|
||||
this.setState({ isOpen: !this.state.isOpen });
|
||||
};
|
||||
|
||||
render() {
|
||||
const {
|
||||
rootClassName,
|
||||
className,
|
||||
customAttribute,
|
||||
urlQueryParams,
|
||||
onSelect,
|
||||
intl,
|
||||
} = this.props;
|
||||
|
||||
const selectOption = option => {
|
||||
onSelect(customAttribute, option);
|
||||
};
|
||||
|
||||
const toggleIsOpen = () => {
|
||||
this.setState({ isOpen: !this.state.isOpen });
|
||||
};
|
||||
|
||||
const filterLabel = intl.formatMessage({
|
||||
id: `SelectSingleFilterMobile.${customAttribute}.label`,
|
||||
});
|
||||
|
|
@ -51,10 +58,10 @@ class SelectSingleFilterMobileComponent extends Component {
|
|||
return (
|
||||
<div className={classes}>
|
||||
<div className={labelClass}>
|
||||
<button className={css.labelButton} onClick={toggleIsOpen}>
|
||||
<button className={css.labelButton} onClick={this.toggleIsOpen}>
|
||||
<span className={labelClass}>{filterLabel}</span>
|
||||
</button>
|
||||
<button className={css.clearButton} onClick={() => selectOption(null)}>
|
||||
<button className={css.clearButton} onClick={(e) => this.selectOption(null, e)} onBlur={() => console.log('button onBlur')}>
|
||||
<FormattedMessage id={'SelectSingleFilterMobile.clear'} />
|
||||
</button>
|
||||
</div>
|
||||
|
|
@ -65,7 +72,7 @@ class SelectSingleFilterMobileComponent extends Component {
|
|||
// menu item border class
|
||||
const optionBorderClass = selected ? css.optionBorderSelected : css.optionBorder;
|
||||
return (
|
||||
<button key={v} className={css.option} onClick={() => selectOption(v)}>
|
||||
<button key={v} className={css.option} onClick={() => this.selectOption(v)}>
|
||||
<span className={optionBorderClass} />
|
||||
<FormattedMessage id={`SelectSingleFilterMobile.category.option.${v}`} />
|
||||
</button>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue