Merge pull request #901 from matrix-org/luke/improve-country-dd-5

Fix a few remaining snags with country dd
This commit is contained in:
Luke Barnard 2017-05-18 17:23:34 +01:00 committed by GitHub
commit 46242a1703
2 changed files with 14 additions and 7 deletions

View file

@ -152,11 +152,13 @@ export default class Dropdown extends React.Component {
} }
_onInputClick(ev) { _onInputClick(ev) {
if (!this.state.expanded) {
this.setState({ this.setState({
expanded: !this.state.expanded, expanded: true,
}); });
ev.preventDefault(); ev.preventDefault();
} }
}
_onMenuOptionClick(dropdownKey) { _onMenuOptionClick(dropdownKey) {
this.setState({ this.setState({
@ -252,7 +254,7 @@ export default class Dropdown extends React.Component {
); );
}); });
if (options.length === 0) { if (options.length === 0) {
return [<div className="mx_Dropdown_option"> return [<div key="0" className="mx_Dropdown_option">
No results No results
</div>]; </div>];
} }

View file

@ -26,9 +26,14 @@ for (const c of COUNTRIES) {
} }
function countryMatchesSearchQuery(query, country) { function countryMatchesSearchQuery(query, country) {
// Remove '+' if present (when searching for a prefix)
if (query[0] === '+') {
query = query.slice(1);
}
if (country.name.toUpperCase().indexOf(query.toUpperCase()) == 0) return true; if (country.name.toUpperCase().indexOf(query.toUpperCase()) == 0) return true;
if (country.iso2 == query.toUpperCase()) return true; if (country.iso2 == query.toUpperCase()) return true;
if (country.prefix == query) return true; if (country.prefix.indexOf(query) !== -1) return true;
return false; return false;
} }
@ -107,7 +112,7 @@ export default class CountryDropdown extends React.Component {
const options = displayedCountries.map((country) => { const options = displayedCountries.map((country) => {
return <div key={country.iso2}> return <div key={country.iso2}>
{this._flagImgForIso2(country.iso2)} {this._flagImgForIso2(country.iso2)}
{country.name} {country.name} <span>(+{country.prefix})</span>
</div>; </div>;
}); });