Make server_name magix in RoomAlias optional

This commit is contained in:
Erik Johnston 2015-07-16 16:14:55 +01:00
parent cd26d1323f
commit 95968bf619
2 changed files with 32 additions and 24 deletions

View File

@ -32,35 +32,41 @@ module.exports = React.createClass({
var target = ev.target;
var curr_val = ev.target.value;
if (this.props.homeserver) {
if (curr_val == "") {
target.value = "#:example.com";
setTimeout(function() {
target.value = "#:" + this.props.homeserver;
target.setSelectionRange(1, 1);
}, 0);
} else {
var suffix = ":" + this.props.homeserver;
setTimeout(function() {
target.setSelectionRange(
curr_val.startsWith("#") ? 1 : 0,
curr_val.endsWith(":example.com") ? (target.value.length - ":example.com".length) : target.value.length
curr_val.endsWith(suffix) ? (target.value.length - suffix.length) : target.value.length
);
}, 0);
}
}
},
onBlur: function(ev) {
var curr_val = ev.target.value;
if (curr_val == "#:example.com") {
if (this.props.homeserver) {
if (curr_val == "#:" + this.props.homeserver) {
ev.target.value = "";
return;
}
if (curr_val != "") {
var new_val = ev.target.value;
var suffix = ":" + this.props.homeserver;
if (!curr_val.startsWith("#")) new_val = "#" + new_val;
if (!curr_val.endsWith(":example.com")) new_val = new_val + ":example.com";
if (!curr_val.endsWith(suffix)) new_val = new_val + suffix;
ev.target.value = new_val;
}
}
},
render: function() {

View File

@ -20,6 +20,7 @@ var React = require('react');
module.exports = {
propTypes: {
homeserver: React.PropTypes.string,
default_alias: React.PropTypes.string
},
@ -38,9 +39,10 @@ module.exports = {
getAliasLocalpart: function() {
var room_alias = this.state.room_alias;
if (room_alias) {
if (room_alias.startsWith("#") && room_alias.endsWith("example.com")) {
room_alias = room_alias.slice(1, -":example.com".length);
if (room_alias && this.props.homeserver) {
var suffix = ":" + this.props.homeserver;
if (room_alias.startsWith("#") && room_alias.endsWith(suffix)) {
room_alias = room_alias.slice(1, -suffix.length);
}
}