diff --git a/src/components/views/elements/Dropdown.js b/src/components/views/elements/Dropdown.js
index 3b34d3cac1..907d4b0905 100644
--- a/src/components/views/elements/Dropdown.js
+++ b/src/components/views/elements/Dropdown.js
@@ -249,7 +249,7 @@ export default class Dropdown extends React.Component {
);
});
- if (!this.state.searchQuery) {
+ if (!this.state.searchQuery && this.props.searchEnabled) {
options.push(
Type to search...
@@ -267,16 +267,20 @@ export default class Dropdown extends React.Component {
let menu;
if (this.state.expanded) {
- currentValue = ;
+ if (this.props.searchEnabled) {
+ currentValue = ;
+ }
menu =
{this._getMenuOptions()}
;
- } else {
+ }
+
+ if (!currentValue) {
const selectedChild = this.props.getShortOption ?
this.props.getShortOption(this.props.value) :
this.childrenByKey[this.props.value];
@@ -313,6 +317,7 @@ Dropdown.propTypes = {
onOptionChange: React.PropTypes.func.isRequired,
// Called when the value of the search field changes
onSearchChange: React.PropTypes.func,
+ searchEnabled: React.PropTypes.boolean,
// Function that, given the key of an option, returns
// a node representing that option to be displayed in the
// box itself as the currently-selected option (ie. as
diff --git a/src/components/views/login/CountryDropdown.js b/src/components/views/login/CountryDropdown.js
index 9729c9e23f..be1ed51b5e 100644
--- a/src/components/views/login/CountryDropdown.js
+++ b/src/components/views/login/CountryDropdown.js
@@ -111,7 +111,7 @@ export default class CountryDropdown extends React.Component {
return
{options}
diff --git a/src/components/views/login/PasswordLogin.js b/src/components/views/login/PasswordLogin.js
index 61cb3da652..002de0c2ba 100644
--- a/src/components/views/login/PasswordLogin.js
+++ b/src/components/views/login/PasswordLogin.js
@@ -60,6 +60,7 @@ module.exports = React.createClass({displayName: 'PasswordLogin',
password: this.props.initialPassword,
phoneCountry: this.props.initialPhoneCountry,
phoneNumber: this.props.initialPhoneNumber,
+ loginType: "mxid",
};
},
@@ -88,6 +89,10 @@ module.exports = React.createClass({displayName: 'PasswordLogin',
this.props.onUsernameChanged(ev.target.value);
},
+ onLoginTypeChange: function(loginType) {
+ this.setState({loginType: loginType});
+ },
+
onPhoneCountryChanged: function(country) {
this.setState({phoneCountry: country});
this.props.onPhoneCountryChanged(country);
@@ -120,28 +125,46 @@ module.exports = React.createClass({displayName: 'PasswordLogin',
});
const CountryDropdown = sdk.getComponent('views.login.CountryDropdown');
- return (
-