Use AND instead of OR for tags search // Sort tags when displayed (#2719)

This commit is contained in:
Nicolas Gotchac 2016-10-19 13:01:06 +02:00
parent 57f33c45cc
commit 88eb72468e
2 changed files with 23 additions and 21 deletions

View File

@ -38,19 +38,21 @@ export default class Tags extends Component {
? [ styles.tag, styles.tagClickable ]
: [ styles.tag ];
return tags.map((tag, idx) => {
const onClick = handleAddSearchToken
? () => handleAddSearchToken(tag)
: null;
return tags
.sort()
.map((tag, idx) => {
const onClick = handleAddSearchToken
? () => handleAddSearchToken(tag)
: null;
return (
<div
key={ idx }
className={ tagClasses.join(' ') }
onClick={ onClick }>
{ tag }
</div>
);
});
return (
<div
key={ idx }
className={ tagClasses.join(' ') }
onClick={ onClick }>
{ tag }
</div>
);
});
}
}

View File

@ -130,15 +130,15 @@ export default class List extends Component {
.concat(tags, name)
.map(v => v.toLowerCase());
return values
.filter((value) => {
return searchValues
.map(searchValue => value.indexOf(searchValue) >= 0)
// `current && truth, true` => use tokens as AND
// `current || truth, false` => use tokens as OR
.reduce((current, truth) => current || truth, false);
return searchValues
.map(searchValue => {
return values
.filter(value => value.indexOf(searchValue) >= 0)
.length > 0;
})
.length > 0;
// `current && truth, true` => use tokens as AND
// `current || truth, false` => use tokens as OR
.reduce((current, truth) => current && truth, true);
});
}
}