Skip to content

Commit 3fb3391

Browse files
committed
Fix filtering bug introduced by items as objects vs. strings
1 parent 75b7a62 commit 3fb3391

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

components/SLDSLookup/Menu/Item/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class Item extends React.Component {
2121
if(!children || !term) return children;
2222
const regex = new RegExp('(' + term + ')', 'gi');
2323
return React.Children.map(children, c => {
24-
return (typeof c.label === 'string') ? <span dangerouslySetInnerHTML={{ __html: c.replace(regex, '<mark>$1</mark>')}}></span> : c;
24+
return (typeof c === 'string') ? <span dangerouslySetInnerHTML={{ __html: c.replace(regex, '<mark>$1</mark>')}}></span> : c;
2525
});
2626
}
2727

components/SLDSLookup/index.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import {KEYS,EventUtil} from '../utils';
1616

1717
const defaultFilter = (term, item) => {
1818
if(!term) return true;
19-
return item.match(new RegExp(_.escapeRegExp(term), 'ig'));
19+
return item.label.match(new RegExp(_.escapeRegExp(term), 'ig'));
2020
};
2121

2222
class SLDSLookup extends React.Component {
@@ -102,18 +102,18 @@ class SLDSLookup extends React.Component {
102102
EventUtil.trapImmediate(event);
103103
}
104104
//If user hits down key, advance aria activedescendant to next item
105-
else if(event.keyCode === KEYS.DOWN){
105+
else if(event.keyCode === KEYS.DOWN && this.state.activeIndex !== null){
106106
EventUtil.trapImmediate(event);
107107
this.increaseIndex();
108108
}
109109
//If user hits up key, advance aria activedescendant to previous item
110-
else if(event.keyCode === KEYS.UP){
110+
else if(event.keyCode === KEYS.UP && this.state.activeIndex !== null){
111111
EventUtil.trapImmediate(event);
112112
this.decreaseIndex();
113113
}
114114

115115
//If user hits enter/space key, select current activedescendant item
116-
else if(event.keyCode === KEYS.ENTER || event.keyCode === KEYS.SPACE){
116+
else if((event.keyCode === KEYS.ENTER || event.keyCode === KEYS.SPACE) && this.state.activeIndex !== null){
117117
EventUtil.trapImmediate(event);
118118
this.selectItem(this.state.activeIndex);
119119
}

0 commit comments

Comments
 (0)